summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2005-08-12 16:32:05 +0000
committerFrederic Peters <fpeters@entrouvert.com>2005-08-12 16:32:05 +0000
commitedfce42f46e06382f00890657bdd12e891efec53 (patch)
tree71a11ba0092ab4097d3d1617e66ecb6b6cdbeba4
parent7e12708c9b54c6a676ce80a22352016a72046872 (diff)
downloadlasso-edfce42f46e06382f00890657bdd12e891efec53.tar.gz
lasso-edfce42f46e06382f00890657bdd12e891efec53.tar.xz
lasso-edfce42f46e06382f00890657bdd12e891efec53.zip
cleaned up PersonalProfileService
-rw-r--r--lasso/id-wsf/personal_profile_service.c169
-rw-r--r--lasso/id-wsf/personal_profile_service.h39
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 */