Updater.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 UPDATER_H
00009 #define UPDATER_H
00010 
00011 #include "UpdateDataTypes.h"
00012 #include "dds/DCPS/GuidUtils.h"
00013 #include "ace/Synch_Traits.h"
00014 
00015 OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
00016 
00017 namespace Update {
00018 
00019 /**
00020  * Base class for use by the UpdateManager class.
00021  */
00022 class Updater {
00023 public:
00024   virtual ~Updater();
00025 
00026   /**
00027    * Request an image refresh to be sent to the specified
00028    * callback (asynchronously).
00029    */
00030   virtual void requestImage() = 0;
00031 
00032   ///@{
00033   /// Propagate an entity has been created.
00034   virtual void create(const UTopic&              topic) = 0;
00035   virtual void create(const UParticipant&  participant) = 0;
00036   virtual void create(const URActor&             actor) = 0;
00037   virtual void create(const UWActor&             actor) = 0;
00038   virtual void create(const OwnershipData&        data) = 0;
00039   ///@}
00040 
00041   ///@{
00042   /// Propagate updated Qos parameters for an entity.
00043   virtual void update(const IdPath& id, const DDS::DomainParticipantQos& qos) = 0;
00044   virtual void update(const IdPath& id, const DDS::TopicQos&             qos) = 0;
00045   virtual void update(const IdPath& id, const DDS::DataWriterQos&        qos) = 0;
00046   virtual void update(const IdPath& id, const DDS::PublisherQos&         qos) = 0;
00047   virtual void update(const IdPath& id, const DDS::DataReaderQos&        qos) = 0;
00048   virtual void update(const IdPath& id, const DDS::SubscriberQos&        qos) = 0;
00049   virtual void update(const IdPath& id, const DDS::StringSeq&     exprParams) = 0;
00050   ///@}
00051 
00052   /// Propagate that an entity has been destroyed.
00053   virtual void destroy(const IdPath& id, ItemType type, ActorType actor) = 0;
00054 
00055   /// Update Last Participant Id for the repo
00056   virtual void updateLastPartId(PartIdType partId) {
00057     ACE_UNUSED_ARG(partId);
00058   };
00059 };
00060 
00061 inline
00062 Updater::~Updater()
00063 {
00064 }
00065 
00066 } // namespace Update
00067 
00068 OPENDDS_END_VERSIONED_NAMESPACE_DECL
00069 
00070 #endif /* UPDATER_H */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1