diff options
| author | Frederic Peters <fpeters@entrouvert.com> | 2005-08-12 16:32:42 +0000 |
|---|---|---|
| committer | Frederic Peters <fpeters@entrouvert.com> | 2005-08-12 16:32:42 +0000 |
| commit | b9bd0f06ee124888fca7929db4aca6eb7180f3f3 (patch) | |
| tree | b49a299156b9517b80c819b5d603d1d8cd0e79a9 | |
| parent | edfce42f46e06382f00890657bdd12e891efec53 (diff) | |
return LassoPersonalProfileService from disco->getService if appropriate
| -rw-r--r-- | lasso/id-wsf/discovery.c | 10 |
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; } |
