?? smbmusicapfilemgrrscmgr.h
字號(hào):
/* Copyright (C) 2007 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// CSmbMusicAPFileMgrRscMgr.h
//
// Description:
// 儈儏乕僕僢僋僼傽僀儖娗棟儕僜乕僗儅僱乕僕儍僋儔僗
/*-------------------------------------------------------------------------*/
//曄峏棜楌
//擔(dān)晅 |曄峏幰 |撪梕
//------------------+---------------+----------------------------------------
//2007/03/08 |SEMC崍綺 |怴婯嶌惉
//------------------+---------------+----------------------------------------
#ifndef __CSMBMUSICAPFILEMGRRSCMGR_H__
#define __CSMBMUSICAPFILEMGRRSCMGR_H__
#ifndef __SMBRSCMGRCLIENT_H__
#include <SmbRscMgrClient.h>
#endif
SEMCJ_NAMESPACE_BEGIN
/**
儕僜乕僗庢摼忬嫷
*/
enum TSmbMusicAPFileMgrRscMgrResponse
{
ENone, //柍岠抣
ESmbMusicAPFileMgrRscMgrGetSDBindRscOKRes, //SDBind儕僜乕僗庢摼OK僐儅儞僪
ESmbMusicAPFileMgrRscMgrGetSDBindRscNGRes, //SDBind儕僜乕僗庢摼NG僐儅儞僪
// ESmbMusicAPFileMgrRscMgrReleaseSDBindRscReq, //SDBind儕僜乕僗夝曻僐儅儞僪
ESmbMusicAPFileMgrRscMgrGetMemoryModeRscOKRes, //儊儌儕儌乕僪儕僜乕僗庢摼OK僐儅儞僪
ESmbMusicAPFileMgrRscMgrGetMemoryModeRscNGRes, //儊儌儕儌乕僪儕僜乕僗庢摼NG僐儅儞僪
// ESmbMusicAPFileMgrRscMgrReleaseMemoryModeRscReq, //儊儌儕儌乕僪儕僜乕僗夝曻僐儅儞僪
ESmbMusicAPFileMgrRscMgrGetMTPModeRscOKRes, //MTP儌乕僪儕僜乕僗庢摼OK僐儅儞僪
ESmbMusicAPFileMgrRscMgrGetMTPModeRscNGRes, //MTP儌乕僪儕僜乕僗庢摼NG僐儅儞僪
// ESmbMusicAPFileMgrRscMgrReleaseMTPModeRscReq, //MTP儌乕僪儕僜乕僗夝曻僐儅儞僪
// ESmbMusicAPFileMgrRscMgrReleaseAllRscReq //慡儕僜乕僗夝曻僐儅儞僪
};
/**
儕僜乕僗庬暿
*/
enum TSmbMusicAPFileMgrRscMgrCategory
{
ECategoryNone = 0x00,
ESmbMusicAPFileMgrRscMgrSDBindRscCategory = 0x01, //SDBind儕僜乕僗
ESmbMusicAPFileMgrRscMgrMemoryModeRscCategory = 0x02, //儊儌儕儌乕僪儕僜乕僗
ESmbMusicAPFileMgrRscMgrMTPModeRscCategory = 0x04, //MTP儌乕僪儕僜乕僗
};
/**
* 儕僜乕僗儅僱乕僕儍僋儔僗
*/
class CSmbMusicAPFileMgrRscMgr : public CBase
,public MSmbRscMgrRscCallback
,public MSmbRscMgrRscWatcher
{
public:
/**
* 儕僜乕僗嫞崌寢壥傪捠抦偡傞偨傔偺Interface僋儔僗丅
*/
class MObserver
{
public:
/**
儕僜乕僗嫞崌寢壥傪捠抦
* @param[in] aRes 儕僜乕僗妉摼梫媮偺敾掕寢壥
*/
virtual void NotifyResourceResL(TSmbMusicAPFileMgrRscMgrResponse aRes) = 0;
/**
儕僜乕僗夝曻傪捠抦
* @param[in] aReleaseCategorys 儕僜乕僗夝曻庬暿
*/
virtual void NotifyReleaseResourcesL(TUint aReleaseCategorys) = 0;
};
/**
撪晹儕僜乕僗庬暿
*/
enum TCategory
{
ESDBindRscCategory = 0, //SDBind儕僜乕僗
EMemoryModeRscCategory, //儊儌儕儌乕僪儕僜乕僗
EMTPModeRscCategory, //MTP儌乕僪儕僜乕僗
ECategoryMax,
};
/**
儕僜乕僗庢摼忬懺
*/
enum TSmbMusicAPFileMgrRscMgrState
{
ERscMgrRscNone = 0, //儕僜乕僗枹庢摼忬懺
ERscMgrRequestRscBusy, //儕僜乕僗庢摼梫媮拞忬懺
ERscMgrAllocRsc, //儕僜乕僗棙梡壜擻忬懺
};
public:
/**
僼傽僋僩儕娭悢
*丂@param[in] aObserver 儕僜乕僗嫞崌寢壥捠抦僆僽僓乕僶
* @return 惗惉偟偨僋儔僗偺億僀儞僞
*/
static CSmbMusicAPFileMgrRscMgr* NewL(MObserver& aObserver);
/**
* 僨僗僩儔僋僞
*/
~CSmbMusicAPFileMgrRscMgr();
/**
* 儕僜乕僗梫媮
*/
TInt RequestAllocResourceL(TSmbMusicAPFileMgrRscMgrCategory aCategory);
/**
* 儕僜乕僗梫媮乮摨婜乯
*/
TInt RequestAllocResourceSyncL(TSmbMusicAPFileMgrRscMgrCategory aCategory, TSmbMusicAPFileMgrRscMgrResponse& aRes);
/**
* 儕僜乕僗奐曻
*/
void ReleaseResourceL(TSmbMusicAPFileMgrRscMgrCategory aCategory);
/**
* 慡儕僜乕僗奐曻
*/
void CancelAndReleaseAllResources();
private:
/**
* 僐儞僗僩儔僋僞
* @param[in] aObserver 儕僜乕僗嫞崌寢壥捠抦僆僽僓乕僶
*/
CSmbMusicAPFileMgrRscMgr(MObserver& aObserver);
/**
* 2僼僃乕僘僐儞僗僩儔僋僞
*/
void ConstructL();
public: // MSmbRscMgrRscCallback
/**
* 儕僜乕僗棙梡尃妉摼墳摎傪捠抦
*
* @param[in] aResult 儕僜乕僗妉摼梫媮偺敾掕寢壥
*/
void AllocationResourceResL(TSmbRscMgrRscResult aResult);
/**
* 儕僜乕僗棙梡尃忳搉墳摎傪捠抦
*
* @param[in] aResult 儕僜乕僗忳搉梫媮偺敾掕寢壥
*/
void ReallocationResourceResL(TSmbRscMgrRscResult aResult);
/**
* 儕僜乕僗嫞崌妋擣墳摎傪捠抦
*
* @param[in] aResult 儕僜乕僗嫞崌妋擣梫媮偺敾掕寢壥
*/
void CheckResourceCompetitionResL(TSmbRscMgrRscResult aResult);
public: // MSmbRscMgrRscWatcher
/**
* 儕僜乕僗奐曻梫媮傪捠抦
*
* @param[in] aList 奐曻傪梫媮偡傞儕僜乕僗偺儕僗僩
*/
void ReleaseResourceReqL(CArrayFixFlat<TSmbRscMgrRsc>* aList);
private:
/**
* 儕僜乕僗棙梡尃妉摼墳摎傪捠抦
*
* @param[in] aResult 儕僜乕僗妉摼梫媮偺敾掕寢壥
*/
void OnEndAllocationResourceResL(TInt aCategory, TInt aResult);
/**
忬懺庢摼
* @param[in] aCategory 儕僜乕僗庬暿
* @return 儕僜乕僗娗棟僋儔僗忬懺
*/
TSmbMusicAPFileMgrRscMgrState State(TInt aCategory) const;
/**
忬懺僙僢僩
* @param [in] aRscMgrState
* @param[in] aCategory 儕僜乕僗庬暿
* @return 側(cè)偟
*/
void SetState(TInt aCategory, TSmbMusicAPFileMgrRscMgrState aRscMgrState);
/**
張棟寢壥曄姺
* @param 側(cè)偟
* @return 儕僜乕僗娗棟僋儔僗忬懺
*/
TSmbMusicAPFileMgrRscMgrResponse ConvertResultRes(TInt aCategory, TInt aResult);
private:
/** 儕僜乕僗嫞崌娗棟僋儔僀傾儞僩 */
CSmbRscMgrRscClient* iRscMgrRscClient;
/** 妉摼寢壥儕僜乕僗儕僗僩 */
CArrayFixFlat<TSmbRscMgrRscAllocId>* iRscResultList;
/** 儕僜乕僗嫞崌寢壥捠抦僆僽僓乕僶 */
MObserver& iObserver;
/** 儕僜乕僗忬懺?shī)菞潈A儗僀 */
CArrayFixFlat<TSmbMusicAPFileMgrRscMgrState>* iRscStateArray;
/** 儕僜乕僗梫媮拞僇僥僑儕 */
TInt iCategory;
};
SEMCJ_NAMESPACE_END
#endif // __CSmbMusicAPFileMgrRSCMGR_H__
// end of CSmbMusicAPFileMgrRscMgr.h
/* Copyright (C) 2007 Sony Ericsson Mobile Communications Japan, Inc. */
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -