Go to the documentation of this file.00001
00002
00003 #ifndef MONITORCONSUMERADMIN_H
00004 #define MONITORCONSUMERADMIN_H
00005
00006 #include "ace/pre.h"
00007
00008 #include "ace/SString.h"
00009
00010 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00011 # pragma once
00012 #endif
00013
00014 #include "orbsvcs/Notify/ConsumerAdmin.h"
00015 #include "orbsvcs/Notify/Buffering_Strategy.h"
00016 #include "orbsvcs/Notify/MonitorControlExt/NotifyMonitoringExtS.h"
00017
00018 #if defined (TAO_HAS_MONITOR_FRAMEWORK) && (TAO_HAS_MONITOR_FRAMEWORK == 1)
00019
00020 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00021
00022 namespace ACE
00023 {
00024 namespace Monitor_Control
00025 {
00026 class Monitor_Base;
00027 }
00028 }
00029
00030 ACE_END_VERSIONED_NAMESPACE_DECL
00031
00032 using namespace ACE_VERSIONED_NAMESPACE_NAME::ACE::Monitor_Control;
00033
00034 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00035
00036 class TAO_MonitorEventChannel;
00037
00038 class TAO_Notify_MC_Ext_Export TAO_MonitorConsumerAdmin
00039 : public virtual TAO_Notify_ConsumerAdmin,
00040 public virtual POA_NotifyMonitoringExt::ConsumerAdmin,
00041 public virtual TAO_Notify_Buffering_Strategy::Tracker
00042 {
00043 public:
00044
00045 TAO_MonitorConsumerAdmin (void);
00046
00047
00048 virtual ~TAO_MonitorConsumerAdmin (void);
00049
00050
00051 void register_stats_controls (TAO_MonitorEventChannel* mec,
00052 const ACE_CString& name);
00053
00054 virtual CosNotifyChannelAdmin::ProxySupplier_ptr
00055 obtain_named_notification_push_supplier (
00056 CosNotifyChannelAdmin::ClientType ctype,
00057 CosNotifyChannelAdmin::ProxyID_out proxy_id,
00058 const char * name);
00059
00060 virtual CosNotifyChannelAdmin::ProxySupplier_ptr
00061 obtain_notification_push_supplier (
00062 CosNotifyChannelAdmin::ClientType ctype,
00063 CosNotifyChannelAdmin::ProxyID_out proxy_id);
00064
00065
00066 TAO_MonitorEventChannel* get_ec (void) const;
00067
00068 const ACE_CString & stat_name (void)const;
00069
00070
00071
00072
00073 virtual void update_queue_count (size_t count);
00074
00075 virtual void count_queue_overflow (bool local_overflow, bool global_overflow);
00076
00077 virtual void destroy (void);
00078
00079 private:
00080
00081 virtual void remove (void);
00082
00083 ACE_CString stat_name_;
00084 ACE_CString queue_size_stat_name_;
00085 ACE_CString overflow_stat_name_;
00086 ACE_CString control_name_;
00087 Monitor_Base * queue_size_;
00088 Monitor_Base * overflows_;
00089 };
00090
00091 TAO_END_VERSIONED_NAMESPACE_DECL
00092
00093 #endif
00094
00095 #include "ace/post.h"
00096
00097 #endif