diff -r 90fe62538f66 -r 5f281e37a2f5 defaultapplicationsettings/server/inc/das_service.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defaultapplicationsettings/server/inc/das_service.h Wed Sep 01 12:33:30 2010 +0100 @@ -0,0 +1,122 @@ +/* +* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "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: The Default App Service implementation (server-side) +* +*/ + + + +#ifndef C_DEFAULTAPPSERVICE_H +#define C_DEFAULTAPPSERVICE_H + +#include + +class CDefaultAppServer; + +/** + * This class implements the Default Application server-side service. + * + * @since Series 60 v5.0 + */ +class CDefaultAppService : public CAknAppServiceBase + { +public: + enum TIpcMessageIds + { + ESetDefaultAll = RApaAppServiceBase::KServiceCmdBase + }; + + /** + * Symbian OS two-phased constructor + * @return + */ + static CDefaultAppService* NewL(const CDefaultAppServer* aServer); + + /** + * Destructor. + */ + virtual ~CDefaultAppService(); + +public: // from base class CAknAppServiceBase + + /** + * From CAknAppServiceBase. + * function called when a new message is received + * + * @since S60 v5.0 + * @param aMessage the received service message + */ + void ServiceL(const RMessage2& aMessage); + + /** + * From CAknAppServiceBase. + * function called to check client credentials. Used to retrieve client app UID + * + * @since S60 v5.0 + * @param aMsg the message being received + */ + CPolicyServer::TCustomResult SecurityCheckL(const RMessage2& aMsg, TInt& aAction, TSecurityInfo& aMissing); + +private: //construction + + /** + * C++ constructor. + */ + CDefaultAppService(const CDefaultAppServer* aServer); + + /** + * Sets default for all the Service & MIME pairs supported by the client + * + * @since S60 v5.0 + * @param aMessage the received service message + */ + void HandleSetDefaultAllL(const RMessage2& aMessage); + + /** + * Function where most of the processing happens. + * We use it so that the service request from the client returns immediately + * + * @since S60 v5.0 + * @param aInstance a pointer to the calling CDefaultAppService instance + */ + static TInt IdleWorker(TAny *aInstance); + +public: + /** + * The Uid of the client application + */ + TUid iClientUid; + + /** + * Service flags requested by the client + */ + TInt iServiceFlags; + + /** + * pointer to the server + * Not owned. + */ + const CDefaultAppServer* iDefaultAppServer; //not owned + + /** + * Active Object where most of the processing happens. We use it so that the service + * call returns immediately. + * Owned. + */ + CIdle *iIdle; + }; + +#endif // C_DEFAULTAPPSERVICE_H + +// End of File