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

📄 smbmusicapsyncservercontentsservicepltitleedit.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPSyncServerContentsServicePLTitleEdit.cpp
//
// Description:
//  僾儗僀儕僗僩柤曇廤梫媮僒乕價僗
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+----------------------------------------------
//2006/06/08	|K3悪杮		| 怴婯嶌惉
//2006/07/06	|K3悪杮		| 傾僾儕-僒乕僶娫偺index僆儕僕儞傪挷惍
//				|			| 儘僌弌椡廋惓
//2006/07/12	|K3悪杮		| 僉儍儞僙儖梫媮偑側偄偺偱CheckCancel傪嶍彍(Base偵偰僴儞僪儖)
//2006/07/13	|SDNA 壀嶳	| 傾僾儕捠抦偺僀儞僨僢僋僗傪廋惓
//2006/07/24	|K3悪杮		| 僉儍儞僙儖帪偵Null億僀儞僞傾僋僙僗偟偰偄偨栤戣偺廋惓
//2006/08/07	|K3悪杮		| 僉儍儞僙儖API捛壛偵傛傞CheckCancel張棟傪捛壛
//2006/09/26	|K3悪杮		| [iKeeper(TRK):10321] 傾僾儕廔椆帪偵僼儕乕僘偡傞栤戣偺懳墳
//2006/10/10	|K3悪杮		| [iKeeper(TRK):11195] 嵞惗拞偺僾儗僀儕僗僩偺応崌忣曬傪峏怴偡傞張棟捛壛

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEPLTITLEEDIT_H__
#include "SmbMusicAPSyncServerContentsServicePLTitleEdit.h"
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSSERVICEPLTITLEEDIT_H__


#ifndef __E32ERR_H__
#include <e32err.h>	//  僄儔乕僐乕僪
#endif	//  __E32ERR_H__


#ifndef __SMBMUSICAPSYNCSERVERDEF_H__
#include <SmbMusicAPSyncServerDef.h>
#endif	//  __SMBMUSICAPSYNCSERVERDEF_H__

#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicMWLibClient.h>	//  CSmbMusicMWLibPLItem
#endif	//  __SMBMUSICMWLIBCLIENT_H__


#ifndef __SMBMUSICAPSYNCSERVERCONTENTSFUNC_H__
#include "SmbMusicAPSyncServerContentsFunc.h"
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSFUNC_H__

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACEMANAGER_H__
#include "SmbMusicAPSyncServerContentsScreenTraceManager.h"
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACEMANAGER_H__

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSASYNCOBSERVER_H__
#include "SmbMusicAPSyncServerContentsAsyncObserver.h"
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSASYNCOBSERVER_H__

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

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_H__
#include "SmbMusicAPSyncServerContentsManagerInterface.h"
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_H__

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSAPPNOTIFYMANAGER_H__
#include "SmbMusicAPSyncServerContentsAppNotifyManager.h"
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSAPPNOTIFYMANAGER_H__


USING_NAMESPACE_SEMCJ

/**
 *  僐儞僗僩儔僋僞
 *
 *  @param[in]	aRlog				儘僌僒乕僶
 *  @param[in]	aModel				摨婜僒乕僶儌僨儖
 *  @param[in]	aObserver			旕摨婜僆僽僓乕僶
 *  @param[in]	aFunc				僼傽儞僋僔儑儞
 *  @param[in]	aManagerInterface	儅僱乕僕儍僀儞僞僼僃乕僗
 *  @param[in]	aScreenData			僗僋儕乕儞僩儗乕僗儅僱乕僕儍
 *  @param[in]	aRMessage			僋儔僀傾儞僩偐傜偺儊僢僙乕僕
 **/
CSmbMusicAPSyncServerContentsServicePLTitleEdit::CSmbMusicAPSyncServerContentsServicePLTitleEdit(
		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
			)
	{
	}


/**
 *  僨僗僩儔僋僞
 **/
CSmbMusicAPSyncServerContentsServicePLTitleEdit::~CSmbMusicAPSyncServerContentsServicePLTitleEdit()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLTitleEdit | EMusicAPSyncServerLocationNumber00;
	_LIT(KServicePLTitleEditDestruct01, "SyncServerContentsServicePLTitleEdit::~Destruct()");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLTitleEditDestruct01);
#endif

	if (IsActive() != EFalse)
		{
		CancelService();
		}

	delete iNewTitle;

	delete iPLList;

	delete iItemArray;

	delete iIterator;
	}


/**
 *  僉儍儞僙儖梫媮偵懳偡傞僒乕價僗僉儍儞僙儖敾掕
 *
 *  @param[in]	aCancelEvent	僉儍儞僙儖梫媮偝傟偨僀儀儞僩僞僀僾
 *
 *  @return	僉儍儞僙儖傪庴偗傞偐偳偆偐偺敾掕(ETrue:梫媮僉儍儞僙儖丄EFalse:梫媮傪僉儍儞僙儖偟側偄)
 **/
TBool CSmbMusicAPSyncServerContentsServicePLTitleEdit::CheckCancel(TSmbMusicAPSyncServerFunction aCancelEvent)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLTitleEdit | EMusicAPSyncServerLocationNumber01;
	_LIT(KServicePLTitleEditCheckCancel01, "SyncServerContentsServicePLTitleEdit::CheckCancel(%d)");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLTitleEditCheckCancel01, aCancelEvent);
#endif
	if (aCancelEvent == ESmbMusicAPSyncServerFuncCancelEditPlaylistTitle)
		{	//  帺僒乕價僗偺僉儍儞僙儖梫媮偺応崌
		return ETrue;
		}
	return EFalse;
	}


/**
 *  僒乕價僗偺奐巒梫媮
 *
 *  @return	僒乕價僗張棟偺宲懕忬嫷
 **/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServicePLTitleEdit::StartServiceL()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLTitleEdit | EMusicAPSyncServerLocationNumber02;
	_LIT(KServicePLTitleEditStartServiceL01, "SyncServerContentsServicePLTitleEdit::StartServiceL Start");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLTitleEditStartServiceL01);
#endif

	if (iItemArray == NULL)
		{  //  儕僗僩攝楍偑惗惉偝傟偰偄側偄応崌
		//  儕僗僩傾僀僥儉庢摼梡儕僗僩攝楍惗惉
		iItemArray = CSmbMusicMWLibItemArray::NewL(1);	//  1嬋暘
		}

	//  RMessage偐傜僷儔儊乕僞撉崬
	if (LoadParamL() == EFalse)
		{	//  摨婜僄儞僕儞偐傜偺儊僢僙乕僕偑晄惓偩偭偨
		MessageComplete(KErrArgument);
		return ESmbMusicAPSyncServerContetnsServiceStateEnd;
		}

	//  僾儗僀儕僗僩堦棗儕僗僩庢摼
	iContentsList = iScreenData.GetList(iListHandle);
	if (iContentsList == NULL)
		{	//  儕僗僩偺庢摼偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsServicePLTitleEdit | EMusicAPSyncServerLocationNumber03;
		_LIT(KServicePLTitleEditStartServiceL02, "SyncServerContentsServicePLTitleEdit::StartServiceL GetList Error");
		SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLTitleEditStartServiceL02);
#endif

		MessageComplete(KErrNotFound);
		return ESmbMusicAPSyncServerContetnsServiceStateEnd;
		}

	// 僀僥儗乕僞偺庢摼
	iIterator = iContentsList -> GetListItem().GetIteratorL(iIndex);
	if (iIterator == NULL)
		{	//  儕僗僩偺庢摼偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsServicePLTitleEdit | EMusicAPSyncServerLocationNumber04;
		_LIT(KServicePLTitleEditStartServiceL03, "SyncServerContentsServicePLTitleEdit::StartServiceL GetIteratorL Error");
		SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLTitleEditStartServiceL03);
#endif

		MessageComplete(KErrNotReady);
		return ESmbMusicAPSyncServerContetnsServiceStateEnd;
		}

	//  傾僀僥儉儕僗僩偺弶婜壔
	iItemArray -> Reset();

	//  柤慜曄峏懳徾僾儗僀儕僗僩傾僀僥儉庢摼
	TInt retState(KErrNone);
	retState = iContentsList -> CreateNewItem(*iItemArray, iIndex, 1, iStatus);
	if (retState != KErrNone)
		{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsServicePLTitleEdit | EMusicAPSyncServerLocationNumber05;
		_LIT(KServicePLTitleEditStartServiceL04, "SyncServerContentsServicePLTitleEdit::StartServiceL CreateNewItem Error:%d");
		SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLTitleEditStartServiceL04, retState);
#endif

		MessageComplete(retState);
		return ESmbMusicAPSyncServerContetnsServiceStateEnd;
		}

	//  傾僀僥儉庢摼懸偪忬懺傊
	iServiceState = EContentsServicePLTitleEditStateGetItem;
	CSmbMusicAPSyncServerContentsServiceBase::Start();

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	logCode = EMusicAPSyncServerClassNumber_ContentsServicePLTitleEdit | EMusicAPSyncServerLocationNumber06;
	_LIT(KServicePLTitleEditStartServiceL05, "SyncServerContentsServicePLTitleEdit::StartServiceL End");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServicePLTitleEditStartServiceL05);
#endif

	return ESmbMusicAPSyncServerContetnsServiceStateContinue;
	}


/**
 *  僒乕價僗僄儔乕捠抦
 *
 *  @param[in]	aError	僄儔乕僐乕僪
 *
 *  @return	僒乕價僗張棟偺宲懕忬嫷
 **/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServicePLTitleEdit::ServiceErr(TInt aError)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLTitleEdit | EMusicAPSyncServerLocationNumber07;
	_LIT(KServicePLTitleEditServiceErr01, "SyncServerContentsServicePLTitleEdit::ServiceErr(%d)");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLTitleEditServiceErr01, aError);
#endif

	MessageComplete(aError);

	//  枹幚峴忬懺傊
	iServiceState = EContentsServicePLTitleEditStateIdle;

	//  僾儗僀儕僗僩傾僀僥儉攋婞
	if (iItemArray != NULL)
		{
		iItemArray -> Reset();
		}
	delete iPLList;
	iPLList = NULL;

	//  怴僞僀僩儖僨乕僞偺奐曻
	delete iNewTitle;
	iNewTitle = NULL;

	return ESmbMusicAPSyncServerContetnsServiceStateErr;
	}


/**
 *  僒乕價僗僉儍儞僙儖捠抦
 **/
void CSmbMusicAPSyncServerContentsServicePLTitleEdit::CancelService()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLTitleEdit | EMusicAPSyncServerLocationNumber08;
	_LIT(KServicePLTitleEditCancelService01, "SyncServerContentsServicePLTitleEdit::CancelService()");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLTitleEditCancelService01);
#endif

	switch(iServiceState)
		{
		case EContentsServicePLTitleEditStateGetItem:	//  僾儗僀儕僗僩傾僀僥儉庢摼拞
			{
			ASSERT(iContentsList != NULL);

			//  傾僀僥儉惗惉僉儍儞僙儖
			iContentsList -> CancelCreateNewItem();
			}
			break;
		case EContentsServicePLTitleEditStateTitleEdit:	//  僞僀僩儖曄峏墳摎懸偪
			{
			ASSERT(iPLList != NULL);

//  MODIFY-S  [iKeeper(TRK):10321] 傾僾儕廔椆帪偵僼儕乕僘偡傞栤戣偺懳墳
			//  僞僀僩儖曄峏僉儍儞僙儖
			iPLList -> CancelRename();
//  MODIFY-E  [iKeeper(TRK):10321] 傾僾儕廔椆帪偵僼儕乕僘偡傞栤戣偺懳墳
//  ADD-S  [iKeeper(TRK):11195] 嵞惗拞偺僾儗僀儕僗僩偺応崌忣曬傪峏怴偡傞張棟捛壛
			CSmbMusicAPSyncServerContentsServiceBase::Cancel();	//  MW傪屇傇慜偵堦墳僉儍儞僙儖偟偰偍偔

			// 儗僕儏乕儉忣曬偵奩摉偺僾儗僀儕僗僩偑偁傞応崌偼丄儕僗僩傾僀僥儉偺忣曬傪峏怴偡傞丅
			CSmbMusicAPSyncServerContentsList*	list = iScreenData.GetLastListFromPlayScreenTrace();
			if(list != NULL)
				{
				CSmbMusicMWLibMusicItem& item = list -> GetListItem();
				if(*iPLList == item)
					{
					item.Update();
					}
				}
//  ADD-E  [iKeeper(TRK):11195] 嵞惗拞偺僾儗僀儕僗僩偺応崌忣曬傪峏怴偡傞張棟捛壛
			//僞僀僩儖曇廤傪捠抦偟傑偡丅
			iManagers.AppNotifyManager().NotifyTitleEdit(iListHandle, iIterator->Index());
			}

⌨️ 快捷键说明

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