summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/EC_Filter.cpp
diff options
context:
space:
mode:
authorWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-07-24 15:50:21 +0000
committerWilliam R. Otte <wotte@dre.vanderbilt.edu>2006-07-24 15:50:21 +0000
commit3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c (patch)
tree197c810e5f5bce17b1233a7cb8d7b50c0bcd25e2 /TAO/orbsvcs/orbsvcs/Event/EC_Filter.cpp
parent6b846cf03c0bcbd8c276cb0af61a181e5f98eaae (diff)
downloadATCD-3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c.tar.gz
Repo restructuring
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/EC_Filter.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/EC_Filter.cpp130
1 files changed, 130 insertions, 0 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/EC_Filter.cpp b/TAO/orbsvcs/orbsvcs/Event/EC_Filter.cpp
new file mode 100644
index 00000000000..55f0de96038
--- /dev/null
+++ b/TAO/orbsvcs/orbsvcs/Event/EC_Filter.cpp
@@ -0,0 +1,130 @@
+// $Id$
+
+#include "orbsvcs/Event/EC_Filter.h"
+#include "orbsvcs/Event/EC_QOS_Info.h"
+
+#include "tao/ORB_Constants.h"
+
+#if ! defined (__ACE_INLINE__)
+#include "orbsvcs/Event/EC_Filter.i"
+#endif /* __ACE_INLINE__ */
+
+ACE_RCSID (Event,
+ EC_Filter,
+ "$Id$")
+
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+TAO_EC_Filter::~TAO_EC_Filter (void)
+{
+}
+
+void
+TAO_EC_Filter::adopt_child (TAO_EC_Filter* child)
+{
+ child->parent_ = this;
+}
+
+TAO_EC_Filter::ChildrenIterator
+TAO_EC_Filter::begin (void) const
+{
+ return 0;
+}
+
+TAO_EC_Filter::ChildrenIterator
+TAO_EC_Filter::end (void) const
+{
+ return 0;
+}
+
+int
+TAO_EC_Filter::size (void) const
+{
+ return 0;
+}
+
+void
+TAO_EC_Filter::get_qos_info (TAO_EC_QOS_Info& qos_info
+ ACE_ENV_ARG_DECL)
+{
+ ACE_UNUSED_ARG (qos_info);
+ ACE_THROW (CORBA::NO_IMPLEMENT (TAO::VMCID,
+ CORBA::COMPLETED_NO));
+}
+
+// ****************************************************************
+
+int
+TAO_EC_Null_Filter::filter (const RtecEventComm::EventSet& event,
+ TAO_EC_QOS_Info& qos_info
+ ACE_ENV_ARG_DECL)
+{
+ // This is a leaf, no need to query any children, and we accept all
+ // events, so push it.
+ this->push (event, qos_info ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ return 1;
+}
+
+int
+TAO_EC_Null_Filter::filter_nocopy (RtecEventComm::EventSet& event,
+ TAO_EC_QOS_Info& qos_info
+ ACE_ENV_ARG_DECL)
+{
+ // This is a leaf, no need to query any children, and we accept all
+ // events, so push it.
+ this->push_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER);
+ ACE_CHECK_RETURN (0);
+ return 1;
+}
+
+void
+TAO_EC_Null_Filter::push (const RtecEventComm::EventSet& event,
+ TAO_EC_QOS_Info& qos_info
+ ACE_ENV_ARG_DECL)
+{
+ if (this->parent () != 0)
+ this->parent ()->push (event, qos_info ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_EC_Null_Filter::push_nocopy (RtecEventComm::EventSet& event,
+ TAO_EC_QOS_Info& qos_info
+ ACE_ENV_ARG_DECL)
+{
+ if (this->parent () != 0)
+ this->parent ()->push_nocopy (event, qos_info ACE_ENV_ARG_PARAMETER);
+}
+
+void
+TAO_EC_Null_Filter::clear (void)
+{
+ // do nothing
+}
+
+CORBA::ULong
+TAO_EC_Null_Filter::max_event_size (void) const
+{
+ // @@ Is there a better way to express this?
+ return 0;
+}
+
+int
+TAO_EC_Null_Filter::can_match (const RtecEventComm::EventHeader&) const
+{
+ // @@ This method should be correctly so we can implement null
+ // filtering at the consumers but real filtering on the suppliers.
+ return 1;
+}
+
+int
+TAO_EC_Null_Filter::add_dependencies (
+ const RtecEventComm::EventHeader &,
+ const TAO_EC_QOS_Info &
+ ACE_ENV_ARG_DECL_NOT_USED)
+
+{
+ return 0;
+}
+
+TAO_END_VERSIONED_NAMESPACE_DECL