classicui_plat/alternate_fs_api/inc/akncapserveralternatefsplugin.h
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/classicui_plat/alternate_fs_api/inc/akncapserveralternatefsplugin.h	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2005-2008 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:  
+*
+*/
+
+#ifndef AKNCAPSERVERALTERNATEFSPLUGIN_H
+#define AKNCAPSERVERALTERNATEFSPLUGIN_H
+
+#include <e32base.h>
+#include <ecom/ecom.h>
+
+/**
+ * Base class for ECOM plugins which provide alternate fast swap window 
+ * functionality. AknCapServer will load the first of the found plugins or
+ * if none found then use the built-in fast swapper.
+ */
+class CAknCapAppServerAlternateFs : public CBase
+	{
+public:
+    
+    /**
+     * Symbian two phased constructors.
+     *
+     * @param aImplementationUid Implementation to create.
+     * @return CAlternateFsPlugin pointer.
+     */
+    inline static CAknCapAppServerAlternateFs* NewL( 
+        const TUid& aImplementationUid );
+    
+    /**
+     * Destructor.
+     */
+    inline virtual ~CAknCapAppServerAlternateFs();
+    
+    /**
+     * Shows the alternate fast swap.
+     */
+    virtual void Show() = 0;
+
+    /**
+     * Dismisses the alternate fast swap.
+     */
+    virtual void Dismiss() = 0;
+
+    /**
+     * Checks if alternate fast swap is currently visible.
+     * 
+     * @return ETrue If alternate FS is visible.
+     */    
+    virtual TBool IsVisible() = 0;
+
+    /**
+     * Checks if alternate fast swap is ready to be shown.
+     * 
+     * @return ETrue If alternate FS is ready.
+     */    
+    virtual TBool IsReady() = 0;
+
+    /**
+     * Returns the ecom implementation uid of this plugin.
+     **/
+    inline TUid ImplementationUid() const;
+
+	/**
+     * Forward long app key to the alternate fast swap
+     */
+    virtual void HandleLongAppKeyPress() = 0;
+    
+    /**
+     * Forward short app key to the alternate fast swap
+     */
+    virtual void HandleShortAppKeyPress() = 0;
+
+private:
+    
+    /** Destructor Id */
+    TUid iDtorKey;
+    
+    /** Impl uid */
+    TUid iImplUid;
+    
+    /** For future purposes */
+    TInt iReserved0;
+    TInt iReserved1;
+    TInt iReserved2;
+    TInt iReserved3;    
+    };
+
+// Inline functions
+#include <akncapserveralternatefsplugin.inl>
+    
+#endif // AKNCAPSERVERALTERNATEFSPLUGIN_H