diff options
| author | Valery Febvre <vfebvre at easter-eggs.com> | 2004-04-17 00:23:13 +0000 |
|---|---|---|
| committer | Valery Febvre <vfebvre at easter-eggs.com> | 2004-04-17 00:23:13 +0000 |
| commit | fd34a864ec5c700856b99dd97558fa85fedd3fa2 (patch) | |
| tree | e48a1a96cbab9871f3105d68b6ade9bc4450b63a | |
| parent | c428b47b09d5ee05abcdd681c6c1c32d3c1a7117 (diff) | |
| download | lasso-fd34a864ec5c700856b99dd97558fa85fedd3fa2.tar.gz lasso-fd34a864ec5c700856b99dd97558fa85fedd3fa2.tar.xz lasso-fd34a864ec5c700856b99dd97558fa85fedd3fa2.zip | |
cosmetic, many g_return_* added, a new method lasso_node_set_ns() (will replaced lasso_node_new_ns())
| -rw-r--r-- | lasso/xml/strings.c | 10 | ||||
| -rw-r--r-- | lasso/xml/strings.h | 10 | ||||
| -rw-r--r-- | lasso/xml/xml.c | 285 | ||||
| -rw-r--r-- | lasso/xml/xml.h | 112 |
4 files changed, 295 insertions, 122 deletions
diff --git a/lasso/xml/strings.c b/lasso/xml/strings.c index 4d3ad97e..2862bce0 100644 --- a/lasso/xml/strings.c +++ b/lasso/xml/strings.c @@ -28,6 +28,10 @@ /* Liberty Alliance */ /*****************************************************************************/ +/* prefix & href */ +const gchar lassoLibHRef[] = "urn:liberty:iff:2003-08"; +const gchar lassoLibPrefix[] = "lib"; + /* Versioning */ const gchar lassoLibMajorVersion[] = "1"; const gchar lassoLibMinorVersion[] = "2"; @@ -67,6 +71,12 @@ const gchar lassoLibProtocolProfileSloIdpSoap[] = "http://projectliberty.org /* SAML */ /*****************************************************************************/ +/* prefix & href */ +const gchar lassoSamlAssertionHRef[] = "urn:oasis:names:tc:SAML:1.0:assertion"; +const gchar lassoSamlAssertionPrefix[] = "saml"; +const gchar lassoSamlProtocolHRef[] = "urn:oasis:names:tc:SAML:1.0:protocol"; +const gchar lassoSamlProtocolPrefix[] = "samlp"; + /* Versioning */ const gchar lassoSamlMajorVersion[] = "1"; const gchar lassoSamlMinorVersion[] = "0"; diff --git a/lasso/xml/strings.h b/lasso/xml/strings.h index c547b587..06688026 100644 --- a/lasso/xml/strings.h +++ b/lasso/xml/strings.h @@ -36,6 +36,10 @@ extern "C" { /* Liberty Alliance */ /*****************************************************************************/ +/* prefix & href */ +LASSO_EXPORT_VAR const gchar lassoLibHRef[]; +LASSO_EXPORT_VAR const gchar lassoLibPrefix[]; + /* Versioning */ LASSO_EXPORT_VAR const gchar lassoLibMajorVersion[]; LASSO_EXPORT_VAR const gchar lassoLibMinorVersion[]; @@ -75,6 +79,12 @@ LASSO_EXPORT_VAR const gchar lassoLibProtocolProfileSloIdpSoap[]; /* SAML */ /*****************************************************************************/ +/* prefix & href */ +LASSO_EXPORT_VAR const gchar lassoSamlAssertionHRef[]; +LASSO_EXPORT_VAR const gchar lassoSamlAssertionPrefix[]; +LASSO_EXPORT_VAR const gchar lassoSamlProtocolHRef[]; +LASSO_EXPORT_VAR const gchar lassoSamlProtocolPrefix[]; + /* Versioning */ LASSO_EXPORT_VAR const gchar lassoSamlMajorVersion[]; LASSO_EXPORT_VAR const gchar lassoSamlMinorVersion[]; diff --git a/lasso/xml/xml.c b/lasso/xml/xml.c index db8e063c..7d996e9d 100644 --- a/lasso/xml/xml.c +++ b/lasso/xml/xml.c @@ -39,26 +39,39 @@ struct _LassoNodePrivate GString * lasso_node_build_query(LassoNode *node) { + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); return (class->build_query(node)); } xmlChar * -lasso_node_dump(LassoNode *node, const xmlChar *encoding, int format) { +lasso_node_dump(LassoNode *node, + const xmlChar *encoding, + int format) +{ + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); return (class->dump(node, encoding, format)); } LassoAttr * -lasso_node_get_attr(LassoNode *node, const xmlChar *name) +lasso_node_get_attr(LassoNode *node, + const xmlChar *name) { + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); return (class->get_attr(node, name)); } xmlChar * -lasso_node_get_attr_value(LassoNode *node, const xmlChar *name) +lasso_node_get_attr_value(LassoNode *node, + const xmlChar *name) { + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); return (class->get_attr_value(node, name)); } @@ -66,13 +79,18 @@ lasso_node_get_attr_value(LassoNode *node, const xmlChar *name) GPtrArray * lasso_node_get_attrs(LassoNode *node) { + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); return (class->get_attrs(node)); } LassoNode * -lasso_node_get_child(LassoNode *node, const xmlChar *name) +lasso_node_get_child(LassoNode *node, + const xmlChar *name) { + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); return (class->get_child(node, name)); } @@ -80,6 +98,8 @@ lasso_node_get_child(LassoNode *node, const xmlChar *name) GPtrArray * lasso_node_get_children(LassoNode *node) { + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); return (class->get_children(node)); } @@ -99,62 +119,69 @@ lasso_node_get_children(LassoNode *node) xmlChar * lasso_node_get_content(LassoNode *node) { - if (node != NULL) { - LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); - return (class->get_content(node)); - } - else { - return (NULL); - } + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); + return (class->get_content(node)); } -xmlChar * +const xmlChar * lasso_node_get_name(LassoNode *node) { + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); return (class->get_name(node)); } void -lasso_node_parse_memory(LassoNode *node, +lasso_node_parse_memory(LassoNode *node, const char *buffer) { - g_assert(LASSO_IS_NODE(node) && node != NULL); - g_assert(buffer != NULL); + g_return_if_fail(LASSO_IS_NODE(node)); LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); class->parse_memory(node, buffer); } void -lasso_node_rename_prop(LassoNode *node, +lasso_node_rename_prop(LassoNode *node, const xmlChar *old_name, const xmlChar *new_name) { + g_return_if_fail(LASSO_IS_NODE(node)); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); class->rename_prop(node, old_name, new_name); } GData * -lasso_node_serialize(LassoNode *node, GData *gd) +lasso_node_serialize(LassoNode *node, + GData *gd) { + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); return (class->serialize(node, gd)); } gchar * -lasso_node_url_encode(LassoNode *node, - guint sign_method, +lasso_node_url_encode(LassoNode *node, + guint sign_method, const gchar *private_key_file) { + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); return (class->url_encode(node, sign_method, private_key_file)); } gint -lasso_node_verify_signature(LassoNode *node, +lasso_node_verify_signature(LassoNode *node, const gchar *certificate_file) { + g_return_val_if_fail (LASSO_IS_NODE(node), -1); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); return (class->verify_signature(node, certificate_file)); } @@ -166,8 +193,10 @@ lasso_node_verify_signature(LassoNode *node, static void lasso_node_add_child(LassoNode *node, LassoNode *child, - gboolean unbounded) + gboolean unbounded) { + g_return_if_fail(LASSO_IS_NODE(node)); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); class->add_child(node, child, unbounded); } @@ -175,61 +204,85 @@ lasso_node_add_child(LassoNode *node, static xmlNodePtr lasso_node_get_xmlNode(LassoNode *node) { + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); return (class->get_xmlNode(node)); } /** * lasso_node_new_child: - * @node: the pointer to node + * @node: the LassoNode * @name: the name of the child - * @content: the content - * @unbounded: if TRUE, several children with the same name can be added else a - * child is unique. + * @content: the content of the child + * @unbounded: if TRUE, several children with the same name can be added else + * the child must be unique. * * Add a new child in node. - * This is an internal function and should not be called by application directly. + * This is an internal function and should not be called by application + * directly. **/ static void -lasso_node_new_child(LassoNode *node, +lasso_node_new_child(LassoNode *node, const xmlChar *name, const xmlChar *content, - gboolean unbounded) + gboolean unbounded) { + g_return_if_fail(LASSO_IS_NODE(node)); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); class->new_child(node, name, content, unbounded); } static void -lasso_node_new_ns(LassoNode *node, +lasso_node_new_ns(LassoNode *node, const xmlChar *href, const xmlChar *prefix) { + g_return_if_fail(LASSO_IS_NODE(node)); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); class->new_ns(node, href, prefix); } static void -lasso_node_set_name(LassoNode *node, +lasso_node_set_name(LassoNode *node, const xmlChar *name) { + g_return_if_fail(LASSO_IS_NODE(node)); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); class->set_name(node, name); } static void -lasso_node_set_node(LassoNode *node, - xmlNodePtr libxml_node) +lasso_node_set_node(LassoNode *node, + xmlNodePtr libxml_node) { + g_return_if_fail(LASSO_IS_NODE(node)); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); class->set_node(node, libxml_node); } static void -lasso_node_set_prop(LassoNode *node, +lasso_node_set_ns(LassoNode *node, + const xmlChar *href, + const xmlChar *prefix) +{ + g_return_if_fail(LASSO_IS_NODE(node)); + + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); + class->set_ns(node, href, prefix); +} + +static void +lasso_node_set_prop(LassoNode *node, const xmlChar *name, const xmlChar *value) { + g_return_if_fail(LASSO_IS_NODE(node)); + LassoNodeClass *class = LASSO_NODE_GET_CLASS(node); class->set_prop(node, name, value); } @@ -239,7 +292,7 @@ lasso_node_set_prop(LassoNode *node, /*****************************************************************************/ static void -gdata_build_query_foreach_func(GQuark key_id, +gdata_build_query_foreach_func(GQuark key_id, gpointer data, gpointer user_data) { guint i; @@ -270,6 +323,8 @@ lasso_node_impl_build_query(LassoNode *node) GPtrArray *a, *aa; GString *query; + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + gd = lasso_node_serialize(node, NULL); a = g_ptr_array_new(); /* transform dict into array @@ -296,15 +351,19 @@ lasso_node_impl_build_query(LassoNode *node) } static xmlChar * -lasso_node_impl_dump(LassoNode *node, +lasso_node_impl_dump(LassoNode *node, const xmlChar *encoding, - int format) + int format) { xmlChar *ret; int len; xmlOutputBufferPtr buf; xmlCharEncodingHandlerPtr handler = NULL; + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + /* encoding is optional */ + g_return_val_if_fail (format == 0 || format == 1, NULL); + if (encoding != NULL) { handler = xmlFindCharEncodingHandler(encoding); if (handler == NULL) { @@ -330,15 +389,20 @@ lasso_node_impl_dump(LassoNode *node, } (void) xmlOutputBufferClose(buf); + /* debug */ printf("%s\n\n", ret); return (ret); } static LassoAttr* -lasso_node_impl_get_attr(LassoNode *node, const xmlChar *name) +lasso_node_impl_get_attr(LassoNode *node, + const xmlChar *name) { LassoAttr *prop; + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + g_return_val_if_fail (name != NULL, NULL); + prop = node->private->node->properties; while (prop != NULL) { if (xmlStrEqual(prop->name, name)) { @@ -351,8 +415,12 @@ lasso_node_impl_get_attr(LassoNode *node, const xmlChar *name) } static xmlChar * -lasso_node_impl_get_attr_value(LassoNode *node, const xmlChar *name) +lasso_node_impl_get_attr_value(LassoNode *node, + const xmlChar *name) { + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + g_return_val_if_fail (name != NULL, NULL); + return (lasso_node_get_attr(node, name)->children->content); } @@ -362,8 +430,9 @@ lasso_node_impl_get_attrs(LassoNode *node) GPtrArray *attributs; LassoAttr *prop; + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + attributs = g_ptr_array_new(); - prop = node->private->node->properties; while (prop != NULL) { g_ptr_array_add(attributs, prop); @@ -374,11 +443,12 @@ lasso_node_impl_get_attrs(LassoNode *node) } static LassoNode * -lasso_node_impl_get_child(LassoNode *node, +lasso_node_impl_get_child(LassoNode *node, const xmlChar *name) { /* xmlNodePtr cur; */ + /* No recurssive version */ /* cur = node->private->node->children; */ /* while (cur != NULL) { */ /* if(cur->type == XML_ELEMENT_NODE) { */ @@ -392,6 +462,9 @@ lasso_node_impl_get_child(LassoNode *node, xmlNodePtr cur; LassoNode *ret; + + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + g_return_val_if_fail (name != NULL, NULL); cur = node->private->node; while (cur != NULL) { @@ -417,6 +490,8 @@ lasso_node_impl_get_children(LassoNode *node) GPtrArray *children; xmlNodePtr cur; + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + cur = node->private->node->children; if (cur != NULL) children = g_ptr_array_new(); @@ -432,13 +507,17 @@ lasso_node_impl_get_children(LassoNode *node) static xmlChar * lasso_node_impl_get_content(LassoNode *node) { + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + return (xmlNodeGetContent(node->private->node)); } -static xmlChar * +static const xmlChar * lasso_node_impl_get_name(LassoNode *node) { - return ((xmlChar *)(node->private->node->name)); + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + + return (node->private->node->name); } /** @@ -455,6 +534,9 @@ lasso_node_impl_parse_memory(LassoNode *node, xmlDocPtr doc; xmlNodePtr root; + g_return_if_fail (LASSO_IS_NODE(node)); + g_return_if_fail (buffer != NULL); + doc = xmlParseMemory(buffer, strlen(buffer)); /* get root element of doc and duplicate it */ root = xmlCopyNode(xmlDocGetRootElement(doc), 1); @@ -464,12 +546,16 @@ lasso_node_impl_parse_memory(LassoNode *node, } static void -lasso_node_impl_rename_prop(LassoNode *node, +lasso_node_impl_rename_prop(LassoNode *node, const xmlChar *old_name, const xmlChar *new_name) { xmlChar *value; + g_return_if_fail (LASSO_IS_NODE(node)); + g_return_if_fail (old_name != NULL); + g_return_if_fail (new_name != NULL); + value = xmlGetProp(node->private->node, old_name); if (value != NULL) { xmlRemoveProp(lasso_node_get_attr(node, old_name)); @@ -478,13 +564,17 @@ lasso_node_impl_rename_prop(LassoNode *node, } static GData * -lasso_node_impl_serialize(LassoNode *node, GData *gd) +lasso_node_impl_serialize(LassoNode *node, + GData *gd) { GPtrArray *attrs, *children; GPtrArray *values; - xmlChar *name, *val; + const xmlChar *name; + xmlChar *val; int i; + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + if (gd == NULL) { g_datalist_init(&gd); } @@ -528,8 +618,8 @@ lasso_node_impl_serialize(LassoNode *node, GData *gd) } static gchar * -lasso_node_impl_url_encode(LassoNode *node, - guint sign_method, +lasso_node_impl_url_encode(LassoNode *node, + guint sign_method, const gchar *private_key_file) { GString *msg; @@ -537,6 +627,9 @@ lasso_node_impl_url_encode(LassoNode *node, xmlChar *str1, *str2; gchar *ret; + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + g_return_val_if_fail (private_key_file != NULL, NULL); + msg = lasso_node_build_query(node); if (sign_method > 0 && private_key_file != NULL) { @@ -573,14 +666,17 @@ lasso_node_impl_url_encode(LassoNode *node, } gint -lasso_node_impl_verify_signature(LassoNode *node, +lasso_node_impl_verify_signature(LassoNode *node, const gchar *certificate_file) { xmlNodePtr signature; - xmlSecKeysMngrPtr mngr = NULL; - xmlSecDSigCtxPtr dsigCtx = NULL; + xmlSecKeysMngrPtr mngr; + xmlSecDSigCtxPtr dsigCtx; gint ret = -1; + g_return_val_if_fail (LASSO_IS_NODE(node), -1); + g_return_val_if_fail (certificate_file != NULL, -1); + /* find start node */ signature = xmlSecFindNode(node->private->node, xmlSecNodeSignature, xmlSecDSigNs); @@ -649,10 +745,13 @@ lasso_node_impl_verify_signature(LassoNode *node, static void lasso_node_impl_add_child(LassoNode *node, LassoNode *child, - gboolean unbounded) + gboolean unbounded) { LassoNode *old_child; - + + g_return_if_fail (LASSO_IS_NODE(node)); + g_return_if_fail (LASSO_IS_NODE(child)); + // if child is not unbounded, we search it if (!unbounded) { old_child = lasso_node_get_child(node, child->private->node->name); @@ -671,58 +770,107 @@ lasso_node_impl_add_child(LassoNode *node, static xmlNodePtr lasso_node_impl_get_xmlNode(LassoNode *node) { + g_return_val_if_fail (LASSO_IS_NODE(node), NULL); + return (node->private->node); } static void -lasso_node_impl_new_child(LassoNode *node, +lasso_node_impl_new_child(LassoNode *node, const xmlChar *name, const xmlChar *content, - gboolean unbounded) + gboolean unbounded) { - LassoNode *old_child; + LassoNode *old_child = NULL; + + g_return_if_fail (LASSO_IS_NODE(node)); + g_return_if_fail (name != NULL); + g_return_if_fail (content != NULL); if (!unbounded) { old_child = lasso_node_get_child(node, name); } - if (!unbounded && old_child != NULL) + if (!unbounded && old_child != NULL) { xmlNodeSetContent(old_child->private->node, content); + } else { xmlNewChild(node->private->node, NULL, name, content); } } static void -lasso_node_impl_new_ns(LassoNode *node, +lasso_node_impl_new_ns(LassoNode *node, const xmlChar *href, const xmlChar *prefix) { + g_return_if_fail (LASSO_IS_NODE(node)); + /* href may be NULL */ + g_return_if_fail (prefix != NULL); + xmlSetNs(node->private->node, xmlNewNs(node->private->node, href, prefix)); } static void -lasso_node_impl_set_name(LassoNode *node, +lasso_node_impl_set_name(LassoNode *node, const xmlChar *name) { + g_return_if_fail (LASSO_IS_NODE(node)); + g_return_if_fail (name != NULL); + xmlNodeSetName(node->private->node, name); node->private->type_name = xmlStrdup(name); } static void -lasso_node_impl_set_node(LassoNode *node, - xmlNodePtr libxml_node) +lasso_node_impl_set_node(LassoNode *node, + xmlNodePtr libxml_node) { + g_return_if_fail (LASSO_IS_NODE(node)); + g_return_if_fail (libxml_node != NULL); + xmlFreeNode(node->private->node); node->private->node = libxml_node; } static void -lasso_node_impl_set_prop(LassoNode *node, +lasso_node_impl_set_ns(LassoNode *node, + const xmlChar *href, + const xmlChar *prefix) +{ + xmlNsPtr new_ns; + + g_return_if_fail (LASSO_IS_NODE(node)); + /* href may be NULL */ + g_return_if_fail (prefix != NULL); + + /* xmlNsPtr cur; */ + /* cur = node->private->node->ns; */ + /* while (cur != NULL) { */ + /* printf("%s:%s\n", cur->prefix, cur->href); */ + /* cur = cur->next; */ + /* } */ + /* cur = node->private->node->nsDef; */ + /* while (cur != NULL) { */ + /* printf("%s:%s\n", cur->prefix, cur->href); */ + /* cur = cur->next; */ + /* } */ + + new_ns = xmlNewNs(node->private->node, href, prefix); + xmlSetNs(node->private->node, new_ns); + node->private->node->nsDef = new_ns; +} + +static void +lasso_node_impl_set_prop(LassoNode *node, const xmlChar *name, const xmlChar *value) { + g_return_if_fail (LASSO_IS_NODE(node)); + g_return_if_fail (name != NULL); + g_return_if_fail (value != NULL); + xmlSetProp(node->private->node, name, value); } @@ -785,13 +933,14 @@ lasso_node_class_init(LassoNodeClass *class) class->url_encode = lasso_node_impl_url_encode; class->verify_signature = lasso_node_impl_verify_signature; /* virtual private methods */ - class->add_child = lasso_node_impl_add_child; - class->get_xmlNode = lasso_node_impl_get_xmlNode; - class->new_child = lasso_node_impl_new_child; - class->new_ns = lasso_node_impl_new_ns; - class->set_name = lasso_node_impl_set_name; - class->set_node = lasso_node_impl_set_node; - class->set_prop = lasso_node_impl_set_prop; + class->add_child = lasso_node_impl_add_child; + class->get_xmlNode = lasso_node_impl_get_xmlNode; + class->new_child = lasso_node_impl_new_child; + class->new_ns = lasso_node_impl_new_ns; + class->set_name = lasso_node_impl_set_name; + class->set_node = lasso_node_impl_set_node; + class->set_ns = lasso_node_impl_set_ns; + class->set_prop = lasso_node_impl_set_prop; /* override parent class methods */ gobject_class->dispose = (void *)lasso_node_dispose; gobject_class->finalize = (void *)lasso_node_finalize; diff --git a/lasso/xml/xml.h b/lasso/xml/xml.h index 93dcae27..f696de50 100644 --- a/lasso/xml/xml.h +++ b/lasso/xml/xml.h @@ -60,32 +60,32 @@ struct _LassoNodeClass { GObjectClass parent_class; /*< vtable >*/ /*< public >*/ - GString * (* build_query) (LassoNode *node); - xmlChar * (* dump) (LassoNode *, - const xmlChar *, - int); - LassoAttr* (* get_attr) (LassoNode *, - const xmlChar *); - xmlChar* (* get_attr_value) (LassoNode *node, - const xmlChar *name); - GPtrArray* (* get_attrs) (LassoNode *); - LassoNode* (* get_child) (LassoNode *, - const xmlChar *); - GPtrArray* (* get_children) (LassoNode *); - xmlChar * (* get_content) (LassoNode *); - void (* parse_memory) (LassoNode *node, - const char *buffer); - xmlChar * (* get_name) (LassoNode *); - void (* rename_prop) (LassoNode *node, - const xmlChar *old_name, - const xmlChar *new_name); - GData * (* serialize) (LassoNode *, - GData *); - gchar * (* url_encode) (LassoNode *node, - guint sign_method, - const gchar *private_key_file); - gint (* verify_signature) (LassoNode *node, - const gchar *certificate_file); + GString* (* build_query) (LassoNode *node); + xmlChar* (* dump) (LassoNode *node, + const xmlChar *encoding, + int format); + LassoAttr* (* get_attr) (LassoNode *, + const xmlChar *); + xmlChar* (* get_attr_value) (LassoNode *node, + const xmlChar *name); + GPtrArray* (* get_attrs) (LassoNode *); + LassoNode* (* get_child) (LassoNode *, + const xmlChar *); + GPtrArray* (* get_children) (LassoNode *); + xmlChar * (* get_content) (LassoNode *); + void (* parse_memory) (LassoNode *node, + const char *buffer); + const xmlChar* (* get_name) (LassoNode *); + void (* rename_prop) (LassoNode *node, + const xmlChar *old_name, + const xmlChar *new_name); + GData * (* serialize) (LassoNode *, + GData *); + gchar * (* url_encode) (LassoNode *node, + guint sign_method, + const gchar *private_key_file); + gint (* verify_signature) (LassoNode *node, + const gchar *certificate_file); /*< private >*/ void (* add_child) (LassoNode *, LassoNode *, @@ -102,6 +102,9 @@ struct _LassoNodeClass { const xmlChar *); void (* set_node) (LassoNode *, xmlNodePtr); + void (* set_ns) (LassoNode *node, + const xmlChar *href, + const xmlChar *prefix); void (* set_prop) (LassoNode *, const xmlChar *, const xmlChar *); @@ -112,48 +115,49 @@ typedef enum { lassoUrlEncodeDsaSha1 } lassoUrlEncodeSignMethod; -LASSO_EXPORT GType lasso_node_get_type(void); -LASSO_EXPORT LassoNode* lasso_node_new(xmlNodePtr node); +LASSO_EXPORT GType lasso_node_get_type (void); -LASSO_EXPORT GString* lasso_node_build_query (LassoNode *node); +LASSO_EXPORT LassoNode* lasso_node_new (xmlNodePtr node); -LASSO_EXPORT xmlChar * lasso_node_dump (LassoNode *, - const xmlChar *, - int); +LASSO_EXPORT GString* lasso_node_build_query (LassoNode *node); -LASSO_EXPORT LassoAttr* lasso_node_get_attr (LassoNode *node, - const xmlChar *name); +LASSO_EXPORT xmlChar * lasso_node_dump (LassoNode *node, + const xmlChar *encoding, + int format); -LASSO_EXPORT xmlChar* lasso_node_get_attr_value (LassoNode *node, - const xmlChar *name); +LASSO_EXPORT LassoAttr* lasso_node_get_attr (LassoNode *node, + const xmlChar *name); -LASSO_EXPORT GPtrArray* lasso_node_get_attrs (LassoNode *node); +LASSO_EXPORT xmlChar* lasso_node_get_attr_value (LassoNode *node, + const xmlChar *name); -LASSO_EXPORT LassoNode* lasso_node_get_child (LassoNode *node, - const xmlChar *name); +LASSO_EXPORT GPtrArray* lasso_node_get_attrs (LassoNode *node); -LASSO_EXPORT GPtrArray* lasso_node_get_children (LassoNode *node); +LASSO_EXPORT LassoNode* lasso_node_get_child (LassoNode *node, + const xmlChar *name); -LASSO_EXPORT xmlChar* lasso_node_get_content (LassoNode *node); +LASSO_EXPORT GPtrArray* lasso_node_get_children (LassoNode *node); -LASSO_EXPORT xmlChar* lasso_node_get_name (LassoNode *node); +LASSO_EXPORT xmlChar* lasso_node_get_content (LassoNode *node); -LASSO_EXPORT void lasso_node_parse_memory (LassoNode *node, - const char *buffer); +LASSO_EXPORT const xmlChar* lasso_node_get_name (LassoNode *node); -LASSO_EXPORT void lasso_node_rename_prop (LassoNode *node, - const xmlChar *old_name, - const xmlChar *new_name); +LASSO_EXPORT void lasso_node_parse_memory (LassoNode *node, + const char *buffer); -LASSO_EXPORT GData* lasso_node_serialize (LassoNode *node, - GData *gd); +LASSO_EXPORT void lasso_node_rename_prop (LassoNode *node, + const xmlChar *old_name, + const xmlChar *new_name); -LASSO_EXPORT gchar* lasso_node_url_encode (LassoNode *node, - guint sign_method, - const gchar *private_key_file); +LASSO_EXPORT GData* lasso_node_serialize (LassoNode *node, + GData *gd); -LASSO_EXPORT gint lasso_node_verify_signature (LassoNode *node, - const gchar *certificate_file); +LASSO_EXPORT gchar* lasso_node_url_encode (LassoNode *node, + guint sign_method, + const gchar *private_key_file); + +LASSO_EXPORT gint lasso_node_verify_signature (LassoNode *node, + const gchar *certificate_file); #ifdef __cplusplus } |
