diff options
| author | Valery Febvre <vfebvre at easter-eggs.com> | 2004-07-18 23:57:33 +0000 |
|---|---|---|
| committer | Valery Febvre <vfebvre at easter-eggs.com> | 2004-07-18 23:57:33 +0000 |
| commit | ba8b50b0e7feaaf2ac7fb5d9b2b6e1b4710aa400 (patch) | |
| tree | 6b45b108ea45ad83f2ace8c449dabdda422e125b | |
| parent | 4027d4b394bd18f60af1a931ae59719fc8204821 (diff) | |
| download | lasso-ba8b50b0e7feaaf2ac7fb5d9b2b6e1b4710aa400.tar.gz lasso-ba8b50b0e7feaaf2ac7fb5d9b2b6e1b4710aa400.tar.xz lasso-ba8b50b0e7feaaf2ac7fb5d9b2b6e1b4710aa400.zip | |
Added new lasso_request_new_from_export() constructor
| -rw-r--r-- | lasso/Attic/protocols/request.c | 29 | ||||
| -rw-r--r-- | lasso/Attic/protocols/request.h | 7 |
2 files changed, 34 insertions, 2 deletions
diff --git a/lasso/Attic/protocols/request.c b/lasso/Attic/protocols/request.c index 6ff2c3cd..7361a278 100644 --- a/lasso/Attic/protocols/request.c +++ b/lasso/Attic/protocols/request.c @@ -102,3 +102,32 @@ lasso_request_new(const xmlChar *assertionArtifact) return (request); } + +LassoNode* +lasso_request_new_from_export(gchar *buffer, + lassoNodeExportTypes export_type) +{ + LassoNode *request=NULL, *soap_node, *request_node; + + g_return_val_if_fail(buffer != NULL, NULL); + + request = LASSO_NODE(g_object_new(LASSO_TYPE_REQUEST, NULL)); + + switch (export_type) { + case lassoNodeExportTypeXml: + lasso_node_import(request, buffer); + break; + case lassoNodeExportTypeQuery: + case lassoNodeExportTypeBase64: + break; + case lassoNodeExportTypeSoap: + soap_node = lasso_node_new_from_dump(buffer); + request_node = lasso_node_get_child(soap_node, "Request", lassoSamlProtocolHRef); + lasso_node_import(request, lasso_node_export(request_node)); + lasso_node_destroy(request_node); + lasso_node_destroy(soap_node); + break; + } + + return (request); +} diff --git a/lasso/Attic/protocols/request.h b/lasso/Attic/protocols/request.h index 08c5c10d..0c5e25af 100644 --- a/lasso/Attic/protocols/request.h +++ b/lasso/Attic/protocols/request.h @@ -52,9 +52,12 @@ struct _LassoRequestClass { LassoSamlpRequestClass parent; }; -LASSO_EXPORT GType lasso_request_get_type (void); +LASSO_EXPORT GType lasso_request_get_type (void); -LASSO_EXPORT LassoNode* lasso_request_new (const xmlChar *assertionArtifact); +LASSO_EXPORT LassoNode* lasso_request_new (const xmlChar *assertionArtifact); + +LASSO_EXPORT LassoNode* lasso_request_new_from_export (gchar *buffer, + lassoNodeExportTypes export_type); #ifdef __cplusplus } |
