diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp | 39 |
1 files changed, 6 insertions, 33 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp b/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp index f6c983d44dd..5268f76e2b3 100644 --- a/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp +++ b/TAO/orbsvcs/orbsvcs/Notify/FilterAdmin.cpp @@ -1,10 +1,15 @@ /* -*- C++ -*- $Id$ */ #include "FilterAdmin.h" -#include "ace/Refcounted_Auto_Ptr.h" + +#if ! defined (__ACE_INLINE__) +#include "FilterAdmin.inl" +#endif /* __ACE_INLINE__ */ ACE_RCSID(Notify, FilterAdmin, "$Id$") +#include "ace/Refcounted_Auto_Ptr.h" + // Implementation skeleton constructor TAO_NS_FilterAdmin::TAO_NS_FilterAdmin (void) { @@ -15,38 +20,6 @@ TAO_NS_FilterAdmin::~TAO_NS_FilterAdmin (void) { } -CORBA::Boolean -TAO_NS_FilterAdmin::match (const TAO_NS_Event_var &event ACE_ENV_ARG_DECL) - ACE_THROW_SPEC (( - CORBA::SystemException, - CosNotifyFilter::UnsupportedFilterableData - )) -{ - ACE_GUARD_THROW_EX (TAO_SYNCH_MUTEX, ace_mon, this->lock_, - CORBA::INTERNAL ()); - ACE_CHECK_RETURN (0); - - // If no filter is active, match is successfull. - if (this->filter_list_.current_size () == 0) - return 1; - - // We want to return true if atleast one constraint matches. - FILTER_LIST::ITERATOR iter (this->filter_list_); - FILTER_LIST::ENTRY *entry; - CORBA::Boolean ret_val = 0; - - for (; iter.next (entry); iter.advance ()) - { - ret_val = event->do_match (entry->int_id_.in () ACE_ENV_ARG_PARAMETER); - ACE_CHECK_RETURN (0); - - if (ret_val == 1) - return 1; - } - - return 0; -} - CosNotifyFilter::FilterID TAO_NS_FilterAdmin::add_filter (CosNotifyFilter::Filter_ptr new_filter ACE_ENV_ARG_DECL) ACE_THROW_SPEC ((CORBA::SystemException)) |