00001 /* 00002 * Distributed under the OpenDDS License. 00003 * See: http://www.opendds.org/license.html 00004 */ 00005 00006 #ifndef OPENDDS_DCPS_DISCOVERYLISTENER_H 00007 #define OPENDDS_DCPS_DISCOVERYLISTENER_H 00008 00009 #include "dds/DdsDcpsInfoUtilsC.h" 00010 00011 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00012 #pragma once 00013 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00014 00015 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL 00016 00017 namespace OpenDDS { 00018 namespace DCPS { 00019 00020 /** 00021 * @class DiscoveryListener 00022 * 00023 * @brief Defines the interface that allows DataWriters (and lower levels) to inform discovery. 00024 * 00025 */ 00026 class DiscoveryListener { 00027 public: 00028 00029 DiscoveryListener() {} 00030 00031 virtual ~DiscoveryListener() {} 00032 00033 virtual void reader_exists(const RepoId& readerid, const RepoId& writerid) = 0; 00034 virtual void reader_does_not_exist(const RepoId& readerid, const RepoId& writerid) = 0; 00035 virtual void writer_exists(const RepoId& writerid, const RepoId& readerid) = 0; 00036 virtual void writer_does_not_exist(const RepoId& writerid, const RepoId& readerid) = 0; 00037 }; 00038 00039 } // namespace DCPS 00040 } // namespace OpenDDS 00041 00042 OPENDDS_END_VERSIONED_NAMESPACE_DECL 00043 00044 #endif /* OPENDDS_DCPS_DISCOVERYLISTENER_H */