diff options
| author | Frederic Peters <fpeters@entrouvert.com> | 2005-08-12 16:32:05 +0000 |
|---|---|---|
| committer | Frederic Peters <fpeters@entrouvert.com> | 2005-08-12 16:32:05 +0000 |
| commit | edfce42f46e06382f00890657bdd12e891efec53 (patch) | |
| tree | 71a11ba0092ab4097d3d1617e66ecb6b6cdbeba4 | |
| parent | 7e12708c9b54c6a676ce80a22352016a72046872 (diff) | |
| download | lasso-edfce42f46e06382f00890657bdd12e891efec53.tar.gz lasso-edfce42f46e06382f00890657bdd12e891efec53.tar.xz lasso-edfce42f46e06382f00890657bdd12e891efec53.zip | |
cleaned up PersonalProfileService
| -rw-r--r-- | lasso/id-wsf/personal_profile_service.c | 169 | ||||
| -rw-r--r-- | lasso/id-wsf/personal_profile_service.h | 39 |
2 files changed, 32 insertions, 176 deletions
diff --git a/lasso/id-wsf/personal_profile_service.c b/lasso/id-wsf/personal_profile_service.c index 4806e52d..5166c199 100644 --- a/lasso/id-wsf/personal_profile_service.c +++ b/lasso/id-wsf/personal_profile_service.c @@ -23,8 +23,7 @@ */ #include <lasso/id-wsf/personal_profile_service.h> -#include <lasso/xml/dst_query_response.h> -#include <lasso/xml/dst_data.h> +#include <lasso/id-wsf/profile_service_private.h> /*****************************************************************************/ @@ -47,162 +46,51 @@ lasso_personal_profile_service_init_modify(LassoPersonalProfileService *service, select); } -LassoDstQueryItem* -lasso_personal_profile_service_init_query(LassoPersonalProfileService *service, - LassoDiscoResourceOffering *resourceOffering, - LassoDiscoDescription *description, - const gchar *select) -{ - g_return_val_if_fail(LASSO_IS_PERSONAL_PROFILE_SERVICE(service) == TRUE, NULL); - - return NULL; -#if 0 /* XXX */ - return lasso_profile_service_init_query(LASSO_PROFILE_SERVICE(service), - LASSO_PP_PREFIX, - LASSO_PP_HREF, - resourceOffering, - description, - select); -#endif -} - -gchar* +char* lasso_personal_profile_service_get_email(LassoPersonalProfileService *service) { - LassoDstQueryResponse *response; - GList *datas; - LassoDstData *data; - xmlNode *root, *child; - xmlChar *msgAccount, *msgProvider; + xmlNode *xmlnode, *child; + xmlChar *msgAccount = NULL, *msgProvider = NULL; char *email; g_return_val_if_fail(LASSO_IS_PERSONAL_PROFILE_SERVICE(service) == TRUE, NULL); - response = LASSO_DST_QUERY_RESPONSE(LASSO_WSF_PROFILE(service)->response); - datas = response->Data; - msgAccount = NULL; - msgProvider = NULL; - while (datas != NULL) { - data = LASSO_DST_DATA(datas->data); - - root = (xmlNode *) data->any->data; - if (root == NULL) { - printf("\tDEBUG - Root element not found ...\n"); - datas = datas->next; + xmlnode = lasso_profile_service_get_answer(LASSO_PROFILE_SERVICE(service), + "/pp:PP/pp:MsgContact"); + + child = xmlnode->children; + while (child != NULL) { + if (child->type != XML_ELEMENT_NODE) { + child = child->next; continue; } - if (strcmp((char *) root->name, "MsgContact") == 0) { - child = root->children; - while (child != NULL) { - if (child->type != XML_ELEMENT_NODE) { - child = child->next; - continue; - } - - if (strcmp((char *) child->name, "MsgAccount") == 0) { - msgAccount = xmlNodeGetContent(child); - } - else if (strcmp((char *) child->name, "MsgProvider") == 0) { - msgProvider = xmlNodeGetContent(child); - } - - if (msgAccount != NULL && msgProvider != NULL) { - break; - } - - child = child->next; - } + if (strcmp((char *)child->name, "MsgAccount") == 0) { + msgAccount = xmlNodeGetContent(child); } - + else if (strcmp((char *)child->name, "MsgProvider") == 0) { + msgProvider = xmlNodeGetContent(child); + } + if (msgAccount != NULL && msgProvider != NULL) { break; } - - datas = datas->next; + + child = child->next; } - if (msgAccount != NULL || msgProvider != NULL) { + + if (msgAccount && msgProvider) { email = g_strdup_printf("%s@%s", msgAccount, msgProvider); + } else { + email = NULL; } xmlFree(msgAccount); xmlFree(msgProvider); + xmlFreeNode(xmlnode); return email; } -gint -lasso_personal_profile_service_process_modify_msg(LassoPersonalProfileService *service, - const gchar *modify_soap_msg) -{ - g_return_val_if_fail(LASSO_IS_PERSONAL_PROFILE_SERVICE(service) == TRUE, -1); - - return lasso_profile_service_process_modify_msg(LASSO_PROFILE_SERVICE(service), - LASSO_PP_PREFIX, - LASSO_PP_HREF, - modify_soap_msg); -} - -gint -lasso_personal_profile_service_process_query_msg(LassoPersonalProfileService *service, - const gchar *soap_msg) -{ - g_return_val_if_fail(LASSO_IS_PERSONAL_PROFILE_SERVICE(service) == TRUE, -1); - - return LASSO_ERROR_UNIMPLEMENTED; -} - -gint -lasso_personal_profile_service_process_query_response_msg(LassoPersonalProfileService *service, - const gchar *soap_msg) -{ - g_return_val_if_fail(LASSO_IS_PERSONAL_PROFILE_SERVICE(service) == TRUE, -1); - - return lasso_profile_service_process_query_response_msg(LASSO_PROFILE_SERVICE(service), - soap_msg); -} - -gint -lasso_personal_profile_service_process_modify_response_msg(LassoPersonalProfileService *service, - const gchar *soap_msg) -{ - g_return_val_if_fail(LASSO_IS_PERSONAL_PROFILE_SERVICE(service) == TRUE, -1); - - return lasso_profile_service_process_modify_response_msg(LASSO_PROFILE_SERVICE(service), - LASSO_PP_PREFIX, - LASSO_PP_HREF, - soap_msg); -} - -gint -lasso_personal_profile_service_validate_modify(LassoPersonalProfileService *service) -{ - g_return_val_if_fail(LASSO_IS_PERSONAL_PROFILE_SERVICE(service) == TRUE, -1); - - return lasso_profile_service_validate_modify(LASSO_PROFILE_SERVICE(service), - LASSO_PP_PREFIX, - LASSO_PP_HREF); -} - -gint -lasso_personal_profile_service_validate_query(LassoPersonalProfileService *service) -{ - g_return_val_if_fail(LASSO_IS_PERSONAL_PROFILE_SERVICE(service) == TRUE, -1); - - return lasso_profile_service_validate_query(LASSO_PROFILE_SERVICE(service), - LASSO_PP_PREFIX, - LASSO_PP_HREF); -} - -gint -lasso_personal_profile_service_set_xml_node(LassoPersonalProfileService *service, - xmlNodePtr xmlNode) -{ - g_return_val_if_fail(LASSO_IS_PERSONAL_PROFILE_SERVICE(service) == TRUE, -1); - g_return_val_if_fail(xmlNode != NULL, -1); - - return -1; -} - /*****************************************************************************/ /* instance and class init functions */ /*****************************************************************************/ @@ -244,11 +132,14 @@ lasso_personal_profile_service_get_type() } LassoPersonalProfileService* -lasso_personal_profile_service_new(LassoServer *server) +lasso_personal_profile_service_new(LassoServer *server, LassoDiscoResourceOffering *offering) { - LassoPersonalProfileService *service = NULL; + LassoPersonalProfileService *service; g_return_val_if_fail(LASSO_IS_SERVER(server) == TRUE, NULL); - return g_object_new(LASSO_TYPE_PERSONAL_PROFILE_SERVICE, NULL); + service = g_object_new(LASSO_TYPE_PERSONAL_PROFILE_SERVICE, NULL); + lasso_profile_service_set_offering(LASSO_PROFILE_SERVICE(service), offering); + + return service; } diff --git a/lasso/id-wsf/personal_profile_service.h b/lasso/id-wsf/personal_profile_service.h index a194971b..eda7fbf7 100644 --- a/lasso/id-wsf/personal_profile_service.h +++ b/lasso/id-wsf/personal_profile_service.h @@ -56,7 +56,6 @@ typedef struct _LassoPersonalProfileServicePrivate LassoPersonalProfileServicePr struct _LassoPersonalProfileService { LassoProfileService parent; - }; struct _LassoPersonalProfileServiceClass { @@ -66,45 +65,11 @@ struct _LassoPersonalProfileServiceClass { LASSO_EXPORT GType lasso_personal_profile_service_get_type(void); -LASSO_EXPORT LassoPersonalProfileService* lasso_personal_profile_service_new(LassoServer *server); - - -LASSO_EXPORT LassoDstModification* lasso_personal_profile_service_init_modify( - LassoPersonalProfileService *service, - LassoDiscoResourceOffering *ro, - LassoDiscoDescription *desc, - const gchar *select); - -LASSO_EXPORT LassoDstQueryItem* lasso_personal_profile_service_init_query( - LassoPersonalProfileService *service, - LassoDiscoResourceOffering *ro, - LassoDiscoDescription *desc, - const gchar *select); +LASSO_EXPORT LassoPersonalProfileService* lasso_personal_profile_service_new( + LassoServer *server, LassoDiscoResourceOffering *offering); LASSO_EXPORT gchar* lasso_personal_profile_service_get_email(LassoPersonalProfileService *service); -LASSO_EXPORT gint lasso_personal_profile_service_process_modify_msg( - LassoPersonalProfileService *service, - const gchar *soap_msg); - -LASSO_EXPORT gint lasso_personal_profile_service_process_modify_response_msg( - LassoPersonalProfileService *service, - const gchar *soap_msg); - -LASSO_EXPORT gint lasso_personal_profile_service_process_query_msg( - LassoPersonalProfileService *service, - const gchar *soap_msg); - -LASSO_EXPORT gint lasso_personal_profile_service_process_query_response_msg( - LassoPersonalProfileService *service, - const gchar *soap_msg); - -LASSO_EXPORT gint lasso_personal_profile_service_validate_modify( - LassoPersonalProfileService *service); - -LASSO_EXPORT gint lasso_personal_profile_service_validate_query( - LassoPersonalProfileService *service); - #ifdef __cplusplus } #endif /* __cplusplus */ |
