summaryrefslogtreecommitdiff
path: root/ext/rpc/xmlrpc/libxmlrpc/xmlrpc.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/rpc/xmlrpc/libxmlrpc/xmlrpc.h')
-rw-r--r--ext/rpc/xmlrpc/libxmlrpc/xmlrpc.h40
1 files changed, 37 insertions, 3 deletions
diff --git a/ext/rpc/xmlrpc/libxmlrpc/xmlrpc.h b/ext/rpc/xmlrpc/libxmlrpc/xmlrpc.h
index c7223adf2e..bcfa46fadc 100644
--- a/ext/rpc/xmlrpc/libxmlrpc/xmlrpc.h
+++ b/ext/rpc/xmlrpc/libxmlrpc/xmlrpc.h
@@ -43,7 +43,7 @@ extern "C" {
/* allow version to be specified via compile line define */
#ifndef XMLRPC_LIB_VERSION
- #define XMLRPC_LIB_VERSION "0.41"
+ #define XMLRPC_LIB_VERSION "0.50"
#endif
/* this number, representing the date, must be increased each time the API changes */
@@ -61,6 +61,7 @@ extern "C" {
* XMLRPC_VALUE_TYPE
* NOTES
* Defines data types for XMLRPC_VALUE
+ * Deprecated for public use. See XMLRPC_VALUE_TYPE_EASY
* SEE ALSO
* XMLRPC_VECTOR_TYPE
* XMLRPC_REQUEST_TYPE
@@ -83,7 +84,8 @@ typedef enum _XMLRPC_VALUE_TYPE {
* NAME
* XMLRPC_VECTOR_TYPE
* NOTES
- * Defines data types for XMLRPC_VECTOR
+ * Defines data types for XMLRPC_VECTOR.
+ * Deprecated for public use. See XMLRPC_VALUE_TYPE_EASY
* SEE ALSO
* XMLRPC_VALUE_TYPE
* XMLRPC_REQUEST_TYPE
@@ -97,6 +99,33 @@ typedef enum _XMLRPC_VECTOR_TYPE {
} XMLRPC_VECTOR_TYPE;
/*******/
+/****d* VALUE/XMLRPC_VALUE_TYPE_EASY
+ * NAME
+ * XMLRPC_VALUE_TYPE_EASY
+ * NOTES
+ * Defines data types for XMLRPC_VALUE, including vector types.
+ * SEE ALSO
+ * XMLRPC_VECTOR_TYPE
+ * XMLRPC_REQUEST_TYPE
+ * SOURCE
+ */
+typedef enum _XMLRPC_VALUE_TYPE_EASY {
+ xmlrpc_type_none, /* not a value */
+ xmlrpc_type_empty, /* empty value, eg NULL */
+ xmlrpc_type_base64, /* base64 value, eg binary data */
+ xmlrpc_type_boolean, /* boolean [0 | 1] */
+ xmlrpc_type_datetime, /* datetime [ISO8601 | time_t] */
+ xmlrpc_type_double, /* double / floating point */
+ xmlrpc_type_int, /* integer */
+ xmlrpc_type_string, /* string */
+/* -- IMPORTANT: identical to XMLRPC_VALUE_TYPE to this point. -- */
+ xmlrpc_type_array, /* vector array */
+ xmlrpc_type_mixed, /* vector mixed */
+ xmlrpc_type_struct /* vector struct */
+} XMLRPC_VALUE_TYPE_EASY;
+/*******/
+
+
/****d* VALUE/XMLRPC_REQUEST_TYPE
* NAME
* XMLRPC_REQUEST_TYPE
@@ -165,7 +194,8 @@ typedef enum _xmlrpc_version {
xmlrpc_version_none, /* not a recognized vocabulary */
xmlrpc_version_1_0, /* xmlrpc 1.0 standard vocab */
xmlrpc_version_simple = 2, /* alt more readable vocab */
- xmlrpc_version_danda = 2 /* same as simple. legacy */
+ xmlrpc_version_danda = 2, /* same as simple. legacy */
+ xmlrpc_version_soap_1_1 = 3 /* SOAP. version 1.1 */
} XMLRPC_VERSION;
/******/
@@ -303,7 +333,10 @@ XMLRPC_VALUE XMLRPC_CreateVector(const char* id, XMLRPC_VECTOR_TYPE type);
/* Cleanup values */
void XMLRPC_CleanupValue(XMLRPC_VALUE value);
+
+/* Copy values */
XMLRPC_VALUE XMLRPC_CopyValue(XMLRPC_VALUE value);
+XMLRPC_VALUE XMLRPC_DupValueNew(XMLRPC_VALUE xSource);
/* Set Values */
void XMLRPC_SetValueDateTime(XMLRPC_VALUE value, time_t time);
@@ -329,6 +362,7 @@ const char* XMLRPC_GetValueID(XMLRPC_VALUE value);
/* Type introspection */
XMLRPC_VALUE_TYPE XMLRPC_GetValueType(XMLRPC_VALUE v);
+XMLRPC_VALUE_TYPE_EASY XMLRPC_GetValueTypeEasy(XMLRPC_VALUE v);
XMLRPC_VECTOR_TYPE XMLRPC_GetVectorType(XMLRPC_VALUE v);
/* Parsing and Creating XML */