CARMA C++
carma::control::ProjectDatabaseManagerHandle Class Reference

Manages Project Database Manager control DO connections. More...

#include <carma/control/ProjectDatabaseManagerHandle.h>

Inheritance diagram for carma::control::ProjectDatabaseManagerHandle:
carma::control::RemoteObjHandleT< T > carma::control::RemoteObjHandleBase

Public Member Functions

void addScriptOrCatalog (const observertools::ProjectId pid, const char *scriptFile, const char *catalogFile)
 Add a script and/or catalog to a project. More...
 
bool getEditResult (int editRequestId)
 
observertools::ProjectSequencegetProjectSequence (int requestId)
 
short getRunResult (int requestId)
 
 ProjectDatabaseManagerHandle (monitor::MonitorSystem &carmaMonitor, monitor::ControlSubsystemBase::Reachable &reachable)
 Constructor. More...
 
void projectEdit (const observertools::ProjectId pid, const observertools::ItemValueSequence ivSeq, const observertools::EditStatus action, const int editRequestId)
 Edit a project. More...
 
void projectQuery (const observertools::ItemValueSequence ivSeq, const int requestId)
 Query the project database for a project sequence. More...
 
void runProject (const char *projectID, const char *obsblock, const char *subObsblock, const bool isCommissioning, const bool isDualCorr, const char *arrayConfig1, const char *arrayConfig2, const char *scriptFile, const char *catalogFile, const int requestId)
 
- Public Member Functions inherited from carma::control::RemoteObjHandleT< T >
template<typename S >
S::_var_type narrowedRemoteObj () const
 Returns remote object handle as var. More...
 
T::_var_type remoteObj () const
 Returns remote object handle as var. More...
 
 RemoteObjHandleT (const ::std::string &doName, monitor::MonitorPointBool *mpReachable, const monitor::MonitorSubsystem *subsystem, monitor::MonitorSystem *system, bool defaultLogIfNotReachable, bool defaultLogSentCommands)
 Constructor. More...
 
virtual ~RemoteObjHandleT ()
 Destructor. More...
 
- Public Member Functions inherited from carma::control::RemoteObjHandleBase
bool attemptToReconnectIfNeeded ()
 Try reconnect to the DO if needed. More...
 
::std::string doName () const
 get the DO name More...
 
void forceFullReconnect ()
 Force a full re-lookup of the DO by name. More...
 
bool isObjReachable ()
 If state is 'not reachable' and monitor system is current, tries to reconnect. More...
 
bool isObjReachable (bool logIfNotReachable)
 
 RemoteObjHandleBase (const ::std::string &doName, monitor::MonitorPointBool *mpReachable, const monitor::MonitorSubsystem *subsystem, monitor::MonitorSystem *system, bool defaultLogIfNotReachable, bool defaultLogSentCommands)
 Constructor. More...
 
virtual ~RemoteObjHandleBase ()
 Destructor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from carma::control::RemoteObjHandleT< T >
virtual bool resolveObjRef ()
 
- Protected Member Functions inherited from carma::control::RemoteObjHandleBase
bool getDefaultLogIfNotReachable () const
 
bool getDefaultLogSentCommands () const
 
void invalidateObjRef ()
 
void invalidateObjRefIfNeededForCaught ()
 
void logException (const ::std::string &callString, const ::std::string &exString) const
 
void logSentCommand (const ::std::string &callString, const double mjd) const
 
void logSentCommand (const ::std::string &callString, const double mjd, const ::std::string &subDoName) const
 
void logSentCommandIfNeeded (const ::std::string &callString, const double mjd) const
 
void logSentCommandIfNeeded (const ::std::string &callString, const double mjd, const ::std::string &subDoName) const
 
void markObjRefValid ()
 
void processException (const ::std::string &callString, const ::CORBA::Exception &corbaException)
 
void throwBadRemoteObjAccess () const
 
void throwIfObjRefIsNotValid () const
 

Detailed Description

Manages Project Database Manager control DO connections.

Definition at line 29 of file ProjectDatabaseManagerHandle.h.

Constructor & Destructor Documentation

carma::control::ProjectDatabaseManagerHandle::ProjectDatabaseManagerHandle ( monitor::MonitorSystem carmaMonitor,
monitor::ControlSubsystemBase::Reachable &  reachable 
)

Constructor.

Parameters
carmaMonitorcarma::monitor::MonitorSystem& monitor system
subarrayMonitorcarma::monitorControlSubsystemBase::Subarray&

Member Function Documentation

void carma::control::ProjectDatabaseManagerHandle::addScriptOrCatalog ( const observertools::ProjectId  pid,
const char *  scriptFile,
const char *  catalogFile 
)

Add a script and/or catalog to a project.

bool carma::control::ProjectDatabaseManagerHandle::getEditResult ( int  editRequestId)
Returns
the success state of a previous call to projectEdit
Parameters
editRequestIdAn id number that keeps track of multithreaded project edits. The value of this number is set by SubarrayControl. An access request here should match the id from a previous call to projectEdit
observertools::ProjectSequence* carma::control::ProjectDatabaseManagerHandle::getProjectSequence ( int  requestId)
Returns
the projectSequence associated with the input request id
Parameters
requestIdAn id number that keeps track of multithreaded project queries. The value of this number is set by SubarrayControl. An access request here should match the id from a previous call to projectQuery.
void carma::control::ProjectDatabaseManagerHandle::projectEdit ( const observertools::ProjectId  pid,
const observertools::ItemValueSequence  ivSeq,
const observertools::EditStatus  action,
const int  editRequestId 
)

Edit a project.

Parameters
pidThe Project
ivSeqThe itemValueSequence describing the items to be editted.
actionA enumerated action (e.g., COPY, DELETE, etc)
editRequestIdAn id number that keeps track of multithreaded project edits. The value of this number is set by SubarrayControl.
void carma::control::ProjectDatabaseManagerHandle::projectQuery ( const observertools::ItemValueSequence  ivSeq,
const int  requestId 
)

Query the project database for a project sequence.

Note this method has void return signature because we pass it through makeHandleMethodFunctorGroup, which can only take void methods. The return project sequence is passed back through the ProjectSequence_var argument.

Parameters
ivSeqThe itemValueSequence describing the query
projSeqThe returned project Sequence.
requestIdAn id number that keeps track of multithreaded project queries. The value of this number is set by SubarrayControl.

The documentation for this class was generated from the following file: