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

📄 smbmusicapsyncservercontentsserviceplremoveitem.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPSyncServerContentsServicePLRemoveItem.cpp
//
// Description:
//  僾儗僀儕僗僩撪嬋傾僀僥儉搊榐夝彍梫媮僒乕價僗
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+----------------------------------------------
//2006/06/12	|K3悪杮		| 怴婯嶌惉
//2006/07/06	|K3悪杮		| 傾僾儕-僒乕僶娫偺index僆儕僕儞傪挷惍
//				|			| 儘僌弌椡廋惓
//2006/07/12	|K3悪杮		| CheckCancel偑惓偟偔宲彸偱偒偰偄側偐偭偨偺偱廋惓
//2006/10/10	|K3悪杮		| [iKeeper(TRK):11219] 儗僕儏乕儉忣曬攋婞偑惓偟偔峴偊偨側偐偭偨栤戣偺懳張
//2006/10/20	|K3悪杮		| [iKeeper(TRK):11872] 屆偄夋憸忣曬偑庢摼偝傟偰偄偨栤戣偺懳張
//2006/10/31	|K3悪杮		| [iKeeper(TRK):12273] 搊榐夝彍帪偵屆偄忣曬偑昞帵偝傟偰偄偨栤戣偺懳張
//2006/11/01	|K3悪杮		| [iKeeper(TRK):12290] 嵞惗嬋忣曬偺僉儍僢僔儏偑僋儕傾偝傟偰偄側偄栤戣偺懳張


#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEPLREMOVEITEM_H__
#include "SmbMusicAPSyncServerContentsServicePLRemoveItem.h"
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSSERVICEPLREMOVEITEM_H__


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


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


#ifndef __SMBMUSICAPSYNCSERVERMODEL_H__
#include "SmbMusicAPSyncServerModel.h"
#endif	//  __SMBMUSICAPSYNCSERVERMODEL_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__

//  ADD-S  [iKeeper(TRK):11872] 屆偄夋憸忣曬偑庢摼偝傟偰偄偨栤戣偺懳張
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSIMAGEDATAMANAGER_H__
#include "SmbMusicAPSyncServerContentsImageDataManager.h"
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSIMAGEDATAMANAGER_H__
//  ADD-E  [iKeeper(TRK):11872] 屆偄夋憸忣曬偑庢摼偝傟偰偄偨栤戣偺懳張

//  ADD-S  [iKeeper(TRK):12290] 嵞惗嬋忣曬偺僉儍僢僔儏偑僋儕傾偝傟偰偄側偄栤戣偺懳張
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSPLAYSONGINFOMANAGER_H__
#include "SmbMusicAPSyncServerContentsPlaySongInfoManager.h"
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSIMAGEDATAMANAGER_H__
//  ADD-E  [iKeeper(TRK):12290] 嵞惗嬋忣曬偺僉儍僢僔儏偑僋儕傾偝傟偰偄側偄栤戣偺懳張


USING_NAMESPACE_SEMCJ

/**
 *  僐儞僗僩儔僋僞
 *
 *  @param[in]	aRlog				儘僌僒乕僶
 *  @param[in]	aModel				摨婜僒乕僶儌僨儖
 *  @param[in]	aObserver			旕摨婜僆僽僓乕僶
 *  @param[in]	aFunc				僼傽儞僋僔儑儞
 *  @param[in]	aManagerInterface	儅僱乕僕儍僀儞僞僼僃乕僗
 *  @param[in]	aScreenData			僗僋儕乕儞僩儗乕僗儅僱乕僕儍
 *  @param[in]	aRMessage			僋儔僀傾儞僩偐傜偺儊僢僙乕僕
 **/
CSmbMusicAPSyncServerContentsServicePLRemoveItem::CSmbMusicAPSyncServerContentsServicePLRemoveItem(
		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
			),
	 KPlayListMaxItem(10),			//  僾儗僀儕僗僩攝楍偺棻搙
	 iIndexArray(KPlayListMaxItem)	//  夝彍Index摦揑攝楍偺棻搙傪愝掕
	{
	}


/**
 *  僨僗僩儔僋僞
 **/
CSmbMusicAPSyncServerContentsServicePLRemoveItem::~CSmbMusicAPSyncServerContentsServicePLRemoveItem()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLRemoveItem | EMusicAPSyncServerLocationNumber00;
	_LIT(KServicePLRemoveItemDestruct01, "SyncServerContentsServicePLRemoveItem::~Destruct()");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLRemoveItemDestruct01);
#endif

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

	delete iItemArray;
	}


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

	if (aCancelEvent == ESmbMusicAPSyncServerFuncCancelRemoveItemsFromPlaylist)
		{	//  帺僒乕價僗偺僉儍儞僙儖梫媮偺応崌
		return ETrue;
		}
	return EFalse;
	}


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

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

	//  僾儗僀儕僗僩嬋堦棗儕僗僩庢摼
	iContentsList = iScreenData.GetList(iListHandle);
	if (iContentsList == NULL)
		{	//  儕僗僩偺庢摼偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsServicePLRemoveItem | EMusicAPSyncServerLocationNumber03;
		_LIT(KServicePLRemoveItemStartServiceL02, "SyncServerContentsServicePLRemoveItem::StartServiceL GetList Error");
		SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLRemoveItemStartServiceL02);
#endif
		MessageComplete(KErrNotFound);
		return ESmbMusicAPSyncServerContetnsServiceStateEnd;
		}

	//  張棟奐巒慜偺儕僗僩偵偁傞傾僀僥儉悢傪曐懚偡傞
	iOriginalCount = iContentsList -> GetItemCount();

	//  僾儗僀儕僗僩嬋搊榐夝彍梫媮
	TInt error(KErrNone);
	if (iAllItems != EFalse)
		{	//  慡審夝彍
		error = iContentsList -> RemoveItem(iStatus);
		}
	else
		{	//  1審/慖戰夝彍
		error = iContentsList -> RemoveItem(iIndexArray, iStatus);
		}
	if (error != KErrNone)
		{	//  搊榐夝彍梫媮偵幐攕偟偨応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsServicePLRemoveItem | EMusicAPSyncServerLocationNumber04;
		_LIT(KServicePLRemoveItemStartServiceL03, "SyncServerContentsServicePLRemoveItem::StartServiceL RemoveItem Error:%d");
		SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLRemoveItemStartServiceL03, error);
#endif
		MessageComplete(error);
		return ESmbMusicAPSyncServerContetnsServiceStateEnd;
		}

//  ADD-S  [iKeeper(TRK):12273] 搊榐夝彍帪偵屆偄忣曬偑昞帵偝傟偰偄偨栤戣偺懳張
	//  僒乕僶懁偱僉儍僢僔儏偟偰偄傞僾儗僀儕僗僩撪傾僀僥儉傪攋婞偡傞丅
	iScreenData.DeleteItem(iListHandle);
//  ADD-E  [iKeeper(TRK):12273] 搊榐夝彍帪偵屆偄忣曬偑昞帵偝傟偰偄偨栤戣偺懳張

//  ADD-S  [iKeeper(TRK):11219] 儗僕儏乕儉忣曬攋婞偑惓偟偔峴偊偨側偐偭偨栤戣偺懳張
	// 捛壛懳徾偺僾儗僀儕僗僩偑嵞惗拞偺応崌偵偼丄儗僕儏乕儉忣曬傪嶍彍偡傞
	CSmbMusicMWLibListItem& listItem = iContentsList -> GetListItem();
	if(EFalse != iScreenData.CheckResume(listItem))
		{
		iModel.DeleteResume();
		}
//  ADD-E  [iKeeper(TRK):11219] 儗僕儏乕儉忣曬攋婞偑惓偟偔峴偊偨側偐偭偨栤戣偺懳張
//  ADD-S  [iKeeper(TRK):11872] 屆偄夋憸忣曬偑庢摼偝傟偰偄偨栤戣偺懳張
	//  MW偵梫媮姰椆偟偨帪揰偱僉儍僢僔儏偝傟偰偄傞夋憸忣曬傪慡僋儕傾偡傞丅
	iManagers.ImageDataManager().AllClear();
//  ADD-E  [iKeeper(TRK):11872] 屆偄夋憸忣曬偑庢摼偝傟偰偄偨栤戣偺懳張
//  ADD-S  [iKeeper(TRK):12290] 嵞惗嬋忣曬偺僉儍僢僔儏偑僋儕傾偝傟偰偄側偄栤戣偺懳張
	//  MW偵梫媮姰椆偟偨帪揰偱僉儍僢僔儏偝傟偰偄傞嵞惗嬋忣曬傪僋儕傾偡傞丅
	//  偨偩偟僋儕傾偡傞偺偼搊榐夝彍嬋偑娷傑傟偰偄傞僾儗僀儕僗僩偵強懏偡傞嵞惗嬋忣曬偺傒丅
	iManagers.PlaySongInfoManager().ClearPlaySongData(&iListHandle);
//  ADD-E  [iKeeper(TRK):12290] 嵞惗嬋忣曬偺僉儍僢僔儏偑僋儕傾偝傟偰偄側偄栤戣偺懳張

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

#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	logCode = EMusicAPSyncServerClassNumber_ContentsServicePLRemoveItem | EMusicAPSyncServerLocationNumber05;
	_LIT(KServicePLRemoveItemStartServiceL04, "SyncServerContentsServicePLRemoveItem::StartServiceL End");
	SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServicePLRemoveItemStartServiceL04);
#endif

	return ESmbMusicAPSyncServerContetnsServiceStateContinue;
	}


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

	MessageComplete(aError);

	//  枹幚峴忬懺傊
	iServiceState = EContentsServicePLRemoveItemStateIdle;
	iIndexArray.Reset();

	return ESmbMusicAPSyncServerContetnsServiceStateErr;

⌨️ 快捷键说明

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