diff -r 000000000000 -r 2f259fa3e83a classicui_plat/extended_notifiers_api/inc/AknNotiferAppServerApplication.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/classicui_plat/extended_notifiers_api/inc/AknNotiferAppServerApplication.h Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,126 @@ +/* +* Copyright (c) 2004-2007 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: Notifier server app wrapper implementation. +* +*/ + +#ifndef __AKNNOTIFIERSERVERAPPLICATION__ +#define __AKNNOTIFIERSERVERAPPLICATION__ + +#include +#include +#include +#include + +class CAknNotifierManagerExtension; +class MEikSrvNotifierManager; +class CAknNotifierControllerUtility; + +//---------------------------------- +// Application +//---------------------------------- +class CAknNotifierAppServerApplication : public CAknApplication + { +public: + IMPORT_C CAknNotifierAppServerApplication(); + IMPORT_C ~CAknNotifierAppServerApplication(); + +public: // CAknApplication + IMPORT_C void NewAppServerL(CApaAppServer*& aAppServer); + IMPORT_C CApaDocument* CreateDocumentL(); + }; + +//---------------------------------- +// Document +//---------------------------------- +class CAknNotifierAppServerDocument : public CAknDocument + { +public: + CAknNotifierAppServerDocument(CEikApplication& aApp):CAknDocument(aApp){}; + +private: // from CAknDocument + CEikAppUi* CreateAppUiL(); + }; + +//---------------------------------- +// AppUi +//---------------------------------- +class CAknNotifierAppServerAppUi : public CAknAppUi + { +public: + IMPORT_C CAknNotifierAppServerAppUi(); + IMPORT_C ~CAknNotifierAppServerAppUi(); + +public: //from CAknAppUi + IMPORT_C void ConstructL(); + IMPORT_C void HandleCommandL(TInt aCommand); + IMPORT_C TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType); + IMPORT_C void SetFadedL(TBool aFade); + + IMPORT_C TErrorHandlerResponse HandleError( + TInt aError, + const SExtendedError& aExtErr, + TDes& aErrorText, + TDes& aContextText); + + IMPORT_C void HandleSystemEventL(const TWsEvent& aEvent); + +public: // new methods + /** + * Command AppUi to suppress appskey, ie. prevent app switch and FSW. + * Method is synchronous. + * @since 3.0 + * @param aSupress Set AppsKey blocked + * @return Return KErrNone on success, otherwise system wide error code. + */ + IMPORT_C TInt SuppressAppSwitching(TBool aSuppress); + + /** + * Set non-standard notifier manager, see Manager(). + * Does not take ownership. + * @since 3.0 + * @param aManager Instance which implements MEikSrvNotifierManager. + */ + IMPORT_C void SetManager(MEikSrvNotifierManager* aManager); + + /** + * Returns pointer to instance implemeting MEikSrvNotifierManager. + * If manager is not set by SetManager() defaults to CEikEnv::AppServer(). + * @since 3.0 + * @return Pointer instance which acts as MEikSrvNotifierManager in this process. + */ + IMPORT_C MEikSrvNotifierManager* Manager(); + + IMPORT_C TBool& EikSrvBlocked(); + +public: //for internal use + void BaseCallFadeL(TBool aFade); + CAknNotifierControllerUtility* NotifierControllerUtility(); + +protected: + /** + * Sets ordinal position of this application window group (using priority + * ECoeAlwaysAtFront). + * @since 3.0 + */ + IMPORT_C void SetOrdinalPositionL(TInt aPosition); + +private: + CAknNotifierManagerExtension* iExtension; + }; + +#endif + +// End of file +