diff -r cd501b96611d -r ece3df019add authenticationservices/authenticationserver/inc/authserver/authclient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/authenticationservices/authenticationserver/inc/authserver/authclient.h Tue Nov 24 09:06:03 2009 +0200 @@ -0,0 +1,135 @@ +/* +* 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: +* RAuthclient - external authentication client session interface +* The defined fuctionality is used by clients to access the authentication +* server. +* The access to a specific functionality is dependant on the client +* capabilities and may be restricted. +* +*/ + + +/** + @file + @publishedAll + @released +*/ + +#ifndef AUTHCLIENT_H +#define AUTHCLIENT_H + +#include "authserver/identity.h" +#include "authserver/authexpression.h" +#include "authserver/plugindesc.h" +#include "authserver/idandstring.h" +#include +namespace AuthServer +{ + +class CAsyncResponseDecoder; + +/** + * Client side interface to the authentication server providing general + * authentication and plugin query services. + * + */ +class RAuthClient : public RScsClientBase + { + + friend class CAsyncResponseDecoder; + +public: + + IMPORT_C RAuthClient(); + + IMPORT_C TInt Connect(); + + IMPORT_C void AuthenticateL( + const CAuthExpression& aExpression, + TTimeIntervalSeconds aTimeout, + TBool aClientSpecificKey, + TBool aWithString, + CIdentity*& aIdentityResult, + TRequestStatus& aStatus); + + IMPORT_C CIdentity* AuthenticateL( + const CAuthExpression& aExpression, + TTimeIntervalSeconds aTimeout, + TBool aClientSpecificKey, + TBool aWithString); + + IMPORT_C CIdentity* AuthenticateL( + const CAuthExpression& aAuthExpression, + TTimeIntervalSeconds aTimeout, + TBool aClientSpecificKey, + TUid aClientSid, + TBool aWithString, + const TDesC& aClientMessage); + + IMPORT_C void AuthenticateL( + const CAuthExpression& aAuthExpression, + TTimeIntervalSeconds aTimeout, + TBool aClientSpecificKey, + TUid aClientSid, + TBool aWithString, + const TDesC& aClientMessage, + CIdentity*& aIdentityResult, + TRequestStatus& aStatus + ); + + IMPORT_C void DeauthenticateL(); + + IMPORT_C void PluginsL(RPluginDescriptions& aPluginList); + IMPORT_C void ActivePluginsL(RPluginDescriptions& aPluginList); + IMPORT_C void PluginsOfTypeL(TAuthPluginType aType, + RPluginDescriptions& aPluginList); + + IMPORT_C void PluginsWithTrainingStatusL( + TAuthTrainingStatus aStatus, + RPluginDescriptions& aPluginList); + + IMPORT_C void IdentitiesL(RIdentityIdArray& aIdList); + IMPORT_C void IdentitiesWithStringL(RIdAndStringArray& aList); + + IMPORT_C HBufC* IdentityStringL(TIdentityId aId); + IMPORT_C void SetIdentityStringL(TIdentityId aId, const TDesC& aString); + + IMPORT_C TPluginId PreferredTypePluginL(TAuthPluginType aPluginType); + + IMPORT_C TUint Cancel(); + IMPORT_C void Close(); + + IMPORT_C void ListAuthAliasesL(RPointerArray& aAuthAliasList); + + IMPORT_C CAuthExpression* CreateAuthExpressionL(const TDesC& aAuthString) const; + +protected: + /* @internalComponent */ + void CheckAsyncDecoderL(); + /* @internalComponent */ + HBufC8* SendReceiveBufferLC(TInt aMessage); + /* @internalComponent */ + HBufC8* SendReceiveBufferLC(TInt aMessage, TIpcArgs& aArgs); + +private: + TInt StartAuthServer(); + +protected: + CAsyncResponseDecoder* iAsyncResponseDecoder; +}; + +} // namespace +#endif +