CARMA C++
BandStatus.h
Go to the documentation of this file.
1 #ifndef CARMA_CORRELATOR_OBSRECORD2_BANDSTATUS_H
2 #define CARMA_CORRELATOR_OBSRECORD2_BANDSTATUS_H
3 
6 
7 #include "carma/corba/corba.h"
8 #include "carma/correlator/obsRecord2/CorDataBase.h"
9 #include "carma/util/PthreadRWLock.h"
10 
11 #include <map>
12 #include <string>
13 
14 
15 namespace carma {
16 namespace correlator {
17 namespace obsRecord2 {
18 
19 
21 class BandStatus {
22  public:
24  static BandStatus * getInstance( );
25 
28  void addCorrelatorDO(
29  const std::string & name,
30  carma::correlator::obsRecord2::Correlator_I_var doObject );
31 
34  void removeCorrelatorDO( const ::std::string & name );
35 
38  carma::correlator::obsRecord2::Correlator_I_var
39  getCorrelatorDO( const ::std::string & name ) const;
40 
41  private:
42  BandStatus( );
43 
44  virtual ~BandStatus( );
45 
46  typedef ::std::map< ::std::string,
47  carma::correlator::obsRecord2::Correlator_I_var >
48  DOmap;
49 
50  mutable util::PthreadRWLock guard_;
51  DOmap bands_;
52 };
53 
54 
55 } // End namespace obsRecord2
56 } // End namespace correlator
57 } // End namespace carma
58 
59 
60 
61 #endif
Singleton class used to hold a map of connected Correlator DO bands.
Definition: BandStatus.h:21
A simple wrapper class that makes use of ::pthread_rwlock_t easier in a C++ world.
Definition: PthreadRWLock.h:46
void addCorrelatorDO(const std::string &name, carma::correlator::obsRecord2::Correlator_I_var doObject)
Add a valid DO.
static BandStatus * getInstance()
Get pointer to Singleton class.
void removeCorrelatorDO(const ::std::string &name)
Remove a DO.
carma::correlator::obsRecord2::Correlator_I_var getCorrelatorDO(const ::std::string &name) const
Get a valid correlator DO.