nidas
v1.2-1520
|
Base class for a service, as built from a <service>
XML tag.
More...
#include <DSMService.h>
Public Member Functions | |
DSMService (const std::string &name) | |
Constructor. More... | |
virtual | ~DSMService () |
const std::string & | getName () const |
virtual void | setDSMServer (DSMServer *val) |
virtual DSMServer * | getDSMServer () const |
virtual void | connect (SampleInput *)=0 throw () |
virtual void | addProcessor (SampleIOProcessor *proc) |
Add a processor to this RawSampleService. More... | |
virtual const std::list < SampleIOProcessor * > & | getProcessors () const |
const std::list< SampleInput * > & | getInputs () const |
ProcessorIterator | getProcessorIterator () const |
virtual void | schedule (bool optionalProcessing)=0 throw (nidas::util::Exception) |
schedule this service to run. More... | |
virtual int | checkSubThreads () throw () |
virtual void | cancel () throw () |
virtual void | interrupt () throw () |
virtual int | join () throw () |
void | fromDOMElement (const xercesc::DOMElement *node) throw (nidas::util::InvalidParameterException) |
Initialize myself from a xercesc::DOMElement. More... | |
nidas::util::Thread::SchedPolicy | getSchedPolicy () const |
int | getSchedPriority () const |
virtual void | printClock (std::ostream &) throw () |
virtual void | printStatus (std::ostream &, float) throw () |
virtual xercesc::DOMElement * | toDOMParent (xercesc::DOMElement *parent, bool complete) const throw (xercesc::DOMException) |
Create a DOMElement and append it to the parent. More... | |
virtual xercesc::DOMElement * | toDOMElement (xercesc::DOMElement *node, bool complete) const throw (xercesc::DOMException) |
Add my content into a DOMElement. More... | |
Static Public Member Functions | |
static const std::string | getClassName (const xercesc::DOMElement *node, const Project *) throw (nidas::util::InvalidParameterException) |
static const XMLCh * | getNamespaceURI () |
Protected Member Functions | |
void | addSubThread (nidas::util::Thread *) throw () |
Protected Attributes | |
std::string | _name |
DSMServer * | _server |
std::set< nidas::util::Thread * > | _subThreads |
nidas::util::Mutex | _subThreadMutex |
std::list< SampleInput * > | _inputs |
std::list< SampleIOProcessor * > | _processors |
std::list< IOChannel * > | _ochans |
nidas::util::Thread::SchedPolicy | _threadPolicy |
int | _threadPriority |
Private Member Functions | |
DSMService (const DSMService &x) | |
Copying not supported. More... | |
DSMService & | operator= (const DSMService &x) |
Assignment not supported. More... | |
Base class for a service, as built from a <service>
XML tag.
DSMService::DSMService | ( | const std::string & | name | ) |
Constructor.
|
virtual |
References _inputs, _ochans, _processors, nidas::core::SampleInput::close(), and nidas::core::IOChannel::close().
|
private |
Copying not supported.
|
inlinevirtual |
Add a processor to this RawSampleService.
This is done at configuration (XML) time.
References _processors.
|
protected |
|
virtual |
|
virtual |
|
pure virtual |
Implemented in nidas::dynld::RawSampleService, and nidas::dynld::XMLConfigService.
|
virtual |
Initialize myself from a xercesc::DOMElement.
Implements nidas::core::DOMable.
Reimplemented in nidas::dynld::RawSampleService.
References nidas::core::IOChannel::createIOChannel(), nidas::core::DOMObjectFactory::createObject(), nidas::core::ServiceCatalog::find(), nidas::core::DOMable::fromDOMElement(), nidas::core::SampleIOProcessor::fromDOMElement(), nidas::core::XDOMElement::getAttributeValue(), nidas::util::Logger::getInstance(), nidas::core::Project::getName(), nidas::core::XDOMAttr::getName(), nidas::core::XDOMElement::getNodeName(), nidas::core::DSMServer::getProject(), nidas::core::Project::getServiceCatalog(), nidas::util::Logger::log(), LOG_WARNING, nidas::util::Thread::NU_THREAD_FIFO, nidas::util::Thread::NU_THREAD_RR, nidas::core::SampleIOProcessor::setService(), and nidas::util::Exception::what().
Referenced by nidas::dynld::RawSampleService::fromDOMElement(), and nidas::core::DSMServer::fromDOMElement().
|
static |
References nidas::core::XDOMElement::getAttributeValue().
Referenced by nidas::core::DSMServer::fromDOMElement().
|
inlinevirtual |
References _server.
Referenced by nidas::dynld::RawSampleService::fromDOMElement().
|
inline |
References _inputs.
|
inline |
References _name.
Referenced by nidas::dynld::RawSampleService::fromDOMElement(), nidas::core::DSMServer::joinServices(), and nidas::core::DSMServer::~DSMServer().
|
inlinestaticinherited |
References nidas::core::DOMable::namespaceURI.
Referenced by nidas::dynld::UDPSampleOutput::getProjectDOM(), nidas::core::Dataset::toDOMElement(), nidas::core::ProjectConfig::toDOMElement(), nidas::core::Dataset::toDOMParent(), nidas::core::ProjectConfig::toDOMParent(), nidas::core::Datasets::toDOMParent(), nidas::core::ProjectConfigs::toDOMParent(), nidas::core::DSMConfig::toDOMParent(), nidas::core::Project::toDOMParent(), nidas::core::Site::toDOMParent(), nidas::core::SampleTag::toDOMParent(), nidas::core::ServerSocket::toDOMParent(), nidas::core::Variable::toDOMParent(), nidas::core::DSMSensor::toDOMParent(), nidas::core::Datasets::writeXML(), and nidas::core::ProjectConfigs::writeXML().
ProcessorIterator DSMService::getProcessorIterator | ( | ) | const |
Referenced by nidas::dynld::RawSampleService::printStatus().
|
inlinevirtual |
References _processors.
Referenced by nidas::core::ProcessorIterator::hasNext().
|
inline |
References _threadPolicy.
|
inline |
References _threadPriority.
|
virtual |
Reimplemented in nidas::dynld::RawSampleService, and nidas::dynld::XMLConfigService.
References _subThreadMutex, _subThreads, nidas::util::Logger::getInstance(), nidas::util::Thread::getName(), nidas::util::Thread::interrupt(), nidas::util::Thread::isRunning(), nidas::util::Logger::log(), LOG_ERR, and nidas::util::Exception::what().
Referenced by nidas::dynld::XMLConfigService::interrupt(), nidas::dynld::RawSampleService::interrupt(), and nidas::core::DSMServer::interruptServices().
|
virtual |
References _subThreadMutex, _subThreads, nidas::util::Logger::getInstance(), nidas::util::Thread::getName(), nidas::util::Thread::join(), nidas::util::Logger::log(), LOG_ERR, nidas::util::Thread::RUN_OK, and nidas::util::Exception::what().
Referenced by nidas::core::DSMServer::joinServices(), and nidas::dynld::RawSampleService::~RawSampleService().
|
private |
Assignment not supported.
|
inlinevirtual |
Reimplemented in nidas::dynld::RawSampleService.
Referenced by nidas::core::DSMServerStat::run().
|
inlinevirtual |
Reimplemented in nidas::dynld::RawSampleService.
Referenced by nidas::core::DSMServerStat::run().
|
pure virtual |
schedule this service to run.
Implemented in nidas::dynld::RawSampleService, and nidas::dynld::XMLConfigService.
Referenced by nidas::core::DSMServer::scheduleServices().
|
virtual |
References _server.
Referenced by nidas::core::DSMServer::fromDOMElement().
|
virtualinherited |
Add my content into a DOMElement.
Reimplemented in nidas::core::DSMSensor, nidas::core::Variable, nidas::core::ServerSocket, nidas::core::SampleTag, nidas::core::Site, nidas::core::Project, and nidas::core::DSMConfig.
Referenced by nidas::core::ServerSocket::toDOMParent().
|
virtualinherited |
Create a DOMElement and append it to the parent.
Reimplemented in nidas::core::DSMSensor, nidas::core::Variable, nidas::core::ServerSocket, nidas::core::SampleTag, nidas::core::Site, nidas::core::Project, and nidas::core::DSMConfig.
|
protected |
Referenced by nidas::dynld::RawSampleService::fromDOMElement(), getInputs(), and ~DSMService().
|
protected |
Referenced by getName().
|
protected |
Referenced by ~DSMService().
|
protected |
Referenced by addProcessor(), getProcessors(), and ~DSMService().
|
protected |
Referenced by getDSMServer(), and setDSMServer().
|
protected |
Referenced by cancel(), checkSubThreads(), interrupt(), and join().
|
protected |
Referenced by cancel(), checkSubThreads(), interrupt(), and join().
|
protected |
Referenced by getSchedPolicy().
|
protected |
Referenced by getSchedPriority().