Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
/*
* Copyright (c) 1997-1999 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
* which accompanies this distribution, and is available
* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:
*
*/
#if !defined(__EIKLBM_H__)
#define __EIKLBM_H__
#if !defined(__E32BASE_H__)
#include <e32base.h>
#endif
#if !defined(__BAMDESCA_H__)
#include <bamdesca.h>
#endif
// for some reason, doxygen seems to refuse documenting this...
/** @enum TListBoxModelItemArrayOwnership
* List box item array ownership flags. These values are used to
* describe whether or not a list box model owns an item array.
*/
enum TListBoxModelItemArrayOwnership
{
/** The list box model owns the item array, and will delete it in
* its destructor.*/
ELbmOwnsItemArray,
/** The model does not own the item array. You must maintain a
* pointer to it and free it explicitly before your program exits. */
ELbmDoesNotOwnItemArray
};
/**
* Description
* List box data model interface.
*
* This mixin protocol is implemented by all list box models. List box
* models provide information needed to display the required data in a
* list box.
*
* Writing derived classes:
*
* This class should be implemented by anything providing data for
* display in a CEikListBox-derived class. The very basic interface
* offered by MListBoxModel is usually expanded upon to provide more
* information for the specialised subclasses of CEikListBox. It is
* usual when deriving specialised list boxes to subclass the list box
* class, its view classes and its model together. See also:
*
*/
class MListBoxModel
{
public:
/**
* Destructor.
*/
IMPORT_C virtual ~MListBoxModel();
/**
* Gets the number of items in the list box
* @return Number of items.
*/
virtual TInt NumberOfItems() const = 0;
/**
* Gets an array of strings used by the list box for matching
* user keypresses incrementally.
*
* @return A pointer to the array.
*/
virtual const MDesCArray* MatchableTextArray() const = 0;
private:
IMPORT_C virtual TAny* MListBoxModel_Reserved();
};
/**
* Text list box model interface.
*
* Text list box models provide the text of the items which are drawn
* by an associated CTextListItemDrawer. This interface is implemented
* by CTextListBoxModel.
*/
class MTextListBoxModel : public MListBoxModel
{
public:
/**
* Destructor
*/
IMPORT_C ~MTextListBoxModel();
/**
* Gets the item text for an item by its index. This text,
* rather than the matcher string, is drawn by
* CTextListItemDrawers.
*
* @param aItemIndex Index specifying an item.
* @return The text for that item.
*/
virtual TPtrC ItemText(TInt aItemIndex) const = 0;
private: // from MListBoxModel
IMPORT_C virtual TAny* MListBoxModel_Reserved();
};
#endif