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

📄 smbmusicapsyncservercontentsservicegetimagecount.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 3 页
字号:
TInt CSmbMusicAPSyncServerContentsServiceGetImageCount::GetImageInformationL(TSmbMusicMWLibImageType aType)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber20;
	_LIT(KServiceGetImageCountGetImagaInfomationL01, "SyncServerContentsServiceGetImageCount::GetImagaInfomation(%d)");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetImageCountGetImagaInfomationL01, aType);
#endif

	delete iImageInfo;
	iImageInfo = NULL;
	iImageInfo = CSmbMusicMWLibImageInfo::NewL();

	TInt result(KErrNone);
	result = iSongItem -> ImageInformation(aType, *iImageInfo, iStatus);
	if (result != KErrNone)
		{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber21;
		_LIT(KServiceGetImageCountGetImagaInfomationL02, "SyncServerContentsServiceGetImageCount::GetImagaInfomationL ImageInformation Error:%d");
		SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetImageCountGetImagaInfomationL02, result);
#endif
		}

	return result;
	}


/**
 *  夋憸悢庢摼姰椆
 *
 *  @return	張棟寢壥(KErrNone:張棟惉岟丄System-wide Error:張棟幐攕)
 **/
TInt CSmbMusicAPSyncServerContentsServiceGetImageCount::CompletionGetImageCount()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber22;
	_LIT(KServiceGetImageCountCompletionGetImageCount01, "SyncServerContentsServiceGetImageCount::CompletionGetImageCount(J:%d, L:%d, U:%d, O:%d, F:%d, S:%d L:%d)");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetImageCountCompletionGetImageCount01,
							iImageCount.iJacketCount,
							iImageCount.iLyricCount,
							iImageCount.iIsUimLimited,
							iImageCount.iIsOnline,
							iImageCount.iFileFormat,
							iImageCount.iStore,
							iImageCount.iLimitation);
#endif

	//  庢摼偟偨夋憸悢傪彂偒弌偟
	TPckg<TSmbMusicAPSyncEngineImageCountInSongItem> pkg(iImageCount);
	TInt result = iRMessage.Write(KSmbMusicAPSyncEngineMsgOut1, pkg);
	if (result != KErrNone)
		{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber23;
		_LIT(KServiceGetImageCountCompletionGetImageCount02, "SyncServerContentsServiceGetImageCount::CompletionGetImageCount Message Write Error:%d");
		SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetImageCountCompletionGetImageCount02);
#endif
		}

	return result;
	}


/**
 *  僷儔儊乕僞撉崬
 *
 *  @return	僷儔儊乕僞撉崬惉斲(ETrue:栤戣側偟丄EFalse:栤戣偁傝)
 **/
TBool CSmbMusicAPSyncServerContentsServiceGetImageCount::LoadParam()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber24;
	_LIT(KServiceGetImageCountLoadParam01, "SyncServerContentsServiceGetImageCount::LoadParam");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetImageCountLoadParam01);
#endif

	//  摨婜僄儞僕儞偐傜偺梫媮儊僢僙乕僕偺撉崬
	TInt maxLen = iRMessage.GetDesLength(KSmbMusicAPSyncEngineMsgIn1);
	if (maxLen < sizeof(TSmbMusicAPSyncServerContentsReqPkg))
		{	//  僋儔僀傾儞僩偐傜偺梫媮儊僢僙乕僕挿偑堎忢側応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber25;
		_LIT(KServiceGetImageCountLoadParam02, "SyncServerContentsServiceGetImageCount::LoadParam Argument 1 Error:%d");
		SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetImageCountLoadParam02, maxLen);
#endif
		return EFalse;
		}

	//  梫媮僷僢働乕僕偺撉崬
	TInt error(KErrNone);
	TSmbMusicAPSyncServerContentsReqPkg reqPkg;
	TPckg<TSmbMusicAPSyncServerContentsReqPkg> pkg(reqPkg);
	error = iRMessage.Read(KSmbMusicAPSyncEngineMsgIn1, pkg);
	if (error != KErrNone)
		{	//  僋儔僀傾儞僩偐傜偺梫媮儊僢僙乕僕偺撉崬偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber26;
		_LIT(KServiceGetImageCountLoadParam03, "SyncServerContentsServiceGetImageCount::LoadParam ContentsReqPkg Load Error:%d");
		SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetImageCountLoadParam03, error);
#endif
		return EFalse;
		}

	//  庢摼懳徾嬋傾僀僥儉忣曬
	iItemIndex = reqPkg.iData.iGetImageCount.iSongItem;	//  懳徾嬋傾僀僥儉忣曬
	iItemIndex.iIndex+=1;	//  index僆儕僕儞傪挷惍

	iExType = reqPkg.iData.iGetImageCount.iExType;	//  奼挘僼儔僌

	return ETrue;
	}

//  ADD-S  [iKeeper(TRK):7935] 僒僽儊僯儏乕梡徻嵶忣曬庢摼懳墳
/**
 *  UIM幚峴惂尷忣曬庢摼
 *
 *  @return	張棟寢壥(KErrNone:張棟惉岟丄System-wide Error:張棟幐攕)
 **/
TInt CSmbMusicAPSyncServerContentsServiceGetImageCount::IsUimLimited()
	{
	TInt result(KErrNone);
	TSmbMusicMWLibUimConformity uim(ESmbMusicMWLibNotUIMInfo);
	iImageCount.iIsUimLimited = ETrue;	//  UIM幚峴惂尷拞偱弶婜壔

	result = iSongItem -> UimConformation(uim);
	if (result == KErrNone)
		{
		if ((uim == ESmbMusicMWLibConformity) ||
			(uim == ESmbMusicMWLibNotUIMInfo))
			{	//  UIM揔崌傑偨偼忣曬偑側偄応崌
			iImageCount.iIsUimLimited = EFalse;	//  UIM幚峴惂尷側偟
			}
		}

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TInt logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber27;
	_LIT(KServiceGetImageCountIsUimLimited01, "SyncServerContentsServiceGetImageCount::IsUimLimited result:%d UIM:%d IsLimited:%d");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServiceGetImageCountIsUimLimited01, result, uim, iImageCount.iIsUimLimited);
#endif
	return result;
	}

/**
 *  僆儞儔僀儞忣曬庢摼
 *
 *  @return	張棟寢壥(KErrNone:張棟惉岟丄System-wide Error:張棟幐攕)
 **/
TInt CSmbMusicAPSyncServerContentsServiceGetImageCount::IsOnline()
	{
	TInt result(KErrNone);
	iImageCount.iIsOnline = EFalse;	//  僆僼儔僀儞偱弶婜壔

	result = iSongItem -> IsOnline();
	if (result >= 0)
		{	//  庢摼張棟惉岟
		if (result == ESmbMusicMWLibBoolTrue)
			{
			iImageCount.iIsOnline = ETrue;	//  僆儞儔僀儞
			}
		}

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TInt logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber28;
	_LIT(KServiceGetImageCountIsOnline01, "SyncServerContentsServiceGetImageCount::IsOnline result:%d IsOnline:%d");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServiceGetImageCountIsOnline01, result, iImageCount.iIsOnline);
#endif
	return result;
	}

/**
 *  僼傽僀儖僼僅乕儅僢僩庢摼
 *
 *  @return	張棟寢壥(KErrNone:張棟惉岟丄System-wide Error:張棟幐攕)
 **/
TInt CSmbMusicAPSyncServerContentsServiceGetImageCount::FileFormat()
	{
	TInt result(KErrNone);
	TSmbMusicMWLibFileFormat mwFormat(ESmbMusicMWLibFileFormatOther);
	iImageCount.iFileFormat = TSmbMusicAPSyncEngineFileOther;  //  僒億乕僩懳徾奜偱弶婜壔

	result = iSongItem -> Format(mwFormat);
	if (result == KErrNone)
		{
		switch(mwFormat)
			{
			case ESmbMusicMWLibFileFormatiMotionEx:		//  i儌乕僔儑儞奼挘僼傽僀儖
				iImageCount.iFileFormat = TSmbMusicAPSyncEngineFileiMotionEx;
				break;
			case ESmbMusicMWLibFileFormatMP3:			//  MP3僼傽僀儖
				iImageCount.iFileFormat = TSmbMusicAPSyncEngineFileMP3;
				break;
			case ESmbMusicMWLibFileFormatMSAudio:		//  MS/MSPro Audio僼傽僀儖
				iImageCount.iFileFormat = TSmbMusicAPSyncEngineFileMSAudio;
				break;
			case ESmbMusicMWLibFileFormat3GPPAAC:		//  3GPP AAC僼傽僀儖
				iImageCount.iFileFormat = TSmbMusicAPSyncEngineFile3GPPAAC;
				break;
//  ADD-S PTX824 k3-sugimoto
#ifndef __SMBMUSICAPSYNCSERVER_ENABLE_PTX810__
			case ESmbMusicMWLibFileFormatMtpModeWMA:	//  WMA僼傽僀儖(MTP儌乕僪揮憲)
				iImageCount.iFileFormat = TSmbMusicAPSyncEngineFileMtpModeWMA;
				break;
			case ESmbMusicMWLibFileFormatMemoryModeWMA:	//  WMA僼傽僀儖(儊儌儕儌乕僪揮憲)
				iImageCount.iFileFormat = TSmbMusicAPSyncEngineFileMemoryModeWMA;
				break;
#endif	//  __SMBMUSICAPSYNCSERVER_ENABLE_PTX810__
//  ADD-E PTX824 k3-sugimoto
			case ESmbMusicMWLibFileFormatOther:		//  偦偺懠(僒億乕僩奜)僼傽僀儖
				iImageCount.iFileFormat = TSmbMusicAPSyncEngineFileOther;
				break;
			default:								//  僨僼僅儖僩
				//  PANIC偝偣偰傕傛偄偑僄儔乕偲偟偰張棟偡傞
				result = KErrNotSupported;
				break;
			}
		}

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TInt logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber29;
	_LIT(KServiceGetImageCountFileFormat01, "SyncServerContentsServiceGetImageCount::FileFormat result:%d MWFormat:%d FileFormat:%d");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServiceGetImageCountFileFormat01, result, mwFormat, iImageCount.iFileFormat);
#endif
	return result;
	}

/**
 *  僼傽僀儖曐懚応強庢摼
 *
 *  @return	張棟寢壥(KErrNone:張棟惉岟丄System-wide Error:張棟幐攕)
 **/
TInt CSmbMusicAPSyncServerContentsServiceGetImageCount::WhereStore()
	{
	TInt result(KErrNone);
	TSmbMusicMWLibWhereabouts mwStore(ESmbMusicMWLibWAOther);
	iImageCount.iStore = ESmbMusicAPSyncEngineInWAOther;  //  偦偺懠偺奿擺応強偱弶婜壔

	result = iSongItem -> Whereabouts(mwStore);
	if (result == KErrNone)
		{
		switch(mwStore)
			{
			case ESmbMusicMWLibWAOther:	//  偦偺懠偺奿擺応強
				iImageCount.iStore = ESmbMusicAPSyncEngineInWAOther;
				break;
			case ESmbMusicMWLibDataBox:	//  僨乕僞Box
				iImageCount.iStore = ESmbMusicAPSyncEngineInDataBox;
				break;
			case ESmbMusicMWLibMS:		//  儊儌儕乕僗僥傿僢僋
				iImageCount.iStore = ESmbMusicAPSyncEngineInMS;
				break;
			case ESmbMusicMWLibSD:		//  SD僇乕僪
				iImageCount.iStore = ESmbMusicAPSyncEngineInSD;
				break;
			case ESmbMusicMWLibFlash:	//  杮懱撪憼Flash儊儌儕
				iImageCount.iStore = ESmbMusicAPSyncEngineInFlash;
				break;
			default:								//  僨僼僅儖僩
				//  PANIC偝偣偰傕傛偄偑僄儔乕偲偟偰張棟偡傞
				result = KErrNotSupported;
				break;
			}
		}

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TInt logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber30;
	_LIT(KServiceGetImageCountWhereStore01, "SyncServerContentsServiceGetImageCount::WhereStore result:%d MWStore:%d Store:%d");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServiceGetImageCountWhereStore01, result, mwStore, iImageCount.iStore);
#endif
	return result;
	}
//  ADD-E  [iKeeper(TRK):7935] 僒僽儊僯儏乕梡徻嵶忣曬庢摼懳墳

//  ADD-S PTX824 k3-sugimoto
/**
 *  嵞惗惂尷忣曬庢摼
 *
 *  @return	張棟寢壥(KErrNone:張棟惉岟丄System-wide Error:張棟幐攕)
 **/
TInt CSmbMusicAPSyncServerContentsServiceGetImageCount::Limitation()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLE_PTX810__
	iImageCount.iLimitation = ESmbMusicAPSyncEngineLimitNone;	//  嵞惗惂尷柍偟
	return KErrNone;
#else	//  __SMBMUSICAPSYNCSERVER_ENABLE_PTX810__
	TInt result(KErrNone);
	iImageCount.iLimitation = ESmbMusicAPSyncEngineLimitInvalidation;

	const TSmbMusicMWLibDispSongInfo* dispInfo = iSongItem -> DispInformation();
	if (dispInfo == NULL)
		{
		TInt logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber31;
		_LIT(KServiceGetImageCountLimitation01, "SyncServerContentsServiceGetImageCount::Limitation DispInformation is Null");
		SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelHigh, KServiceGetImageCountLimitation01);

		return KErrNotFound;
		}

	switch(dispInfo -> iLimitation)
		{
		case ESmbMusicMWLibLimitNone:			//  嵞惗惂尷側偟
		case ESmbMusicMWLibLimitCount:			//  夞悢惂尷
		case ESmbMusicMWLibLimitPeriod:			//  婜尷惂尷
		case ESmbMusicMWLibLimitSpan:			//  婜娫惂尷
		case ESmbMusicMWLibLimitSubscription:	//  僒僽僗僋儕僾僔儑儞
		case ESmbMusicMWLibLimitWmDrm:			//  WMDRM嵞惗惂尷(挊嶌尃曐岇偁傝)
		case ESmbMusicMWLibLimitInvalidation:	//  嵞惗惂尷忣曬柍岠
			//  僨乕僞抣曄姺傪峴偆
			iImageCount.iLimitation = TSmbMusicAPSyncServerConverter::ConvertLimitation(dispInfo -> iLimitation, &iRLog);
			break;
		default:
			//  PANIC偝偣偰傕傛偄偑僄儔乕偲偟偰張棟偡傞
			result = KErrNotSupported;
			break;
		}

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TInt logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber32;
	_LIT(KServiceGetImageCountLimitation02, "SyncServerContentsServiceGetImageCount::Limitation result:%d MWLimit:%d Limit:%d");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServiceGetImageCountLimitation02, result, dispInfo -> iLimitation, iImageCount.iLimitation);
#endif
	return result;
#endif	//  __SMBMUSICAPSYNCSERVER_ENABLE_PTX810__
	}
//  ADD-E PTX824 k3-sugimoto


// end of SmbMusicAPSyncServerContentsServiceGetImageCount.cpp

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

⌨️ 快捷键说明

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