made struct access optional (compile time define), as it depends on newer xmlrpcpp version

git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1131 8eb893ce-cfd4-0310-b710-fb5ebe64c474
sayer/1.4-spce2.6
Stefan Sayer 18 years ago
parent 2468e33441
commit 02f03174fa

@ -3,10 +3,14 @@ XMLRPCPP_DIR = xmlrpc++0.7
plug_in_name = xmlrpc2di
module_ldflags = -lxmlrpc++
module_cflags = -DHAVE_XMLRPCPP_SSL
module_cflags =
# for gentoo ebuild or cvs-20040713 version:
# module_cflags = -DHAVE_XMLRPCPP_SSL
#
# if your xmlrpcpp version has access to struct value map
#( operator XmlRpcValue::ValueStruct const&() in XmlRpcValue.h around line 168)
# you can support struct type in XMLRPC conversion
# -D XMLRPCPP_SUPPORT_STRUCT_ACCESS
# use these for local installation:
# module_cflags = -I$(XMLRPCPP_DIR)/src

@ -474,14 +474,17 @@ void XMLRPC2DIServer::xmlrpcval2amarg(XmlRpcValue& v, AmArg& a,
a[a.size()-1].assertArray(0);
AmArg arr;
xmlrpcval2amarg(v[i], a[a.size()-1], 0);
} break;
} break;
#ifdef XMLRPCPP_SUPPORT_STRUCT_ACCESS
case XmlRpcValue::TypeStruct: {
for (XmlRpc::XmlRpcValue::ValueStruct::iterator it=
((XmlRpcValue::ValueStruct)v).begin(); it != ((XmlRpcValue::ValueStruct)v).end(); it++) {
((XmlRpcValue::ValueStruct)v).begin();
it != ((XmlRpcValue::ValueStruct)v).end(); it++) {
a[it->first] = AmArg();
xmlrpcval2amarg(it->second, a[it->first], 0);
}
} break;
#endif
// TODO: support more types (datetime, struct, ...)
default: throw XmlRpcException("unsupported parameter type", 400);

Loading…
Cancel
Save