// EIKDTLBM.H
//
// Copyright (c) 1997-1999 Symbian Ltd.  All rights reserved.
//

#if !defined(__EIKDTLBM_H__)
#define __EIKDTLBM_H__

#if !defined(__EIKHLBM_H__)
#include <eikhlbm.h>
#endif

#if !defined(__F32FILE_H__)
#include <f32file.h>
#endif

class CDirectoryTreeListBoxModel : public CHierarchicalListBoxModel
	{
public:
	enum TContent
		{
		EShowSystem	=0x01,
		EShowHidden	=0x02
		};
public:
	IMPORT_C CDirectoryTreeListBoxModel(RFs& aFsSession,TInt aFlags);
	IMPORT_C void CreateListForSpecifiedDriveL(TDriveNumber* aDrive);
	IMPORT_C void ExpandItemL(TInt aNodeToBeExpanded);
	IMPORT_C TFileName FullPath(TInt aIndex) const;
	IMPORT_C void UpdateL();
	IMPORT_C void SetContent(TInt aContentFlags);
private:
	void CreateDriveListL();
	TInt PathExists(const TDesC& aPath) const;
private:
	RFs& iFsSession;
	TInt iFlags;
	};

#endif
