diff -r 000000000000 -r 7f85d04be362 homesync/contentmanager/mediaservant/inc/msitembrowser.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/homesync/contentmanager/mediaservant/inc/msitembrowser.h Thu Dec 17 08:52:00 2009 +0200 @@ -0,0 +1,169 @@ +/* +* Copyright (c) 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: Definition for MediaServant item browser base class +* +*/ + + + +#ifndef C_MSITEMBROWSER_H +#define C_MSITEMBROWSER_H + +// INCLUDES +#include +#include "cmcommon.h" // service types +#include "cmcommontypes.h" +#include "msbasecontainer.h" + +// FORWARD DECLARATIONS +class CAknIconArray; +class CMSAppUi; +class CCmBaseListItem; + +/** + * CMSItemBrowser class + * @since S60 5.1 + */ +class CMSItemBrowser : public CMSBaseContainer, + public MEikListBoxObserver + { + // Icon enumerations + enum TMSListBoxIcons + { + EMarkIcon = 0, + EIconImage, + EIconAudio, + EIconVideo, + EIconCount + }; + + public: + + /** + * Symbian default constructor. + */ + void ConstructL( TRect aRect ); + + /** + * Destructor + */ + virtual ~CMSItemBrowser(); + + /** + * Sets current file status + * @since S60 5.1 + * @param aIndex, item index + * @param TCmListItemStatus, file status + */ + void SetFileStatus( TInt aIndex, TCmListItemStatus aStatus ); + + /** + * Gets current file status + * @since S60 5.1 + * @param aIndex, item index + * @return TCmListItemStatus, file status + */ + TCmListItemStatus FileStatus( TInt aIndex ); + + /** + * Return pointer to listbox + * @since S60 5.1 + * @return CEikListbox, listbox + */ + CEikListBox* ListBox(); + + protected: + + /** + * Updates listbox data + * @since S60 5.1 + */ + void UpdateListBoxDataL(); + + /** + * Gets browse data from server + * @since S60 5.1 + */ + virtual void GetBrowseDataL() = 0; + +// From base class CCoeControl + + /** + * From CCoeControl + * See base class definition + */ + CCoeControl* ComponentControl(TInt aIndex) const; + + /** + * From CCoeControl + * See base class definition + */ + TInt CountComponentControls() const; + + /** + * From CCoeControl + * See base class definition + */ + void SizeChanged(); + + /** + * From CCoeControl + * See base class definition + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType ); + +// From base class MEikListBoxObserver + + /** + * From MEikListBoxObserver + * See base class definition + */ + void HandleListBoxEventL( + CEikListBox* aListBox, + TListBoxEvent aEventType ); + + protected: + + /** + * Listbox control + */ + CEikFormattedCellListBox* iListBox; // owned + /** + * pointer to AppUi object + */ + CMSAppUi* iAppUi; // not owned + /** + * Item array + */ + RPointerArray* iItemArray; + /** + * Internal array for listbox item texts + */ + CDesCArrayFlat* iInternalItemArray; + /** + * Next item index for thumbnail loading + */ + TInt iNextItemIndex; + /** + * Icon count for thumbnails + */ + TInt iIconCount; + /** + * Mediatype of selected rule + */ + TCmMediaType iMediaType; + }; + +#endif // C_MSITEMBROWSER_H \ No newline at end of file