summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Properties.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Properties.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Properties.h69
1 files changed, 62 insertions, 7 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Properties.h b/TAO/orbsvcs/orbsvcs/Notify/Properties.h
index d5d16fe1e5d..4a0a6a03ffc 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Properties.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Properties.h
@@ -19,9 +19,10 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "ace/Singleton.h"
+#include "tao/TAO_Singleton.h"
#include "tao/ORB.h"
#include "tao/PortableServer/PortableServer.h"
+#include "orbsvcs/CosNotificationC.h"
class TAO_NS_Factory;
class TAO_NS_Builder;
@@ -29,19 +30,19 @@ class TAO_NS_Builder;
/**
* @class TAO_NS_Properties
*
- * @brief Global properties that strategize RT Notify's run-time behaviour.
+ * @brief Global properties that strategize Notify's run-time behaviour.
*
*/
class TAO_Notify_Export TAO_NS_Properties
{
- friend class ACE_Singleton<TAO_NS_Properties, TAO_SYNCH_MUTEX>;
+ friend class TAO_Singleton<TAO_NS_Properties, TAO_SYNCH_MUTEX>;
public:
/// Constuctor
TAO_NS_Properties (void);
/// Destructor
- ~TAO_NS_Properties ();
+ ~TAO_NS_Properties ();
// = Property Accessors
TAO_NS_Factory* factory (void);
@@ -62,6 +63,39 @@ public:
long sched_policy (void);
void sched_policy (long sched_policy);
+ CORBA::Boolean asynch_updates (void);
+ void asynch_updates (CORBA::Boolean asynch_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_NS_Factory* factory_;
@@ -71,7 +105,7 @@ protected:
/// ORB
CORBA::ORB_var orb_;
-
+
// POA
PortableServer::POA_var default_poa_;
@@ -80,11 +114,32 @@ protected:
/// Scope policy
long thr_scope_policy_;
+
+ /// True if send asynch updates.
+ CORBA::Boolean asynch_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_;
};
-typedef ACE_Singleton<TAO_NS_Properties, TAO_SYNCH_MUTEX> TAO_NS_PROPERTIES;
+typedef TAO_Singleton<TAO_NS_Properties, TAO_SYNCH_MUTEX> TAO_NS_PROPERTIES;
-TAO_NOTIFY_SINGLETON_DECLARE (ACE_Singleton, TAO_NS_Properties, TAO_SYNCH_MUTEX);
+TAO_NOTIFY_SINGLETON_DECLARE (TAO_Singleton, TAO_NS_Properties, TAO_SYNCH_MUTEX);
#if defined (__ACE_INLINE__)
#include "Properties.inl"