📄 smbmusicapsyncservercontentsappnotifymanager.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 + -