williamr@2
|
1 |
/*
|
williamr@2
|
2 |
* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
|
williamr@2
|
3 |
* All rights reserved.
|
williamr@2
|
4 |
* This component and the accompanying materials are made available
|
williamr@2
|
5 |
* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
|
williamr@2
|
6 |
* which accompanies this distribution, and is available
|
williamr@2
|
7 |
* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
|
williamr@2
|
8 |
*
|
williamr@2
|
9 |
* Initial Contributors:
|
williamr@2
|
10 |
* Nokia Corporation - initial contribution.
|
williamr@2
|
11 |
*
|
williamr@2
|
12 |
* Contributors:
|
williamr@2
|
13 |
*
|
williamr@2
|
14 |
* Description: CSenServiceManager class offers API for
|
williamr@2
|
15 |
* accessing and managing WebServicesFramework
|
williamr@2
|
16 |
* (WSF) service and identity related data.
|
williamr@2
|
17 |
*
|
williamr@2
|
18 |
*/
|
williamr@2
|
19 |
|
williamr@2
|
20 |
|
williamr@2
|
21 |
|
williamr@2
|
22 |
|
williamr@2
|
23 |
|
williamr@2
|
24 |
|
williamr@2
|
25 |
|
williamr@2
|
26 |
|
williamr@2
|
27 |
#ifndef SEN_SERVICE_MANAGER_H
|
williamr@2
|
28 |
#define SEN_SERVICE_MANAGER_H
|
williamr@2
|
29 |
|
williamr@2
|
30 |
// INCLUDES
|
williamr@2
|
31 |
#include <e32base.h> // for CActive
|
williamr@2
|
32 |
#include <e32std.h> // for RPointerArray
|
williamr@2
|
33 |
#include <badesca.h>
|
williamr@2
|
34 |
|
williamr@2
|
35 |
#include <MSenServiceConsumer.h>
|
williamr@2
|
36 |
#include <MSenServiceDescription.h>
|
williamr@2
|
37 |
#include <SenCredential2.h>
|
williamr@2
|
38 |
#include <SenXmlProperties.h>
|
williamr@2
|
39 |
#include "MSenAuthenticationProvider.h"
|
williamr@2
|
40 |
|
williamr@2
|
41 |
// FORWARD DECLARATIONS
|
williamr@2
|
42 |
class CSenXmlServiceDescription;
|
williamr@2
|
43 |
class CSenIdentityProvider;
|
williamr@2
|
44 |
|
williamr@2
|
45 |
// DATA TYPES
|
williamr@2
|
46 |
typedef RPointerArray<CSenXmlServiceDescription> RServiceDescriptionArray;
|
williamr@2
|
47 |
typedef RPointerArray<CSenCredential2> RCredentialArray;
|
williamr@2
|
48 |
typedef RPointerArray<CSenXmlProperties> RCredentialPropertiesArray;
|
williamr@2
|
49 |
|
williamr@2
|
50 |
// CLASS DECLARATION
|
williamr@2
|
51 |
|
williamr@2
|
52 |
/**
|
williamr@2
|
53 |
* CSenServiceManager class offers API for accessing and managing
|
williamr@2
|
54 |
* WebServicesFramework (WSF) service and identity related data.
|
williamr@2
|
55 |
* The class is designed using abstract factory pattern:
|
williamr@2
|
56 |
* it only offers a instance (pointer) to the actual implementation
|
williamr@2
|
57 |
* class meeting this interface.
|
williamr@2
|
58 |
* Typically, service consumers use of CSenServiceManager to register service
|
williamr@2
|
59 |
* or identity based data, which is required for accessing some invocable,
|
williamr@2
|
60 |
* possibly remote service.
|
williamr@2
|
61 |
* The class is meant for both default frameworks offered by WSF
|
williamr@2
|
62 |
* and for any custom plug-in service invocation framework implementation.
|
williamr@2
|
63 |
* The default frameworks are:
|
williamr@2
|
64 |
* 1) Identity Based Web Services Framework (ID-WSF).
|
williamr@2
|
65 |
* 2) Basic Web Services Framework.
|
williamr@2
|
66 |
* For Basic Web Service consumer, the only applicable operations are
|
williamr@2
|
67 |
* Identity data managing methods. These can be used to make connection
|
williamr@2
|
68 |
* specific Basic Authentication (BASIC-AUTH) credentials available without
|
williamr@2
|
69 |
* later end-user interaction. Otherwise required authentication info
|
williamr@2
|
70 |
* will be requested via notifier dialog prompts.
|
williamr@2
|
71 |
* ID-WSF consumer has to use the CSenServiceManager methods to register
|
williamr@2
|
72 |
* authentication service description and identity provider (which are
|
williamr@2
|
73 |
* the same service in ID-WSF) and finally associate some actual service
|
williamr@2
|
74 |
* (contract to a WSP) to this IDP.
|
williamr@2
|
75 |
*
|
williamr@2
|
76 |
* The current client-server framework implementation of CSenServiceManager
|
williamr@2
|
77 |
* is synchronous, although class inherits CActive for future extensions.
|
williamr@2
|
78 |
* So, the class instance will not be an active object handled
|
williamr@2
|
79 |
* by ActiveScheduler, and it does not have implementation
|
williamr@2
|
80 |
* in RunL() or DoCancel() methods.
|
williamr@2
|
81 |
*
|
williamr@2
|
82 |
* @lib SenServMgr.lib
|
williamr@2
|
83 |
* @since Series60 3.0
|
williamr@2
|
84 |
*/
|
williamr@2
|
85 |
class CSenServiceManager : public CActive
|
williamr@2
|
86 |
{
|
williamr@2
|
87 |
public: // Constructors and destructor
|
williamr@2
|
88 |
|
williamr@2
|
89 |
/**
|
williamr@2
|
90 |
* Two-phased constructor.
|
williamr@2
|
91 |
*/
|
williamr@2
|
92 |
IMPORT_C static CSenServiceManager* NewL();
|
williamr@2
|
93 |
|
williamr@2
|
94 |
/**
|
williamr@2
|
95 |
* Two-phased constructor.
|
williamr@2
|
96 |
*/
|
williamr@2
|
97 |
IMPORT_C static CSenServiceManager* NewLC();
|
williamr@2
|
98 |
|
williamr@2
|
99 |
/**
|
williamr@2
|
100 |
* Two-phased constructor.
|
williamr@2
|
101 |
*/
|
williamr@2
|
102 |
IMPORT_C static CSenServiceManager* NewL(MSenAuthenticationProvider& aAuthProvider);
|
williamr@2
|
103 |
|
williamr@2
|
104 |
/**
|
williamr@2
|
105 |
* Two-phased constructor.
|
williamr@2
|
106 |
*/
|
williamr@2
|
107 |
IMPORT_C static CSenServiceManager* NewLC(MSenAuthenticationProvider& aAuthProvider);
|
williamr@2
|
108 |
|
williamr@2
|
109 |
// New functions
|
williamr@2
|
110 |
|
williamr@2
|
111 |
/**
|
williamr@2
|
112 |
* Consumers use this to find services with matching URI
|
williamr@2
|
113 |
* (contract or endpoint) of the service. ID-WSF consumers
|
williamr@2
|
114 |
* typically use the service type (contract) they are
|
williamr@2
|
115 |
* interested on.
|
williamr@2
|
116 |
* Contract is typically some URN and most endpoints are URLs.
|
williamr@2
|
117 |
* The Basic Web Service descriptions are not written into WSF
|
williamr@2
|
118 |
* database, so they cannot be searched using this method.
|
williamr@2
|
119 |
* @param aUri specifies the search string (contract or endpoint)
|
williamr@2
|
120 |
* which will be used to find matching service descriptions.
|
williamr@2
|
121 |
* @param aList an array with 0 or more service descriptions which
|
williamr@2
|
122 |
* are already registered to WSF.
|
williamr@2
|
123 |
* The ownership of the array is passed to the caller so before
|
williamr@2
|
124 |
* the array goes out of scope in the client, the caller must
|
williamr@2
|
125 |
* call RPointerArray::ResetAndDestroy() on the array to free any
|
williamr@2
|
126 |
* entries.
|
williamr@2
|
127 |
* @return status/error code.
|
williamr@2
|
128 |
* Status codes:
|
williamr@2
|
129 |
* KErrNone ok
|
williamr@2
|
130 |
* Error codes:
|
williamr@2
|
131 |
* KErrNotFound No matching service description was found.
|
williamr@2
|
132 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
133 |
*/
|
williamr@2
|
134 |
virtual TInt ServiceDescriptionsL( const TDesC8& aURI,
|
williamr@2
|
135 |
RServiceDescriptionArray& aList) = 0;
|
williamr@2
|
136 |
|
williamr@2
|
137 |
/**
|
williamr@2
|
138 |
* Consumers use this to find services with matching
|
williamr@2
|
139 |
* service description. The service description may
|
williamr@2
|
140 |
* include specific contract or endpoint of the service
|
williamr@2
|
141 |
* as a searching criteria.
|
williamr@2
|
142 |
* Contract is typically some URN and most endpoints are URLs.
|
williamr@2
|
143 |
* The Basic Web Service descriptions are not written into WSF
|
williamr@2
|
144 |
* database, so they cannot be searched using this method.
|
williamr@2
|
145 |
* @param aSD a service description specifying search pattern
|
williamr@2
|
146 |
* (which includes contract, URI or both) used to find
|
williamr@2
|
147 |
* matching service descriptions.
|
williamr@2
|
148 |
* @param aList an array with 0 or more ServiceDescriptions which
|
williamr@2
|
149 |
* are already registered to WSF.
|
williamr@2
|
150 |
* The ownership of the array is passed to the caller so before
|
williamr@2
|
151 |
* the array goes out of scope in the client, the caller must
|
williamr@2
|
152 |
* call RPointerArray::ResetAndDestroy() on the array to free any
|
williamr@2
|
153 |
* entries.
|
williamr@2
|
154 |
* @return status/error code.
|
williamr@2
|
155 |
* Status codes:
|
williamr@2
|
156 |
* KErrNone ok
|
williamr@2
|
157 |
* Error codes:
|
williamr@2
|
158 |
* KErrNotFound No matching service descriptions found.
|
williamr@2
|
159 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
160 |
*/
|
williamr@2
|
161 |
virtual TInt ServiceDescriptionsL( MSenServiceDescription& aSD,
|
williamr@2
|
162 |
RServiceDescriptionArray& aList) = 0;
|
williamr@2
|
163 |
|
williamr@2
|
164 |
/**
|
williamr@2
|
165 |
* Used by consumer applications to register new service to WSF
|
williamr@2
|
166 |
* The service could not otherwise be discovered while creating
|
williamr@2
|
167 |
* a service connection. ID-WSF Authentication Service is an
|
williamr@2
|
168 |
* example of this kind of remote service.
|
williamr@2
|
169 |
* The Basic Web Service consumer does not need to and cannot
|
williamr@2
|
170 |
* register any service related data.
|
williamr@2
|
171 |
* In service description, the default framework ID is "ID-WSF",
|
williamr@2
|
172 |
* through which frameworks performing the actual registration
|
williamr@2
|
173 |
* are looked up. For any custom framework plug-in, the framework
|
williamr@2
|
174 |
* ID must be separately set.
|
williamr@2
|
175 |
* For ID-WSF service descriptions it is mandatory to set both
|
williamr@2
|
176 |
* contract and endpoint.
|
williamr@2
|
177 |
* Calling the method performs one of the following:
|
williamr@2
|
178 |
* 1. It registers a new service description
|
williamr@2
|
179 |
* 2. It updates an existing service description
|
williamr@2
|
180 |
* with matching contract and endpoint.
|
williamr@2
|
181 |
* @param aSD a service description to be registered
|
williamr@2
|
182 |
* @return status/error code.
|
williamr@2
|
183 |
* Status codes:
|
williamr@2
|
184 |
* KErrNone ok
|
williamr@2
|
185 |
* Error codes:
|
williamr@2
|
186 |
* KErrNotReady Service description couldn't be registered,
|
williamr@2
|
187 |
* e.g. because end-user permission to modify
|
williamr@2
|
188 |
* WSF data was not granted (a dialog prompt).
|
williamr@2
|
189 |
* KErrNotFound Web Services framework couldn't find any
|
williamr@2
|
190 |
* required framework plug-in used to register
|
williamr@2
|
191 |
* a service description of a given type
|
williamr@2
|
192 |
* (framework ID).
|
williamr@2
|
193 |
* KErrSenNoContract Given service description didn't have
|
williamr@2
|
194 |
* a contract specified, even if the used
|
williamr@2
|
195 |
* framework needs one. For ID-WSF it is
|
williamr@2
|
196 |
* mandatory to define a contract for
|
williamr@2
|
197 |
* service description registration.
|
williamr@2
|
198 |
* KErrSenNoEndpoint Given service description didn't have
|
williamr@2
|
199 |
* a endpoint specified, even if the used
|
williamr@2
|
200 |
* framework needs one. For ID-WSF it is
|
williamr@2
|
201 |
* mandatory to define an endpoint for
|
williamr@2
|
202 |
* service description registration.
|
williamr@2
|
203 |
* KErrSenNoContractNoEndPoint Given service description didn't have
|
williamr@2
|
204 |
* an endpoint and contract specified, even if the used
|
williamr@2
|
205 |
* framework needs one. For ID-WSF it is
|
williamr@2
|
206 |
* mandatory to define both an endpoint and contract for
|
williamr@2
|
207 |
* service description registration.
|
williamr@2
|
208 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
209 |
*/
|
williamr@2
|
210 |
virtual TInt RegisterServiceDescriptionL(MSenServiceDescription& aSD) = 0;
|
williamr@2
|
211 |
|
williamr@2
|
212 |
/**
|
williamr@2
|
213 |
* Used by consumer application to to inform the ServiceManager
|
williamr@2
|
214 |
* about a service which no longer is available. The ServiceManager
|
williamr@2
|
215 |
* will remove the service from its database as soon as it is no
|
williamr@2
|
216 |
* longer used.
|
williamr@2
|
217 |
* @param aSD a ServiceDescription to be unregistered
|
williamr@2
|
218 |
* @return status/error code.
|
williamr@2
|
219 |
* Status codes:
|
williamr@2
|
220 |
* KErrNone ok
|
williamr@2
|
221 |
* Error codes:
|
williamr@2
|
222 |
* KErrBadDescriptor aSD was invalid service description and
|
williamr@2
|
223 |
* couldn't be unregistered.
|
williamr@2
|
224 |
* KErrNotReady Service description couldn't be registered,
|
williamr@2
|
225 |
* e.g. because end-user permission to modify
|
williamr@2
|
226 |
* WSF data was not granted (a dialog prompt).
|
williamr@2
|
227 |
* KErrNotFound Couldn't find a matching framework to
|
williamr@2
|
228 |
* register service description or couldn't
|
williamr@2
|
229 |
* find a matching service description.
|
williamr@2
|
230 |
* KErrSenNoContract Given service description didn't have
|
williamr@2
|
231 |
* a contract specified, even if the used
|
williamr@2
|
232 |
* framework needs one.
|
williamr@2
|
233 |
* KErrSenNoEndpoint Given service description didn't have
|
williamr@2
|
234 |
* a endpoint specified, even if the used
|
williamr@2
|
235 |
* framework needs one.
|
williamr@2
|
236 |
* KErrSenNoContractNoEndPoint Given service description didn't have
|
williamr@2
|
237 |
* an endpoint and contract specified, even if the used
|
williamr@2
|
238 |
* framework needs one. For ID-WSF it is
|
williamr@2
|
239 |
* mandatory to define both an endpoint and contract for
|
williamr@2
|
240 |
* service description registration.
|
williamr@2
|
241 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
242 |
*/
|
williamr@2
|
243 |
virtual TInt UnregisterServiceDescriptionL(
|
williamr@2
|
244 |
MSenServiceDescription& aSD) = 0;
|
williamr@2
|
245 |
|
williamr@2
|
246 |
/**
|
williamr@2
|
247 |
* Register an identity provider for the current active identity.
|
williamr@2
|
248 |
* It is required for both Basic Web Service and ID-WSF consumers
|
williamr@2
|
249 |
* that endpoint is defined in identity provider instance to make
|
williamr@2
|
250 |
* this data accessible later on while creating a service connection.
|
williamr@2
|
251 |
* @param aProvider an identity provider to be registered
|
williamr@2
|
252 |
* @return status/error code.
|
williamr@2
|
253 |
* Status codes:
|
williamr@2
|
254 |
* KErrNone ok
|
williamr@2
|
255 |
* Error codes:
|
williamr@2
|
256 |
* KErrBadDescriptor aProvider was an invalid identity provider
|
williamr@2
|
257 |
* and couldn't be registered.
|
williamr@2
|
258 |
* KErrNotReady Service description couldn't be registered,
|
williamr@2
|
259 |
* e.g. because end-user permission to modify
|
williamr@2
|
260 |
* WSF data was not granted (a dialog prompt).
|
williamr@2
|
261 |
* KErrSenProviderIdInUseByAnotherEndpoint
|
williamr@2
|
262 |
* attempt to register an identity provider
|
williamr@2
|
263 |
* failed, because ProviderID was already
|
williamr@2
|
264 |
* reserved in the use of another endpoint.
|
williamr@2
|
265 |
*
|
williamr@2
|
266 |
* A possible work-around for this would be
|
williamr@2
|
267 |
* to unregister such conflicting identity
|
williamr@2
|
268 |
* provider using this particular ProviderID,
|
williamr@2
|
269 |
* but this solution is not recommended. Instead,
|
williamr@2
|
270 |
* separate providers, locating in different
|
williamr@2
|
271 |
* endpoints, SHOULD always use different
|
williamr@2
|
272 |
* ProviderIDs.
|
williamr@2
|
273 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
274 |
*/
|
williamr@2
|
275 |
virtual TInt RegisterIdentityProviderL(CSenIdentityProvider& aProvider) = 0;
|
williamr@2
|
276 |
|
williamr@2
|
277 |
/**
|
williamr@2
|
278 |
* Unregister an identity provider from the current active Identity.
|
williamr@2
|
279 |
* @param aProvider an identity provider to be unregistered
|
williamr@2
|
280 |
* @return status/error code.
|
williamr@2
|
281 |
* Status codes:
|
williamr@2
|
282 |
* KErrNone ok
|
williamr@2
|
283 |
* Error codes:
|
williamr@2
|
284 |
* KErrBadDescriptor aProvider was an invalid identity provider
|
williamr@2
|
285 |
* and couldn't be unregistered.
|
williamr@2
|
286 |
* KErrNotReady Identity provider couldn't be unregistered,
|
williamr@2
|
287 |
* e.g. because user didn't allow it.
|
williamr@2
|
288 |
* KErrNotFound aProvider was not found and couldn't be
|
williamr@2
|
289 |
* unregistered.
|
williamr@2
|
290 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
291 |
*/
|
williamr@2
|
292 |
virtual TInt UnregisterIdentityProviderL(
|
williamr@2
|
293 |
CSenIdentityProvider& aProvider) = 0;
|
williamr@2
|
294 |
|
williamr@2
|
295 |
|
williamr@2
|
296 |
/**
|
williamr@2
|
297 |
* Consumer applications use this method to associate
|
williamr@2
|
298 |
* some pre-registered service to certain (registered)
|
williamr@2
|
299 |
* identity provider. The association adds the service ID
|
williamr@2
|
300 |
* (contract of the service that trusts this identity
|
williamr@2
|
301 |
* provider) into WSF identity database.
|
williamr@2
|
302 |
* In ID-WSF, consumers typically associate authentication
|
williamr@2
|
303 |
* service description with some identity provider. This
|
williamr@2
|
304 |
* way the ID-WSF framework can find the identity provider
|
williamr@2
|
305 |
* by using the contract of the service as a search pattern
|
williamr@2
|
306 |
* (for e.g. liberty AS contract).
|
williamr@2
|
307 |
* @param aURI either the contract or the endpoint
|
williamr@2
|
308 |
* identifying some service
|
williamr@2
|
309 |
* @param aProviderID the ID of an identity provider
|
williamr@2
|
310 |
* @return status/error code.
|
williamr@2
|
311 |
* Status codes:
|
williamr@2
|
312 |
* KErrNone ok
|
williamr@2
|
313 |
* Error codes:
|
williamr@2
|
314 |
* KErrArgument Either or both of the parameters were
|
williamr@2
|
315 |
* zero-length or invalid descriptors
|
williamr@2
|
316 |
* KErrNotReady Identity provider couldn't be unregistered,
|
williamr@2
|
317 |
* e.g. because user didn't allow it.
|
williamr@2
|
318 |
* KErrNotFound Web Services framework couldn't find
|
williamr@2
|
319 |
* the identity provider by given provider ID.
|
williamr@2
|
320 |
*/
|
williamr@2
|
321 |
virtual TInt AssociateServiceL( const TDesC8& aURI,
|
williamr@2
|
322 |
const TDesC8& aProviderID) = 0;
|
williamr@2
|
323 |
|
williamr@2
|
324 |
/**
|
williamr@2
|
325 |
* Dissociate a service from an identity provider.
|
williamr@2
|
326 |
* @param aServiceID the contract or endpoint of a service
|
williamr@2
|
327 |
* @param aProviderID the id of an identity provider
|
williamr@2
|
328 |
* @return status/error code.
|
williamr@2
|
329 |
* Status codes:
|
williamr@2
|
330 |
* KErrNone ok
|
williamr@2
|
331 |
* Error codes:
|
williamr@2
|
332 |
* KErrArgument Either or both of the parameters were
|
williamr@2
|
333 |
* zero-length or invalid descriptors
|
williamr@2
|
334 |
* KErrNotReady Service couldn't be dissociated,
|
williamr@2
|
335 |
* e.g. because user didn't allow it.
|
williamr@2
|
336 |
* KErrNotFound Web Services framework couldn't find
|
williamr@2
|
337 |
* the identity provider by given
|
williamr@2
|
338 |
* provider ID.
|
williamr@2
|
339 |
*/
|
williamr@2
|
340 |
virtual TInt DissociateServiceL(const TDesC8& aServiceID,
|
williamr@2
|
341 |
const TDesC8& aProviderID) = 0;
|
williamr@2
|
342 |
|
williamr@2
|
343 |
/**
|
williamr@2
|
344 |
* Consumer applications use this method for finding Credentials.
|
williamr@2
|
345 |
* IdentityProvider or Username and Password are given either via
|
williamr@2
|
346 |
* IdentityProviderL() callback or UsernameL() and Password()
|
williamr@2
|
347 |
* callbacks from MSenAuthenticationProvider (which can be given
|
williamr@2
|
348 |
* through specialized NewL or NewLC methods).
|
williamr@2
|
349 |
*
|
williamr@2
|
350 |
* @param aEndpoint the endpoint which identifies the Credential
|
williamr@2
|
351 |
* @param aCredentials an array with 0 or more Credentials.
|
williamr@2
|
352 |
* The ownership of the array (and Credentials)
|
williamr@2
|
353 |
* is passed to the caller so before the array
|
williamr@2
|
354 |
* goes out of scope in the client, the caller
|
williamr@2
|
355 |
* must call RPointerArray::ResetAndDestroy()
|
williamr@2
|
356 |
* on the array to close the array and delete
|
williamr@2
|
357 |
* @param aCredentialProperties an array with 0 or more
|
williamr@2
|
358 |
* CredentialsProperties.
|
williamr@2
|
359 |
* The ownership of the array (and
|
williamr@2
|
360 |
* CredentialProperties) is passed to the caller
|
williamr@2
|
361 |
* so before the array goes out of scope in the
|
williamr@2
|
362 |
* client, the caller must call
|
williamr@2
|
363 |
* RPointerArray::ResetAndDestroy()
|
williamr@2
|
364 |
* on the array to close the array and delete
|
williamr@2
|
365 |
* all the CredentialProperties in the array.
|
williamr@2
|
366 |
* Note: aCredentials array and
|
williamr@2
|
367 |
* aCredentialProperties array are in
|
williamr@2
|
368 |
* sync. If Credential has properties,
|
williamr@2
|
369 |
* properties are placed in same
|
williamr@2
|
370 |
* position in aCredentialProperties array
|
williamr@2
|
371 |
* as raleted Credential in aCredentials
|
williamr@2
|
372 |
* array.
|
williamr@2
|
373 |
* Note: If Credential has no properties,
|
williamr@2
|
374 |
* there is NULL in related position
|
williamr@2
|
375 |
* in aCredentialProperties array.
|
williamr@2
|
376 |
* all the Credentials in the array.
|
williamr@2
|
377 |
* Status codes:
|
williamr@2
|
378 |
* KErrNone ok
|
williamr@2
|
379 |
*
|
williamr@2
|
380 |
* Error codes:
|
williamr@2
|
381 |
* KErrNotFound Web Services framework couldn't find
|
williamr@2
|
382 |
* the Credentials using given Endpoint.
|
williamr@2
|
383 |
* KErrSenNoPermission Given IdentityProvider or Username and
|
williamr@2
|
384 |
* Password did not match for IdentityProvider
|
williamr@2
|
385 |
* which is related to found Credential(s).
|
williamr@2
|
386 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
387 |
*/
|
williamr@2
|
388 |
virtual TInt CredentialsL(const TDesC8& aEndpoint,
|
williamr@2
|
389 |
RCredentialArray& aCredentials,
|
williamr@2
|
390 |
RCredentialPropertiesArray& aCredentialProperties) = 0;
|
williamr@2
|
391 |
|
williamr@2
|
392 |
/**
|
williamr@2
|
393 |
* Consumer applications use this method for finding Credentials.
|
williamr@2
|
394 |
*
|
williamr@2
|
395 |
* @param aEndpoint the endpoint which identifies the Credential
|
williamr@2
|
396 |
* @param aIdP the IdentityProvider which should match
|
williamr@2
|
397 |
* for IdentityProvider which is related to
|
williamr@2
|
398 |
* found Credential(s).
|
williamr@2
|
399 |
* @param aCredentials an array with 0 or more Credentials.
|
williamr@2
|
400 |
* The ownership of the array (and Credentials)
|
williamr@2
|
401 |
* is passed to the caller so before the array
|
williamr@2
|
402 |
* goes out of scope in the client, the caller
|
williamr@2
|
403 |
* must call RPointerArray::ResetAndDestroy()
|
williamr@2
|
404 |
* on the array to close the array and delete
|
williamr@2
|
405 |
* all the Credentials in the array.
|
williamr@2
|
406 |
* @param aCredentialProperties an array with 0 or more
|
williamr@2
|
407 |
* CredentialsProperties.
|
williamr@2
|
408 |
* The ownership of the array (and
|
williamr@2
|
409 |
* CredentialProperties) is passed to the caller
|
williamr@2
|
410 |
* so before the array goes out of scope in the
|
williamr@2
|
411 |
* client, the caller must call
|
williamr@2
|
412 |
* RPointerArray::ResetAndDestroy()
|
williamr@2
|
413 |
* on the array to close the array and delete
|
williamr@2
|
414 |
* all the CredentialProperties in the array.
|
williamr@2
|
415 |
* Note: aCredentials array and
|
williamr@2
|
416 |
* aCredentialProperties array are in
|
williamr@2
|
417 |
* sync. If Credential has properties,
|
williamr@2
|
418 |
* properties are placed in same
|
williamr@2
|
419 |
* position in aCredentialProperties array
|
williamr@2
|
420 |
* as raleted Credential in aCredentials
|
williamr@2
|
421 |
* array.
|
williamr@2
|
422 |
* Note: If Credential has no properties,
|
williamr@2
|
423 |
* there is NULL in related position
|
williamr@2
|
424 |
* in aCredentialProperties array.
|
williamr@2
|
425 |
* Status codes:
|
williamr@2
|
426 |
* KErrNone ok
|
williamr@2
|
427 |
*
|
williamr@2
|
428 |
* Error codes:
|
williamr@2
|
429 |
* KErrNotFound Web Services framework couldn't find
|
williamr@2
|
430 |
* the Credentials using given Endpoint.
|
williamr@2
|
431 |
* KErrSenNoPermission Given IdentityProvider did not match for
|
williamr@2
|
432 |
* IdentityProvider which is related to
|
williamr@2
|
433 |
* found Credential.
|
williamr@2
|
434 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
435 |
*/
|
williamr@2
|
436 |
virtual TInt CredentialsL(const TDesC8& aEndpoint,
|
williamr@2
|
437 |
const CSenIdentityProvider& aIdP,
|
williamr@2
|
438 |
RCredentialArray& aCredentials,
|
williamr@2
|
439 |
RCredentialPropertiesArray& aCredentialProperties) = 0;
|
williamr@2
|
440 |
|
williamr@2
|
441 |
/**
|
williamr@2
|
442 |
* Consumer applications use this method for finding Credentials.
|
williamr@2
|
443 |
*
|
williamr@2
|
444 |
* @param aEndpoint the endpoint which identifies the Credential
|
williamr@2
|
445 |
* @param aUserName the username which should match for
|
williamr@2
|
446 |
* username in IdentityProvider which is related
|
williamr@2
|
447 |
* to found Credential(s).
|
williamr@2
|
448 |
* @param aPassword the password which should match for
|
williamr@2
|
449 |
* password in IdentityProvider which is related
|
williamr@2
|
450 |
* to found Credential(s).
|
williamr@2
|
451 |
* @param aCredentials an array with 0 or more Credentials.
|
williamr@2
|
452 |
* The ownership of the array (and Credentials)
|
williamr@2
|
453 |
* is passed to the caller so before the array
|
williamr@2
|
454 |
* goes out of scope in the client, the caller
|
williamr@2
|
455 |
* must call RPointerArray::ResetAndDestroy()
|
williamr@2
|
456 |
* on the array to close the array and delete
|
williamr@2
|
457 |
* all the Credentials in the array.
|
williamr@2
|
458 |
* @param aCredentialProperties an array with 0 or more
|
williamr@2
|
459 |
* CredentialsProperties.
|
williamr@2
|
460 |
* The ownership of the array (and
|
williamr@2
|
461 |
* CredentialProperties) is passed to the caller
|
williamr@2
|
462 |
* so before the array goes out of scope in the
|
williamr@2
|
463 |
* client, the caller must call
|
williamr@2
|
464 |
* RPointerArray::ResetAndDestroy()
|
williamr@2
|
465 |
* on the array to close the array and delete
|
williamr@2
|
466 |
* all the CredentialProperties in the array.
|
williamr@2
|
467 |
* Note: aCredentials array and
|
williamr@2
|
468 |
* aCredentialProperties array are in
|
williamr@2
|
469 |
* sync. If Credential has properties,
|
williamr@2
|
470 |
* properties are placed in same
|
williamr@2
|
471 |
* position in aCredentialProperties array
|
williamr@2
|
472 |
* as raleted Credential in aCredentials
|
williamr@2
|
473 |
* array.
|
williamr@2
|
474 |
* Note: If Credential has no properties,
|
williamr@2
|
475 |
* there is NULL in related position
|
williamr@2
|
476 |
* in aCredentialProperties array.
|
williamr@2
|
477 |
* Status codes:
|
williamr@2
|
478 |
* KErrNone ok
|
williamr@2
|
479 |
*
|
williamr@2
|
480 |
* Error codes:
|
williamr@2
|
481 |
* KErrNotFound Web Services framework couldn't find
|
williamr@2
|
482 |
* the Credentials using given Endpoint.
|
williamr@2
|
483 |
* KErrSenNoPermission Given IdentityProvider did not match for
|
williamr@2
|
484 |
* IdentityProvider which is related to
|
williamr@2
|
485 |
* found Credential.
|
williamr@2
|
486 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
487 |
*/
|
williamr@2
|
488 |
virtual TInt CredentialsL(const TDesC8& aEndpoint,
|
williamr@2
|
489 |
const TDesC8& aUserName,
|
williamr@2
|
490 |
const TDesC8& aPassword,
|
williamr@2
|
491 |
RCredentialArray& aCredentials,
|
williamr@2
|
492 |
RCredentialPropertiesArray& aCredentialProperties) = 0;
|
williamr@2
|
493 |
|
williamr@2
|
494 |
/**
|
williamr@2
|
495 |
* Consumer applications use this method for finding Credentials.
|
williamr@2
|
496 |
* IdentityProvider or Username and Password are given either via
|
williamr@2
|
497 |
* IdentityProviderL() callback or UsernameL() and Password()
|
williamr@2
|
498 |
* callbacks from MSenAuthenticationProvider (which can be given
|
williamr@2
|
499 |
* through specialized NewL or NewLC methods).
|
williamr@2
|
500 |
*
|
williamr@2
|
501 |
* @param aPattern the pattern which identifies the Credential
|
williamr@2
|
502 |
* Note: Pattern which was used to add Credential
|
williamr@2
|
503 |
* has to be used for finding Credential.
|
williamr@2
|
504 |
* Note: Used Framework should specify what
|
williamr@2
|
505 |
* kind of pattern should be used
|
williamr@2
|
506 |
* for storing framework specific
|
williamr@2
|
507 |
* Credentials.
|
williamr@2
|
508 |
* @param aCredentials an array with 0 or more Credentials.
|
williamr@2
|
509 |
* The ownership of the array (and Credentials)
|
williamr@2
|
510 |
* is passed to the caller so before the array
|
williamr@2
|
511 |
* goes out of scope in the client, the caller
|
williamr@2
|
512 |
* must call RPointerArray::ResetAndDestroy()
|
williamr@2
|
513 |
* on the array to close the array and delete
|
williamr@2
|
514 |
* all the Credentials in the array.
|
williamr@2
|
515 |
* @param aCredentialProperties an array with 0 or more
|
williamr@2
|
516 |
* CredentialsProperties.
|
williamr@2
|
517 |
* The ownership of the array (and
|
williamr@2
|
518 |
* CredentialProperties) is passed to the caller
|
williamr@2
|
519 |
* so before the array goes out of scope in the
|
williamr@2
|
520 |
* client, the caller must call
|
williamr@2
|
521 |
* RPointerArray::ResetAndDestroy()
|
williamr@2
|
522 |
* on the array to close the array and delete
|
williamr@2
|
523 |
* all the CredentialProperties in the array.
|
williamr@2
|
524 |
* Note: aCredentials array and
|
williamr@2
|
525 |
* aCredentialProperties array are in
|
williamr@2
|
526 |
* sync. If Credential has properties,
|
williamr@2
|
527 |
* properties are placed in same
|
williamr@2
|
528 |
* position in aCredentialProperties array
|
williamr@2
|
529 |
* as raleted Credential in aCredentials
|
williamr@2
|
530 |
* array.
|
williamr@2
|
531 |
* Note: If Credential has no properties,
|
williamr@2
|
532 |
* there is NULL in related position
|
williamr@2
|
533 |
* in aCredentialProperties array.
|
williamr@2
|
534 |
* Status codes:
|
williamr@2
|
535 |
* KErrNone ok
|
williamr@2
|
536 |
*
|
williamr@2
|
537 |
* Error codes:
|
williamr@2
|
538 |
* KErrNotFound Web Services framework couldn't find
|
williamr@2
|
539 |
* the Credentials using given Endpoint.
|
williamr@2
|
540 |
* KErrSenNoPermission Given IdentityProvider or Username and
|
williamr@2
|
541 |
* Password did not match for IdentityProvider
|
williamr@2
|
542 |
* which is related to found Credential(s).
|
williamr@2
|
543 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
544 |
*/
|
williamr@2
|
545 |
virtual TInt CredentialsL(const MSenServiceDescription& aPattern,
|
williamr@2
|
546 |
RCredentialArray& aCredentials,
|
williamr@2
|
547 |
RCredentialPropertiesArray& aCredentialProperties) = 0;
|
williamr@2
|
548 |
|
williamr@2
|
549 |
/**
|
williamr@2
|
550 |
* Consumer applications use this method for finding Credentials.
|
williamr@2
|
551 |
*
|
williamr@2
|
552 |
* @param aPattern the pattern which identifies the Credential
|
williamr@2
|
553 |
* Note: Pattern which was used to add Credential
|
williamr@2
|
554 |
* has to be used for finding Credential.
|
williamr@2
|
555 |
* Note: Used Framework should specify what
|
williamr@2
|
556 |
* kind of pattern should be used
|
williamr@2
|
557 |
* for storing framework specific
|
williamr@2
|
558 |
* Credentials.
|
williamr@2
|
559 |
* @param aIdP the IdentityProvider which should match
|
williamr@2
|
560 |
* for IdentityProvider which is related to
|
williamr@2
|
561 |
* found Credential(s).
|
williamr@2
|
562 |
* @param aCredentials an array with 0 or more Credentials.
|
williamr@2
|
563 |
* The ownership of the array (and Credentials)
|
williamr@2
|
564 |
* is passed to the caller so before the array
|
williamr@2
|
565 |
* goes out of scope in the client, the caller
|
williamr@2
|
566 |
* must call RPointerArray::ResetAndDestroy()
|
williamr@2
|
567 |
* on the array to close the array and delete
|
williamr@2
|
568 |
* all the Credentials in the array.
|
williamr@2
|
569 |
* @param aCredentialProperties an array with 0 or more
|
williamr@2
|
570 |
* CredentialsProperties.
|
williamr@2
|
571 |
* The ownership of the array (and
|
williamr@2
|
572 |
* CredentialProperties) is passed to the caller
|
williamr@2
|
573 |
* so before the array goes out of scope in the
|
williamr@2
|
574 |
* client, the caller must call
|
williamr@2
|
575 |
* RPointerArray::ResetAndDestroy()
|
williamr@2
|
576 |
* on the array to close the array and delete
|
williamr@2
|
577 |
* all the CredentialProperties in the array.
|
williamr@2
|
578 |
* Note: aCredentials array and
|
williamr@2
|
579 |
* aCredentialProperties array are in
|
williamr@2
|
580 |
* sync. If Credential has properties,
|
williamr@2
|
581 |
* properties are placed in same
|
williamr@2
|
582 |
* position in aCredentialProperties array
|
williamr@2
|
583 |
* as raleted Credential in aCredentials
|
williamr@2
|
584 |
* array.
|
williamr@2
|
585 |
* Note: If Credential has no properties,
|
williamr@2
|
586 |
* there is NULL in related position
|
williamr@2
|
587 |
* in aCredentialProperties array.
|
williamr@2
|
588 |
* Status codes:
|
williamr@2
|
589 |
* KErrNone ok
|
williamr@2
|
590 |
*
|
williamr@2
|
591 |
* Error codes:
|
williamr@2
|
592 |
* KErrNotFound Web Services framework couldn't find
|
williamr@2
|
593 |
* the Credentials using given Endpoint.
|
williamr@2
|
594 |
* KErrSenNoPermission Given IdentityProvider did not match for
|
williamr@2
|
595 |
* IdentityProvider which is related to
|
williamr@2
|
596 |
* found Credential.
|
williamr@2
|
597 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
598 |
*/
|
williamr@2
|
599 |
virtual TInt CredentialsL(const MSenServiceDescription& aPattern,
|
williamr@2
|
600 |
const CSenIdentityProvider& aIdP,
|
williamr@2
|
601 |
RCredentialArray& aCredentials,
|
williamr@2
|
602 |
RCredentialPropertiesArray& aCredentialProperties) = 0;
|
williamr@2
|
603 |
|
williamr@2
|
604 |
/**
|
williamr@2
|
605 |
* Consumer applications use this method for finding Credentials.
|
williamr@2
|
606 |
*
|
williamr@2
|
607 |
* @param aPattern the pattern which identifies the Credential
|
williamr@2
|
608 |
* Note: Pattern which was used to add Credential
|
williamr@2
|
609 |
* has to be used for finding Credential.
|
williamr@2
|
610 |
* Note: Used Framework should specify what
|
williamr@2
|
611 |
* kind of pattern should be used
|
williamr@2
|
612 |
* for storing framework specific
|
williamr@2
|
613 |
* Credentials.
|
williamr@2
|
614 |
* @param aUserName the username which should match for
|
williamr@2
|
615 |
* username in IdentityProvider which is related
|
williamr@2
|
616 |
* to found Credential(s).
|
williamr@2
|
617 |
* @param aPassword the password which should match for
|
williamr@2
|
618 |
* password in IdentityProvider which is related
|
williamr@2
|
619 |
* to found Credential(s).
|
williamr@2
|
620 |
* @param aCredentials an array with 0 or more Credentials.
|
williamr@2
|
621 |
* The ownership of the array (and Credentials)
|
williamr@2
|
622 |
* is passed to the caller so before the array
|
williamr@2
|
623 |
* goes out of scope in the client, the caller
|
williamr@2
|
624 |
* must call RPointerArray::ResetAndDestroy()
|
williamr@2
|
625 |
* on the array to close the array and delete
|
williamr@2
|
626 |
* all the Credentials in the array.
|
williamr@2
|
627 |
* @param aCredentialProperties an array with 0 or more
|
williamr@2
|
628 |
* CredentialsProperties.
|
williamr@2
|
629 |
* The ownership of the array (and
|
williamr@2
|
630 |
* CredentialProperties) is passed to the caller
|
williamr@2
|
631 |
* so before the array goes out of scope in the
|
williamr@2
|
632 |
* client, the caller must call
|
williamr@2
|
633 |
* RPointerArray::ResetAndDestroy()
|
williamr@2
|
634 |
* on the array to close the array and delete
|
williamr@2
|
635 |
* all the CredentialProperties in the array.
|
williamr@2
|
636 |
* Note: aCredentials array and
|
williamr@2
|
637 |
* aCredentialProperties array are in
|
williamr@2
|
638 |
* sync. If Credential has properties,
|
williamr@2
|
639 |
* properties are placed in same
|
williamr@2
|
640 |
* position in aCredentialProperties array
|
williamr@2
|
641 |
* as raleted Credential in aCredentials
|
williamr@2
|
642 |
* array.
|
williamr@2
|
643 |
* Note: If Credential has no properties,
|
williamr@2
|
644 |
* there is NULL in related position
|
williamr@2
|
645 |
* in aCredentialProperties array.
|
williamr@2
|
646 |
*
|
williamr@2
|
647 |
* Status codes:
|
williamr@2
|
648 |
* KErrNone ok
|
williamr@2
|
649 |
*
|
williamr@2
|
650 |
* Error codes:
|
williamr@2
|
651 |
* KErrNotFound Web Services framework couldn't find
|
williamr@2
|
652 |
* the Credentials using given Endpoint.
|
williamr@2
|
653 |
* KErrSenNoPermission Given IdentityProvider did not match for
|
williamr@2
|
654 |
* IdentityProvider which is related to
|
williamr@2
|
655 |
* found Credential.
|
williamr@2
|
656 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
657 |
*/
|
williamr@2
|
658 |
virtual TInt CredentialsL(const MSenServiceDescription& aPattern,
|
williamr@2
|
659 |
const TDesC8& aUserName,
|
williamr@2
|
660 |
const TDesC8& aPassword,
|
williamr@2
|
661 |
RCredentialArray& aCredentials,
|
williamr@2
|
662 |
RCredentialPropertiesArray& aCredentialProperties) = 0;
|
williamr@2
|
663 |
/**
|
williamr@2
|
664 |
* Consumer applications use this method for adding Credential.
|
williamr@2
|
665 |
*
|
williamr@2
|
666 |
* @param aEndpoint the endpoint which identifies the Credential
|
williamr@2
|
667 |
* @param aIdP the IdentityProvider which will be related
|
williamr@2
|
668 |
* to added Credential.
|
williamr@2
|
669 |
* @param aCredential the Credential which will be added.
|
williamr@2
|
670 |
* Status codes:
|
williamr@2
|
671 |
* KErrNone ok
|
williamr@2
|
672 |
*
|
williamr@2
|
673 |
* Error codes:
|
williamr@2
|
674 |
* KErrBadDescriptor One of the parameters was invalid.
|
williamr@2
|
675 |
* KErrNotFound Given IdentityProvider was not found
|
williamr@2
|
676 |
* and because of that Credential could
|
williamr@2
|
677 |
* not be added. (Fix: Register IdentityProvider
|
williamr@2
|
678 |
* first and try to add Credential after that.)
|
williamr@2
|
679 |
*
|
williamr@2
|
680 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
681 |
*/
|
williamr@2
|
682 |
virtual TInt AddCredentialL(const TDesC8& aEndpoint,
|
williamr@2
|
683 |
const CSenIdentityProvider& aIdP,
|
williamr@2
|
684 |
const CSenCredential2& aCredential) = 0;
|
williamr@2
|
685 |
|
williamr@2
|
686 |
/**
|
williamr@2
|
687 |
* Consumer applications use this method for adding Credential.
|
williamr@2
|
688 |
*
|
williamr@2
|
689 |
* @param aPattern the pattern which identifies the Credential
|
williamr@2
|
690 |
* Note: Exactly the same pattern has to be
|
williamr@2
|
691 |
* used for finding Credential.
|
williamr@2
|
692 |
* Note: Used Framework should specify what
|
williamr@2
|
693 |
* kind of pattern should be used
|
williamr@2
|
694 |
* for handling framework specific
|
williamr@2
|
695 |
* Credentials.
|
williamr@2
|
696 |
* @param aIdP the IdentityProvider which will be related
|
williamr@2
|
697 |
* to added Credential.
|
williamr@2
|
698 |
* @param aCredential the Credential which will be added.
|
williamr@2
|
699 |
*
|
williamr@2
|
700 |
* Status codes:
|
williamr@2
|
701 |
* KErrNone ok
|
williamr@2
|
702 |
*
|
williamr@2
|
703 |
* Error codes:
|
williamr@2
|
704 |
* KErrBadDescriptor One of the parameters was invalid.
|
williamr@2
|
705 |
* KErrNotFound Given IdentityProvider was not found
|
williamr@2
|
706 |
* and because of that Credential could
|
williamr@2
|
707 |
* not be added. (Fix: Register IdentityProvider
|
williamr@2
|
708 |
* first and try to add Credential after that)
|
williamr@2
|
709 |
*
|
williamr@2
|
710 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
711 |
*/
|
williamr@2
|
712 |
virtual TInt AddCredentialL(const MSenServiceDescription& aPattern,
|
williamr@2
|
713 |
const CSenIdentityProvider& aIdP,
|
williamr@2
|
714 |
const CSenCredential2& aCredential) = 0;
|
williamr@2
|
715 |
|
williamr@2
|
716 |
/**
|
williamr@2
|
717 |
* Consumer applications use this method for adding Credential.
|
williamr@2
|
718 |
*
|
williamr@2
|
719 |
* @param aEndpoint the endpoint which identifies the
|
williamr@2
|
720 |
* Credential
|
williamr@2
|
721 |
* @param aIdP the IdentityProvider which will be
|
williamr@2
|
722 |
* related to added Credential.
|
williamr@2
|
723 |
* @param aCredential the Credential which will be added.
|
williamr@2
|
724 |
* @param aCredentialProperties the properties for Credential
|
williamr@2
|
725 |
* Status codes:
|
williamr@2
|
726 |
* KErrNone ok
|
williamr@2
|
727 |
*
|
williamr@2
|
728 |
* Error codes:
|
williamr@2
|
729 |
* KErrBadDescriptor One of the parameters was invalid.
|
williamr@2
|
730 |
* KErrNotFound Given IdentityProvider was not found
|
williamr@2
|
731 |
* and because of that Credential could
|
williamr@2
|
732 |
* not be added. (Fix: Register IdentityProvider
|
williamr@2
|
733 |
* first and try to add Credential after that.)
|
williamr@2
|
734 |
*
|
williamr@2
|
735 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
736 |
*/
|
williamr@2
|
737 |
virtual TInt AddCredentialL(const TDesC8& aEndpoint,
|
williamr@2
|
738 |
const CSenIdentityProvider& aIdP,
|
williamr@2
|
739 |
const CSenCredential2& aCredential,
|
williamr@2
|
740 |
const CSenXmlProperties& aCredentialProperties) = 0;
|
williamr@2
|
741 |
|
williamr@2
|
742 |
/**
|
williamr@2
|
743 |
* Consumer applications use this method for adding Credential.
|
williamr@2
|
744 |
*
|
williamr@2
|
745 |
* @param aPattern the pattern which identifies the
|
williamr@2
|
746 |
* Credential
|
williamr@2
|
747 |
* Note: Exactly the same pattern has
|
williamr@2
|
748 |
* to be used for finding
|
williamr@2
|
749 |
* Credential.
|
williamr@2
|
750 |
* Note: Used Framework should specify
|
williamr@2
|
751 |
* what kind of pattern should be
|
williamr@2
|
752 |
* used for handling framework
|
williamr@2
|
753 |
* specific Credentials.
|
williamr@2
|
754 |
* @param aIdP the IdentityProvider which will be
|
williamr@2
|
755 |
* related to added Credential.
|
williamr@2
|
756 |
* @param aCredential the Credential which will be added.
|
williamr@2
|
757 |
* @param aCredentialProperties the properties for Credential
|
williamr@2
|
758 |
*
|
williamr@2
|
759 |
* Status codes:
|
williamr@2
|
760 |
* KErrNone ok
|
williamr@2
|
761 |
*
|
williamr@2
|
762 |
* Error codes:
|
williamr@2
|
763 |
* KErrBadDescriptor One of the parameters was invalid.
|
williamr@2
|
764 |
* KErrNotFound Given IdentityProvider was not found
|
williamr@2
|
765 |
* and because of that Credential could
|
williamr@2
|
766 |
* not be added. (Fix: Register IdentityProvider
|
williamr@2
|
767 |
* first and try to add Credential after that)
|
williamr@2
|
768 |
*
|
williamr@2
|
769 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
770 |
*/
|
williamr@2
|
771 |
virtual TInt AddCredentialL(const MSenServiceDescription& aPattern,
|
williamr@2
|
772 |
const CSenIdentityProvider& aIdP,
|
williamr@2
|
773 |
const CSenCredential2& aCredential,
|
williamr@2
|
774 |
const CSenXmlProperties& aCredentialProperties) = 0;
|
williamr@2
|
775 |
|
williamr@2
|
776 |
/**
|
williamr@2
|
777 |
* Consumer applications use this method for removing Credentials.
|
williamr@2
|
778 |
*
|
williamr@2
|
779 |
* @param aPattern the pattern which identifies the Credential
|
williamr@2
|
780 |
* Note: Pattern which was used to add Credential
|
williamr@2
|
781 |
* has to be used for removing Credential.
|
williamr@2
|
782 |
* Note: Used Framework should specify what
|
williamr@2
|
783 |
* kind of pattern should be used
|
williamr@2
|
784 |
* for handling framework specific
|
williamr@2
|
785 |
* Credentials.
|
williamr@2
|
786 |
* @param aIdP the IdentityProvider which should match
|
williamr@2
|
787 |
* for IdentityProvider which is related to
|
williamr@2
|
788 |
* found Credential(s).
|
williamr@2
|
789 |
* Status codes:
|
williamr@2
|
790 |
* KErrNone ok
|
williamr@2
|
791 |
*
|
williamr@2
|
792 |
* Error codes:
|
williamr@2
|
793 |
* KErrNotFound Web Services framework couldn't find
|
williamr@2
|
794 |
* the Credentials using given Pattern.
|
williamr@2
|
795 |
* KErrSenNoPermission Given IdentityProvider did not match for
|
williamr@2
|
796 |
* IdentityProvider which is related to
|
williamr@2
|
797 |
* found Credential(s).
|
williamr@2
|
798 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
799 |
*/
|
williamr@2
|
800 |
virtual TInt RemoveCredentialsL(const MSenServiceDescription& aPattern,
|
williamr@2
|
801 |
const CSenIdentityProvider& aIdP) = 0;
|
williamr@2
|
802 |
|
williamr@2
|
803 |
/**
|
williamr@2
|
804 |
* Consumer applications use this method for removing Credentials.
|
williamr@2
|
805 |
*
|
williamr@2
|
806 |
* @param aIdP the IdentityProvider which should match
|
williamr@2
|
807 |
* for IdentityProvider which is related to
|
williamr@2
|
808 |
* found Credential(s).
|
williamr@2
|
809 |
* Status codes:
|
williamr@2
|
810 |
* KErrNone ok
|
williamr@2
|
811 |
*
|
williamr@2
|
812 |
* Error codes:
|
williamr@2
|
813 |
* KErrNotFound Web Services framework couldn't find
|
williamr@2
|
814 |
* the Credentials using given Pattern.
|
williamr@2
|
815 |
* KErrSenNoPermission Given IdentityProvider did not match for
|
williamr@2
|
816 |
* IdentityProvider which is related to
|
williamr@2
|
817 |
* found Credential(s).
|
williamr@2
|
818 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
819 |
*/
|
williamr@2
|
820 |
virtual TInt RemoveCredentialsL(const CSenIdentityProvider& aIdP) = 0;
|
williamr@2
|
821 |
|
williamr@2
|
822 |
/**
|
williamr@2
|
823 |
* Consumer applications use this method for removing Credentials.
|
williamr@2
|
824 |
*
|
williamr@2
|
825 |
* @param aPattern the pattern which identifies the Credential
|
williamr@2
|
826 |
* Note: Pattern which was used to add Credential
|
williamr@2
|
827 |
* has to be used for finding Credential.
|
williamr@2
|
828 |
* Note: Used Framework should specify what
|
williamr@2
|
829 |
* kind of pattern should be used
|
williamr@2
|
830 |
* for handling framework specific
|
williamr@2
|
831 |
* Credentials.
|
williamr@2
|
832 |
* @param aUserName the username which should match for
|
williamr@2
|
833 |
* username in IdentityProvider which is related
|
williamr@2
|
834 |
* to found Credential(s).
|
williamr@2
|
835 |
* @param aPassword the password which should match for
|
williamr@2
|
836 |
* password in IdentityProvider which is related
|
williamr@2
|
837 |
* to found Credential(s).
|
williamr@2
|
838 |
* Status codes:
|
williamr@2
|
839 |
* KErrNone ok
|
williamr@2
|
840 |
*
|
williamr@2
|
841 |
* Error codes:
|
williamr@2
|
842 |
* KErrNotFound Web Services framework couldn't find
|
williamr@2
|
843 |
* the Credentials using given Pattern.
|
williamr@2
|
844 |
* KErrSenNoPermission Given Username and Password did not match for
|
williamr@2
|
845 |
* IdentityProvider which is related to
|
williamr@2
|
846 |
* found Credential(s).
|
williamr@2
|
847 |
* Other error codes are system-wide Symbian error codes.
|
williamr@2
|
848 |
*/
|
williamr@2
|
849 |
virtual TInt RemoveCredentialsL(const MSenServiceDescription& aPattern,
|
williamr@2
|
850 |
const TDesC8& aUserName,
|
williamr@2
|
851 |
const TDesC8& aPassword) = 0;
|
williamr@2
|
852 |
|
williamr@2
|
853 |
|
williamr@2
|
854 |
/**
|
williamr@2
|
855 |
* This method provides an interface which is identified by unique ID (UID).
|
williamr@2
|
856 |
* @param aUID is the UID of the interface being requested
|
williamr@2
|
857 |
* @return TAny* pointer to the interface, or if no interface to
|
williamr@2
|
858 |
* given UID exists, function returns NULL. In typical cases, returned
|
williamr@2
|
859 |
* pointer should be cast to some preknown M-class pointer (the actual
|
williamr@2
|
860 |
* new interface).
|
williamr@2
|
861 |
*
|
williamr@2
|
862 |
* Currently, there is only one supported interface:
|
williamr@2
|
863 |
* KSenInterfaceUidInternalServiceManager => MSenInternalServiceManager
|
williamr@2
|
864 |
*/
|
williamr@2
|
865 |
virtual TAny* InterfaceByUid( TUid aUID ) = 0;
|
williamr@2
|
866 |
|
williamr@2
|
867 |
protected:
|
williamr@2
|
868 |
|
williamr@2
|
869 |
/**
|
williamr@2
|
870 |
* C++ default constructor
|
williamr@2
|
871 |
*/
|
williamr@2
|
872 |
CSenServiceManager();
|
williamr@2
|
873 |
};
|
williamr@2
|
874 |
|
williamr@2
|
875 |
#endif //SEN_SERVICE_MANAGER_H
|
williamr@2
|
876 |
|
williamr@2
|
877 |
// End of File
|
williamr@2
|
878 |
|