13 #if !defined (__ACE_INLINE__) 19 DBG_ENTRY_LVL(
"ReceiveListenerSetMap",
"~ReceiveListenerSetMap",6);
31 if (listener_set.
is_nil()) {
35 ACE_TEXT(
"(%P|%t) ERROR: ReceiveListenerSetMap::insert: ")
36 ACE_TEXT(
"failed to find_or_create entry for ")
38 pub_log.
c_str()), -1);
41 int result = listener_set->insert(subscriber_id, receive_listener);
43 if (result == 0 || result == 1) {
50 ACE_TEXT(
"(%P|%t) ERROR: ReceiveListenerSetMap::insert: ")
51 ACE_TEXT(
"failed to insert subscriber %C for ")
59 if (listener_set->size() == 0) {
62 if (listener_set.
is_nil()) {
64 ACE_TEXT(
"(%P|%t) ERROR: ReceiveListenerSetMap::insert: ")
65 ACE_TEXT(
"failed to remove (undo create) ReceiveListenerSet ")
85 int result = listener_set->remove(subscriber_id);
88 ACE_UNUSED_ARG(result);
90 if (listener_set->size() == 0) {
94 ACE_TEXT(
"(%P|%t) ERROR: ReceiveListenerSetMap::remove: ")
95 ACE_TEXT(
"failed to remove empty ReceiveListenerSet for ")
97 pub_log.
c_str()), -1);
122 DBG_ENTRY_LVL(
"ReceiveListenerSetMap",
"release_subscriber",6);
128 ACE_TEXT(
"(%P|%t) ERROR: ReciveListenerSetMap::release_subscriber: ")
129 ACE_TEXT(
"publisher %C not found in map_.\n"),
136 int result = listener_set->remove(subscriber_id);
139 ACE_UNUSED_ARG(result);
141 if (listener_set->size() == 0) {
145 ACE_TEXT(
"(%P|%t) ERROR: ReceiveListenerSetMap::release_subscriber: ")
146 ACE_TEXT(
"failed to remove empty ReceiveListenerSet for ")
165 const MapType&
map = rh.
map();
167 for (MapType::const_iterator itr = map.begin();
171 ReceiveListenerSet::MapType& smap =
set->map();
173 for (ReceiveListenerSet::MapType::iterator sitr = smap.begin();
176 this->
insert(itr->first, sitr->first, sitr->second);
186 for (MapType::iterator itr = this->
map_.begin();
187 itr != this->
map_.end();
189 itr->second->clear();
ReceiveListenerSet_rch remove_set(GUID_t publisher_id)
int release_subscriber(GUID_t publisher_id, GUID_t subscriber_id)
const char * c_str() const
void operator=(const ReceiveListenerSetMap &rh)
virtual ~ReceiveListenerSetMap()
MapType & map()
Give access to the underlying map for iteration purposes.
ReceiveListenerSet_rch find_or_create(GUID_t publisher_id)
int insert(GUID_t publisher_id, GUID_t subscriber_id, const TransportReceiveListener_wrch &receive_listener)
#define DBG_ENTRY_LVL(CNAME, MNAME, DBG_LVL)
#define ACE_ERROR_RETURN(X, Y)
int remove(GUID_t publisher_id, GUID_t subscriber_id)
int unbind(Container &c, const typename Container::key_type &k, typename Container::mapped_type &v)
int find(Container &c, const Key &key, typename Container::mapped_type *&value)