classicui_plat/extended_notifiers_api/inc/AknNotiferAppServerApplication.h
changeset 0 2f259fa3e83a
--- /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 <AknDoc.h>
+#include <aknapp.h>
+#include <aknappui.h>
+#include <aknappui.h>
+
+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
+