codaObject::CodaObject Class Reference

Base class for all CODA objects implements standard functionality. More...

#include <CodaObject.hxx>

Inheritance diagram for codaObject::CodaObject:
codaObject::SessionObject codaObject::RunObject codaObject::InterruptibleObject

List of all members.

Public Member Functions

 CodaObject (const string &UDL, const string &name, const string &descr, const string &codaClass="user", const cMsgSubscriptionConfig *scfg=NULL, int connTimeout=10) throw (CodaException)
 CodaObject constructor.
virtual ~CodaObject (void) throw ()
 CodaObject destructor.
int daLogMsg (const string &text, int sevid, const string &daLogSubj="") const throw (CodaException)
 Called by user to send daLogMsg.
virtual void startProcessing (void) throw (CodaException)
 Called to start processing.
virtual void stopProcessing (void) throw (CodaException)
 Called to stop processing.
string getObjectType (void) const throw ()
 Returns object type.
string getCodaClass (void) const throw ()
 Returns object coda class.
string getHostName (void) const throw ()
 Returns Host Name.
string getUserName (void) const throw ()
 Returns User Name.
string getState (void) const throw ()
 Returns object state.
string getStatus (void) const throw ()
 Returns object status.
string getConfig (void) const throw ()
 Returns object config.
void changeState (const string &newState) throw (CodaException)
 Must be called by the user when the object changes state.
void changeStatus (const string &newStatus) throw (CodaException)
 Must be called by the user when the object changes status.

Public Attributes

cMsg * rcConn
 cMsg run control connection object.
string CodaObjectDaLogSubject
 optional daLog message subject.

Static Public Attributes

static int debug = 0
 Global debug flag.

Protected Member Functions

virtual void sendResponse (const cMsgMessage *msg, const string &subject, const string &type, const string &text, int userInt) const throw (CodaException)
 Internal routine creates, fills, and sends response message.
virtual void userMsgHandler (cMsgMessage *msg, void *userArg) throw (CodaException)
 User message handler takes care of unknown messages.
virtual string userStatus (void) const throw ()
 Gets user status, which should be valid xml fragment.
virtual void daLogMsgFill (cMsgMessage &msg) const throw (CodaException)
 Fills daLogMsg.

Protected Attributes

string UDL
 cMsg UDL to connect to run control.
string name
 Coda object name.
string descr
 Coda object description.
string objectType
 Type of this coda object.
string codaClass
 Coda class, specified by user.
string hostName
 Host name.
string userName
 User name.
string state
 Current state, set via changeState() method.
string status
 Current status, set via changeStatus() method.
string config
 Current config, set via changeConfig() method.
const cMsgSubscriptionConfig * myscfg
 cMsg connection subscription config.

Detailed Description

Base class for all CODA objects implements standard functionality.

Connects to run control system, sets up basic callbacks, etc.

CodaObjects have a state than can spontaneously change due to external causes.

NOTE: CodaObjects are by design NOT controllable by the run control system! Use SessionObject if you need to own and control the object. As far as run control is concerned, a CodaObject can only respond to queries.

Definition at line 136 of file CodaObject.hxx.


Constructor & Destructor Documentation

CodaObject::CodaObject ( const string &  udl,
const string &  Name,
const string &  Descr,
const string &  cClass = "user",
const cMsgSubscriptionConfig *  scfg = NULL,
int  connTimeout = 10 
) throw (CodaException)

CodaObject constructor.

Connects to cMsg system, creates default subscriptions and callbacks.

Parameters:
udl Main cMsg connection udl
name Object name
descr Object description
cClass Coda class of object
scfg cMsg subscription config
connTimeout connection timeout

Definition at line 61 of file CodaObject.cc.

References DALOG_ERROR, and DALOG_INFO.

CodaObject::~CodaObject ( void   )  throw () [virtual]

CodaObject destructor.

Deletes callback dispatcher and closes cMsg connection.

Definition at line 169 of file CodaObject.cc.

References debug, and rcConn.


Member Function Documentation

void CodaObject::changeState ( const string &  newState  )  throw (CodaException)

Must be called by the user when the object changes state.

Sets state and informs run control of the new state.

Parameters:
newState New state

Definition at line 313 of file CodaObject.cc.

void CodaObject::changeStatus ( const string &  newStatus  )  throw (CodaException)

Must be called by the user when the object changes status.

Sets status and informs run control of the new status.

Parameters:
newStatus New status

Definition at line 236 of file CodaObject.cc.

int CodaObject::daLogMsg ( const string &  text,
int  sevid,
const string &  daLogSubject = "" 
) const throw (CodaException)

Called by user to send daLogMsg.

Parameters:
text Message text
sevid Severity ID code (0 reserved, 1-4 INFO, 5-8 WARN, 9-12 ERROR, 13-14 SEVERE, 15 reserved)
daLogSubject Optional daLogMessage subject

Definition at line 332 of file CodaObject.cc.

Referenced by codaObject::PollingService::enableInterrupt(), codaObject::linuxTITrigPollingService::enableInterrupt(), and codaObject::RunObject::startProcessing().

void CodaObject::daLogMsgFill ( cMsgMessage &  m  )  const throw (CodaException) [protected, virtual]

Fills daLogMsg.

Parameters:
m Message

Reimplemented in codaObject::RunObject, and codaObject::SessionObject.

Definition at line 414 of file CodaObject.cc.

Referenced by codaObject::SessionObject::daLogMsgFill().

string CodaObject::getCodaClass ( void   )  const throw ()

Returns object coda class.

Returns:
Coda class

Definition at line 502 of file CodaObject.cc.

References codaClass.

string CodaObject::getConfig ( void   )  const throw ()

Returns object config.

Returns:
Object config

Reimplemented in codaObject::SessionObject.

Definition at line 554 of file CodaObject.cc.

References config.

string CodaObject::getHostName ( void   )  const throw ()

Returns Host Name.

Returns:
Host Name

Definition at line 515 of file CodaObject.cc.

References hostName.

string CodaObject::getObjectType ( void   )  const throw ()

Returns object type.

Returns:
Object type

Definition at line 489 of file CodaObject.cc.

References objectType.

string CodaObject::getState ( void   )  const throw ()

Returns object state.

Returns:
Object state

Definition at line 541 of file CodaObject.cc.

References state.

string CodaObject::getStatus ( void   )  const throw ()

Returns object status.

Returns:
Object status

Definition at line 477 of file CodaObject.cc.

References status.

string CodaObject::getUserName ( void   )  const throw ()

Returns User Name.

Returns:
User Name

Definition at line 528 of file CodaObject.cc.

References userName.

void CodaObject::sendResponse ( const cMsgMessage *  msg,
const string &  subject,
const string &  type,
const string &  text,
int  userInt 
) const throw (CodaException) [protected, virtual]

Internal routine creates, fills, and sends response message.

Parameters:
msg Request message
subject Response subject
type Response type
text Response text
userInt Response user integer

Definition at line 437 of file CodaObject.cc.

References DALOG_ERROR.

Referenced by startProcessing().

void CodaObject::startProcessing ( void   )  throw (CodaException) [virtual]

Called to start processing.

Sends initial status message, enables message receipt.

Reimplemented in codaObject::RunObject.

Definition at line 213 of file CodaObject.cc.

References debug, name, rcConn, sendResponse(), and status.

void CodaObject::stopProcessing ( void   )  throw (CodaException) [virtual]

Called to stop processing.

Disables message receipt.

Definition at line 250 of file CodaObject.cc.

References debug, and rcConn.

void CodaObject::userMsgHandler ( cMsgMessage *  msg,
void *  userArg 
) throw (CodaException) [protected, virtual]

User message handler takes care of unknown messages.

Default version does nothing, should be overridden by user.

Parameters:
msg Unknown message
userArg User arg

Definition at line 569 of file CodaObject.cc.

References DALOG_WARN.

string CodaObject::userStatus ( void   )  const throw () [protected, virtual]

Gets user status, which should be valid xml fragment.

Default does nothing.

Returns:
User status, xml fragment

Definition at line 585 of file CodaObject.cc.


Member Data Documentation

Coda class, specified by user.

Definition at line 185 of file CodaObject.hxx.

Referenced by getCodaClass().

optional daLog message subject.

Definition at line 205 of file CodaObject.hxx.

string codaObject::CodaObject::config [protected]

Current config, set via changeConfig() method.

Definition at line 190 of file CodaObject.hxx.

Referenced by getConfig().

int CodaObject::debug = 0 [static]
string codaObject::CodaObject::descr [protected]

Coda object description.

Definition at line 182 of file CodaObject.hxx.

Host name.

Definition at line 186 of file CodaObject.hxx.

Referenced by getHostName().

const cMsgSubscriptionConfig* codaObject::CodaObject::myscfg [protected]

cMsg connection subscription config.

Definition at line 192 of file CodaObject.hxx.

string codaObject::CodaObject::name [protected]

Coda object name.

Definition at line 181 of file CodaObject.hxx.

Referenced by startProcessing().

Type of this coda object.

Definition at line 184 of file CodaObject.hxx.

Referenced by getObjectType().

cMsg run control connection object.

Definition at line 196 of file CodaObject.hxx.

Referenced by startProcessing(), stopProcessing(), and ~CodaObject().

string codaObject::CodaObject::state [protected]

Current state, set via changeState() method.

Definition at line 188 of file CodaObject.hxx.

Referenced by getState().

string codaObject::CodaObject::status [protected]

Current status, set via changeStatus() method.

Definition at line 189 of file CodaObject.hxx.

Referenced by getStatus(), and startProcessing().

string codaObject::CodaObject::UDL [protected]

cMsg UDL to connect to run control.

Definition at line 180 of file CodaObject.hxx.

User name.

Definition at line 187 of file CodaObject.hxx.

Referenced by getUserName().


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

Generated on 4 Feb 2014 for CodaObject by  doxygen 1.6.1