summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Proxy.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Proxy.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Proxy.h44
1 files changed, 26 insertions, 18 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Proxy.h b/TAO/orbsvcs/orbsvcs/Notify/Proxy.h
index 59a4c347909..f98a571a2e0 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Proxy.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Proxy.h
@@ -20,7 +20,7 @@
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */
-#include "Object.h"
+#include "Topology_Object.h"
#include "EventTypeSeq.h"
#include "FilterAdmin.h"
#include "Admin.h"
@@ -35,7 +35,8 @@ class TAO_Notify_Peer;
* @brief Base class proxy for all proxys in NS.
*
*/
-class TAO_Notify_Serv_Export TAO_Notify_Proxy : public virtual TAO_Notify_Object
+class TAO_Notify_Serv_Export TAO_Notify_Proxy
+ : public TAO_Notify::Topology_Parent
{
friend class TAO_Notify_Peer;
@@ -50,35 +51,33 @@ public:
~TAO_Notify_Proxy ();
/// Activate
- virtual CORBA::Object_ptr activate (PortableServer::Servant servant
+ 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
+ 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
- );
-
- /// Check if this event passes the admin and proxy filters.
- CORBA::Boolean check_filters (
- const TAO_Notify_Event_var &event,
- TAO_Notify_FilterAdmin& parent_filter_admin,
+ 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
+ void types_changed (const TAO_Notify_EventTypeSeq& added,
+ const TAO_Notify_EventTypeSeq& removed
ACE_ENV_ARG_DECL);
/// Have updates been turned off.
@@ -92,8 +91,8 @@ public:
/// Implement the Obtain Types.
virtual CosNotification::EventTypeSeq* obtain_types (
- CosNotifyChannelAdmin::ObtainInfoMode mode,
- const TAO_Notify_EventTypeSeq& types
+ CosNotifyChannelAdmin::ObtainInfoMode mode,
+ const TAO_Notify_EventTypeSeq& types
ACE_ENV_ARG_DECL
)
ACE_THROW_SPEC ((CORBA::SystemException));
@@ -107,6 +106,15 @@ public:
/// 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