--- a/upnpframework/upnpcommonui/inc/upnpbrowsedialog.h Mon Nov 01 13:44:24 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,674 +0,0 @@
-/*
-* 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: Header file for the UPnPSelectionDialog class implementation
-*
-*/
-
-
-#ifndef __UPNP_BROWSE_DIALOG_H__
-#define __UPNP_BROWSE_DIALOG_H__
-
-// INCLUDES
-// System
-#include <AknProgressDialog.h>
-
-// upnpframework / avcontroller api
-#include "upnpavbrowsingsessionobserver.h"
-#include "upnpavrenderingsessionobserver.h"
-
-// commonui internal
-#include "upnpdeviceobserver.h"
-
-// FORWARD DECLARATIONS
-class CUPnPMusicAdapter;
-class CUPnPLocalPlayer;
-class CUPnPBrowseCacheItem;
-class CAknIconArray;
-class CUPnPCommonUI;
-class CUpnpImagePlayer;
-class CUPnPBrowsePlaylistFiller;
-class CUPnPPeriodic;
-
-/**
-* Browse dialog class of Common UI library
-*/
-class CUPnPBrowseDialog : public CAknDialog,
- public MUPnPAVBrowsingSessionObserver,
- public MProgressDialogCallback,
- public MUPnPDeviceObserver
-
- {
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- IMPORT_C static CUPnPBrowseDialog* NewL(
- TInt aMenuResource,
- MUPnPAVController& aAVControl,
- const CUpnpAVDevice& aDevice,
- CUPnPCommonUI& aCommonUI );
-
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CUPnPBrowseDialog();
-
- public: // Methods from MUPnPAVBrowsingSessionObserver
-
- /**
- * Returns a browse result received from a Media Server.
- *
- * @since Series 60 3.1
- * @param aBrowseResponse browse response xml document
- * @param aError system wide error code
- * @param aMatches number of returned items
- * @param aTotalCount total number of objects on container
- * @param aUpdateId update id number
- * @return None
- */
- void BrowseResponse(
- const TDesC8& aBrowseResponse,
- TInt aError,
- TInt aMatches,
- TInt aTotalCount,
- const TDesC8& aUpdateId
- );
-
- /**
- * Returns a search result received from a Media Server.
- *
- * @param aSearchResponse search response xml document
- * @param aError system wide error code
- * @param aMatches number of returned items
- * @param aTotalCount total number of resulted items
- * @param aUpdateId update id number
- * @return None
- */
- void SearchResponse(
- const TDesC8& /*aSearchResponse*/,
- TInt /*aError*/,
- TInt /*aMatches*/,
- TInt /*aTotalCount*/,
- const TDesC8& /*aUpdateId*/
- ){};
-
- /**
- * Notifies that the create container operation is complete.
- *
- * @since Series 60 3.1
- * @param TInt, status information
- * @param aObjectId (const TDesC8&) object ID of the new container
- */
- void CreateContainerResponse( TInt /*aError*/,
- const TDesC8& /*aObjectId = KNullDesC8*/ ){};
-
- /**
- * Notifies that the requested UPnP Object deletion is complete.
- *
- * @since Series 60 3.1
- * @param TInt, status information
- * @return None
- */
- void DeleteObjectResponse( TInt /*aError*/ ){};
-
- /**
- * Returns search capabilities of the requested Media Server.
- *
- * @since Series 60 3.1
- * @param TInt, status information
- * @param HBufC8&, the search capabilities string
- * @return None
- */
- void SearchCapabilitiesResponse( TInt /*aError*/,
- const TDesC8& /*aSearchCapabilities*/ ){};
-
-
- /**
- * Notifies that the Media Server we have a session with has
- * disappeared. Session is now unusable and must be closed.
- *
- * @since Series 60 3.1
- * @param aReason reason code
- * @return None
- */
- void MediaServerDisappeared( TUPnPDeviceDisconnectedReason aReason );
-
- /**
- * Notifies that the Local Media Server has been put on sharing state
- *
- * @since Series 60 3.1
- * @param aReason reason code
- * @return None
- */
- void ReserveLocalMSServicesCompleted( TInt /*aError*/ ){};
-
- protected: // from CoeControl
-
- /**
- * Gets the control's help context.
- * @param TCoeHelpContext, context of desired help
- * @return none
- */
- void GetHelpContext(TCoeHelpContext& aContext) const;
-
- public: // From MProgressDialogCallback
-
- /**
- * Callback function for progress bar.
- *
- * @since Series 60 3.1
- * @param aButtonId, id of the button pressed
- * @return None
- */
- void DialogDismissedL( TInt aButtonId );
-
- public: // New functions
-
- /**
- * Sends the browse request to UPnP AV Controller. When result set
- * arrives, UPnP AV Controller will call the "BrowseResponse" call
- * back method.
- *
- * @param TInt index of the iBrowseArray object, if -1 is given,
- * the root container will be browsed.
- * @return None
- */
- void SendBrowseRequestL( TInt aIndex );
-
- /**
- * Callback method for the iImageControlTimer.
- *
- * @since Series 60 3.1
- * @param aDlg current dialog which to be called
- * @return Tint
- */
- static TInt ImageControlTimerCallbackL(TAny* aDlg);
-
-
- protected: // Functions from base classes
-
- /**
- * From CAknDialog, handles menu commands
- * @param aCommandId, command to be handled
- * @return none
- */
- void ProcessCommandL( TInt aCommandId );
-
- /**
- * From CAknDialog, handles key events.
- * @param TKeyEvent, Event to handled.
- * @param TEventCode, Type of the key event.
- * @return TKeyResponse, response code (EKeyWasConsumed,
- * EKeyWasNotConsumed).
- */
- TKeyResponse OfferKeyEventL (const TKeyEvent &aKeyEvent,
- TEventCode aType);
-
- /**
- * From CAknDialog, handles layout initialization
- */
- void PreLayoutDynInitL();
-
- /**
- * Menu observer interface. From MEikMenuObserver
- * @since Series 60 3.1
- * @param aResourceId resource 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);
-
- /**
- * From CAknDialog, handles focus changes of the dialog
- * @param aButtonId, pressed button id
- * @return True if ready to close dialog, False otherwise
- */
- TBool OkToExitL( TInt aButtonId );
-
- /**
- * From CoeControl
- */
- void HandleResourceChange(TInt aType);
-
-
- public: // Methods from MUPnPDeviceObserver
-
- /**
- * Notifies that the target renderer disappeared
- *
- * @since Series 60 3.1
- * @param aError exit reason
- * @return None
- */
- void DeviceDisappeared( TInt aError );
-
- private: // New Functions
-
- /**
- * Loads a possibly skinned icon and adds it to icon array
- * @since Series 60 3.1
- * @param CAknIconArray, array of icons
- * @param MAknsSkinInstance, skin instance
- * @param TDesC, reference to icon file
- * @param TAknsItemID, skinned icon id
- * @param TInt, bitmap id
- * @param TInt, bitmap mask id
- */
- void AppendIconToArrayL( CAknIconArray* aArray,
- MAknsSkinInstance* aSkin,
- const TDesC& aMbmFile,
- const TAknsItemID& aID,
- TInt aBitmapId,
- TInt aMaskId);
-
- /**
- * Marks one item
- * @since Series 60 3.1
- * @param aItemIndex (TInt) index of item that should be marked
- * @return None
- */
- void MarkItemL( TInt aItemIndex );
-
- /**
- * Unmarks one item
- * @since Series 60 3.1
- * @param aItemIndex (TInt) index of item that should be unmarked
- * @return None
- */
- void UnmarkItem( TInt aItemIndex );
-
- /**
- * Marks all items. Does not mark any containers.
- * @since Series 60 3.1
- * @return None
- */
- void MarkAllItemsL();
-
- /**
- * Unmarks all items
- * @since Series 60 3.1
- * @return None
- */
- void UnmarkAllItems();
-
- /**
- * Unmarks one item
- * @since Series 60 3.1
- * @param aItemIndex (TInt) index of item that should be unmarked
- * @return None
- */
- void UnMarkItemL( TInt aItemIndex );
-
- /**
- * Plays music file
- * @since Series 60 3.1
- * @param none
- * @return none
- */
- void PlayL(TBool aLocal);
-
- /**
- * Show image, video and music on external media renderer
- * @since Series 60 3.1
- * @param none
- * @return none
- */
- void ShowPlayExtL();
-
- /**
- * Displays wait note
- * @since Series 60 3.1
- * @param TInt, note resource
- */
- void DisplayWaitNoteL( TInt aResource );
-
-
- /**
- * Dismisses wait note
- * @since Series 60 3.2.3
- */
- void DismissWaitNoteL();
-
- /**
- * Called when target device responds to browse query
- * @since Series 60 3.1
- * @param TInt, query status
- * @param aTotalCount TInt total number of objects
- * @param RPointerArray&, returned item array
- * @return None
- */
- void BrowseResponseL(
- TInt aError,
- TInt aTotalCount,
- const RPointerArray<CUpnpObject>& aResultArray );
-
-
-
-
- /**
- * updates selected items array
- * @since Series 60 3.1
- * @param None
- * @return None
- */
- void SelectedArrayCheckL(void);
-
- /**
- * updates command button area
- * @since Series 60 3.23
- * @param aMark use for two states, item marked or no marked
- * @param aTempCounter is the number of the current item in the list.
- * @return None
- */
- void UpdateCommandButtonAreaL( TBool aMark, TInt aTempCounter );
-
- /**
- * updates command button area
- * @since Series 60 3.23
- * @param aMark use for two states, item marked or no marked
- * @param aTempCounter is the number of the current item in the list.
- * @return None
- */
- void UpdateCommandButtonArea( TBool aMark, TInt aTempCounter );
-
- private:
-
- /**
- * C++ default constructor.
- */
- CUPnPBrowseDialog( MUPnPAVController& aAVControl,
- CUPnPCommonUI& aCommonUI,
- const CUpnpAVDevice& aDevice );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL( TInt aMenuResource );
-
- /**
- * Loads listbox items
- * @since Series 60 3.1
- * @return none
- */
- void LoadListItemsL( void );
-
- /**
- * Delete old list items
- * @since Series 60 3.1
- * @return none
- */
- void DeleteListItemsL( void );
-
- /**
- * Clears dialog title
- * @since Series 60 3.1
- * @return none
- */
- void ClearTitleL();
-
- /**
- * Updates navi pane text
- * @since Series 60 3.1
- * @return none
- */
- void UpdateNaviPaneTextL();
-
- /**
- * Check if the container with the specified container Id exists
- * @since Series 60 3.1
- * @param aCheckContainerId the container Id to be checked
- * @return the found result
- */
- TInt CacheCheck( const TDesC8& aCheckContainerId );
-
- /**
- * Update the cache if any new container is found
- * @since Series 60 3.1
- * @param aContainerId the container Id to be checked
- * @param aNewItem check if the container is new or not
- * @return the found result
- */
- void CacheItemUpdateL( const TDesC8& aContainerId, TBool aNewItem );
-
- /**
- * Send dummy browse response
- * @since Series 60 3.1
- * @param aCacheIndex the index in the cache array
- *
- * @return none
- */
- void SendDummyBrowseResponseL( TInt aCacheIndex );
-
- /**
- * Starts ImageControl
- * @since Series 60 3.1
- * @param None
- * @return none
- */
- void StartImageControlL();
-
- /**
- * Stops ImageControl
- * @since Series 60 3.1
- * @param None
- * @return None
- */
- void StopImageControlL();
-
- /**
- * Updates softkeys
- * @since Series 60 3.1
- * @param aResourceId (TInt) softkey resource
- * @return None
- */
- void UpdateSoftkeysL( TInt aResourceId );
-
- /**
- * Starts imageControl timer
- * @since Series 60 3.1
- * @param None
- * @return None
- */
- void StartImageControlTimer( void );
-
- /**
- * Shows current image
- * @since Series 60 3.1
- * @param aShowImage (TBool) shows current image and draws showing
- * icon
- * @return None
- */
- void ShowCurrentImageL( TBool aShowImage );
-
- /**
- * Shows current video
- * @since Series 60 3.1
- * @param none
- * @return none
- */
- void ShowVideoDialogExtL( );
-
- /**
- * Handel copy
- * @since Series 60 3.1
- * @param None
- *
- * @return none
- */
- void HandleCopyL();
-
- /**
- * Create a playlist filler representing current music selection
- * for starting music playback
- * @since Series 60 3.1
- * @param none
- *
- * @return CUPnPPlayListFiller filler instance
- */
- CUPnPPlayListFiller* CreateFillerLC();
-
- /**
- * Handle different errors returned from other dialogs
- * @since Series 60 3.1
- * @param exiting reason
- * @return none
- */
- void HandleErrorL( TInt aError );
-
- /**
- * Check if any audio item is marked
- * @since Series 60 3.1
- * @param None
- * @return ETrue if at least one audio item is marked
- */
- TBool IsAudioItemMarked( void );
-
- private: // Data
-
- //listbox
- CEikColumnListBox* iListBox; //not owned
- //browse result array
- RPointerArray<CUpnpObject> iResultArray; //item inside not owned
- //navi pane
- CAknNavigationDecorator* iNaviDecorator; //owned
- // navi pane
- CAknNavigationControlContainer* iNaviPane; //not owned
- //AV controller
- MUPnPAVBrowsingSession* iBrowseSession; //owned
-
- CUPnPCommonUI& iCommonUI; //not owned
-
- MUPnPAVController& iAVControl; //not owned
- //parent container
- RPointerArray<HBufC8> iParentId; //owned
- // parent name
- RPointerArray<HBufC8> iParentName; //owned
- //common UI
-
- //wait dialog
- CAknWaitDialog* iWaitNoteDialog; //owned
- //temporary browse result array
- RPointerArray<CUpnpObject> iTempArray; // items inside not owned
- //browse direction
- TInt iBrowseFlag;
-
- // stores selected item index
- TInt iSelectedItem;
-
- //exit timer
- TBool iFirstResultArray;
- TInt iCurrentItem;
- TBool iAllObjectsReceived;
-
- TInt iPrevHighlighteditem;
- TInt iUppermostItem;
- TInt iBrowseDirection;
-
- TBool iDummyBrowseResponse;
- HBufC8* iCurrentFolderId; //owned
- TBool iBrowseRequestSent;
-
- RPointerArray<CUPnPBrowseCacheItem> iBrowseCacheItems; //owned
-
- CPeriodic* iPeriodic; //owned
-
- //Array for selected items
- RPointerArray<CUpnpObject> iSelectedItemsArray; //owned
- //Flag to tell if the image control view is active
- TBool iImageControlActive;
- //ImageControl periodic timer
- CUPnPPeriodic* iImageControlTimer; //owned
-
- CUpnpImagePlayer* iImagePlayer; //owned
-
- CUPnPLocalPlayer* iLocalPlayer; //owned
-
- CUpnpAVDevice* iTargetDevice; //owned
-
- const CUpnpAVDevice& iSourceDevice; //not owned
-
- // title pane
- CAknTitlePane* iTitlePane; //not owned
-
- //Flag to tell if shift and Ok was pressed the same time
- TBool iShiftAndOkPressed;
-
- TInt iLastImageItemIndex;
-
- TInt iChildDialogOpen;
-
- //flag to either media server disappears or media renderer disappear
- TBool iMSDisappear;
-
- TInt iTotalCount;
-
- CUPnPCommonUI::TUPnPAction iAction;
-
- TInt iCopyIndex;
-
- TBool iRoot;
-
- TBool iIsMusicItem;
-
- TBool iAllObjectsReceviedInOneBrowse;
-
- TInt iNumObjectReceviedInOnBrowse;
-
- /**
- * for music playing, this is to prevent user to pop up renderer
- * selection and select renderer multiple times
- */
- TBool iMusicPlay;
-
- TInt iError;
-
- // is PreLayoutDynInitL done. Used when exiting dialog
- TBool iDlgPreLayoutDone;
-
- // Flag to tell if the the Hash (#) key is Holding down
- TBool iHashKeyFlag;
-
- // Flag to tell if need repeat browse request to get all objects
- // which an original browse request desired
- TBool iNeedRepeatRequest;
-
- // Flag to tell if the browse request is original browse request.
- TBool iOriginalBrowseRequest;
-
- // Current number of objects receved from original browse request
- TInt iCurrentRecevedObjectIndex;
-
- // Count of objects which an original browse request desired
- TInt iNeedRecevedObjectCount;
-
- // Server return count of objects in first browse request
- TInt iServerReturnObjectCount;
-
- // If wait note is cancel before the browse dialog is displayed,
- // set a value for leave.
- TInt iErrorForCancel;
-
- // Flag to tell if the copying is onging, ETrue: Ongoing
- TBool iCopying;
-
- // Flag to tell if the application should be closed, ETrue: should be closed
- TBool iApplicationClose;
- };
-
-#endif // __UPNP_BROWSE_DIALOG_H__
-
-// End of file