ultimatepp/uppsrc/XmlRpc/Value.cpp
cxl 6e62ef8277 XmlRpc: Support for GetPeerName
git-svn-id: svn://ultimatepp.org/upp/trunk@2083 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2010-02-16 18:48:27 +00:00

110 lines
1.5 KiB
C++

#include "XmlRpc.h"
void ValueCheck(bool b)
{
if(!b)
throw ValueTypeMismatch();
}
void ValueGet(int& n, const Value& v)
{
ValueCheck(IsNull(v) || IsNumber(v));
n = v;
}
void ValueGet(String& s, const Value& v)
{
ValueCheck(IsNull(v) || IsString(s));
s = v;
}
void ValueGet(double& x, const Value& v)
{
ValueCheck(IsNull(v) || IsNumber(v));
x = v;
}
void ValueGet(bool& x, const Value& v)
{
ValueCheck(IsNull(v) || IsNumber(x));
x = v;
}
void ValueGet(Date& x, const Value& v)
{
ValueCheck(IsNull(v) || IsDateTime(v));
x = v;
}
void ValueGet(Time& x, const Value& v)
{
ValueCheck(IsNull(v) || IsDateTime(v));
x = v;
}
void ValueGet(Value& t, const Value& v)
{
t = v;
}
void ValueGet(ValueArray& va, const Value& v)
{
ValueCheck(IsNull(v) || IsValueArray(v));
va = v;
}
void ValueGet(ValueMap& vm, const Value& v)
{
ValueCheck(IsNull(v) || IsValueMap(v));
vm = v;
}
void ValuePut(Value& v, int n)
{
v = n;
}
void ValuePut(Value& v, const String& s)
{
v = s;
}
void ValuePut(Value& v, const char *s)
{
ValuePut(v, String(s));
}
void ValuePut(Value& v, double x)
{
v = x;
}
void ValuePut(Value& v, bool x)
{
v = x;
}
void ValuePut(Value& v, const Date& x)
{
v = x;
}
void ValuePut(Value& v, const Time& x)
{
v = x;
}
void ValuePut(Value& v, const Value& t)
{
v = t;
}
void ValuePut(Value& v, const ValueArray& va)
{
v = va;
}
void ValuePut(Value& v, const ValueMap& vm)
{
v = vm;
}