CARMA C++
FramePublisherThread.h
1 #ifndef CARMA_MONITOR_FRAME_PUBLISHER_THREAD_H
2 #define CARMA_MONITOR_FRAME_PUBLISHER_THREAD_H
3 
13 #include <string>
14 #include <memory>
15 
16 namespace carma {
17 
18 namespace corba {
19  class Client;
20 }
21 
22 namespace monitor {
23 
24 
25 class FramePublisher;
26 class SubsystemFrameBuffer;
27 class MonitorSubsystem;
28 
29 
30 class FramePublisherThread {
31  public:
32 
33  FramePublisherThread( MonitorSubsystem & subsystem,
34  const std::string & senderName,
35  carma::corba::Client & client );
36 
37  ~FramePublisherThread( );
38 
42  void operator()();
43 
44  private:
45 
53  void publishFrame( SubsystemFrameBuffer & buffer );
54 
60  ::std::auto_ptr< FramePublisher > dispatcher_;
61 
66  MonitorSubsystem & subsystem_;
67 
68  size_t publishCount_;
69  size_t nextPublishLogCount_;
70 };
71 
72 
73 } // End namespace monitor
74 } // End namespace carma
75 
76 
77 #endif
Class to encapsulate CORBA client functionality in CARMA.
Definition: Client.h:26