diff -r 613943a21004 -r 9386f31cc85b bluetoothengine/btui/Ecom/inc/BTUIBlockedDevicesView.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bluetoothengine/btui/Ecom/inc/BTUIBlockedDevicesView.h Wed Sep 01 12:20:04 2010 +0100 @@ -0,0 +1,176 @@ +/* +* Copyright (c) 2006-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: The view that handles paired devices. +* +*/ + +#ifndef BTUIBLOCKEDDEVICESVIEW_H +#define BTUIBLOCKEDDEVICESVIEW_H + +#include +#include // Menu pane definitions +#include +#include "BtuiPluginInterface.h" +#include "BTUIListedDevicesView.h" +#include + + +class CGSTabHelper; +class CBTUIMainView; //base view +class CBTUiDeviceContainer; +class CBTDevModel; + +/** +* Blocked devicew view of the pluetooth application. +* +* This view handles lists of blocked devices and the abolity to unblock them. +* +*@lib BTUIPlugin.dll +*@since S60 v3.2 +*/ +class CBTUIBlockedDevicesView : public CBTUIListedDevicesView, + public MGSTabbedView + + { + public: // New functions + + /** + * Symbian 2nd phase constructor. + */ + void ConstructL( ); + + /** + * Symbian 2nd phase constructor when serve as GS plugin. + * @param aBaseView, GS base view pointer. + * @param aTabViewArray, the array which contains all the tabed views' pointer. + * @return None. + */ + void ConstructL( CBTUIMainView* aBaseView, CArrayPtrFlat* aTabViewArray ); + + /* + * ECOM implementation instantiation factory function of + * interface "CBtuiPluginInterface", to be used by BTUI Application. + */ + static CBTUIBlockedDevicesView* NewL(MBtuiPluginViewActivationObserver* aObserver = NULL); + + /** + * Symbian 2 phase constructor used by base view when serve as GS plugin. + * @param aBaseView, GS base view pointer. + * @param aTabViewArray, the array which contains all the tabed views' pointer. + * @return None. + */ + static CBTUIBlockedDevicesView* NewLC(CBTUIMainView* aBaseView, + CArrayPtrFlat* aTabViewArray); + + /** + * Destructor. + */ + virtual ~CBTUIBlockedDevicesView(); + + + /** + * From MGSTabbedView: + * Creates new icon for tab. Ownership is transferred to client. + * @since 3.1 + */ + CGulIcon* CreateTabIconL(); + + public: // Functions from base classes + + /** + * From CAknView Returns view id. + * @param None. + * @return View id. + */ + TUid Id() const; + + /** + * From CAknView Handles user commands. + * @param aCommand A command id. + * @return None. + */ + void HandleCommandL(TInt aCommand); + + /** Dim/unDim middleSoftkey. + * This function is called by CBTUiDeviceContainer + * durings screen refreshes based on if there are devices or not. + * + * @param aDimmed. If this is true the middleSoftKey is invisible. + */ + void DimMskL(TBool aDimmed); + + /** + * From CAknView Dynamically initialises options menu. + * @param aResourceId Id identifying the menu pane to initialise. + * @param aMenuPane The in-memory representation of the menu pane. + * @return None. + */ + void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane); + + public: + /** + * Informs the observer that adevice has been changes or a new device added. + * @param aErr Symbian error code + * @param aDevice the device which is changed. If iAddr == 0, it's for notifiying "GetAllDevices()", + * @param aEnable True: pair/authorize/block/connect; False: unpair/unauthorize/unblock/disconnect + * @param aDevNameArray hold conflicting devices' short names if "AlreadyExist" error happened during "connect" + * @return None. + */ + void NotifyChangeDeviceComplete(const TInt aErr, const TBTDevice& aDevice, + const RBTDevNameArray* aDevNameArray = NULL); + + /** Updates the shown device list. This module will send this list forward + * to container that takes care of the actual display of those devices + * + *@param aDevices all the devices to be shown + *@param aSelectedItemIndex currently selected item after refresh. + */ + void RefreshDeviceList(const RDeviceArray* aDevices,TInt aSelectedItemIndex); + + protected: + /** + * C++ default constructor. + */ + CBTUIBlockedDevicesView (MBtuiPluginViewActivationObserver* aObserver= NULL); + + private: // Functions from base classes + + /** + * From CAknView Activates view. + * @param aPrevViewId Id of previous view. + * @param aCustomMessageId Custom message id. + * @param aCustomMessage Custom message. + * @return None. + */ + void DoActivateL( const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + + /** + * From CAknView Deactivates view. + * @param None. + * @return None. + */ + void DoDeactivate(); + + private: // Data + + CGSTabHelper* iTabHelper; + CBTUIMainView* iBaseView; + TBool iConstructAsGsPlugin; // Flag that indicate this obj is served as GS plugin not BTUI app's plugin. + MBtuiPluginViewActivationObserver* iActivationObserver; // view activation observer + }; + +#endif +