--- a/authenticationservices/authenticationserver/source/client/authmgrclient.cpp Thu Aug 19 11:18:56 2010 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,276 +0,0 @@
-/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* authmgrclient - exported authentication client session implementation
-*
-*/
-
-
-/**
- @file
-*/
-
-#include "authclient_impl.h"
-#include "authserverutil.h"
-
-using namespace AuthServer;
-
-/**
- * Register a new identity. This causes the server to create a new
- * identity and attempt to train the user with all available active
- * plugins. At least one plugin must be trained for this to be succesful.
- *
- * @param aIdentity The new heap allocated identity details will be
- * pointed at by this parameter upon successful completion.
- *
- * @param aDescription The identity's description text.
- *
- * @param aRequest This status object will be completed when this
- * asynchronous call finishes, the return values are described below.
- *
- * @capability TrustedUI
- *
- * @return KErrServerTerminated, if the server no longer present
- * @return KErrServerBusy, if the request cannot be handled at this time.
- * @return KErrNoMemory, if there is insufficient memory available.
- * @return KErrPermissionDenied, if the caller has insufficient capabilities.
- * @return KErrAuthServRegistrationFailed, if the all plugins failed to
- * successfully train for the identity.
- **/
-EXPORT_C void RAuthMgrClient::RegisterIdentityL(
- CIdentity*& aIdentity,
- const TDesC& aDescription,
- TRequestStatus& aRequest)
- {
- CheckAsyncDecoderL();
- iAsyncResponseDecoder->RegisterIdentityL(aIdentity, aDescription, aRequest);
- }
-
-/**
- * Remove an identity.
- *
- * @param aId The identity to remove.
- *
- * @capability WriteDeviceData
- *
- * @leave KErrServerTerminated, if the server no longer present
- * @leave KErrServerBusy, if the request cannot be handled at this time.
- * @leave KErrNoMemory, if there is insufficient memory available.
- * @leave KErrPermissionDenied, if the caller has insufficient capabilities.
- * @leave KErrAuthServIdentityNotFound, if the id does not exist.
- **/
-EXPORT_C void RAuthMgrClient::RemoveIdentityL(
- TIdentityId aId)
- {
- User::LeaveIfError(CallSessionFunction(ERemoveIdentity, TIpcArgs(aId)));
- }
-
-/**
- * Train an authentication plugin for the specified identity. The identity
- * to be trained must be authenticated prior to training. This is
- * necessary for the AuthServer to decrypt the protection key prior to
- * encrypting it with the new key generated through training.
- *
- * @param aId The identity for whom to train the plugin.
- *
- * @param aPlugin The id of the plugin to train.
- *
- * @param aRequest This status object will be completed when this
- * asynchronous call finishes.
- *
- * @capability WriteUserData
- *
- * @return KErrServerTerminated, if the server no longer present
- * @return KErrServerBusy, if the request cannot be handled at this time.
- * @return KErrNoMemory, if there is insufficient memory available.
- * @return KErrPermissionDenied, if the caller has insufficient capabilities.
- * @return KErrAuthServIdentityNotFound, if the id does not exist.
- * @return KErrAuthServNoSuchPlugin, if the plugin does not exist.
- * @return KErrAuthServAuthenticationRequired, if the identity to be
- * trained is not currently authenticated.
- **/
-EXPORT_C void RAuthMgrClient::TrainPlugin(
- TIdentityId aId,
- TPluginId aPlugin,
- TRequestStatus& aRequest)
- {
- CallSessionFunction(ETrainPlugin, TIpcArgs(aId, aPlugin), aRequest);
- }
-
-
-/**
- * Remove the specified plugin as an authentication method for the
- * identity.
- *
- * @param aId The identity for whom to forget plugin training.
- *
- * @param aPlugin The id of the plugin to retrain.
- *
- * @capability WriteUserData
- *
- * @return KErrServerTerminated, if the server no longer present
- * @return KErrServerBusy, if the request cannot be handled at this time.
- * @return KErrNoMemory, if there is insufficient memory available.
- * @return KErrPermissionDenied, if the caller has insufficient capabilities.
- * @return KErrAuthServIdentityNotFound, if the id does not exist.
- * @return KErrAuthServNoSuchPlugin, if the plugin does not exist.
- **/
-EXPORT_C void RAuthMgrClient::ForgetPluginL(
- TIdentityId aId,
- TPluginId aPlugin)
- {
- User::LeaveIfError(CallSessionFunction(EForgetPlugin, TIpcArgs(aId, aPlugin)));
- }
-
-
-/**
- * Specifies the preferred plugin for the named type.
- *
- * @param aType The type of plugin for which to define the preference.
- *
- * @param aPluginId The id of the preferred plugin for the specified type.
- *
- * @capability WriteDeviceData
- *
- * @return KErrServerTerminated, if the server no longer present
- * @return KErrServerBusy, if the request cannot be handled at this time.
- * @return KErrNoMemory, if there is insufficient memory available.
- * @return KErrPermissionDenied, if the caller has insufficient capabilities.
- * @return KErrAuthServNoSuchPlugin, if the plugin does not exist.
- * @return KErrArgument, if aType does not match the plugin's type.
- **/
-EXPORT_C void RAuthMgrClient::SetPreferredTypePluginL(TAuthPluginType aType,
- TPluginId aPluginId)
- {
- User::LeaveIfError(CallSessionFunction(ESetAuthPreferences, TIpcArgs(aType, aPluginId)));
- }
-
-/**
- * Reset the training data of a registered identity.
- *
- * @param aId The identity to reset.
- *
- * @param aRegistrationInformation The regisration information to be used for
- * identifying the user. This data is meaningful for knowledge based authentication
- * server plugins (here the registration data could be the passphrase).
- * Note that a plugin may choose to ignore the supplied registration data and simply
- * remove the identity from its records.
- *
- * @capability WriteDeviceData
- *
- * @return KErrServerTerminated, if the server no longer present
- * @return KErrServerBusy, if the request cannot be handled at this time.
- * @return KErrNoMemory, if there is insufficient memory available.
- * @return KErrPermissionDenied, if the caller has insufficient capabilities.
- * @return KErrAuthServIdentityNotFound, if the id cannot be found.
- * @return KErrAuthServResetMayLoseIdentity, if a reset can result in the loss of an identity.
- * @see KErrAuthServResetMayLoseIdentity.
- * @return KErrArgument, if the supplied arguments are incorrect.
- * @return ... any of the system-wide error codes.
- **/
-EXPORT_C void RAuthMgrClient::ResetIdentityL(TIdentityId aId,
- const TDesC& aRegistrationInformation)
- {
- // Sanity check arguments
- if (aId == 0)
- {
- User::Leave(KErrArgument);
- }
- User::LeaveIfError(CallSessionFunction(EResetIdentity, TIpcArgs(aId, &aRegistrationInformation)));
- }
-
-/**
- * Reset the training data of a registered identity.
- *
- * @param aId The identity to reset.
- *
- * @param aPluginType The type of plugins for which to supply the registration data during the reset.
- * Note that currently only EAuthKnowledge type plugins is supported for this parameter.
- *
- * @param aRegistrationInformation The regisration information to be used for
- * identifying the user. This data is meaningful for knowledge based authentication
- * server plugins (here the registration data could be the passphrase).
- * Note that a plugin may choose to ignore the supplied registration data and simply
- * remove the identity from its records.
- *
- * @capability WriteDeviceData
- *
- * @return KErrServerTerminated, if the server no longer present
- * @return KErrServerBusy, if the request cannot be handled at this time.
- * @return KErrNoMemory, if there is insufficient memory available.
- * @return KErrPermissionDenied, if the caller has insufficient capabilities.
- * @return KErrAuthServIdentityNotFound, if the id cannot be found.
- * @return KErrAuthServResetMayLooseIdentity, if a reset can result in the loss of an identity.
- * @see KErrAuthServResetMayLooseIdentity.
- * @return KErrArgument, if the supplied arguments are incorrect.
- * @return ... any of the system-wide error codes.
- **/
-EXPORT_C void RAuthMgrClient::ResetIdentityL(TIdentityId aId,
- TAuthPluginType aPluginType,
- const TDesC& aRegistrationInformation)
- {
- // Sanity check arguments
- if (aId == 0)
- {
- User::Leave(KErrArgument);
- }
- User::LeaveIfError(CallSessionFunction(EResetIdentityByType, TIpcArgs(aId, aPluginType, &aRegistrationInformation)));
- }
-
-/**
- * Reset the training data of a registered identity.
- *
- * @param aId The identity to reset.
- *
- * @param aPluginIdList The list of plugin ids for which to supply the registration data during the reset.
- *
- * @param aRegistrationInformation An array of regisration information to be used for
- * identifying the user. The order of elements in this array correspond to the order of plugin ids in
- * aPluginIdList. This data is meaningful for knowledge based authentication server
- * plugins (here the registration data could be the passphrase).
- * Note that a plugin may choose to ignore the supplied registration data and simply
- * remove the identity from its records.
- *
- * @capability WriteDeviceData
- *
- * @return KErrServerTerminated, if the server no longer present
- * @return KErrServerBusy, if the request cannot be handled at this time.
- * @return KErrNoMemory, if there is insufficient memory available.
- * @return KErrPermissionDenied, if the caller has insufficient capabilities.
- * @return KErrAuthServIdentityNotFound, if the id cannot be found.
- * @return KErrAuthServResetMayLooseIdentity, if a reset can result in the loss of an identity.
- * @see KErrAuthServResetMayLooseIdentity.
- * @return KErrArgument, if the supplied arguments are incorrect.
- * @return ... any of the system-wide error codes.
- **/
-EXPORT_C void RAuthMgrClient::ResetIdentityL(TIdentityId aId,
- RArray<TPluginId>& aPluginIdList,
- RPointerArray<const HBufC>& aRegistrationInformation)
- {
- // Sanity check arguments
- TInt count = aPluginIdList.Count();
- if ((aId == 0) || (count < 1) || (count != aRegistrationInformation.Count()))
- {
- User::Leave(KErrArgument);
- }
-
- // Flatten aPluginIdList
- HBufC8* bufPluginIds = AuthServerUtil::FlattenDataArrayLC(aPluginIdList);
-
- // Flatten aRegistrationInformation
- HBufC8* bufRegInfo = AuthServerUtil::FlattenDataPointerArrayLC(aRegistrationInformation);
-
- User::LeaveIfError(CallSessionFunction(EResetIdentityByList, TIpcArgs(aId, bufPluginIds, bufRegInfo)));
- CleanupStack::PopAndDestroy(2, bufPluginIds); // bufRegInfo
- }