summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2005-08-12 16:32:42 +0000
committerFrederic Peters <fpeters@entrouvert.com>2005-08-12 16:32:42 +0000
commitb9bd0f06ee124888fca7929db4aca6eb7180f3f3 (patch)
treeb49a299156b9517b80c819b5d603d1d8cd0e79a9
parentedfce42f46e06382f00890657bdd12e891efec53 (diff)
return LassoPersonalProfileService from disco->getService if appropriate
-rw-r--r--lasso/id-wsf/discovery.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/lasso/id-wsf/discovery.c b/lasso/id-wsf/discovery.c
index b0c72468..fd941449 100644
--- a/lasso/id-wsf/discovery.c
+++ b/lasso/id-wsf/discovery.c
@@ -28,6 +28,8 @@
#include <lasso/xml/saml_attribute_value.h>
#include <lasso/xml/disco_modify.h>
#include <lasso/id-ff/identityprivate.h>
+#include <lasso/id-wsf/profile_service.h>
+#include <lasso/id-wsf/personal_profile_service.h>
struct _LassoDiscoveryPrivate
{
@@ -677,7 +679,13 @@ lasso_discovery_get_service(LassoDiscovery *discovery, const char *service_type)
}
}
- service = lasso_profile_service_new_full(LASSO_WSF_PROFILE(discovery)->server, offering);
+ if (strcmp(offering->ServiceInstance->ServiceType, LASSO_PP_HREF) == 0) {
+ service = LASSO_PROFILE_SERVICE(lasso_personal_profile_service_new(
+ LASSO_WSF_PROFILE(discovery)->server, offering));
+ } else {
+ service = lasso_profile_service_new_full(LASSO_WSF_PROFILE(discovery)->server,
+ offering);
+ }
return service;
}