ReceiveListenerSetMap.inl

Go to the documentation of this file.
00001 /*
00002  *
00003  *
00004  * Distributed under the OpenDDS License.
00005  * See: http://www.opendds.org/license.html
00006  */
00007 
00008 #include "ReceivedDataSample.h"
00009 #include "EntryExit.h"
00010 #include "dds/DCPS/Util.h"
00011 #include "dds/DCPS/GuidConverter.h"
00012 
00013 ACE_INLINE
00014 OpenDDS::DCPS::ReceiveListenerSetMap::ReceiveListenerSetMap()
00015 {
00016   DBG_ENTRY_LVL("ReceiveListenerSetMap","ReceiveListenerSetMap",6);
00017 }
00018 
00019 ACE_INLINE OpenDDS::DCPS::ReceiveListenerSet_rch
00020 OpenDDS::DCPS::ReceiveListenerSetMap::find(RepoId publisher_id) const
00021 {
00022   DBG_ENTRY_LVL("ReceiveListenerSetMap","find",6);
00023   ReceiveListenerSet_rch listener_set;
00024 
00025   if (OpenDDS::DCPS::find(map_, publisher_id, listener_set) != 0) {
00026     return ReceiveListenerSet_rch();
00027   }
00028   return listener_set;
00029 }
00030 
00031 ACE_INLINE OpenDDS::DCPS::ReceiveListenerSet_rch
00032 OpenDDS::DCPS::ReceiveListenerSetMap::find_or_create(RepoId publisher_id)
00033 {
00034   DBG_ENTRY_LVL("ReceiveListenerSetMap","find_or_create",6);
00035 
00036   ReceiveListenerSet_rch& listener_set = map_[publisher_id];
00037   if (!listener_set) {
00038     listener_set = make_rch<ReceiveListenerSet>();
00039   }
00040   return listener_set;
00041 }
00042 
00043 ACE_INLINE OpenDDS::DCPS::ReceiveListenerSet_rch
00044 OpenDDS::DCPS::ReceiveListenerSetMap::remove_set(RepoId publisher_id)
00045 {
00046   DBG_ENTRY_LVL("ReceiveListenerSetMap","remove_set",6);
00047   ReceiveListenerSet_rch listener_set;
00048 
00049   if (unbind(map_, publisher_id, listener_set) != 0) {
00050     VDBG((LM_DEBUG,
00051           "(%P|%t) Unable to remove ReceiveListenerSet from the "
00052           "ReceiveListenerSetMap for id %d.\n",
00053           LogGuid(publisher_id).c_str()));
00054     // Return a 'nil' ReceiveListenerSet*
00055     return ReceiveListenerSet_rch();
00056   }
00057 
00058   return listener_set;
00059 }
00060 
00061 ACE_INLINE ssize_t
00062 OpenDDS::DCPS::ReceiveListenerSetMap::size() const
00063 {
00064   DBG_ENTRY_LVL("ReceiveListenerSetMap","size",6);
00065   return map_.size();
00066 }
00067 
00068 ACE_INLINE OpenDDS::DCPS::ReceiveListenerSetMap::MapType&
00069 OpenDDS::DCPS::ReceiveListenerSetMap::map()
00070 {
00071   DBG_ENTRY_LVL("ReceiveListenerSetMap","map",6);
00072   return map_;
00073 }
00074 
00075 ACE_INLINE const OpenDDS::DCPS::ReceiveListenerSetMap::MapType&
00076 OpenDDS::DCPS::ReceiveListenerSetMap::map() const
00077 {
00078   DBG_ENTRY_LVL("ReceiveListenerSetMap","map",6);
00079   return map_;
00080 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1