• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List

opensync/opensync_xml.h

00001 #ifndef _OPENSYNC_XML_H
00002 #define _OPENSYNC_XML_H
00003 
00004 #include <libxml/xmlmemory.h>
00005 #include <libxml/parser.h>
00006 #include <libxml/xpath.h>
00007 
00008 #ifdef __cplusplus
00009 extern "C"
00010 {
00011 #endif
00012 
00013 typedef enum osxmlEncoding {
00014         OSXML_8BIT = 0,
00015         OSXML_QUOTED_PRINTABLE = 1,
00016         OSXML_BASE64 = 2
00017 } osxmlEncoding;
00018 
00019 typedef enum osxmlCharset {
00020         OSXML_ASCII = 0,
00021         OSXML_UTF8 = 1
00022 } osxmlCharset;
00023 
00024 typedef struct OSyncXMLEncoding OSyncXMLEncoding;
00025 struct OSyncXMLEncoding {
00026         osxmlEncoding encoding;
00027         osxmlCharset charset;
00028 };
00029 
00030 xmlNode *osxml_node_add_root(xmlDoc *doc, const char *name);
00031 xmlNode *osxml_node_get_root(xmlDoc *doc, const char *name, OSyncError **error);
00032 xmlNode *osxml_get_node(xmlNode *parent, const char *name);
00033 
00034 xmlNode *osxml_node_add(xmlNode *parent, const char *name, const char *data);
00035 //void osxml_format_dump(OSyncXML *xml, char **data, int *size);
00036 xmlNode *osxml_format_parse(const char *input, int size, const char *rootname, OSyncError **error);
00037 char *osxml_find_node(xmlNode *parent, const char *name);
00038 void osxml_node_add_property(xmlNode *parent, const char *name, const char *data);
00039 char *osxml_find_property(xmlNode *parent, const char *name);
00040 osync_bool osxml_has_property(xmlNode *parent, const char *name);
00041 osync_bool osxml_has_property_full(xmlNode *parent, const char *name, const char *data);
00042 
00043 void osxml_node_mark_unknown(xmlNode *parent);
00044 void osxml_node_remove_unknown_mark(xmlNode *node);
00045 void osxml_map_unknown_param(xmlNode *node, const char *paramname, const char *newname);
00046 
00047 void osxml_node_set(xmlNode *node, const char *name, const char *data, OSyncXMLEncoding encoding);
00048 xmlXPathObject *osxml_get_nodeset(xmlDoc *doc, const char *expression);
00049 xmlXPathObject *osxml_get_unknown_nodes(xmlDoc *doc);
00050 xmlChar *osxml_write_to_string(xmlDoc *doc);
00051 osync_bool osxml_copy(const char *input, int inpsize, char **output, int *outpsize);
00052 
00053 osync_bool osxml_marshall(const char *input, int inpsize, char **output, int *outpsize, OSyncError **error);
00054 osync_bool osxml_demarshall(const char *input, int inpsize, char **output, int *outpsize, OSyncError **error);
00055 
00056 #ifdef __cplusplus
00057 }
00058 #endif
00059 
00060 #endif // _OPENSYNC_XML_H

Generated on Mon Jul 26 2010 for OpenSync by  doxygen 1.7.1