OpenDDS  Snapshot(2023/04/28-20:55)
Updater.h
Go to the documentation of this file.
1 /*
2  *
3  *
4  * Distributed under the OpenDDS License.
5  * See: http://www.opendds.org/license.html
6  */
7 
8 #ifndef UPDATER_H
9 #define UPDATER_H
10 
11 #include "UpdateDataTypes.h"
12 #include "dds/DCPS/GuidUtils.h"
13 #include "ace/Synch_Traits.h"
14 
16 
17 namespace Update {
18 
19 /**
20  * Base class for use by the UpdateManager class.
21  */
22 class Updater {
23 public:
24  virtual ~Updater();
25 
26  /**
27  * Request an image refresh to be sent to the specified
28  * callback (asynchronously).
29  */
30  virtual void requestImage() = 0;
31 
32  ///@{
33  /// Propagate an entity has been created.
34  virtual void create(const UTopic& topic) = 0;
35  virtual void create(const UParticipant& participant) = 0;
36  virtual void create(const URActor& actor) = 0;
37  virtual void create(const UWActor& actor) = 0;
38  virtual void create(const OwnershipData& data) = 0;
39  ///@}
40 
41  ///@{
42  /// Propagate updated Qos parameters for an entity.
43  virtual void update(const IdPath& id, const DDS::DomainParticipantQos& qos) = 0;
44  virtual void update(const IdPath& id, const DDS::TopicQos& qos) = 0;
45  virtual void update(const IdPath& id, const DDS::DataWriterQos& qos) = 0;
46  virtual void update(const IdPath& id, const DDS::PublisherQos& qos) = 0;
47  virtual void update(const IdPath& id, const DDS::DataReaderQos& qos) = 0;
48  virtual void update(const IdPath& id, const DDS::SubscriberQos& qos) = 0;
49  virtual void update(const IdPath& id, const DDS::StringSeq& exprParams) = 0;
50  ///@}
51 
52  /// Propagate that an entity has been destroyed.
53  virtual void destroy(const IdPath& id, ItemType type, ActorType actor) = 0;
54 
55  /// Update Last Participant Id for the repo
56  virtual void updateLastPartId(PartIdType partId) {
57  ACE_UNUSED_ARG(partId);
58  };
59 };
60 
61 inline
63 {
64 }
65 
66 } // namespace Update
67 
69 
70 #endif /* UPDATER_H */
virtual void requestImage()=0
virtual void update(const IdPath &id, const DDS::DomainParticipantQos &qos)=0
long PartIdType
virtual ~Updater()
Definition: Updater.h:62
virtual void updateLastPartId(PartIdType partId)
Update Last Participant Id for the repo.
Definition: Updater.h:56
virtual void create(const UTopic &topic)=0
virtual void destroy(const IdPath &id, ItemType type, ActorType actor)=0
Propagate that an entity has been destroyed.
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
sequence< string > StringSeq
Definition: DdsDcpsCore.idl:50