CARMA C++
CorbaCorrProducer.h
Go to the documentation of this file.
1 #ifndef CARMA_CORRELATOR_OBSRECORD2_CORBACORRPRODUCER_H
2 #define CARMA_CORRELATOR_OBSRECORD2_CORBACORRPRODUCER_H
3 
7 
8 #include "carma/correlator/obsRecord2/CorDataBase.h"
9 #include "carma/util/PthreadMutex.h"
10 
11 #include <memory>
12 #include <orbsvcs/CosNotificationC.h>
13 #include <string>
14 
15 
16 namespace carma {
17 
18  namespace corba {
19  class Client;
20  }
21 
22  namespace util {
23  class Orb;
24  }
25 
26 namespace correlator {
27 
28 namespace lib {
29  class CorrelatorData;
30 }
31 
32 namespace obsRecord2 {
33 
34 
37  public:
38 
40  CorbaCorrProducer( const ::std::string & channelName );
41 
43  CorbaCorrProducer( carma::util::Orb* localOrb,
44  const ::std::string & channelName );
45 
47  virtual ~CorbaCorrProducer( );
48 
54  void sendCorData(
56  double * corbaSendMicros,
57  size_t * corbaSendBytes );
58 
59  private:
60  // No copying
61  CorbaCorrProducer( const CorbaCorrProducer & rhs );
62  CorbaCorrProducer & operator=( const CorbaCorrProducer & rhs );
63 
64 
65  const ::std::string notificationChannelName_;
66 
67  carma::util::Orb * localOrb_;
68  const bool useLocalOrb_;
69 
70  CosNotification::StructuredEvent_var event_;
72  carma::util::PthreadMutex containerMutex_;
73 
74  carma::corba::Client * client_;
75 
76 };
77 
78 
79 } // namespace carma::correlator::obsRecord2
80 } // namespace carma::correlator
81 } // namespace carma
82 
83 
84 #endif
IDL structure holding all Correlator Data.
Definition: CorDataBase.idl:85
Implements interface for serving correlator data using CORBA.
void sendCorData(const carma::correlator::lib::CorrelatorData &cd, double *corbaSendMicros, size_t *corbaSendBytes)
Send data through Notification Channel.
Class to encapsulate CORBA client functionality in CARMA.
Definition: Client.h:26
CorbaCorrProducer(const ::std::string &channelName)
Constructor.
Class used to represents bands of Correlator Data.
A simple wrapper class that makes use of ::pthread_mutex_t easier in a C++ world. ...
Definition: PthreadMutex.h:41