Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef TAO_Notify_BUILDER_H
00013 #define TAO_Notify_BUILDER_H
00014
00015 #include "ace/pre.h"
00016
00017 #include "orbsvcs/Notify/notify_serv_export.h"
00018
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 # pragma once
00021 #endif
00022
00023 #include "orbsvcs/CosNotifyChannelAdminC.h"
00024 #include "orbsvcs/NotifyExtC.h"
00025
00026 #include "orbsvcs/Notify/AdminProperties.h"
00027 #include "orbsvcs/Notify/Topology_Object.h"
00028
00029 #include "tao/PortableServer/PortableServer.h"
00030
00031 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00032
00033 class TAO_Notify_EventChannelFactory;
00034 class TAO_Notify_EventChannel;
00035 class TAO_Notify_SupplierAdmin;
00036 class TAO_Notify_ConsumerAdmin;
00037 class TAO_Notify_ProxyConsumer;
00038 class TAO_Notify_ProxySupplier;
00039 class TAO_Notify_FilterFactory;
00040 class TAO_Notify_Object;
00041
00042
00043
00044
00045
00046
00047
00048 class TAO_Notify_Serv_Export TAO_Notify_Builder
00049 {
00050 public:
00051 TAO_Notify_Builder (void);
00052
00053 virtual ~TAO_Notify_Builder ();
00054
00055
00056
00057
00058 virtual CosNotifyChannelAdmin::EventChannelFactory_ptr
00059 build_event_channel_factory (PortableServer::POA_ptr poa
00060 , const char* factory_name = 0);
00061
00062
00063 virtual CosNotifyFilter::FilterFactory_ptr
00064 build_filter_factory (PortableServer::POA_ptr poa, TAO_Notify_FilterFactory*& ff);
00065
00066
00067 virtual CosNotifyChannelAdmin::EventChannel_ptr
00068 build_event_channel (TAO_Notify_EventChannelFactory* ecf
00069 , const CosNotification::QoSProperties & initial_qos
00070 , const CosNotification::AdminProperties & initial_admin
00071 , CosNotifyChannelAdmin::ChannelID_out id
00072 , const char* ec_name = 0);
00073
00074 virtual TAO_Notify_EventChannel *
00075 build_event_channel (TAO_Notify_EventChannelFactory* ecf
00076 , const CosNotifyChannelAdmin::ChannelID id
00077 , const char* ec_name = 0);
00078
00079
00080
00081 virtual CosNotifyChannelAdmin::ConsumerAdmin_ptr
00082 build_consumer_admin (TAO_Notify_EventChannel* ec
00083 , CosNotifyChannelAdmin::InterFilterGroupOperator op
00084 , CosNotifyChannelAdmin::AdminID_out id);
00085
00086
00087
00088
00089
00090 virtual TAO_Notify_ConsumerAdmin *
00091 build_consumer_admin (TAO_Notify_EventChannel* ec
00092 , const CosNotifyChannelAdmin::AdminID id
00093 );
00094
00095
00096 virtual CosNotifyChannelAdmin::SupplierAdmin_ptr
00097 build_supplier_admin (TAO_Notify_EventChannel * ec
00098 , CosNotifyChannelAdmin::InterFilterGroupOperator op
00099 , CosNotifyChannelAdmin::AdminID_out id);
00100
00101
00102
00103
00104
00105 virtual TAO_Notify_SupplierAdmin *
00106 build_supplier_admin (TAO_Notify_EventChannel * ec
00107 , const CosNotifyChannelAdmin::AdminID id
00108 );
00109
00110
00111 virtual CosNotifyChannelAdmin::ProxyConsumer_ptr
00112 build_proxy (TAO_Notify_SupplierAdmin* sa
00113 , CosNotifyChannelAdmin::ClientType ctype
00114 , CosNotifyChannelAdmin::ProxyID_out proxy_id
00115 , const CosNotification::QoSProperties & initial_qos);
00116
00117
00118 virtual TAO_Notify_ProxyConsumer *
00119 build_proxy (TAO_Notify_SupplierAdmin* sa
00120 , CosNotifyChannelAdmin::ClientType ctype
00121 , const CosNotifyChannelAdmin::ProxyID proxy_id);
00122
00123
00124 virtual CosNotifyChannelAdmin::ProxySupplier_ptr
00125 build_proxy (TAO_Notify_ConsumerAdmin* ca
00126 , CosNotifyChannelAdmin::ClientType ctype
00127 , CosNotifyChannelAdmin::ProxyID_out proxy_id
00128 , const CosNotification::QoSProperties & initial_qos);
00129
00130
00131 virtual TAO_Notify_ProxySupplier *
00132 build_proxy (TAO_Notify_ConsumerAdmin* ca
00133 , CosNotifyChannelAdmin::ClientType ctype
00134 , const CosNotifyChannelAdmin::ProxyID proxy_id);
00135
00136
00137 virtual CosEventChannelAdmin::ProxyPushSupplier_ptr
00138 build_proxy (TAO_Notify_ConsumerAdmin* ca);
00139
00140
00141 virtual CosEventChannelAdmin::ProxyPushConsumer_ptr
00142 build_proxy (TAO_Notify_SupplierAdmin* sa);
00143
00144
00145 virtual void apply_reactive_concurrency (TAO_Notify_Object& object);
00146
00147
00148 virtual void apply_thread_pool_concurrency (
00149 TAO_Notify_Object& object,
00150 const NotifyExt::ThreadPoolParams& tp_params);
00151
00152
00153 virtual void apply_lane_concurrency (
00154 TAO_Notify_Object& object,
00155 const NotifyExt::ThreadPoolLanesParams& tpl_params);
00156 };
00157
00158 TAO_END_VERSIONED_NAMESPACE_DECL
00159
00160 #include "ace/post.h"
00161
00162 #endif