diff options
author | Nicolas Clapies <nclapies@entrouvert.com> | 2004-09-01 09:05:36 +0000 |
---|---|---|
committer | Nicolas Clapies <nclapies@entrouvert.com> | 2004-09-01 09:05:36 +0000 |
commit | 44abe254d8074313a319b6cdc22b9f91ff308c25 (patch) | |
tree | dddc0423e5ebf66fb810310f86f448cb5efd4458 /lasso/Attic/protocols/logout_response.c | |
parent | 45ecab5e0d4a702de7f49f3925df97d6f629adea (diff) | |
download | lasso-44abe254d8074313a319b6cdc22b9f91ff308c25.tar.gz lasso-44abe254d8074313a319b6cdc22b9f91ff308c25.tar.xz lasso-44abe254d8074313a319b6cdc22b9f91ff308c25.zip |
Added parse support of xml message in lasso_logout_response_new_from_export(), added private method lasso_logout_response_new_from_export()
Diffstat (limited to 'lasso/Attic/protocols/logout_response.c')
-rw-r--r-- | lasso/Attic/protocols/logout_response.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lasso/Attic/protocols/logout_response.c b/lasso/Attic/protocols/logout_response.c index 6af34aee..fa2fb1bb 100644 --- a/lasso/Attic/protocols/logout_response.c +++ b/lasso/Attic/protocols/logout_response.c @@ -312,6 +312,26 @@ lasso_logout_response_new_from_soap(gchar *buffer) return(response); } +static LassoNode * +lasso_logout_response_new_from_xml(gchar *buffer) +{ + LassoNode *response; + LassoNode *logout_response_node, *lassoNode_response; + xmlNodePtr xmlNode_response; + LassoNodeClass *class; + + response = LASSO_NODE(g_object_new(LASSO_TYPE_LOGOUT_RESPONSE, NULL)); + + lassoNode_response = lasso_node_new_from_dump(buffer); + class = LASSO_NODE_GET_CLASS(lassoNode_response); + xmlNode_response = xmlCopyNode(class->get_xmlNode(LASSO_NODE(lassoNode_response)), 1); + class = LASSO_NODE_GET_CLASS(response); + class->set_xmlNode(LASSO_NODE(response), xmlNode_response); + lasso_node_destroy(lassoNode_response); + + return(response); +} + LassoNode* lasso_logout_response_new_from_export(gchar *buffer, lassoNodeExportType export_type) @@ -327,6 +347,9 @@ lasso_logout_response_new_from_export(gchar *buffer, case lassoNodeExportTypeSoap: response = lasso_logout_response_new_from_soap(buffer); break; + case lassoNodeExportTypeXml: + response = lasso_logout_response_new_from_xml(buffer); + break; default: message(G_LOG_LEVEL_WARNING, "Invalid export type\n"); return(NULL); |