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

📄 smbmusicapsyncservercontentsservicegetcontentsid.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPSyncServerContentsServiceGetContentsID.cpp
//
// Description:
//	PTX810 Music傾僾儕 摨婜僒乕僶 僐儞僥儞僣僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰			|撪梕
//--------------+---------------+--------------------------------------
//2006/06/20	|SDNA 壀嶳		|怴婯嶌惉


#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETCONTENTSID_H__
#include "SmbMusicAPSyncServerContentsServiceGetContentsID.h"
#endif

#ifndef FJLOG_H__
#include <FjLog.h>
#endif

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
#include "SmbMusicAPSyncServerContentsList.h"
#endif

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSITEM_H__
#include "SmbMusicAPSyncServerContentsItem.h"
#endif

USING_NAMESPACE_SEMCJ


/**
 僐儞僗僩儔僋僞
 * @param [in]		aRlog				RLog偺嶲徠
 * @param [in]		aModel				儌僨儖僋儔僗偺嶲徠
 * @param [in]		aObserver			僒乕價僗姰椆捠抦愭僋儔僗偺嶲徠
 * @param [in]		aFunc				僐儞僥儞僣僼傽儞僋儔僗偺嶲徠
 * @param [in]		aManagerInterface	奺儅僱乕僕儍傪娗棟偡傞僋儔僗偺嶲徠
 * @param [in]		aScreenData			夋柺慗堏僨乕僞娗棟僋儔僗偺嶲徠
 * @param [in,out]	aRMessage			RMessage偺億僀儞僞
 * @return								側偟
 */
CSmbMusicAPSyncServerContentsServiceGetContentsID::CSmbMusicAPSyncServerContentsServiceGetContentsID(DCM_NAMESPACE::RLog&								aRlog,
																									 CSmbMusicAPSyncServerModel& 						aModel,
																									 MSmbMusicAPSyncServerContentsAsyncObserver& 		aObserver,
																									 CSmbMusicAPSyncServerContentsFunc& 				aFunc,
																									 MSmbMusicAPSyncServerContentsManagerInterface& 	aManagerInterface,
																									 CSmbMusicAPSyncServerContentsScreenTraceManager&	aScreenData,
																									 const RMessage2&									aRMessage)
	:CSmbMusicAPSyncServerContentsServiceBase(aRlog,aModel,aObserver,aFunc,aManagerInterface,aScreenData,aRMessage),
	iServiceState(ESmbMusicAPSyncServerContentsServiceGetContentsIDState_Init)
	{
	}


/**
 僨僗僩儔僋僞
 * @param	側偟
 * @return	側偟
 */
CSmbMusicAPSyncServerContentsServiceGetContentsID::~CSmbMusicAPSyncServerContentsServiceGetContentsID()
	{
	if (IsActive() != EFalse)
		{
		CancelService();
		}
	// 擮偺偨傔丄僉儍儞僙儖偵偰Complete偡傞
	CompleteErr(KErrCancel);

	delete iTempItemArray;
	iTempItemArray = 0;
	}


/**
 僒乕價僗傪奐巒偡傞
 * @param	側偟
 * @return	僒乕價僗張棟忬懺
 */
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceGetContentsID::StartServiceL()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsServiceGetContentsID00, "SyncServerContentsServiceGetContentsID::StartServiceL() ");
	SmbMusicAPSyncServerLog(iRLog,
							(EMusicAPSyncServerClassNumber_ContentsServiceGetContentsID|EMusicAPSyncServerLocationNumber00),
							ELogLevelLowest,
							KContentsServiceGetContentsID00);
#endif
	if(ESmbMusicAPSyncServerContentsServiceGetContentsIDState_Init == iServiceState)
		{
		// 僷儔儊乕僞傪撉傒崬傓
		if(EFalse != LoadParam())
			{
			CSmbMusicAPSyncServerContentsList* list = iScreenData.GetList(iParamListHandle);

			if(list)
				{
				iList = list;

				// 傾僀僥儉攝楍傪惗惉偡傞
				iTempItemArray = CSmbMusicMWLibItemArray::NewL(1);
				// 傾僀僥儉傪庢摼偡傞
				TInt result = iList->CreateNewItem(*iTempItemArray, iParamIndex, 1, iStatus);

				if(KErrNone == result)
					{
					// 僒乕價僗僋儔僗傪傾僋僥傿僽偵偡傞
					Start();

					// 傾僀僥儉庢摼懸偪忬懺偵偡傞
					iServiceState = ESmbMusicAPSyncServerContentsServiceGetContentsIDState_WaitItem;

					return ESmbMusicAPSyncServerContetnsServiceStateContinue;
					}
				else
					{
					_LIT(KContentsServiceGetContentsID01, "SyncServerContentsServiceGetContentsID::StartServiceL() CreateNewItem() Err %d");
					SmbMusicAPSyncServerLog(iRLog,
											(EMusicAPSyncServerClassNumber_ContentsServiceGetContentsID|EMusicAPSyncServerLocationNumber01),
											ELogLevelHigh,
											KContentsServiceGetContentsID01,
											result);
					// 儔僀僽儔儕MW僄儔乕偵偰姰椆偡傞
					CompleteErr(KErrNotReady);
					return ESmbMusicAPSyncServerContetnsServiceStateErr;
					}
				}
			else
				{
				_LIT(KContentsServiceGetContentsID02, "SyncServerContentsServiceGetContentsID::StartServiceL() List Not Found 0x%08x");
				SmbMusicAPSyncServerLog(iRLog,
										(EMusicAPSyncServerClassNumber_ContentsServiceGetContentsID|EMusicAPSyncServerLocationNumber02),
										ELogLevelHigh,
										KContentsServiceGetContentsID02,
										iParamListHandle);

				// 僷儔儊乕僞僄儔乕偵偰姰椆偡傞
				CompleteErr(KErrArgument);
				return ESmbMusicAPSyncServerContetnsServiceStateErr;
				}
			}
		else
			{
			// 僷儔儊乕僞僄儔乕偵偰姰椆偡傞
			CompleteErr(KErrArgument);
			return ESmbMusicAPSyncServerContetnsServiceStateErr;
			}
		}
	else
		{
		_LIT(KContentsServiceGetContentsID03, "SyncServerContentsServiceGetContentsID::StartServiceL() Invalid State %d");
		SmbMusicAPSyncServerLog(iRLog,
								(EMusicAPSyncServerClassNumber_ContentsServiceGetContentsID|EMusicAPSyncServerLocationNumber03),
								ELogLevelHigh,
								KContentsServiceGetContentsID03,
								iServiceState);

		// 僒乕價僗傪僄儔乕偱姰椆偡傞
		CompleteErr();
		return ESmbMusicAPSyncServerContetnsServiceStateErr;
		}
	}


/**
 旕摨婜墳摎偐傜僒乕價僗傪宲懕偡傞
 * @param	側偟
 * @return	僒乕價僗張棟忬懺
 */
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceGetContentsID::ContinueServiceL()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	_LIT(KContentsServiceGetContentsID04, "SyncServerContentsServiceGetContentsID::ContinueServiceL() state:%d");
	SmbMusicAPSyncServerLog(iRLog,
							(EMusicAPSyncServerClassNumber_ContentsServiceGetContentsID|EMusicAPSyncServerLocationNumber04),
							ELogLevelLowest,
							KContentsServiceGetContentsID04,
							iServiceState);
#endif
	if(ESmbMusicAPSyncServerContentsServiceGetContentsIDState_WaitItem == iServiceState)
		{

		// 傾僀僥儉傪庢摼偡傞
		CSmbMusicMWLibMusicItem* item = iTempItemArray->GetMusicItemL(0);

		if(item)
			{
			// 傾僀僥儉偑嬋傾僀僥儉偺応崌
			TSmbMusicMWLibItemType type = item->ItemType();
			if(ESmbMusicMWLibItemTypeSong == type)
				{

				// 嬋傾僀僥儉僋儔僗偵僉儍僗僩偟丄僐儞僥儞僣ID傪庢摼偡傞
				CSmbMusicMWLibSongItem* songItem = static_cast<CSmbMusicMWLibSongItem*>(item);
				TInt contentsID = songItem->ContentsId ();
				delete item;
				item = 0;

				if(0 <= contentsID)
					{
					Complete(contentsID);
					return ESmbMusicAPSyncServerContetnsServiceStateEnd;
					}
				else
					{
					_LIT(KContentsServiceGetContentsID05, "SyncServerContentsServiceGetContentsID::ContinueServiceL() ContentsId() Err %d");
					SmbMusicAPSyncServerLog(iRLog,
											(EMusicAPSyncServerClassNumber_ContentsServiceGetContentsID|EMusicAPSyncServerLocationNumber05),
											ELogLevelHigh,
											KContentsServiceGetContentsID05,
											contentsID);

					// 儔僀僽儔儕MW僄儔乕偵偰姰椆偡傞
					CompleteErr(KErrNotReady);
					return ESmbMusicAPSyncServerContetnsServiceStateErr;
					}
				}
			else
				{
				delete item;
				item = 0;

				_LIT(KContentsServiceGetContentsID06, "SyncServerContentsServiceGetContentsID::ContinueServiceL() ItemType Not Song %d");
				SmbMusicAPSyncServerLog(iRLog,
										(EMusicAPSyncServerClassNumber_ContentsServiceGetContentsID|EMusicAPSyncServerLocationNumber06),
										ELogLevelHigh,
										KContentsServiceGetContentsID06,
										type);

⌨️ 快捷键说明

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