RPC method arguments and results are represented by Values. More...
#include <XmlRpcValue.h>
Public Types | |
typedef std::vector< char > | BinaryData |
typedef ValueStruct::iterator | iterator |
enum | Type { TypeInvalid, TypeBoolean, TypeInt, TypeDouble, TypeString, TypeDateTime, TypeBase64, TypeArray, TypeStruct } |
typedef std::vector< XmlRpcValue > | ValueArray |
typedef std::map< std::string, XmlRpcValue > | ValueStruct |
Public Member Functions | |
iterator | begin () |
void | clear () |
Erase the current value. | |
iterator | end () |
bool | fromXml (std::string const &valueXml, int *offset) |
Decode xml. Destroys any existing value. | |
Type const & | getType () const |
Return the type of the value stored. | |
bool | hasMember (const std::string &name) const |
Check for the existence of a struct member by name. | |
operator BinaryData & () | |
operator bool & () | |
operator double & () | |
operator int & () | |
operator std::string & () | |
operator struct tm & () | |
bool | operator!= (XmlRpcValue const &other) const |
XmlRpcValue & | operator= (XmlRpcValue const &rhs) |
XmlRpcValue & | operator= (int const &rhs) |
XmlRpcValue & | operator= (double const &rhs) |
XmlRpcValue & | operator= (const char *rhs) |
bool | operator== (XmlRpcValue const &other) const |
XmlRpcValue const & | operator[] (int i) const |
XmlRpcValue & | operator[] (int i) |
XmlRpcValue & | operator[] (std::string const &k) |
XmlRpcValue & | operator[] (const char *k) |
void | setSize (int size) |
Specify the size for array values. Array values will grow beyond this size if needed. | |
int | size () const |
Return the size for string, base64, array, and struct values. | |
std::string | toXml () const |
Encode the Value in xml. | |
bool | valid () const |
Return true if the value has been set to something. | |
std::ostream & | write (std::ostream &os) const |
Write the value (no xml encoding) | |
XmlRpcValue () | |
Constructors. | |
XmlRpcValue (bool value) | |
XmlRpcValue (int value) | |
XmlRpcValue (double value) | |
XmlRpcValue (std::string const &value) | |
XmlRpcValue (const char *value) | |
XmlRpcValue (struct tm *value) | |
XmlRpcValue (void *value, int nBytes) | |
XmlRpcValue (std::string const &xml, int *offset) | |
Construct from xml, beginning at *offset chars into the string, updates offset. | |
XmlRpcValue (XmlRpcValue const &rhs) | |
Copy. | |
~XmlRpcValue () | |
Destructor (make virtual if you want to subclass) | |
Static Public Member Functions | |
static std::string const & | getDoubleFormat () |
Return the format used to write double values. | |
static void | setDoubleFormat (const char *f) |
Specify the format used to write double values. | |
Protected Member Functions | |
bool | arrayFromXml (std::string const &valueXml, int *offset) |
std::string | arrayToXml () const |
void | assertArray (int size) const |
void | assertArray (int size) |
void | assertStruct () |
void | assertTypeOrInvalid (Type t) |
bool | binaryFromXml (std::string const &valueXml, int *offset) |
std::string | binaryToXml () const |
bool | boolFromXml (std::string const &valueXml, int *offset) |
std::string | boolToXml () const |
bool | doubleFromXml (std::string const &valueXml, int *offset) |
std::string | doubleToXml () const |
bool | intFromXml (std::string const &valueXml, int *offset) |
std::string | intToXml () const |
void | invalidate () |
bool | stringFromXml (std::string const &valueXml, int *offset) |
std::string | stringToXml () const |
bool | structFromXml (std::string const &valueXml, int *offset) |
std::string | structToXml () const |
bool | timeFromXml (std::string const &valueXml, int *offset) |
std::string | timeToXml () const |
Protected Attributes | |
Type | _type |
union { | |
ValueArray * asArray | |
BinaryData * asBinary | |
bool asBool | |
double asDouble | |
int asInt | |
std::string * asString | |
ValueStruct * asStruct | |
struct tm * asTime | |
} | _value |
Static Protected Attributes | |
static std::string | _doubleFormat |
RPC method arguments and results are represented by Values.
Definition at line 24 of file XmlRpcValue.h.
typedef std::vector<char> XmlRpc::XmlRpcValue::BinaryData |
Definition at line 41 of file XmlRpcValue.h.
typedef ValueStruct::iterator XmlRpc::XmlRpcValue::iterator |
Definition at line 44 of file XmlRpcValue.h.
typedef std::vector<XmlRpcValue> XmlRpc::XmlRpcValue::ValueArray |
Definition at line 42 of file XmlRpcValue.h.
typedef std::map<std::string, XmlRpcValue> XmlRpc::XmlRpcValue::ValueStruct |
Definition at line 43 of file XmlRpcValue.h.
TypeInvalid | |
TypeBoolean | |
TypeInt | |
TypeDouble | |
TypeString | |
TypeDateTime | |
TypeBase64 | |
TypeArray | |
TypeStruct |
Definition at line 28 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::XmlRpcValue | ( | ) | [inline] |
Constructors.
Definition at line 48 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::XmlRpcValue | ( | bool | value | ) | [inline] |
Definition at line 49 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::XmlRpcValue | ( | int | value | ) | [inline] |
Definition at line 50 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::XmlRpcValue | ( | double | value | ) | [inline] |
Definition at line 51 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::XmlRpcValue | ( | std::string const & | value | ) | [inline] |
Definition at line 53 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::XmlRpcValue | ( | const char * | value | ) | [inline] |
Definition at line 56 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::XmlRpcValue | ( | struct tm * | value | ) | [inline] |
Definition at line 59 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::XmlRpcValue | ( | void * | value, |
int | nBytes | ||
) | [inline] |
Definition at line 63 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::XmlRpcValue | ( | std::string const & | xml, |
int * | offset | ||
) | [inline] |
Construct from xml, beginning at *offset chars into the string, updates offset.
Definition at line 69 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::XmlRpcValue | ( | XmlRpcValue const & | rhs | ) | [inline] |
Copy.
Definition at line 73 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::~XmlRpcValue | ( | ) | [inline] |
Destructor (make virtual if you want to subclass)
Definition at line 76 of file XmlRpcValue.h.
bool XmlRpc::XmlRpcValue::arrayFromXml | ( | std::string const & | valueXml, |
int * | offset | ||
) | [protected] |
Definition at line 485 of file XmlRpcValue.cpp.
std::string XmlRpc::XmlRpcValue::arrayToXml | ( | ) | const [protected] |
Definition at line 504 of file XmlRpcValue.cpp.
void XmlRpc::XmlRpcValue::assertArray | ( | int | size | ) | const [protected] |
Definition at line 89 of file XmlRpcValue.cpp.
void XmlRpc::XmlRpcValue::assertArray | ( | int | size | ) | [protected] |
Definition at line 98 of file XmlRpcValue.cpp.
void XmlRpc::XmlRpcValue::assertStruct | ( | ) | [protected] |
Definition at line 110 of file XmlRpcValue.cpp.
void XmlRpc::XmlRpcValue::assertTypeOrInvalid | ( | Type | t | ) | [protected] |
Definition at line 71 of file XmlRpcValue.cpp.
iterator XmlRpc::XmlRpcValue::begin | ( | ) | [inline] |
Definition at line 103 of file XmlRpcValue.h.
bool XmlRpc::XmlRpcValue::binaryFromXml | ( | std::string const & | valueXml, |
int * | offset | ||
) | [protected] |
Definition at line 443 of file XmlRpcValue.cpp.
std::string XmlRpc::XmlRpcValue::binaryToXml | ( | ) | const [protected] |
Definition at line 465 of file XmlRpcValue.cpp.
bool XmlRpc::XmlRpcValue::boolFromXml | ( | std::string const & | valueXml, |
int * | offset | ||
) | [protected] |
Definition at line 277 of file XmlRpcValue.cpp.
std::string XmlRpc::XmlRpcValue::boolToXml | ( | ) | const [protected] |
Definition at line 291 of file XmlRpcValue.cpp.
void XmlRpc::XmlRpcValue::clear | ( | ) | [inline] |
Erase the current value.
Definition at line 79 of file XmlRpcValue.h.
bool XmlRpc::XmlRpcValue::doubleFromXml | ( | std::string const & | valueXml, |
int * | offset | ||
) | [protected] |
Definition at line 330 of file XmlRpcValue.cpp.
std::string XmlRpc::XmlRpcValue::doubleToXml | ( | ) | const [protected] |
Definition at line 362 of file XmlRpcValue.cpp.
iterator XmlRpc::XmlRpcValue::end | ( | ) | [inline] |
Definition at line 104 of file XmlRpcValue.h.
bool XmlRpc::XmlRpcValue::fromXml | ( | std::string const & | valueXml, |
int * | offset | ||
) |
Decode xml. Destroys any existing value.
Definition at line 216 of file XmlRpcValue.cpp.
static std::string const& XmlRpc::XmlRpcValue::getDoubleFormat | ( | ) | [inline, static] |
Return the format used to write double values.
Definition at line 133 of file XmlRpcValue.h.
Type const& XmlRpc::XmlRpcValue::getType | ( | ) | const [inline] |
bool XmlRpc::XmlRpcValue::hasMember | ( | const std::string & | name | ) | const |
Check for the existence of a struct member by name.
Definition at line 209 of file XmlRpcValue.cpp.
bool XmlRpc::XmlRpcValue::intFromXml | ( | std::string const & | valueXml, |
int * | offset | ||
) | [protected] |
Definition at line 302 of file XmlRpcValue.cpp.
std::string XmlRpc::XmlRpcValue::intToXml | ( | ) | const [protected] |
Definition at line 316 of file XmlRpcValue.cpp.
void XmlRpc::XmlRpcValue::invalidate | ( | ) | [protected] |
Definition at line 55 of file XmlRpcValue.cpp.
XmlRpc::XmlRpcValue::operator BinaryData & | ( | ) | [inline] |
Definition at line 94 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::operator bool & | ( | ) | [inline] |
Definition at line 90 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::operator double & | ( | ) | [inline] |
Definition at line 92 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::operator int & | ( | ) | [inline] |
Definition at line 91 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::operator std::string & | ( | ) | [inline] |
Definition at line 93 of file XmlRpcValue.h.
XmlRpc::XmlRpcValue::operator struct tm & | ( | ) | [inline] |
Definition at line 95 of file XmlRpcValue.h.
bool XmlRpc::XmlRpcValue::operator!= | ( | XmlRpcValue const & | other | ) | const |
Definition at line 188 of file XmlRpcValue.cpp.
XmlRpcValue & XmlRpc::XmlRpcValue::operator= | ( | XmlRpcValue const & | rhs | ) |
Definition at line 121 of file XmlRpcValue.cpp.
XmlRpcValue& XmlRpc::XmlRpcValue::operator= | ( | int const & | rhs | ) | [inline] |
Definition at line 83 of file XmlRpcValue.h.
XmlRpcValue& XmlRpc::XmlRpcValue::operator= | ( | double const & | rhs | ) | [inline] |
Definition at line 84 of file XmlRpcValue.h.
XmlRpcValue& XmlRpc::XmlRpcValue::operator= | ( | const char * | rhs | ) | [inline] |
Definition at line 85 of file XmlRpcValue.h.
bool XmlRpc::XmlRpcValue::operator== | ( | XmlRpcValue const & | other | ) | const |
Definition at line 150 of file XmlRpcValue.cpp.
XmlRpcValue const& XmlRpc::XmlRpcValue::operator[] | ( | int | i | ) | const [inline] |
Definition at line 97 of file XmlRpcValue.h.
XmlRpcValue& XmlRpc::XmlRpcValue::operator[] | ( | int | i | ) | [inline] |
Definition at line 98 of file XmlRpcValue.h.
XmlRpcValue& XmlRpc::XmlRpcValue::operator[] | ( | std::string const & | k | ) | [inline] |
Definition at line 100 of file XmlRpcValue.h.
XmlRpcValue& XmlRpc::XmlRpcValue::operator[] | ( | const char * | k | ) | [inline] |
Definition at line 101 of file XmlRpcValue.h.
static void XmlRpc::XmlRpcValue::setDoubleFormat | ( | const char * | f | ) | [inline, static] |
Specify the format used to write double values.
Definition at line 136 of file XmlRpcValue.h.
void XmlRpc::XmlRpcValue::setSize | ( | int | size | ) | [inline] |
Specify the size for array values. Array values will grow beyond this size if needed.
Definition at line 117 of file XmlRpcValue.h.
int XmlRpc::XmlRpcValue::size | ( | ) | const |
Return the size for string, base64, array, and struct values.
Definition at line 195 of file XmlRpcValue.cpp.
bool XmlRpc::XmlRpcValue::stringFromXml | ( | std::string const & | valueXml, |
int * | offset | ||
) | [protected] |
Definition at line 379 of file XmlRpcValue.cpp.
std::string XmlRpc::XmlRpcValue::stringToXml | ( | ) | const [protected] |
Definition at line 391 of file XmlRpcValue.cpp.
bool XmlRpc::XmlRpcValue::structFromXml | ( | std::string const & | valueXml, |
int * | offset | ||
) | [protected] |
Definition at line 522 of file XmlRpcValue.cpp.
std::string XmlRpc::XmlRpcValue::structToXml | ( | ) | const [protected] |
Definition at line 547 of file XmlRpcValue.cpp.
bool XmlRpc::XmlRpcValue::timeFromXml | ( | std::string const & | valueXml, |
int * | offset | ||
) | [protected] |
Definition at line 402 of file XmlRpcValue.cpp.
std::string XmlRpc::XmlRpcValue::timeToXml | ( | ) | const [protected] |
Definition at line 425 of file XmlRpcValue.cpp.
std::string XmlRpc::XmlRpcValue::toXml | ( | ) | const |
Encode the Value in xml.
Definition at line 259 of file XmlRpcValue.cpp.
bool XmlRpc::XmlRpcValue::valid | ( | ) | const [inline] |
Return true if the value has been set to something.
Definition at line 108 of file XmlRpcValue.h.
std::ostream & XmlRpc::XmlRpcValue::write | ( | std::ostream & | os | ) | const |
Write the value (no xml encoding)
Definition at line 570 of file XmlRpcValue.cpp.
std::string XmlRpc::XmlRpcValue::_doubleFormat [static, protected] |
Definition at line 170 of file XmlRpcValue.h.
Type XmlRpc::XmlRpcValue::_type [protected] |
Definition at line 173 of file XmlRpcValue.h.
union { ... } XmlRpc::XmlRpcValue::_value [protected] |
Definition at line 184 of file XmlRpcValue.h.
Definition at line 183 of file XmlRpcValue.h.
Definition at line 178 of file XmlRpcValue.h.
Definition at line 180 of file XmlRpcValue.h.
Definition at line 179 of file XmlRpcValue.h.
std::string* XmlRpc::XmlRpcValue::asString |
Definition at line 182 of file XmlRpcValue.h.
Definition at line 185 of file XmlRpcValue.h.
struct tm* XmlRpc::XmlRpcValue::asTime |
Definition at line 181 of file XmlRpcValue.h.