00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef SEN_SERVICE_MANAGER_H
00024 #define SEN_SERVICE_MANAGER_H
00025
00026
00027 #include <e32base.h>
00028 #include <e32std.h>
00029 #include <badesca.h>
00030
00031 #include <MSenServiceConsumer.h>
00032 #include <MSenServiceDescription.h>
00033 #include <SenCredential2.h>
00034 #include <SenXmlProperties.h>
00035 #include "MSenAuthenticationProvider.h"
00036
00037
00038 class CSenXmlServiceDescription;
00039 class CSenIdentityProvider;
00040
00041
00042 typedef RPointerArray<CSenXmlServiceDescription> RServiceDescriptionArray;
00043 typedef RPointerArray<CSenCredential2> RCredentialArray;
00044 typedef RPointerArray<CSenXmlProperties> RCredentialPropertiesArray;
00045
00046
00047
00081 class CSenServiceManager : public CActive
00082 {
00083 public:
00084
00088 IMPORT_C static CSenServiceManager* NewL();
00089
00093 IMPORT_C static CSenServiceManager* NewLC();
00094
00098 IMPORT_C static CSenServiceManager* NewL(MSenAuthenticationProvider& aAuthProvider);
00099
00103 IMPORT_C static CSenServiceManager* NewLC(MSenAuthenticationProvider& aAuthProvider);
00104
00105
00106
00130 virtual TInt ServiceDescriptionsL( const TDesC8& aURI,
00131 RServiceDescriptionArray& aList) = 0;
00132
00157 virtual TInt ServiceDescriptionsL( MSenServiceDescription& aSD,
00158 RServiceDescriptionArray& aList) = 0;
00159
00206 virtual TInt RegisterServiceDescriptionL(MSenServiceDescription& aSD) = 0;
00207
00239 virtual TInt UnregisterServiceDescriptionL(
00240 MSenServiceDescription& aSD) = 0;
00241
00271 virtual TInt RegisterIdentityProviderL(CSenIdentityProvider& aProvider) = 0;
00272
00288 virtual TInt UnregisterIdentityProviderL(
00289 CSenIdentityProvider& aProvider) = 0;
00290
00291
00317 virtual TInt AssociateServiceL( const TDesC8& aURI,
00318 const TDesC8& aProviderID) = 0;
00319
00336 virtual TInt DissociateServiceL(const TDesC8& aServiceID,
00337 const TDesC8& aProviderID) = 0;
00338
00384 virtual TInt CredentialsL(const TDesC8& aEndpoint,
00385 RCredentialArray& aCredentials,
00386 RCredentialPropertiesArray& aCredentialProperties) = 0;
00387
00432 virtual TInt CredentialsL(const TDesC8& aEndpoint,
00433 const CSenIdentityProvider& aIdP,
00434 RCredentialArray& aCredentials,
00435 RCredentialPropertiesArray& aCredentialProperties) = 0;
00436
00484 virtual TInt CredentialsL(const TDesC8& aEndpoint,
00485 const TDesC8& aUserName,
00486 const TDesC8& aPassword,
00487 RCredentialArray& aCredentials,
00488 RCredentialPropertiesArray& aCredentialProperties) = 0;
00489
00541 virtual TInt CredentialsL(const MSenServiceDescription& aPattern,
00542 RCredentialArray& aCredentials,
00543 RCredentialPropertiesArray& aCredentialProperties) = 0;
00544
00595 virtual TInt CredentialsL(const MSenServiceDescription& aPattern,
00596 const CSenIdentityProvider& aIdP,
00597 RCredentialArray& aCredentials,
00598 RCredentialPropertiesArray& aCredentialProperties) = 0;
00599
00654 virtual TInt CredentialsL(const MSenServiceDescription& aPattern,
00655 const TDesC8& aUserName,
00656 const TDesC8& aPassword,
00657 RCredentialArray& aCredentials,
00658 RCredentialPropertiesArray& aCredentialProperties) = 0;
00678 virtual TInt AddCredentialL(const TDesC8& aEndpoint,
00679 const CSenIdentityProvider& aIdP,
00680 const CSenCredential2& aCredential) = 0;
00681
00708 virtual TInt AddCredentialL(const MSenServiceDescription& aPattern,
00709 const CSenIdentityProvider& aIdP,
00710 const CSenCredential2& aCredential) = 0;
00711
00733 virtual TInt AddCredentialL(const TDesC8& aEndpoint,
00734 const CSenIdentityProvider& aIdP,
00735 const CSenCredential2& aCredential,
00736 const CSenXmlProperties& aCredentialProperties) = 0;
00737
00767 virtual TInt AddCredentialL(const MSenServiceDescription& aPattern,
00768 const CSenIdentityProvider& aIdP,
00769 const CSenCredential2& aCredential,
00770 const CSenXmlProperties& aCredentialProperties) = 0;
00771
00796 virtual TInt RemoveCredentialsL(const MSenServiceDescription& aPattern,
00797 const CSenIdentityProvider& aIdP) = 0;
00798
00816 virtual TInt RemoveCredentialsL(const CSenIdentityProvider& aIdP) = 0;
00817
00845 virtual TInt RemoveCredentialsL(const MSenServiceDescription& aPattern,
00846 const TDesC8& aUserName,
00847 const TDesC8& aPassword) = 0;
00848
00849 protected:
00850
00854 CSenServiceManager();
00855 };
00856
00857 #endif //SEN_SERVICE_MANAGER_H
00858
00859
00860