Vortex XML-RPC types: XML-RPC data abstraction layer, supporting types used.


Defines

#define CREATE_FAULT_REPLY(fault_code, fault_string)   vortex_xml_rpc_method_response_new (XML_RPC_FAIL, fault_code, fault_string, NULL);
 Creates a negative XmlRpcMethodResponse containing the provided fault code and fault string.
#define CREATE_OK_REPLY(type, value)   vortex_xml_rpc_method_response_create (type, value);
 Helper function to create positive XmlRpcMethodResponse objects by providing a reference to the XmlRpcMethodValue.
#define method_call_add_value   vortex_xml_rpc_method_call_add_value
 Alias definition for vortex_xml_rpc_method_call_add_value.
#define method_call_create_value   vortex_xml_rpc_method_call_create_value
 Alias definition for vortex_xml_rpc_method_call_create_value.
#define method_call_create_value_from_string   vortex_xml_rpc_method_call_create_value_from_string
 Alias definition for vortex_xml_rpc_method_call_create_value_from_string.
#define method_call_free   vortex_xml_rpc_method_call_free
 Alias definition for vortex_xml_rpc_method_call_free.
#define method_call_get_current_num_params   vortex_xml_rpc_method_call_get_current_num_params
 Alias definition for vortex_xml_rpc_method_call_get_current_num_params.
#define method_call_get_msgno   vortex_xml_rpc_method_call_get_msgno
 Alias definition for vortex_xml_rpc_method_call_get_msgno.
#define method_call_get_name   vortex_xml_rpc_method_call_get_name
 Alias definition for vortex_xml_rpc_method_call_get_name.
#define method_call_get_num_params   vortex_xml_rpc_method_call_get_num_params
 Alias definition for vortex_xml_rpc_method_call_get_num_params.
#define method_call_get_param_value   vortex_xml_rpc_method_call_get_param_value
 Alias definition for vortex_xml_rpc_method_call_get_param_value.
#define method_call_get_param_value_as_array   vortex_xml_rpc_method_call_get_param_value_as_array
 Alias definition for vortex_xml_rpc_method_call_get_param_value_as_array.
#define method_call_get_param_value_as_double   vortex_xml_rpc_method_call_get_param_value_as_double
 Alias definition for vortex_xml_rpc_method_call_get_param_value_as_double.
#define method_call_get_param_value_as_int   vortex_xml_rpc_method_call_get_param_value_as_int
 Alias definition for vortex_xml_rpc_method_call_get_param_value_as_int.
#define method_call_get_param_value_as_string   vortex_xml_rpc_method_call_get_param_value_as_string
 Alias definition for vortex_xml_rpc_method_call_get_param_value_as_string.
#define method_call_get_param_value_as_struct   vortex_xml_rpc_method_call_get_param_value_as_struct
 Alias definition for vortex_xml_rpc_method_call_get_param_value_as_struct.
#define method_call_is   vortex_xml_rpc_method_call_is
 Alias definition for vortex_xml_rpc_method_call_is.
#define method_call_marshall   vortex_xml_rpc_method_call_marshall
 Alias definition for vortex_xml_rpc_method_call_marshall.
#define method_call_new   vortex_xml_rpc_method_call_new
 Alias definition for vortex_xml_rpc_method_call_new.
#define method_call_set_value   vortex_xml_rpc_method_call_set_value
 Alias definition for vortex_xml_rpc_method_call_set_value.
#define method_response_free   vortex_xml_rpc_method_response_free
 Alias definition for vortex_xml_rpc_method_response_free.
#define method_response_get_fault_code   vortex_xml_rpc_method_response_get_fault_code
 Alias definition for vortex_xml_rpc_method_response_get_fault_code.
#define method_response_get_fault_string   vortex_xml_rpc_method_response_get_fault_string
 Alias definition for vortex_xml_rpc_method_response_get_fault_string.
#define method_response_get_status   vortex_xml_rpc_method_response_get_status
 Alias definition for vortex_xml_rpc_method_response_get_status.
#define method_response_get_value   vortex_xml_rpc_method_response_get_value
 Alias definition for vortex_xml_rpc_method_response_get_value.
#define method_response_new   vortex_xml_rpc_method_response_new
 Alias definition for vortex_xml_rpc_method_response_new.
#define method_response_stringify   vortex_xml_rpc_method_response_stringify
 Alias definition for vortex_xml_rpc_method_response_stringify.
#define method_value_copy   vortex_xml_rpc_method_value_copy
 Alias definition for vortex_xml_rpc_method_value_copy.
#define method_value_free   vortex_xml_rpc_method_value_free
 Alias definition for vortex_xml_rpc_method_value_free.
#define method_value_get_as_array   vortex_xml_rpc_method_value_get_as_array
 Alias definition for vortex_xml_rpc_method_value_get_as_array.
#define method_value_get_as_double   vortex_xml_rpc_method_value_get_as_double
 Alias definition for vortex_xml_rpc_method_value_get_as_double.
#define method_value_get_as_int   vortex_xml_rpc_method_value_get_as_int
 Alias definition for vortex_xml_rpc_method_value_get_as_int.
#define method_value_get_as_string   vortex_xml_rpc_method_value_get_as_string
 Alias definition for vortex_xml_rpc_method_value_get_as_string.
#define method_value_get_as_struct   vortex_xml_rpc_method_value_get_as_struct
 Alias definition for vortex_xml_rpc_method_value_get_as_struct.
#define method_value_get_type   vortex_xml_rpc_method_value_get_type
 Alias definition for vortex_xml_rpc_method_value_get_type.
#define method_value_new   vortex_xml_rpc_method_value_new
 Alias definition for vortex_xml_rpc_method_value_new.
#define method_value_new_from_string   vortex_xml_rpc_method_value_new_from_string
 Alias definition for vortex_xml_rpc_method_value_new_from_string.
#define REPLY_FAULT(string, code, error)
 Perform an error reply inside a XML-RPC server stub implementation.
#define XML_RPC_EMPTY_STR   ""
 XML-RPC protocol have a design that do not allow to send NULL values or "none".

Typedefs

typedef struct _XmlRpcArray XmlRpcArray
 Abstraction of an array of values.
typedef axlPointer(* XmlRpcArrayUnMarshaller )(XmlRpcArray *array, axl_bool dealloc)
 Unmarshaller function that receives a XmlRpcArray reference and translates it to a native representation.
typedef struct _XmlRpcMethodCall XmlRpcMethodCall
 Represents an abstraction of a remote procedure invocation.
typedef struct
_XmlRpcMethodResponse 
XmlRpcMethodResponse
 Abstraction to represent a method response object.
typedef struct _XmlRpcMethodValue XmlRpcMethodValue
 Abstraction of a value stored inside a method call or a method response.
typedef void(* XmlRpcProcessArray )(XmlRpcArray *array, XmlRpcResponseStatus status, int fault_code, char *fault_string)
 Async reply notification for XML-RPC services that returns as a result an array value.
typedef void(* XmlRpcProcessDouble )(double result, XmlRpcResponseStatus status, int fault_code, char *fault_string)
 Async reply notification for XML-RPC services that returns as a result a double value.
typedef void(* XmlRpcProcessInt )(int result, XmlRpcResponseStatus status, int fault_code, char *fault_string)
 Async reply notification for XML-RPC services that returns as a result an integer value.
typedef void(* XmlRpcProcessString )(char *result, XmlRpcResponseStatus status, int fault_code, char *fault_string)
 Async reply notification for XML-RPC services that returns as a result a string value.
typedef void(* XmlRpcProcessStruct )(XmlRpcStruct *_struct, XmlRpcResponseStatus status, int fault_code, char *fault_string)
 Async reply notification for XML-RPC services that returns as a result a structure value.
typedef struct _XmlRpcStruct XmlRpcStruct
 Abstraction of a special value representing an struct.
typedef struct _XmlRpcStructMember XmlRpcStructMember
 Abstraction of a single member inside a struct.
typedef axlPointer(* XmlRpcStructUnMarshaller )(XmlRpcStruct *_struct, axl_bool dealloc)
 Unmarshaller function that receives a XmlRpcStruct reference and translates it to a native representation.

Enumerations

enum  XmlRpcParamType {
  XML_RPC_UNKNOWN_VALUE = 1, XML_RPC_INT_VALUE = 2, XML_RPC_BOOLEAN_VALUE = 3, XML_RPC_DOUBLE_VALUE = 4,
  XML_RPC_STRING_VALUE = 5, XML_RPC_DATE_VALUE = 6, XML_RPC_BASE64_VALUE = 7, XML_RPC_STRUCT_VALUE = 8,
  XML_RPC_ARRAY_VALUE = 9, XML_RPC_STRING_REF_VALUE = 10, XML_RPC_BASE64_REF_VALUE = 11, XML_RPC_NONE_VALUE = 12
}
 Values supported to send as parameters for a method invocation and a method response. More...
enum  XmlRpcResponseStatus {
  XML_RPC_UNKNOWN_ERROR = -1, XML_RPC_OK = 1, XML_RPC_FAIL = -2, XML_RPC_CHANNEL_NOT_READY = -3,
  XML_RPC_NOT_XML_RPC_CHANNEL = -4, XML_RPC_WAITING_PREVIOUS = -5, XML_RPC_INVOCATION_FAILURE = -6, XML_RPC_TIMEOUT_ERROR = -7,
  XML_RPC_BAD_REPLY_RECEIVED = -8, XML_RPC_FAULT_REPLY = -9
}
 Represents current XmlRpc status operation. More...

Functions

void vortex_xml_rpc_array_add (XmlRpcArray *array, XmlRpcMethodValue *value)
 Addes the next item (XmlRpcMethodValue) to the provided XmlRpcArray.
int vortex_xml_rpc_array_count (XmlRpcArray *array)
 Returns the number of items inside the provided XmlRpcArray.
void vortex_xml_rpc_array_free (XmlRpcArray *array)
 Deallocates the provided XmlRpcArray reference.
XmlRpcMethodValuevortex_xml_rpc_array_get (XmlRpcArray *array, int index)
 Returns the reference of the XmlRpcMethodValue inside the provided XmlRpcArray, at the provided position.
int vortex_xml_rpc_array_max_count (XmlRpcArray *array)
 Returns the maximum number of items inside the provided array, that is, the number of items that could hold the provided array (the value configured at vortex_xml_rpc_array_new).
XmlRpcArrayvortex_xml_rpc_array_new (int count)
 Allows to create a new XmlRpcArray reference that will contain the provided number of item.
axl_bool vortex_xml_rpc_array_ref (XmlRpcArray *array)
 Allows to update reference counting on the provided xml rpc array.
void vortex_xml_rpc_array_set (XmlRpcArray *array, int index, XmlRpcMethodValue *value)
 Configures the provided XmlRpcMethodValue at the provided position, for the selected XmlRpcArray.
void vortex_xml_rpc_method_call_add_value (XmlRpcMethodCall *method_call, XmlRpcMethodValue *value)
 Allows to add the given XmlRpcMethodValue in the next parameter position available.
void vortex_xml_rpc_method_call_create_value (XmlRpcMethodCall *method_call, XmlRpcParamType type, axlPointer value)
 Convenience function to avoid XML-RPC API consumers to write to much code.
void vortex_xml_rpc_method_call_create_value_from_string (XmlRpcMethodCall *method_call, XmlRpcParamType type, const char *string_value)
 Convenience function to avoid XML-RPC API consumers to write to much code.
void vortex_xml_rpc_method_call_free (XmlRpcMethodCall *method_call)
 Unref all memory allocated by the method call object and its childs, including method call values.
int vortex_xml_rpc_method_call_get_current_num_params (XmlRpcMethodCall *method_call)
 Allows to get current number of parameters already added to the given XmlRpcMethodCall object.
int vortex_xml_rpc_method_call_get_msgno (XmlRpcMethodCall *method_call)
 Allows to get the message number, unique identifier inside the channel, where the xml-rpc method call was received.
char * vortex_xml_rpc_method_call_get_name (XmlRpcMethodCall *method_call)
 Allows to get current method name for the given XmlRpcMethodCall object.
int vortex_xml_rpc_method_call_get_num_params (XmlRpcMethodCall *method_call)
 Allows to get which is the number of parameters that the given XmlRpcMethodCall object has.
XmlRpcMethodValuevortex_xml_rpc_method_call_get_param_value (XmlRpcMethodCall *method_call, int position)
 Allows to get the param value (XmlRpcMethodValue) from the given XmlRpcMethodCall at the selected position.
XmlRpcArrayvortex_xml_rpc_method_call_get_param_value_as_array (XmlRpcMethodCall *method_call, int position)
 Allows to get the XmlRpcArray inside the provided method call.
double vortex_xml_rpc_method_call_get_param_value_as_double (XmlRpcMethodCall *method_call, int position)
 Allow to get current double value associated to the giveh XmlRpcMethodCall, at the given position for the parameter value.
int vortex_xml_rpc_method_call_get_param_value_as_int (XmlRpcMethodCall *method_call, int position)
 Helper function that allows to get the <integer> value from the given position for the arguments received inside the given XmlRpcMethodCall object.
char * vortex_xml_rpc_method_call_get_param_value_as_string (XmlRpcMethodCall *method_call, int position)
 Convenience function to the the string associated to the given parameter, indentified by the position, inside the given XmlRpcMethodCall object.
XmlRpcStructvortex_xml_rpc_method_call_get_param_value_as_struct (XmlRpcMethodCall *method_call, int position)
 Allows to get the struct provided at the given position.
axl_bool vortex_xml_rpc_method_call_is (XmlRpcMethodCall *method_call, const char *method_name, int param_num,...)
 Allows to check if the given method call meets the requirements provided.
char * vortex_xml_rpc_method_call_marshall (XmlRpcMethodCall *method_call, int *size)
 Perform a marshalling from the invocator provided (method_call) into the appropiate XML-RPC representation.
axl_bool vortex_xml_rpc_method_call_must_release (XmlRpcMethodCall *method_call)
 Returns current status for releasing the given object after performing an invoke.
XmlRpcMethodCallvortex_xml_rpc_method_call_new (const char *methodName, int parameters)
 Creates a new method call object, representing a remote procedure invocation.
void vortex_xml_rpc_method_call_release_after_invoke (XmlRpcMethodCall *method_call, axl_bool release)
 Allows to configure how the XML-RPC invocation mechanism manages invocator objects that have performed its invocation.
void vortex_xml_rpc_method_call_set_value (XmlRpcMethodCall *method_call, int position, XmlRpcMethodValue *value)
 Allows to set a particular value at a particular position into the parameter invocation order.
XmlRpcMethodResponsevortex_xml_rpc_method_response_create (XmlRpcParamType type, axlPointer value)
 Creates a new positive XmlRpcMethodResponse object, inserting a XmlRpcMethodValue instance created by providing the type and value this function receives.
void vortex_xml_rpc_method_response_free (XmlRpcMethodResponse *response)
 Deallocates the given XmlRpcMethodResponse object.
int vortex_xml_rpc_method_response_get_fault_code (XmlRpcMethodResponse *response)
 Get current fault code from the given XmlRpcMethodResponse object.
char * vortex_xml_rpc_method_response_get_fault_string (XmlRpcMethodResponse *response)
 Get current fault string from the given XmlRpcMethodResponse object.
XmlRpcResponseStatus vortex_xml_rpc_method_response_get_status (XmlRpcMethodResponse *response)
 Returns current status for the invocation performed which has return the given XmlRpcMethodResponse.
XmlRpcMethodValuevortex_xml_rpc_method_response_get_value (XmlRpcMethodResponse *response)
 Allows to get the XmlRpcMethodValue inside the provided XmlRpcMethodResponse.
char * vortex_xml_rpc_method_response_marshall (XmlRpcMethodResponse *response, int *size)
 Allows to perform a marshalling operation into the XML representation for the given XmlRpcMethodResponse object.
XmlRpcMethodResponsevortex_xml_rpc_method_response_new (XmlRpcResponseStatus status, int fault_code, const char *fault_string, XmlRpcMethodValue *value)
 Allows to create a new XmlRpcMethodResponse object, representing a request reply having either a XmlRpcMethodValue or a error code with a fault string.
void vortex_xml_rpc_method_response_nullify (XmlRpcMethodResponse *response)
 Nullifies the internal XmlRpcMethodValue reference hold by the XmlRpcMethodResponse reference.
char * vortex_xml_rpc_method_response_stringify (XmlRpcMethodResponse *response)
 Allows to get a string representation for the XmlRpcMethodValue inside the given XmlRpcMethodResponse.
XmlRpcMethodValuevortex_xml_rpc_method_value_copy (XmlRpcMethodValue *value)
 Allows to perform a copy from the provided method value.
void vortex_xml_rpc_method_value_free (XmlRpcMethodValue *value)
 Perform a memory deallocation operation over the given value.
XmlRpcArrayvortex_xml_rpc_method_value_get_as_array (XmlRpcMethodValue *value)
 Allows to get the array (XmlRpcArray) inside the provided XmlRpcMethodValue.
double vortex_xml_rpc_method_value_get_as_double (XmlRpcMethodValue *value)
 Allows to get the double value inside the provided XmlRpcMethodValue.
int vortex_xml_rpc_method_value_get_as_int (XmlRpcMethodValue *value)
 Allows to get current integer value from the given method value object (XmlRpcMethodValue).
char * vortex_xml_rpc_method_value_get_as_string (XmlRpcMethodValue *value)
 Allows to get the string inside the method value, supposing the method value represents an XML_RPC_STRING_VALUE.
char * vortex_xml_rpc_method_value_get_as_string_alloc (XmlRpcMethodValue *value)
 Allows to get the string inside the method value, supposing the method value represents an XML_RPC_STRING_VALUE.
XmlRpcStructvortex_xml_rpc_method_value_get_as_struct (XmlRpcMethodValue *value)
 Allows to get the struct (XmlRpcStruct) inside the provided XmlRpcMethodValue.
XmlRpcParamType vortex_xml_rpc_method_value_get_type (XmlRpcMethodValue *value)
 Allows to get current type for the given method value.
XmlRpcMethodValuevortex_xml_rpc_method_value_new (XmlRpcParamType type, axlPointer value)
 Allows to create a new XmlRpcMethodValue object from the given type and the given value.
XmlRpcMethodValuevortex_xml_rpc_method_value_new_bool (axl_bool value)
 Convenience interface to vortex_xml_rpc_method_value_new which allows to create a new XmlRpcMethodValue storing a bool value.
XmlRpcMethodValuevortex_xml_rpc_method_value_new_double (double value)
 Convenience interface to vortex_xml_rpc_method_value_new which allows to create a new XmlRpcMethodValue storing a double value.
XmlRpcMethodValuevortex_xml_rpc_method_value_new_from_string (XmlRpcParamType type, const char *string_value)
 Creates a new XmlRpcMethodValue object from the given type, using as value the string provided.
XmlRpcMethodValuevortex_xml_rpc_method_value_new_from_string2 (const char *type, const char *string_value)
 Allows to create a new method value (XmlRpcMethodValue) by providing two strings which are the type and the value representation.
XmlRpcMethodValuevortex_xml_rpc_method_value_new_int (int value)
 Convenience interface to vortex_xml_rpc_method_value_new which allows to create a new XmlRpcMethodValue storing an integer value.
void vortex_xml_rpc_method_value_nullify (XmlRpcMethodValue *_value)
 Allows to nullify provided method value, in the case an internal reference is contained to avoid deallocating it once the vortex_xml_rpc_method_value_free is called.
char * vortex_xml_rpc_method_value_stringify (XmlRpcMethodValue *value)
 Allows to convert the provided XmlRpcMethodValue into a string representation.
void vortex_xml_rpc_struct_add_member (XmlRpcStruct *_struct, XmlRpcStructMember *member)
 Adds a XmlRpcMethodValue created to the provided XmlRpcStruct instance as a new member.
axl_bool vortex_xml_rpc_struct_check_member_names (XmlRpcStruct *_struct, int member_count,...)
 Checks the provided strings, using as upper limit the provided count, as members for the provided struct.
axl_bool vortex_xml_rpc_struct_check_member_types (XmlRpcStruct *_struct, int member_count,...)
 Allows to check the member types, for the provided structure, including the order.
void vortex_xml_rpc_struct_free (XmlRpcStruct *_struct)
 Allows to deallocate the provided struct reference (XmlRpcStruct), including all of its members.
int vortex_xml_rpc_struct_get_member_count (XmlRpcStruct *_struct)
 Allows to get the number of members added to the provided XmlRpcStruct.
char * vortex_xml_rpc_struct_get_member_name_at (XmlRpcStruct *_struct, int position)
 Allows to get the nember name for the member inside the struct located at the given position.
XmlRpcMethodValuevortex_xml_rpc_struct_get_member_value (XmlRpcStruct *_struct, const char *member_name)
 Allows to get the method value at the provided member for the given struct reference.
XmlRpcArrayvortex_xml_rpc_struct_get_member_value_as_array (XmlRpcStruct *_struct, const char *member_name)
 Allows to get the array inside the provided structure, at the select member.
double vortex_xml_rpc_struct_get_member_value_as_double (XmlRpcStruct *_struct, const char *member_name)
 Return the double value inside the provided struct at the selected member.
int vortex_xml_rpc_struct_get_member_value_as_int (XmlRpcStruct *_struct, const char *member_name)
 Allows to get the integer value associated to the provided member name, inside the provided struct.
char * vortex_xml_rpc_struct_get_member_value_as_string (XmlRpcStruct *_struct, const char *member_name)
 Allows to get the string value stored in a selected member at the provided structure.
XmlRpcStructvortex_xml_rpc_struct_get_member_value_as_struct (XmlRpcStruct *_struct, const char *member_name)
 Allows to get the struct inside the provided member on the provided struct.
XmlRpcMethodValuevortex_xml_rpc_struct_get_member_value_at (XmlRpcStruct *_struct, int position)
 Allows to get the member at the given position (ranging from 0 up to n -1) inside the given struct.
void vortex_xml_rpc_struct_member_free (XmlRpcStructMember *member)
 Allows to deallocate the member (XmlRpcStructMember) provided.
XmlRpcStructMembervortex_xml_rpc_struct_member_new (const char *name, XmlRpcMethodValue *value)
 Allows to create a new instance that represents an struct member.
XmlRpcStructvortex_xml_rpc_struct_new (int count)
 Allows to create an empty xml rpc struct.
axl_bool vortex_xml_rpc_struct_ref (XmlRpcStruct *_struct)
 Allows to update reference counting on the provided xml rpc struct.