libxrdeveloper's documentation
Data Structures | Typedefs | Enumerations | Functions

xr-value.h File Reference

Intermediate Representation of XML-RPC Values. More...

#include "xr-lib.h"

Go to the source code of this file.

Data Structures

struct  _xr_blob
 Type used to pass blobs around in the user code. More...

Typedefs

typedef struct _xr_value xr_value
 Opaque data structure that holds information about particular node.
typedef struct _xr_blob xr_blob
 Type used to pass blobs around in the user code.

Enumerations

enum  _xr_value_node_type {
  XRV_ARRAY, XRV_STRUCT, XRV_MEMBER, XRV_INT,
  XRV_STRING, XRV_BOOLEAN, XRV_DOUBLE, XRV_TIME,
  XRV_BLOB
}
 

Value Node Types.

More...

Functions

G_BEGIN_DECLS xr_blobxr_blob_new (char *buf, int len)
 Create new blob.
void xr_blob_unref (xr_blob *blob)
 Free blob.
xr_blobxr_blob_ref (xr_blob *blob)
 Take reference to blbo.
xr_valuexr_value_ref (xr_value *val)
 Take reference to the node.
void xr_value_unref (xr_value *val)
 Unref xr_value node.
xr_valuexr_value_string_new (const char *val)
 Create new xr_value node of type XRV_STRING.
xr_valuexr_value_int_new (int val)
 Create new xr_value node of type XRV_INT.
xr_valuexr_value_bool_new (int val)
 Create new xr_value node of type XRV_BOOLEAN.
xr_valuexr_value_double_new (double val)
 Create new xr_value node of type XRV_DOUBLE.
xr_valuexr_value_time_new (const char *val)
 Create new xr_value node of type XRV_TIME.
xr_valuexr_value_blob_new (xr_blob *val)
 Create new xr_value node of type XRV_BLOB.
gboolean xr_value_to_int (xr_value *val, int *nval)
 Extract xr_value of type XRV_INT into the native language type.
gboolean xr_value_to_string (xr_value *val, char **nval)
 Extract xr_value of type XRV_STRING into the native language type.
gboolean xr_value_to_bool (xr_value *val, int *nval)
 Extract xr_value of type XRV_BOOLEAN into the native language type.
gboolean xr_value_to_double (xr_value *val, double *nval)
 Extract xr_value of type XRV_DOUBLE into the native language type.
gboolean xr_value_to_time (xr_value *val, char **nval)
 Extract xr_value of type XRV_TIME into the native language type.
gboolean xr_value_to_blob (xr_value *val, xr_blob **nval)
 Extract xr_value of type XRV_BLOB into the native language type.
gboolean xr_value_to_value (xr_value *val, xr_value **nval)
 Just a convenience interface to xr_value_ref.
int xr_value_get_type (xr_value *val)
 Get type of xr_value node.
xr_valuexr_value_array_new ()
 Create new array xr_value node.
void xr_value_array_append (xr_value *arr, xr_value *val)
 Add value to the array node.
GSList * xr_value_get_items (xr_value *arr)
 Get list of items from the array node.
xr_valuexr_value_struct_new ()
 Create new struct xr_value node.
void xr_value_struct_set_member (xr_value *str, const char *name, xr_value *val)
 Set struct member value.
xr_valuexr_value_get_member (xr_value *str, const char *name)
 Get member value from the struct node.
GSList * xr_value_get_members (xr_value *str)
 Get list of XRV_MEMBER nodes from the struct node.
const char * xr_value_get_member_name (xr_value *mem)
 Get name of the struct member from the XRV_MEMBER node.
xr_valuexr_value_get_member_value (xr_value *mem)
 Get value of the struct member from the XRV_MEMBER node.
gboolean xr_value_is_error_retval (xr_value *val, int *errcode, char **errmsg)
 Check if given node is stadard XML-RPC error struct.
void xr_value_dump (xr_value *v, GString *string, int indent)
 Debugging function that dumps node tree to the string.

Detailed Description

Intermediate Representation of XML-RPC Values.

This code is used to manipulate tree of xr_value nodes, which represent all types defined in the XML-RPC specification.

These types are: int, string, boolean, double, time, base64 (blob), struct and array.

There is one additional node type to represent struct memeber (XRV_MEMBER).

Note:
You should not need to wory about this code unless you use any type in the XDL Language.
Documentation for libxr, Mon Nov 29 2010 06:10:59.