Public Member Functions | Private Member Functions | Private Attributes

ACS::parameterTask Class Reference

#include <parameterTask.h>

Inheritance diagram for ACS::parameterTask:
Inheritance graph
[legend]
Collaboration diagram for ACS::parameterTask:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 parameterTask (const ACE_CString &name, maci::ContainerServices *containerServices)
virtual ~parameterTask ()
virtual void run (const ACS::StringSequence &parameters, const char *fileName)

Private Member Functions

void buildParameterMap (const ACS::StringSequence &parameters, const string &baseFileName)
void checkPosition (string::size_type currPosition, unsigned int length, const string &msg)
string buildParameterSetXML (const string &fileNamePrefix)
DOMElement * createBoolElement (const string &paramName, const vector< string > &values, DOMDocument *)
DOMElement * createIntElement (const string &paramName, const vector< string > &values, DOMDocument *)
DOMElement * createIntArrayElement (const string &paramName, const vector< string > &values, DOMDocument *)
DOMElement * createDoubleElement (const string &paramName, const vector< string > &values, DOMDocument *)
DOMElement * createDoubleArrayElement (const string &paramName, const vector< string > &values, DOMDocument *)
DOMElement * createStringElement (const string &paramName, const vector< string > &values, DOMDocument *)
DOMElement * createStringArrayElement (const string &paramName, const vector< string > &values, DOMDocument *)
DOMElement * createSimpleElement (const string &paramName, const vector< string > &values, DOMDocument *doc, const string &paramType)
DOMElement * createArrayElement (const string &paramName, const vector< string > &values, DOMDocument *doc, const string &paramType)
vector< string > parseBoolElement (const string &valueString)
vector< string > parseIntElement (const string &valueString)
vector< string > parseIntArrayElement (const string &valueString)
vector< string > parseDoubleElement (const string &valueString)
vector< string > parseDoubleArrayElement (const string &valueString)
vector< string > parseStringElement (const string &valueString)
vector< string > parseStringArrayElement (const string &valueString)

Private Attributes

map< string, vector< string > > parameterMap
auto_ptr< DOMDocument > domDocument
auto_ptr< ParamSetDefparamSetDef

Detailed Description

The parameterTask class is the (abstract) base class for all ACS-based tasks which used the parameter handling library provided by ACS.

In order to make a concrete implementation, this class must be extended (i.e. sub-classed) and the "go" method (inherited from the ACS::Task interface) must be implemented in the sub-class.


Constructor & Destructor Documentation

ACS::parameterTask::parameterTask ( const ACE_CString &  name,
maci::ContainerServices containerServices 
)

Constructor

Parameters:
name The name of the (task) component
containerServices The container services for the (task) component
virtual ACS::parameterTask::~parameterTask (  )  [inline, virtual]

Destructor


Member Function Documentation

void ACS::parameterTask::buildParameterMap ( const ACS::StringSequence &  parameters,
const string &  baseFileName 
) [private]
string ACS::parameterTask::buildParameterSetXML ( const string &  fileNamePrefix  )  [private]
void ACS::parameterTask::checkPosition ( string::size_type  currPosition,
unsigned int  length,
const string &  msg 
) [private]
DOMElement* ACS::parameterTask::createArrayElement ( const string &  paramName,
const vector< string > &  values,
DOMDocument *  doc,
const string &  paramType 
) [private]
DOMElement* ACS::parameterTask::createBoolElement ( const string &  paramName,
const vector< string > &  values,
DOMDocument *   
) [private]
DOMElement* ACS::parameterTask::createDoubleArrayElement ( const string &  paramName,
const vector< string > &  values,
DOMDocument *   
) [private]
DOMElement* ACS::parameterTask::createDoubleElement ( const string &  paramName,
const vector< string > &  values,
DOMDocument *   
) [private]
DOMElement* ACS::parameterTask::createIntArrayElement ( const string &  paramName,
const vector< string > &  values,
DOMDocument *   
) [private]
DOMElement* ACS::parameterTask::createIntElement ( const string &  paramName,
const vector< string > &  values,
DOMDocument *   
) [private]
DOMElement* ACS::parameterTask::createSimpleElement ( const string &  paramName,
const vector< string > &  values,
DOMDocument *  doc,
const string &  paramType 
) [private]
DOMElement* ACS::parameterTask::createStringArrayElement ( const string &  paramName,
const vector< string > &  values,
DOMDocument *   
) [private]
DOMElement* ACS::parameterTask::createStringElement ( const string &  paramName,
const vector< string > &  values,
DOMDocument *   
) [private]
vector<string> ACS::parameterTask::parseBoolElement ( const string &  valueString  )  [private]
vector<string> ACS::parameterTask::parseDoubleArrayElement ( const string &  valueString  )  [private]
vector<string> ACS::parameterTask::parseDoubleElement ( const string &  valueString  )  [private]
vector<string> ACS::parameterTask::parseIntArrayElement ( const string &  valueString  )  [private]
vector<string> ACS::parameterTask::parseIntElement ( const string &  valueString  )  [private]
vector<string> ACS::parameterTask::parseStringArrayElement ( const string &  valueString  )  [private]
vector<string> ACS::parameterTask::parseStringElement ( const string &  valueString  )  [private]
virtual void ACS::parameterTask::run ( const ACS::StringSequence &  parameters,
const char *  fileName 
) [virtual]

The required run method (for the CORBA/IDL interface, TaskComponent).

Parameters:
parameters The parameters/arguments supplied on the command line.
fileName The (base) name (without extension) of the meta-data xml file containing meta-information about the task.
Exceptions:
taskErrType::TaskRunFailureEx 

Member Data Documentation

auto_ptr<DOMDocument> ACS::parameterTask::domDocument [private]
map<string, vector<string> > ACS::parameterTask::parameterMap [private]

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