chxavmediafolderinfo.h
来自「symbian 下的helix player源代码」· C头文件 代码 · 共 135 行
H
135 行
/************************************************************************
* chxavmediafolderinfo.h
* ----------------------
*
* Synopsis:
* Contains the declaration of the CHXAvMediaFolderInfo class. This class
* encapsulates all the info regarding the files and folders pressent
* in memory or the mmc.
*
* Target:
* Symbian OS
*
*
* (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
*
*****************************************************************************/
#ifndef _chxavmediafolderinfo_h_
#define _chxavmediafolderinfo_h_
// Helix includes...
#include "hxstring.h"
#include "hxurl.h"
#include "hxwintyp.h"
#include "hxcom.h"
#include "hxcomm.h"
#include "hxmon.h"
// Includes from this project...
#include "chxbody.h"
#include "chxavrefptr.h"
#include "chxavfileutil.h"
#include "chxavmisc.h"
#include "chxavmiscconstants.h"
#include "chxsmartptr.h"
// class CHXAvMediaFolderInfo...
class CHXAvMediaFolderInfo :
public CHXBody
{
public:
// ctor and dtor
CHXAvMediaFolderInfo();
virtual ~CHXAvMediaFolderInfo();
private:
// disallow assignment and copy
CHXAvMediaFolderInfo(const CHXAvMediaFolderInfo& rhs);
CHXAvMediaFolderInfo& operator=(const CHXAvMediaFolderInfo& rhs);
public:
// types
enum PathCreateType
{
PATH_ENSURE,
PATH_OPTIONAL
};
enum StateFlags
{
STATE_CHANGED = 0x01,
VOLID_CHANGED = 0x02
};
// methods
void InitL(const TDesC& rootPath, PathCreateType pathType);
const CHXAvFile::DriveInfo& GetDriveInfo() const;
void SetCurrentPathL(const TDesC& path);
const TDesC& GetRoot() const;
const TDesC& GetCurrentPath() const;
bool IsMmcFolder() const;
HBufC* AllocListDescriptionL() const;
bool IsCurrentPathValid() const;
void UpdateDriveInfo();
TUint32 UpdateDriveInfoCheckState();
private:
// implementation
private:
// data
refptr<HBufC> m_spRootPath;
refptr<HBufC> m_spCurrentPath;
CHXAvFile::DriveInfo m_driveInfo;
};
typedef CHXSmartPtr<CHXAvMediaFolderInfo> CHXAvMediaFolderInfoPtr;
inline
bool CHXAvMediaFolderInfo::IsMmcFolder() const
{
return m_driveInfo.idxDrive == CHXAvMisc::KIdxMmcDrive;
}
///////////////////////////////////
// absolute root path
inline
const TDesC& CHXAvMediaFolderInfo::GetRoot() const
{
return *m_spRootPath;
}
///////////////////////////////////
// current folder, relative to root
inline
const TDesC& CHXAvMediaFolderInfo::GetCurrentPath() const
{
HX_ASSERT(m_spCurrentPath);
return *m_spCurrentPath;
}
///////////////////////////////////
// get info from last drive check
inline
void CHXAvMediaFolderInfo::UpdateDriveInfo()
{
m_driveInfo = CHXAvFile::GetDriveInfo(*m_spRootPath);
}
///////////////////////////////////
// get info from last drive check
inline
const CHXAvFile::DriveInfo& CHXAvMediaFolderInfo::GetDriveInfo() const
{
return m_driveInfo;
}
#endif // _chxavmediafolderinfo_h_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?