Does not inherit
clone() doMarshal() doUnmarshal() |
equals() getType() marshal() |
operator!=() operator==() ServiceVariable() |
unmarshal() ~ServiceVariable() |
#include rwsf/service_variable/ServiceVariable.h
Class ServiceVariable is an interface for all specific variable implementations. It is what is stored and passed around in the agent and can be introspected by casting it to an appropriate type and checking for null. It has an interface for types and formats, but leaves any further interfaces to the more specific implementations.
ServiceVariable();
Default constructor. Creates a variable with no type.
ServiceVariable(const rwsf::XmlName & type);
Constructor that creates a variable with a type.
virtual ~ServiceVariable();
Destructor.
rwsf::ServiceVariablePtr clone() const = 0;
Clones the object so it can be manipulated independently of the original
bool equals(rwsf::ServiceVariablePtr b) const = 0;
Pure virtual function that will return true when two ServiceVariables compare equal
rwsf::XmlName getType() const;
Returns the type of this variable
std::string marshal() const;
Marshals out the variable with the default element "data"
std::string marshal(const std::string & elementName) const;
Marshals out the variable with the given string and no namespace
std::string marshal(const rwsf::XmlName & rootElement) const;
Marshals out the variable according to the implementation, wrapped in the given XML element.
void unmarshal(const std::string & data);
Unmarshals in a valid XML fragment according to the implementation
std::string doMarshal(const rwsf::XmlName & rootElement) const = 0;
Override this to perform the implementation specific marshalling
void doUnmarshal(const std::string & data) = 0;
Override this to perform the implementation specific unmarshalling
bool operator!=(rwsf::ServiceVariablePtr b) const;
Compares inequality on a ServiceVariable to a ServiceVariablePtr
bool operator==(rwsf::ServiceVariablePtr b) const;
Compares equality on a ServiceVariable to a ServiceVariablePtr
© Copyright Rogue Wave Software, Inc. All Rights Reserved. All Rights Reserved. Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. HydraExpress is a trademark of Rogue Wave Software, Inc. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.