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

📄 smbmusicapsyncservercontentsappnotifymanager.cpp

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

#ifndef __SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif

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

USING_NAMESPACE_SEMCJ


/**
 僐儞僗僩儔僋僞
 * @param	aLog	RLog偺嶲徠
 * @return			側偟
 */
CSmbMusicAPSyncServerContentsAppNotifyManager::CSmbMusicAPSyncServerContentsAppNotifyManager(DCM_NAMESPACE::RLog& aLog)
	:iLog(aLog)
	{
	}


/**
 僨僗僩儔僋僞
 * @param	側偟
 * @return	側偟
 */
CSmbMusicAPSyncServerContentsAppNotifyManager::~CSmbMusicAPSyncServerContentsAppNotifyManager()
	{
	Reset();
	iObserver.Close();
	}


/**
 僆僽僓乕僶傪搊榐偡傞
 * @param [in]	aRMessage	RMessage偺嶲徠
 * @return					側偟
 */
void CSmbMusicAPSyncServerContentsAppNotifyManager::SetObserver(const RMessage2& aRMessage)
	{

	TInt result = iObserver.Append(aRMessage);
	if(KErrNone != result)
		{
		_LIT(KContentsAppNotifyManager00, "SyncServerContentsAppNotifyManager::SetObserver() iObserver.Append() Err %d");
		SmbMusicAPSyncServerLog(iLog,
								(EMusicAPSyncServerClassNumber_ContentsAppNotifyManager|EMusicAPSyncServerLocationNumber00),
								ELogLevelHigh,
								KContentsAppNotifyManager00,
								result);
		}
	}

/**
 僆僽僓乕僶傪僉儍儞僙儖偡傞
 * @param [in]	aRMessage	RMessage偺嶲徠
 * @return					側偟
 */
void CSmbMusicAPSyncServerContentsAppNotifyManager::CancelObserver(const RMessage2& aCancelRMessage)
	{
	// 僉儍儞僙儖懳徾偺RMessage傪僉儍儞僙儖偡傞
	TInt count = iObserver.Count();
	for(TInt i=0; i<count; i++)
		{
		if(aCancelRMessage.Session() == iObserver[i].Session())
			{
			iObserver[i].Complete(KErrCancel);
			iObserver.Remove(i);
			break;
			}
		}
	aCancelRMessage.Complete(KErrNone);
	}


/**
 僞僀僩儖曇廤偝傟偨僾儗僀儕僗僩傪捠抦偡傞
 * @param [in]	aListHandle	僾儗僀儕僗僩堦棗偺儕僗僩僴儞僪儖
 * @param [in]	aIndex		儕僗僩撪偺僀儞僨僢僋僗
 * @return					側偟
 */
void CSmbMusicAPSyncServerContentsAppNotifyManager::NotifyTitleEdit(TInt aListHandle, TInt aIndex)
	{
	if(0<aIndex)
		{
		// 僀儀儞僩傪捠抦偡傞
		TSmbMusicAPSyncEngineContentsEvent evt;
		evt.iType			= ESmbMusicAPSyncEngineUpdateTitle;				///<傾僀僥儉偺僞僀僩儖曇廤乮僾儗僀儕僗僩僞僀僩儖曇廤乯
		evt.iSubType		= ESmbMusicAPSyncEngineNoneInfo;				///<忣曬側偟
		evt.iInfo.iParam1	= aListHandle;									///<1st僷儔儊乕僞
		evt.iInfo.iParam2	= aIndex-1;										///<2nd僷儔儊乕僞乮MWLib偱偼Index偑1乣偺偨傔丄0乣偵曄姺偡傞乯
		NotifyEvt(evt);
		}
	else
		{
		_LIT(KContentsAppNotifyManager01, "SyncServerContentsAppNotifyManager::NotifyTitleEdit() aIndex is Invalid %d");
		SmbMusicAPSyncServerLog(iLog,
								(EMusicAPSyncServerClassNumber_ContentsAppNotifyManager|EMusicAPSyncServerLocationNumber01),
								ELogLevelHigh,
								KContentsAppNotifyManager01,
								aIndex);
		}
	}


/**
 傾僀僥儉偑嶍彍偝傟偨偙偲傪捠抦偡傞乮1審 嶍彍梡乯
 * @param [in]	aListHandle	僾儗僀儕僗僩堦棗偺儕僗僩僴儞僪儖
 * @param [in]	aIndex		儕僗僩撪偺僀儞僨僢僋僗
 * @return					側偟
 */
void CSmbMusicAPSyncServerContentsAppNotifyManager::NotifyDeleteOneItem(TInt aListHandle, TInt aIndex)
	{
	if(0<aIndex)
		{
		// 僀儀儞僩傪捠抦偡傞
		TSmbMusicAPSyncEngineContentsEvent evt;
		evt.iType			= ESmbMusicAPSyncEngineUpdateDeleteItems;		///<儕僗僩偐傜傾僀僥儉嶍彍乮僾儗僀儕僗僩搊榐夝彍傪娷傓乯
		evt.iSubType		= ESmbMusicAPSyncEngineSingleItem;				///<1審
		evt.iInfo.iParam1	= aListHandle;									///<1st僷儔儊乕僞
		evt.iInfo.iParam2	= aIndex-1;										///<2nd僷儔儊乕僞乮MWLib偱偼Index偑1乣偺偨傔丄0乣偵曄姺偡傞乯
		NotifyEvt(evt);
		}
	else
		{
		_LIT(KContentsAppNotifyManager02, "SyncServerContentsAppNotifyManager::NotifyTitleEdit() aIndex is Invalid %d");
		SmbMusicAPSyncServerLog(iLog,
								(EMusicAPSyncServerClassNumber_ContentsAppNotifyManager|EMusicAPSyncServerLocationNumber02),
								ELogLevelHigh,
								KContentsAppNotifyManager02,
								aIndex);
		}
	}


/**
 傾僀僥儉偑嶍彍偝傟偨偙偲傪捠抦偡傞乮暋悢審 嶍彍梡乯
 * @param [in]	aListHandle	僾儗僀儕僗僩堦棗偺儕僗僩僴儞僪儖
 * @param [in]	aCount		嶍彍偝傟偨審悢
 * @return					側偟
 */
void CSmbMusicAPSyncServerContentsAppNotifyManager::NotifyDeletePluralItem(TInt aListHandle, TInt aCount)
	{
	// 僀儀儞僩傪捠抦偡傞
	TSmbMusicAPSyncEngineContentsEvent evt;
	evt.iType			= ESmbMusicAPSyncEngineUpdateDeleteItems;		///<儕僗僩偐傜傾僀僥儉嶍彍乮僾儗僀儕僗僩搊榐夝彍傪娷傓乯
	evt.iSubType		= ESmbMusicAPSyncEngineSomeItems;				///<暋悢審
	evt.iInfo.iParam1	= aListHandle;									///<1st僷儔儊乕僞
	evt.iInfo.iParam2	= aCount;										///<2nd僷儔儊乕僞
	NotifyEvt(evt);
	}


/**
 傾僀僥儉偑嶍彍偝傟偨偙偲傪捠抦偡傞乮慡審 嶍彍梡乯
 * @param [in]	aListHandle	僾儗僀儕僗僩堦棗偺儕僗僩僴儞僪儖
 * @return					側偟
 */
void CSmbMusicAPSyncServerContentsAppNotifyManager::NotifyDeleteAllItem(TInt aListHandle)
	{
	// 僀儀儞僩傪捠抦偡傞
	TSmbMusicAPSyncEngineContentsEvent evt;
	evt.iType			= ESmbMusicAPSyncEngineUpdateDeleteItems;		///<儕僗僩偐傜傾僀僥儉嶍彍乮僾儗僀儕僗僩搊榐夝彍傪娷傓乯
	evt.iSubType		= ESmbMusicAPSyncEngineAllItems;				///<慡審
	evt.iInfo.iParam1	= aListHandle;									///<1st僷儔儊乕僞
	evt.iInfo.iParam2	= 0;											///<2nd僷儔儊乕僞 側偟
	NotifyEvt(evt);
	}


/**
 僾儗僀儕僗僩偺嬋弴偑曄峏偝傟偨偙偲傪捠抦偡傞
 * @param [in]	aListHandle	僾儗僀儕僗僩偺儕僗僩僴儞僪儖
 * @return					側偟
 */
void CSmbMusicAPSyncServerContentsAppNotifyManager::NotifyOrderItems(TInt aListHandle)
	{
	// 僀儀儞僩傪捠抦偡傞
	TSmbMusicAPSyncEngineContentsEvent evt;
	evt.iType			= ESmbMusicAPSyncEngineUpdateOrderInList;		///<儕僗僩拞傾僀僥儉偺傾僀僥儉暲傋懼偊
	evt.iSubType		= ESmbMusicAPSyncEngineNoneInfo;				///<忣曬側偟
	evt.iInfo.iParam1	= aListHandle;									///<1st僷儔儊乕僞
	evt.iInfo.iParam2	= 0;											///<2nd僷儔儊乕僞 側偟
	NotifyEvt(evt);
	}


/**
 傾僀僥儉偑捛壛偝傟偨偙偲傪捠抦偡傞
 * @param [in]	aListHandle	捛壛偝傟偨儕僗僩偺僴儞僪儖
 * @param [in]	aCount		捛壛偝傟偨傾僀僥儉偺悢
 * @return					側偟
 */
void CSmbMusicAPSyncServerContentsAppNotifyManager::NotifyAddItem(TInt aListHandle, TInt aCount)
	{
	// 僀儀儞僩傪捠抦偡傞
	TSmbMusicAPSyncEngineContentsEvent evt;
	evt.iType			= ESmbMusicAPSyncEngineUpdateAddInList;			///<儕僗僩傊偺傾僀僥儉偺捛壛乮僾儗僀儕僗僩傊偺搊榐捛壛乯
	evt.iSubType		= ESmbMusicAPSyncEngineNoneInfo;				///<忣曬側偟
	evt.iInfo.iParam1	= aListHandle;									///<1st僷儔儊乕僞
	evt.iInfo.iParam2	= aCount;										///<2nd僷儔儊乕僞
	NotifyEvt(evt);
	}


/**
 傾僀僥儉偑怴婯嶌惉偝傟偨偙偲傪捠抦偡傞
 * @param [in]	aListHandle	捛壛偝傟偨儕僗僩偺僴儞僪儖
 * @param [in]	aListHandle	捛壛偝傟偨儕僗僩偺僴儞僪儖
 * @return					側偟
 */
void CSmbMusicAPSyncServerContentsAppNotifyManager::NotifyCreateItem(TInt aListHandle, TInt aIndex)
	{
	if(0<aIndex)
		{
		// 僀儀儞僩傪捠抦偡傞
		TSmbMusicAPSyncEngineContentsEvent evt;
		evt.iType			= ESmbMusicAPSyncEngineUpdateCreateInList;		///<儕僗僩傊偺傾僀僥儉偺捛壛乮僾儗僀儕僗僩傊偺怴婯嶌惉乯
		evt.iSubType		= ESmbMusicAPSyncEngineSingleItem;				///<1審
		evt.iInfo.iParam1	= aListHandle;									///<1st僷儔儊乕僞
		evt.iInfo.iParam2	= aIndex-1;										///<2nd僷儔儊乕僞乮MWLib偱偼Index偑1乣偺偨傔丄0乣偵曄姺偡傞乯
		NotifyEvt(evt);
		}
	else
		{
		_LIT(KContentsAppNotifyManager03, "SyncServerContentsAppNotifyManager::NotifyTitleEdit() aIndex is Invalid %d");
		SmbMusicAPSyncServerLog(iLog,
								(EMusicAPSyncServerClassNumber_ContentsAppNotifyManager|EMusicAPSyncServerLocationNumber03),
								ELogLevelHigh,
								KContentsAppNotifyManager03,
								aIndex);
		}
	}


/**
 傾僀僥儉偑忋彂偒偝傟偨偙偲傪捠抦偡傞
 * @param [in]	aListHandle	捛壛偝傟偨儕僗僩偺僴儞僪儖
 * @return					側偟
 */
void CSmbMusicAPSyncServerContentsAppNotifyManager::NotifyOverWriteItem(TInt aListHandle)
	{
	// 僀儀儞僩傪捠抦偡傞
	TSmbMusicAPSyncEngineContentsEvent evt;
	evt.iType			= ESmbMusicAPSyncEngineUpdateOverWriteInList;	///<儕僗僩傊偺傾僀僥儉偺捛壛乮僾儗僀儕僗僩傊偺忋彂偒搊榐乯
	evt.iSubType		= ESmbMusicAPSyncEngineNoneInfo;				///<忣曬側偟
	evt.iInfo.iParam1	= aListHandle;									///<1st僷儔儊乕僞
	evt.iInfo.iParam2	= 0;											///<2nd僷儔儊乕僞 側偟
	NotifyEvt(evt);
	}


/**
 僋儔僗撪傪弶婜忬懺偵栠偡
 * @param	側偟
 * @return	側偟
 */
void CSmbMusicAPSyncServerContentsAppNotifyManager::Reset()
	{
	// 搊榐偝傟偰偄傞僆僽僓乕僶傪慡偰僉儍儞僙儖偡傞丅
	TInt count = iObserver.Count();
	for(TInt i=0; i<count; i++)
		{
		iObserver[0].Complete(KErrCancel);
		iObserver.Remove(0);
		}
	}


/**
 僀儀儞僩傪捠抦偡傞
 * @param [in]	aEvt	僀儀儞僩峔憿懱偺嶲徠
 * @return					側偟
 */
void CSmbMusicAPSyncServerContentsAppNotifyManager::NotifyEvt(TSmbMusicAPSyncEngineContentsEvent& aEvt)
	{
	// 搊榐偝傟偰偄傞僆僽僓乕僶慡偰偵捠抦傪峴偆
	TInt count = iObserver.Count();
	for(TInt i=0; i<count; i++)
		{
		TPckg<TSmbMusicAPSyncEngineContentsEvent> pkg(aEvt);

		TInt err = iObserver[0].Write(1,pkg);
		if (KErrNone != err)
			{
			_LIT(KContentsAppNotifyManager04, "SyncServerContentsAppNotifyManager::NotifyEvt() Write() Err %d");
			SmbMusicAPSyncServerLog(iLog,
									(EMusicAPSyncServerClassNumber_ContentsAppNotifyManager|EMusicAPSyncServerLocationNumber04),
									ELogLevelHigh,
									KContentsAppNotifyManager04,
									err);

			}
		iObserver[0].Complete(err);
		iObserver.Remove(0);
		}
	}


// end of SmbMusicAPSyncServerContentsAppNotifyManager.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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