--- a/libupnpp/soaphelp.cxx
+++ b/libupnpp/soaphelp.cxx
@@ -91,6 +91,41 @@
return ret;
}
+bool SoapArgs::getBool(const char *nm, bool *value) const
+{
+ map<string, string>::const_iterator it = args.find(nm);
+ if (it == args.end() || it->second.empty()) {
+ return false;
+ }
+ if (it->second[0] == 'F' || it->second[0] == '0') {
+ *value = false;
+ } else if (it->second[0] == 'T' || it->second[0] == '1') {
+ *value = true;
+ } else {
+ return false;
+ }
+ return true;
+}
+
+bool SoapArgs::getInt(const char *nm, int *value) const
+{
+ map<string, string>::const_iterator it = args.find(nm);
+ if (it == args.end() || it->second.empty()) {
+ return false;
+ }
+ *value = atoi(it->second.c_str());
+ return true;
+}
+
+bool SoapArgs::getString(const char *nm, string *value) const
+{
+ map<string, string>::const_iterator it = args.find(nm);
+ if (it == args.end() || it->second.empty()) {
+ return false;
+ }
+ *value = it->second;
+ return true;
+}
IXML_Document *buildSoapBody(SoapData& data)
{