⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicaplibiconcache.h

📁 索爱手机代码
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPFileSystemComIconCache.h
//
// Description:
//	PTX810 Music傾僾儕 儈儏乕僕僢僋傾僾儕儔僀僽儔儕
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰			|撪梕
//--------------+---------------+--------------------------------------
//2006/09/23	|SEMC崃绮		|僼傽僀儖僔僗僥儉嫟捠儔僀僽儔儕偐傜愗傝弌偟


#ifndef __SMBMUSICAPLIBICONCACHE_H__
#define __SMBMUSICAPLIBICONCACHE_H__


#ifndef __SMBCOMMONDEF_H__
#include <SmbCommonDef.h>
#endif

#include    <e32base.h>

class CFbsBitmap;   // <fbs.h>
class CGulIcon;     // <gulicon.h>

SEMCJ_NAMESPACE_BEGIN

/**
 *  傾僀僐儞僆僽僕僃僋僩偺 factory 寭 cacher丅
 *
 *  棙梡幰偐傜偺弶夞梫媮帪偵傾僀僐儞僆僽僕僃僋僩傪惗惉偟丄埲崀偼 life time 廔椆傑偱宲懕巊梡偡傞丄楢憐婰壇僙儅儞僥傿僋僗偺僉儍僢僔儍乕丅
 *  偄偭偨傫僉儍僢僔儏偟偨傕偺偼丄杮僆僽僕僃僋僩偑強桳娗棟偡傞偺偱丄棙梡幰偼杮僆僽僕僃僋僩傪攋婞偡傞偺傒偱傛偄丅
 *
 */
class CSmbMusicAPLibIconCache
	 : public CBase
	{
public:
	/**
	 *  壖憐僐儞僗僩儔僋僞丅
	 *
	 *  杮僋儔僗偺僀儞僗僞儞僗傪怴婯偵惗惉偟丄弶婜壔偟丄曉媝偡傞丅
	 *
	 *  @param[in]  aFileName   儘乕僪尦偲偡傞儅儖僠價僢僩儅僢僾僼傽僀儖(*.mbm)偺僼傽僀儖柤丅
	 *  @return 怴偨偵惗惉丒弶婜壔偝傟偨僀儞僗僞儞僗丅
	 */
	IMPORT_C static CSmbMusicAPLibIconCache* NewL( const TDesC& aFileName=KNullDesC );
	/**
	 *  壖憐僐儞僗僩儔僋僞丅
	 *
	 *  CleanupStack 張棟傪彍偗偽 NewL(const TDesC&) 偵慡偔摨偠丅
	 *
	 *  @param[in]  aFileName   see NewL(const TDesC&)
	 *  @return see NewL(const TDesC&)
	 */
	IMPORT_C static CSmbMusicAPLibIconCache* NewLC( const TDesC& aFileName=KNullDesC );

	/**
	 *  僨僗僩儔僋僞丅
	 *
	 *  偡傋偰偺 Has-a 儕僜乕僗傪奐曻偡傞丅
	 *  婛偵僉儍僢僔儏嵪傒偺 CGulIcon* 偼偡傋偰 delete 偡傞丅
	 */
	IMPORT_C ~CSmbMusicAPLibIconCache();

	/**
	 *  巜掕僀儊乕僕儕僜乕僗(杮懱夋憸偲儅僗僋夋憸)傪儘乕僪偟偨 CGulIcon 傪惗惉偟偰曉偡丅
	 *
	 *  枹僉儍僢僔儏偺傾僀僐儞偱偁傟偽丄惗惉偟僉儍僢僔儏婰壇偟偰丄曉偡丅
	 *  僉儍僢僔儏嵪傒偱偁傟偽丄惗惉僐僗僩偼敪惗偟側偄丅
	 *
	 *  @param[in]  aId4Body    杮懱僀儊乕僕偺幆暿巕丅 *.mbg 僼傽僀儖偱掕媊偝傟偰偄傞楍嫇抣丅
	 *  @param[in]  aId4Mask    儅僗僋僀儊乕僕偺幆暿巕丅 *.mbg 僼傽僀儖偱掕媊偝傟偰偄傞楍嫇抣丅
	 *                          晧悢(<0)偑巜掕偝傟偨応崌丄儅僗僋僀儊乕僕柍偟巜掕偲傒側偡丅
	 *  @param[in]  aFileName   儘乕僪尦偲偡傞儅儖僠價僢僩儅僢僾僼傽僀儖(*.mbm)偺僼傽僀儖柤丅
	 *                          挿偝0(僛儘)偺嬻暥帤楍偑巜掕偝傟偨応崌偼 NewL(const TDesC&) or NewLC(const TDesC&) 偵搉偝傟偨僼傽僀儖柤偑嵦傜傟傞丅
	 *                          偡側傢偪丄堦堄偺僼傽僀儖偟偐巊梡偟側偄棙梡幰偼丄杮堷悢傪巜掕偡傞昁梫偼側偄丅
	 *  @return 巜掕僀儊乕僕儁傾傪強桳偟偨 CGulIcon 僆僽僕僃僋僩丅
	 *  @attention  曉媝僆僽僕僃僋僩偼丄杮僆僽僕僃僋僩偺 Has-a 儕僜乕僗偱偁傝丄life time 傪捠偟偰宲懕巊梡偡傞丅
	 *              棙梡幰懁偑攋婞(ReleaseIcon)偡傞傛偆側偙偲偼丄偟偰偼側傜側偄丅
	 *  @note   L* 儊僜僢僪偲側偭偰偄傞偺偼丄杮儊僜僢僪偑 creator 傪寭偹偰偄傞偐傜丅
	 */
	IMPORT_C const CGulIcon* IconL( TInt aId4Body, TInt aId4Mask=-1, const TDesC& aFileName=KNullDesC ) const;

	/**
	 *  巜掕僀儊乕僕儕僜乕僗(杮懱夋憸偲儅僗僋夋憸)傪儘乕僪偟偨 CGulIcon 傪惗惉偟偰曉偡丅
	 *
	 *  IconL() const 偺 leave TRAP wrapper 僶乕僕儑儞丅
	 *  leave 敪惗帪偼栠傝抣 NULL 傪曉偡丄埲奜偼慡偔堘偄側偟丅
	 *
	 *  @param[in]  aId4Body    see IconL(TInt, TInt, const TDesC&)
	 *  @param[in]  aId4Mask    see IconL(TInt, TInt, const TDesC&)
	 *  @param[in]  aFileName   see IconL(TInt, TInt, const TDesC&)
	 *  @return see IconL(TInt, TInt, const TDesC&)
	 */
	IMPORT_C const CGulIcon* Icon( TInt aId4Body, TInt aId4Mask=-1, const TDesC& aFileName=KNullDesC ) const;

	/**
	 *  巜掕僀儊乕僕儕僜乕僗(杮懱夋憸偲儅僗僋夋憸)傪儘乕僪偟偨 CGulIcon 傪惗惉偟偰曉偡丅
	 *
	 *  IconL() const 偺 deep copy clone 惗惉僶乕僕儑儞丅
	 *
	 *  IconL() const 偺曉媝僆僽僕僃僋僩偼丄杮僆僽僕僃僋僩偺強桳偱偁傞丅
	 *  側偺偱丄CGulIcon 傪強桳尃堏揮偱梫媮偡傞懠API傊搉偡偙偲偼偱偒側偄(擇廳delete偵側偭偰偟傑偆)丅
	 *  偙偆偄偭偨API偵搉偡偨傔偵 deep copy 偑梸偟偄応崌偼丄杮儊僜僢僪傪梡偄傞偲傛偄丅
	 *
	 *  @param[in]  aId4Body    see IconL(TInt, TInt, const TDesC&)
	 *  @param[in]  aId4Mask    see IconL(TInt, TInt, const TDesC&)
	 *  @param[in]  aFileName   see IconL(TInt, TInt, const TDesC&)
	 *  @return see IconL(TInt, TInt, const TDesC&)
	 */
	IMPORT_C CGulIcon* IconCloneLC( TInt aId4Body, TInt aId4Mask=-1, const TDesC& aFileName=KNullDesC ) const;

	/**
	 *  巜掕僀儊乕僕儕僜乕僗(杮懱夋憸偲儅僗僋夋憸)傪儘乕僪偟偨 CGulIcon 傪惗惉偟偰曉偡丅
	 *
	 *  IconCloneLC() const 偺 CleanupStack::Pop() 僶乕僕儑儞丅
	 *
	 *  @param[in]  aId4Body    see IconL(TInt, TInt, const TDesC&)
	 *  @param[in]  aId4Mask    see IconL(TInt, TInt, const TDesC&)
	 *  @param[in]  aFileName   see IconL(TInt, TInt, const TDesC&)
	 *  @return see IconL(TInt, TInt, const TDesC&)
	 */
	IMPORT_C CGulIcon* IconCloneL( TInt aId4Body, TInt aId4Mask=-1, const TDesC& aFileName=KNullDesC ) const;

	/**
	 *  巜掕僀儊乕僕儕僜乕僗(杮懱夋憸偲儅僗僋夋憸)傪儘乕僪偟偨 CGulIcon 傪惗惉偟偰曉偡丅
	 *
	 *  IconCloneL() const 偺 leave TRAP wrapper 僶乕僕儑儞丅
	 *  leave 敪惗帪偼栠傝抣 NULL 傪曉偡丄埲奜偼慡偔堘偄側偟丅
	 *
	 *  @param[in]  aId4Body    see IconL(TInt, TInt, const TDesC&)
	 *  @param[in]  aId4Mask    see IconL(TInt, TInt, const TDesC&)
	 *  @param[in]  aFileName   see IconL(TInt, TInt, const TDesC&)
	 *  @return see IconL(TInt, TInt, const TDesC&)
	 */
	IMPORT_C CGulIcon* IconClone( TInt aId4Body, TInt aId4Mask=-1, const TDesC& aFileName=KNullDesC ) const;

public:
	/**
	 *  巜掕僀儊乕僕儕僜乕僗傪儘乕僪偟偨 CFbsBitmap 傪惗惉偟偰曉偡丅
	 *
	 *  杮僆僽僕僃僋僩偲偼柍娭學偵巊偊傞儐乕僥傿儕僥傿丅
	 *  嬊強梡搑偑偁傞偐傕偟傟側偄偐傜丄岞奐偡傞丅
	 *
	 *  @param[in]  aFileName   儘乕僪尦偲偡傞儅儖僠價僢僩儅僢僾僼傽僀儖(*.mbm)偺僼傽僀儖柤丅
	 *  @param[in]  aId         懳徾僀儊乕僕偺幆暿巕丅 *.mbg 僼傽僀儖偱掕媊偝傟偰偄傞楍嫇抣丅
	 *  @return 巜掕僀儊乕僕傪儘乕僪偟偨 CFbsBitmap 僆僽僕僃僋僩丅
	 *  @leave  CFbsBitmap::Load() 偺僄儔乕栠傝抣丅
	 *  @see    CFbsBitmap::Load()
	 */
	IMPORT_C static CFbsBitmap* LoadImageL( const TDesC& aFileName, TInt aId );

	/**
	 *  巜掕僀儊乕僕儕僜乕僗傪儘乕僪偟偨 CFbsBitmap 傪惗惉偟偰曉偡丅
	 *
	 *  CleanupStack 張棟傪彍偗偽 LoadImageL(const TDesC&, TInt) 偵慡偔摨偠丅
	 *
	 *  @param[in]  aFileName   see LoadImageL(const TDesC&, TInt)
	 *  @param[in]  aId         see LoadImageL(const TDesC&, TInt)
	 *  @return see LoadImageL(const TDesC&, TInt)
	 *  @leave  see LoadImageL(const TDesC&, TInt)
	 */
	IMPORT_C static CFbsBitmap* LoadImageLC( const TDesC& aFileName, TInt aId );

	/**
	 *  巜掕僀儊乕僕儕僜乕僗(杮懱夋憸偲儅僗僋夋憸)傪儘乕僪偟偨 CGulIcon 傪惗惉偟偰曉偡丅
	 *
	 *  杮僆僽僕僃僋僩偲偼柍娭學偵巊偊傞儐乕僥傿儕僥傿丅
	 *  嬊強梡搑偑偁傞偐傕偟傟側偄偐傜丄岞奐偡傞丅
	 *
	 *  @param[in]  aFileName   儘乕僪尦偲偡傞儅儖僠價僢僩儅僢僾僼傽僀儖(*.mbm)偺僼傽僀儖柤丅
	 *  @param[in]  aId4Body    杮懱僀儊乕僕偺幆暿巕丅 *.mbg 僼傽僀儖偱掕媊偝傟偰偄傞楍嫇抣丅
	 *  @param[in]  aId4Mask    儅僗僋僀儊乕僕偺幆暿巕丅 *.mbg 僼傽僀儖偱掕媊偝傟偰偄傞楍嫇抣丅
	 *                          晧悢(<0)偑巜掕偝傟偨応崌丄儅僗僋僀儊乕僕柍偟巜掕偲傒側偡丅
	 *  @return 巜掕僀儊乕僕儁傾傪強桳偟偨 CGulIcon 僆僽僕僃僋僩丅
	 *  @leave  see LoadImageL(const TDesC&, TInt)
	 */
	IMPORT_C static CGulIcon* LoadImagePairL( const TDesC& aFileName, TInt aId4Body, TInt aId4Mask=-1 );

	/**
	 *  巜掕僀儊乕僕儕僜乕僗(杮懱夋憸偲儅僗僋夋憸)傪儘乕僪偟偨 CGulIcon 傪惗惉偟偰曉偡丅
	 *
	 *  CleanupStack 張棟傪彍偗偽 LoadImagePairL(const TDesC&, TInt, TInt) 偵慡偔摨偠丅
	 *
	 *  @param[in]  aFileName   see LoadImagePairL(const TDesC&, TInt, TInt)
	 *  @param[in]  aId4Body    see LoadImagePairL(const TDesC&, TInt, TInt)
	 *  @param[in]  aId4Mask    see LoadImagePairL(const TDesC&, TInt, TInt)
	 *  @return see LoadImagePairL(const TDesC&, TInt, TInt)
	 *  @leave  see LoadImageL(const TDesC&, TInt)
	 */
	IMPORT_C static CGulIcon* LoadImagePairLC( const TDesC& aFileName, TInt aId4Body, TInt aId4Mask=-1 );

private:
	/**
	 *  僐儞僗僩儔僋僞丅
	 */
	CSmbMusicAPLibIconCache();
	/**
	 *  2nd phase 僐儞僗僩儔僋僞丅
	 *
	 *  @param[in]  aFileName   see NewL(const TDesC&)
	 */
	void ConstructL( const TDesC& aFileName );

private:
	class CImpl;
	CImpl*  iImpl;      /**< 塀暳偝傟偨幚憰晹丅 */

	};

SEMCJ_NAMESPACE_END

#endif  // __SMBMUSICAPLIBICONCACHE_H__

/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -