diff options
| author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2009-09-11 15:51:46 +0000 |
|---|---|---|
| committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2009-09-11 15:51:46 +0000 |
| commit | 7f2e83604fe563869f67218fd9b86376d2a26c13 (patch) | |
| tree | 3f268eed528e9b6a4306a1556080e3ae898a92ec | |
| parent | ec01a14f54ec6685c3ab8c5e166e2fcddfe3e8df (diff) | |
ID-WSF 2.0: add set_request/set_response method to Profile object
* lasso/id-wsf-2.0/profile.c:
* lasso/id-wsf-2.0/profile.h:
add two methods that set the response object and replace the content
of the SOAP message with this object.
| -rw-r--r-- | lasso/id-wsf-2.0/profile.c | 40 | ||||
| -rw-r--r-- | lasso/id-wsf-2.0/profile.h | 3 |
2 files changed, 43 insertions, 0 deletions
diff --git a/lasso/id-wsf-2.0/profile.c b/lasso/id-wsf-2.0/profile.c index b8609bd4..62347317 100644 --- a/lasso/id-wsf-2.0/profile.c +++ b/lasso/id-wsf-2.0/profile.c @@ -220,7 +220,47 @@ LassoSoapEnvelope* lasso_idwsf2_profile_get_soap_envelope_response(LassoIdWsf2Pr } +/** + * lasso_idwsf2_profile_set_response: + * @idwsf2_profile: a #LassoIdWsf2Profile object + * @response: (transfer full) (allow-none): a #LassoNode to set as the new content of the SOAP + * response + * + * Replace the current content of the response with node. + * + */ +void +lasso_idwsf2_profile_set_response(LassoIdWsf2Profile *idwsf2_profile, LassoNode *response) +{ + if (! LASSO_IDWSF2_PROFILE(idwsf2_profile) || !idwsf2_profile->soap_envelope_response || + ! idwsf2_profile->soap_envelope_response->Body) + return; + lasso_assign_new_gobject(((LassoProfile*)idwsf2_profile)->response, response); + lasso_release_list_of_gobjects(idwsf2_profile->soap_envelope_response->Body->any); + lasso_list_add_gobject(idwsf2_profile->soap_envelope_response->Body->any, response); + return; +} +/** + * lasso_idwsf2_profile_set_request: + * @idwsf2_profile: a #LassoIdWsf2Profile object + * @request: (transfer full) (allow-none): a #LassoNode to set as the new content of the SOAP + * request. + * + * Replace the current content of the request with node. + * + */ +void +lasso_idwsf2_profile_set_request(LassoIdWsf2Profile *idwsf2_profile, LassoNode *request) +{ + if (! LASSO_IDWSF2_PROFILE(idwsf2_profile) || !idwsf2_profile->soap_envelope_request || + ! idwsf2_profile->soap_envelope_request->Body) + return; + lasso_assign_new_gobject(((LassoProfile*)idwsf2_profile)->request, request); + lasso_release_list_of_gobjects(idwsf2_profile->soap_envelope_request->Body->any); + lasso_list_add_gobject(idwsf2_profile->soap_envelope_request->Body->any, request); + return; +} /*****************************************************************************/ /* overridden parent class methods */ /*****************************************************************************/ diff --git a/lasso/id-wsf-2.0/profile.h b/lasso/id-wsf-2.0/profile.h index e766d685..895360f1 100644 --- a/lasso/id-wsf-2.0/profile.h +++ b/lasso/id-wsf-2.0/profile.h @@ -86,6 +86,9 @@ LASSO_EXPORT LassoSoapEnvelope* lasso_idwsf2_profile_get_soap_envelope_request(L LASSO_EXPORT LassoSoapEnvelope* lasso_idwsf2_profile_get_soap_envelope_response(LassoIdWsf2Profile *idwsf2_profile); +LASSO_EXPORT void lasso_idwsf2_profile_set_response(LassoIdWsf2Profile *idwsf2_profile, LassoNode *response); + +LASSO_EXPORT void lasso_idwsf2_profile_set_request(LassoIdWsf2Profile *idwsf2_profile, LassoNode *request); #ifdef __cplusplus } |
