summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h b/TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h
index 43761ff2456..ce95bb061ea 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/ETCL_FilterFactory.h
@@ -23,6 +23,10 @@
#include "orbsvcs/CosNotifyFilterS.h"
#include "orbsvcs/Notify/FilterFactory.h"
+#include "orbsvcs/Notify/ID_Factory.h"
+#include "orbsvcs/Notify/ETCL_Filter.h"
+#include "orbsvcs/Notify/Topology_Saver.h"
+
#if defined(_MSC_VER)
#pragma warning(push)
@@ -53,6 +57,8 @@ public:
virtual CosNotifyFilter::FilterFactory_ptr create (
PortableServer::POA_ptr filter_poa);
+ virtual void destroy (void);
+
///= CosNotifyFilter::FilterFactory methods
virtual CosNotifyFilter::Filter_ptr create_filter (
@@ -62,9 +68,39 @@ public:
const char * constraint_grammar,
const CORBA::Any & default_value);
+
+ virtual void save_persistent (TAO_Notify::Topology_Saver& saver);
+
+ virtual TAO_Notify::Topology_Object* load_child (
+ const ACE_CString &type,
+ CORBA::Long id,
+ const TAO_Notify::NVPList& attrs);
+
+ virtual TAO_Notify_Object::ID get_filter_id (CosNotifyFilter::Filter_ptr filter);
+ virtual CosNotifyFilter::Filter_ptr get_filter (const TAO_Notify_Object::ID& id);
+
+
protected:
+
+ CosNotifyFilter::Filter_ptr
+ create_filter (const char *constraint_grammar,
+ const TAO_Notify_Object::ID& id,
+ TAO_Notify_ETCL_Filter*& filter);
+
+ /// Release this object.
+ virtual void release (void);
+
/// The POA in which to activate the Filters.
PortableServer::POA_var filter_poa_;
+
+ /// Id generator for proxy suppliers
+ TAO_Notify_ID_Factory filter_ids_;
+
+ typedef ACE_Hash_Map_Manager <TAO_Notify_Object::ID,
+ TAO_Notify_ETCL_Filter*,
+ TAO_SYNCH_MUTEX> FILTERMAP;
+
+ FILTERMAP filters_;
};
TAO_END_VERSIONED_NAMESPACE_DECL