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

📄 smbmusicapsyncservercontentsserviceplmakenewlist.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:

	if (aError == KErrAlreadyExists)
		{	//  愝掕偟偨僼傽僀儖柤偺僼傽僀儖偑婛偵懚嵼偟偰偄傞応崌
		if (iRetryCount < KSmbMusicAPSyncServerContentsRetryCount)
			{	//  嵟戝嵞帋峴夞悢傪挻偊偰側偄応崌
			//  嵞搙僼傽僀儖柤傪惗惉偟側偍偟儕僩儔僀
			iRetryCount++;

			TInt retState(KErrNone);
			//  僾儗僀儕僗僩怴婯嶌惉梫媮張棟
			retState = RegisterUserPlayList();
			if (retState == KErrNone)
				{	//  僾儗僀儕僗僩怴婯嶌惉梫媮偵惉岟
				//  AO傪桳岠偵偟墳摎懸偪傊
				CSmbMusicAPSyncServerContentsServiceBase::Start();

				return ESmbMusicAPSyncServerContetnsServiceStateContinue;
				}
			else
				{	//  僾儗僀儕僗僩怴婯嶌惉梫媮偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
				logCode = EMusicAPSyncServerClassNumber_ContentsServicePLMakeNewList | EMusicAPSyncServerLocationNumber07;
				_LIT(KServicePLMakeNewListServiceErr02, "SyncServerContentsServicePLMakeNewList::ServiceErr RegisterUserPlayList Error:%d");
				SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLMakeNewListServiceErr02, retState);
#endif
				}
			}
		else
			{	//  嵟戝嵞帋峴夞悢傪僆乕僶乕偟偨応崌
			TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLMakeNewList | EMusicAPSyncServerLocationNumber08;
			_LIT(KServicePLMakeNewListServiceErr03, "SyncServerContentsServicePLMakeNewList::ServiceErr Retry count over");
			SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelHigh, KServicePLMakeNewListServiceErr03);
			}
		}

	iManagers.ObserveUpdateManager().StopObservation(iListHandle);

	MessageComplete(aError);

	delete iPLTitle;
	iPLTitle = NULL;

	return ESmbMusicAPSyncServerContetnsServiceStateErr;
	}


/**
 *  僒乕價僗僉儍儞僙儖捠抦
 **/
void CSmbMusicAPSyncServerContentsServicePLMakeNewList::CancelService()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLMakeNewList | EMusicAPSyncServerLocationNumber09;
	_LIT(KServicePLMakeNewListCancelService01, "SyncServerContentsServicePLMakeNewList::CancelService()");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLMakeNewListCancelService01);
#endif

	if (IsActive() != EFalse)
		{	//  僾儗僀儕僗僩怴婯嶌惉梫媮拞偺応崌
		TInt retState = iFunc.CancelRegisterUserPlayList();

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsServicePLMakeNewList | EMusicAPSyncServerLocationNumber10;
		_LIT(KServicePLMakeNewListCancelService02, "SyncServerContentsServicePLMakeNewList::CancelService CancelRegisterUserPlayList:%d");
		SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLMakeNewListCancelService02, retState);
#endif
		CSmbMusicAPSyncServerContentsServiceBase::Cancel();
		}

	//  僉儍儞僙儖帪偵偼峏怴捠抦娔帇傕拞巭
	iManagers.ObserveUpdateManager().StopObservation(iListHandle);

	MessageComplete(KErrCancel);

	delete iPLTitle;
	iPLTitle = NULL;
	}


/**
 *  僒乕價僗宲懕
 *
 *  @return	僒乕價僗張棟偺宲懕忬嫷
 **/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServicePLMakeNewList::ContinueServiceL()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLMakeNewList | EMusicAPSyncServerLocationNumber11;
	_LIT(KServicePLMakeNewListContinueServiceL01, "SyncServerContentsServicePLMakeNewList::ContinueServiceL()");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLMakeNewListContinueServiceL01);
#endif

	//  傾僾儕偵曉媝偡傞抣偼側偄偨傔儕僋僄僗僩姰椆偺傒
	MessageComplete(KErrNone);

	delete iPLTitle;
	iPLTitle = NULL;

	return ESmbMusicAPSyncServerContetnsServiceStateEnd;
	}

/**
 *  僾儗僀儕僗僩怴婯嶌惉梫媮張棟
 *
 *  @return	張棟寢壥
 **/
TInt CSmbMusicAPSyncServerContentsServicePLMakeNewList::RegisterUserPlayList()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLMakeNewList | EMusicAPSyncServerLocationNumber12;
	_LIT(KServicePLMakeNewListRegisterUserPlayList01, "SyncServerContentsServicePLMakeNewList::RegisterUserPlayList()");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLMakeNewListRegisterUserPlayList01);
#endif

	//  僆儕僕僫儖僼傽僀儖柤惗惉
	MakeOriginalFileName();

	//  僾儗僀儕僗僩怴婯嶌惉梫媮
	return iFunc.RegisterUserPlayList(iRegisterInfo, iStatus);;
	}


/**
 *  僆儕僕僫儖僼傽僀儖柤惗惉
 *
 *  摨婜僒乕僶偱僼傽僀儖柤傪惗惉偡傞偺偐MW偵栤偄崌傢偣拞
 **/
void CSmbMusicAPSyncServerContentsServicePLMakeNewList::MakeOriginalFileName()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLMakeNewList | EMusicAPSyncServerLocationNumber13;
	_LIT(KServicePLMakeNewListMakeOriginalFileName01, "SyncServerContentsServicePLMakeNewList::MakeOriginalFileName()");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLMakeNewListMakeOriginalFileName01);
#endif

	TTime time;
	time.HomeTime();	//  僫儞僶乕嶌惉梡

	//  MW傊搉偡僷儔儊乕僞偺弶婜壔
	iRegisterInfo.iOriginalFileName.Des().Zero();

	//  僆儕僕僫儖僾儗僀儕僗僩僼傽僀儖柤惗惉梡僼僅乕儅僢僥傿儞僌儀乕僗
//  MODIFY-S  僆儕僕僫儖僾儗僀儕僗僩柤傪18暥帤(36byte)偵廂傔傞懳墳
//  MODIFY-S  僆儕僕僫儖僾儗僀儕僗僩僼傽僀儖柤偵奼挘巕傪晅壛
	_LIT(KSmbMusicAPSyncServerOriginalPlNameBase, "PlayList%010Lu.plt");
//  MODIFY-E  僆儕僕僫儖僾儗僀儕僗僩僼傽僀儖柤偵奼挘巕傪晅壛
	//  拲堄)
	//  捠偟斣崋偼僔僗僥儉帪崗(儅僀僋儘昩)傪Int64偱庢摼偟丄
	//  儈儕昩偵曄姺屻丄壓偐傜10寘暘傪巊梡偡傞丅
//  MODIFY-E  僆儕僕僫儖僾儗僀儕僗僩柤傪18暥帤(36byte)偵廂傔傞懳墳

//  ADD-S  僆儕僕僫儖僾儗僀儕僗僩柤傪18暥帤(36byte)偵廂傔傞懳墳
	TInt64	serial = time.Int64();
	serial = serial / KSmbMusicAPSyncServerContentsMakeSeriarlForOrgFileMilli;	//  棻搙傪儈儕昩儗儀儖偵偡傞
	serial = serial % KSmbMusicAPSyncServerContentsMakeSeriarlForOrgFileRange;	//  斖埻傪10寘暘偵廂傔傞
//  ADD-E  僆儕僕僫儖僾儗僀儕僗僩柤傪18暥帤(36byte)偵廂傔傞懳墳

	//  僼傽僀儖柤惗惉(僼傽僀柤儀乕僗丄斣崋)
	TBuf<KSmbMusicAPSyncServerContentsOriginalFilenameMaxLength> originalFilename;
//  MODIFY-S  僆儕僕僫儖僾儗僀儕僗僩柤傪18暥帤(36byte)偵廂傔傞懳墳
	originalFilename.Format(KSmbMusicAPSyncServerOriginalPlNameBase, serial);
//  MODIFY-E  僆儕僕僫儖僾儗僀儕僗僩柤傪18暥帤(36byte)偵廂傔傞懳墳

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	logCode = EMusicAPSyncServerClassNumber_ContentsServicePLMakeNewList | EMusicAPSyncServerLocationNumber14;
	_LIT(KServicePLMakeNewListMakeOriginalFileName02, "SyncServerContentsServicePLMakeNewList::MakeOriginalFileName() Filename:PlayList%010Lu.plt");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServicePLMakeNewListMakeOriginalFileName02, serial);
#endif

	iRegisterInfo.iOriginalFileName = originalFilename;
	}


/**
 *  僷儔儊乕僞撉崬
 *
 *  @return	僷儔儊乕僞撉崬惉斲(ETrue:栤戣側偟丄EFalse:栤戣偁傝)
 **/
TBool CSmbMusicAPSyncServerContentsServicePLMakeNewList::LoadParamL()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLMakeNewList | EMusicAPSyncServerLocationNumber15;
	_LIT(KServicePLMakeNewListLoadParamL01, "SyncServerContentsServicePLMakeNewList::LoadParamL");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLMakeNewListLoadParamL01);
#endif

	//  摨婜僄儞僕儞偐傜搉偝傟偨僾儗僀儕僗僩僞僀僩儖傪撉傒崬傓
	delete iPLTitle;
	iPLTitle = NULL;

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

	iListHandle = reqPkg.iData.iCreatePL.iListHandle;

	TInt titleLength = iRMessage.GetDesLength(KSmbMusicAPSyncEngineMsgIn2);
	if (titleLength < 0 )
		{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsServicePLMakeNewList | EMusicAPSyncServerLocationNumber17;
		_LIT(KServicePLMakeNewListLoadParamL03, "SyncServerContentsServicePLMakeNewList::LoadParamL no enough Length:%d");
		SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLMakeNewListLoadParamL03, titleLength);
#endif
		return EFalse;
		}

	iPLTitle = HBufC::NewL(titleLength);
	TPtr ptr = iPLTitle -> Des();
	iRMessage.ReadL(KSmbMusicAPSyncEngineMsgIn2, ptr);

	//  MW傊搉偡僷儔儊乕僞偺弶婜壔
	iRegisterInfo.iTitle.Des().Zero();
	iRegisterInfo.iListId = 0;		//  僾儗僀儕僗僩僼傽僀儖ID傪弶婜壔

	//  傾僾儕偐傜庴偗庢偭偨僞僀僩儖傪MW偵搉偡偺僨乕僞偵僐僺乕
	iRegisterInfo.iTitle = *iPLTitle;

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	logCode = EMusicAPSyncServerClassNumber_ContentsServicePLMakeNewList | EMusicAPSyncServerLocationNumber18;
	_LIT(KServicePLMakeNewListLoadParamL04, "SyncServerContentsServicePLMakeNewList::LoadParamL Title:%d");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServicePLMakeNewListLoadParamL04, iPLTitle -> Length());
#endif
	return ETrue;
	}


// end of SmbMusicAPSyncServerContentsPLOrderManager.cpp

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

⌨️ 快捷键说明

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