DataReaderRemoteImpl.h

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 #ifndef OPENDDS_DCPS_DATAREADERREMOTEIMPL_H
00009 #define OPENDDS_DCPS_DATAREADERREMOTEIMPL_H
00010 
00011 #include "InfoRepoDiscovery_Export.h"
00012 #include "DataReaderRemoteS.h"
00013 #include "dds/DCPS/Definitions.h"
00014 
00015 #include "ace/Thread_Mutex.h"
00016 
00017 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00018 #pragma once
00019 #endif /* ACE_LACKS_PRAGMA_ONCE */
00020 
00021 namespace OpenDDS {
00022 namespace DCPS {
00023 
00024 class DataReaderCallbacks;
00025 
00026 /**
00027 * @class DataReaderRemoteImpl
00028 *
00029 * @brief Implements the OpenDDS::DCPS::ReaderRemote interface that
00030 *        is used to add and remove associations.
00031 *
00032 */
00033 class DataReaderRemoteImpl
00034   : public virtual POA_OpenDDS::DCPS::DataReaderRemote {
00035 public:
00036 
00037   explicit DataReaderRemoteImpl(DataReaderCallbacks* parent);
00038 
00039   virtual ~DataReaderRemoteImpl();
00040 
00041   virtual void add_association(const RepoId& yourId,
00042                                const WriterAssociation& writer,
00043                                bool active);
00044 
00045   virtual void association_complete(const RepoId& remote_id);
00046 
00047   virtual void remove_associations(const WriterIdSeq& writers,
00048                                    CORBA::Boolean callback);
00049 
00050   virtual void update_incompatible_qos(const IncompatibleQosStatus& status);
00051 
00052   void detach_parent();
00053 
00054 private:
00055   DataReaderCallbacks* parent_;
00056   ACE_Thread_Mutex mutex_;
00057 };
00058 
00059 } // namespace DCPS
00060 } // namespace OpenDDS
00061 
00062 #endif /* OPENDDS_DCPS_DATAREADERREMOTEIMPL_H  */

Generated on Fri Feb 12 20:05:20 2016 for OpenDDS by  doxygen 1.4.7