27 #ifndef NIDAS_CORE_SITE_H
28 #define NIDAS_CORE_SITE_H
38 namespace nidas {
namespace core {
77 if (
this == &x)
return true;
96 if (
operator == (x))
return false;
127 _dsms.push_back(dsm);
133 std::list<const DSMConfig*>::iterator di;
135 if (dsm == *di) di =
_dsms.erase(di);
137 for (std::list<DSMConfig*>::iterator di =
_ncDsms.begin();
143 delete deletableDSMConfig;
196 void initSensors() throw(nidas::util::IOException);
269 throw(nidas::util::InvalidParameterException);
272 throw(nidas::util::InvalidParameterException);
275 toDOMParent(xercesc::DOMElement* parent,
bool complete) const
276 throw(xercesc::DOMException);
279 toDOMElement(xercesc::DOMElement* node,
bool complete) const
280 throw(xercesc::DOMException);
302 *(Dictionary*)
this = rhs;
307 bool getTokenValue(
const std::string& token, std::string& value)
const;
void setSuffix(const std::string &val)
Set the suffix for the Site.
Definition: Site.h:104
Class for iterating over the DSMServers of a Project.
Definition: NidsIterators.h:66
virtual void addParameter(Parameter *val)
Add a parameter to this Site.
Definition: Site.cc:135
Interface for a Dictionary class, which can return a string value for a string token name...
Definition: Dictionary.h:38
const std::string & getSuffix() const
Definition: Site.h:106
std::list< DSMConfig * > _ncDsms
Definition: Site.h:314
ProcessorIterator getProcessorIterator() const
Definition: Site.cc:79
virtual ~Site()
Definition: Site.cc:52
std::list< const DSMConfig * > _dsms
Definition: Site.h:312
const std::list< const DSMConfig * > & getDSMConfigs() const
Definition: Site.h:148
A measurement site.
Definition: Site.h:49
const std::string & getName() const
Definition: Site.h:60
Project * getProject()
Definition: Site.h:113
const std::list< DSMConfig * > & getDSMConfigs()
Definition: Site.h:153
SensorIterator getSensorIterator() const
Definition: Site.cc:89
const DSMConfig * findDSM(const nidas::util::Inet4Address &addr) const
Find a DSM whose name corresponds to a given IP address.
Definition: Site.cc:404
std::list< DSMServer * > _servers
Definition: Site.h:316
Class that should include all that is configurable about a DSM.
Definition: DSMConfig.h:55
Class for iterating over the Variables of a Project, Site, DSMConfig, DSMSensor, or SampleTag...
Definition: NidsIterators.h:286
MyDictionary & operator=(const MyDictionary &rhs)
Definition: Site.h:299
bool _applyCals
Should NIDAS apply calibrations, or defer them to other processing.
Definition: Site.h:343
std::string expandString(const std::string &input) const
Utility function to expand ${TOKEN} or $TOKEN fields in a string.
Definition: Site.h:235
Site * _site
Definition: Site.h:309
VariableIterator getVariableIterator() const
Definition: Site.cc:99
Interface of an object that can be instantiated from a DOM element, via the fromDOMElement method...
Definition: DOMable.h:51
void setProject(Project *val)
Set the current project for this Site.
Definition: Site.h:118
std::string expandString(const std::string &input) const
Utility function that scans a string for tokens like ${XXXX}, or $XXX followed by any characters from...
Definition: Dictionary.cc:33
xercesc::DOMElement * toDOMParent(xercesc::DOMElement *parent, bool complete) const
Create a DOMElement and append it to the parent.
Definition: Site.cc:339
void setName(const std::string &val)
Set the name of the Site.
Definition: Site.h:58
bool getTokenValue(const std::string &token, std::string &value) const
Implement a lookup for tokens that I know about, like $SITE, and $AIRCRAFT.
Definition: Site.h:244
virtual bool getApplyVariableConversions() const
Do we want DSMSensor::process methods at this site to apply variable conversions? Currently on raf...
Definition: Site.h:219
SampleTagIterator getSampleTagIterator() const
Definition: Site.cc:94
xercesc::DOMElement * toDOMElement(xercesc::DOMElement *node, bool complete) const
Add my content into a DOMElement.
Definition: Site.cc:350
Class for iterating over the Processors of a DSMServer or DSMConfig.
Definition: NidsIterators.h:149
Class for iterating over the DSMServices of a DSMServer.
Definition: NidsIterators.h:91
Site & operator=(const Site &)
Assignment not supported.
DSMServiceIterator getDSMServiceIterator() const
Definition: Site.cc:74
const std::list< DSMServer * > & getServers() const
Definition: Site.h:163
const Project * getProject() const
Provide pointer to Project.
Definition: Site.h:111
DSMServer * findServer(const std::string &hostname) const
Look for a server on this aircraft that either has no name or whose name matches hostname.
Definition: Site.cc:375
Site()
Definition: Site.cc:43
void initSensors()
Initialize all sensors for a Site.
Definition: Site.cc:107
std::string _name
Definition: Site.h:289
bool operator<(const Site &x) const
Less than operator for Site, compares the names.
Definition: Site.h:94
nidas::core::Site::MyDictionary _dictionary
const Dictionary & getDictionary() const
Definition: Site.h:249
DSMConfigIterator getDSMConfigIterator() const
Definition: Site.cc:84
void addServer(DSMServer *srvr)
A Site has one or more DSMServers.
Definition: Site.h:161
std::string _suffix
Definition: Site.h:293
DSMSensor provides the basic support for reading, processing and distributing samples from a sensor a...
Definition: DSMSensor.h:87
Definition: Parameter.h:46
void setNumber(int val)
Identify the Site by number.
Definition: Site.h:68
Class for iterating over the SampleTags of a Project, Site, DSMConfig, or a SampleSource.
Definition: NidsIterators.h:217
void validate()
Definition: Site.cc:262
std::map< std::string, Parameter * > _parameterMap
Mapping of Parameters, by name.
Definition: Site.h:321
Class for iterating over the DSMSensors of a Project, Site, or DSMConfig.
Definition: NidsIterators.h:185
int _number
Definition: Site.h:291
DSMSensor * findSensor(unsigned int id) const
Find a DSMSensor by the full id, both the DSM id and the sensor id.
Definition: Site.cc:446
MyDictionary(const MyDictionary &x)
Definition: Site.h:298
virtual const std::list< const Parameter * > & getParameters() const
Definition: Site.cc:148
bool getTokenValue(const std::string &token, std::string &value) const
Definition: Site.cc:465
DSMServerIterator getDSMServerIterator() const
Definition: Site.cc:69
A provider of services to a DSM.
Definition: DSMServer.h:50
Class for iterating over the DSMConfigs of a Project or Site.
Definition: NidsIterators.h:124
virtual const Parameter * getParameter(const std::string &name) const
Definition: Site.cc:141
int getNumber() const
Definition: Site.h:70
void removeDSMConfig(DSMConfig *dsm)
Definition: Site.h:131
MyDictionary(Site *site)
Definition: Site.h:297
Support for IP version 4 host address.
Definition: Inet4Address.h:46
std::list< const Parameter * > _constParameters
List of const pointers to Parameters for providing via getParameters().
Definition: Site.h:327
Project * _project
Pointer back to my project.
Definition: Site.h:287
bool operator!=(const Site &x) const
Non-equivalence operator for Site.
Definition: Site.h:86
void fromDOMElement(const xercesc::DOMElement *)
Initialize myself from a xercesc::DOMElement.
Definition: Site.cc:153
bool operator==(const Site &x) const
Equivalence operator for Site, checks name.
Definition: Site.h:75
void addDSMConfig(DSMConfig *dsm)
A Site contains one or more DSMs.
Definition: Site.h:125