summaryrefslogtreecommitdiffstats
path: root/lasso/Attic/protocols/logout_response.c
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-09-01 09:05:36 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-09-01 09:05:36 +0000
commit44abe254d8074313a319b6cdc22b9f91ff308c25 (patch)
treedddc0423e5ebf66fb810310f86f448cb5efd4458 /lasso/Attic/protocols/logout_response.c
parent45ecab5e0d4a702de7f49f3925df97d6f629adea (diff)
downloadlasso-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.c23
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);