OpenDaVINCI  4.15.3
ContainerConference.h
Go to the documentation of this file.
1 
20 #ifndef OPENDAVINCI_CORE_IO_CONFERENCE_CONTAINERCONFERENCE_H_
21 #define OPENDAVINCI_CORE_IO_CONFERENCE_CONTAINERCONFERENCE_H_
22 
26 
27 namespace odcore { namespace data { class Container; } }
28 
29 namespace odcore {
30  namespace io {
31  namespace conference {
32 
33 class ContainerListener;
34 
35  using namespace std;
36 
37 
44  private:
46 
47  private:
54 
60  ContainerConference& operator=(const ContainerConference &);
61 
62  protected:
64 
65  public:
66  virtual ~ContainerConference();
67 
68  virtual void setContainerListener(ContainerListener *cl);
69 
75  ContainerListener* getContainerListener();
76 
82  virtual void send(odcore::data::Container &container) const = 0;
83 
90  void setSenderStamp(const uint32_t &senderStamp);
91 
98  uint32_t getSenderStamp() const;
99 
100  protected:
107  void receive(odcore::data::Container &c);
108 
114  bool hasContainerListener() const;
115 
116  private:
117  mutable base::Mutex m_containerListenerMutex;
118  ContainerListener *m_containerListener;
119 
120  mutable base::Mutex m_senderStampMutex;
121  uint32_t m_senderStamp;
122  };
123 
124  }
125  }
126 } // odcore::io::conference
127 
128 #endif /*OPENDAVINCI_CORE_IO_CONFERENCE_CONTAINERCONFERENCE_H_*/
Definition: ContainerListener.h:35
Definition: ContainerObserver.h:35
Definition: base/Mutex.h:49
Definition: Container.h:40
Definition: ContainerConferenceFactory.h:40
#define OPENDAVINCI_API
Definition: opendavinci.h:67
Definition: ContainerConference.h:43