📄 smbmusicapsyncservercontentsserviceplinsertitem.cpp
字号:
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber19;
_LIT(KServicePLInsertItemInsertSelectSongItem01, "SyncServerContentsServicePLInsertItem::InsertSelectSongItem Start");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLInsertItemInsertSelectSongItem01);
#endif
// 僾儗僀儕僗僩偵懳偟嬋捛壛傪梫媮
TInt error = iPLItem -> InsertItem(iInsertIndex, iHandleArray, iStatus);
if (error != KErrNone)
{ // 捛壛梫媮張棟偑僄儔乕偺応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber20;
_LIT(KServicePLInsertItemInsertSelectSongItem02, "SyncServerContentsServicePLInsertItem::InsertSelectSongItem InsertItem Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemInsertSelectSongItem02, error);
#endif
return error;
}
// 忬懺傪嬋傾僀僥儉捛壛張棟拞傊
iServiceState = EContentsServicePLInsertItemStateInsertItem;
return KErrNone;
}
/**
* 僾儗僀儕僗僩偵捛壛偡傞偨傔偺嬋傾僀僥儉庢摼梫媮
*
* 慡嬋庢摼嵪傒偺応崌偼
*
* @return 張棟惉斲(KErrNone:張棟惉岟丄System-wide Error:張棟幐攕)
**/
TInt CSmbMusicAPSyncServerContentsServicePLInsertItem::RequestSongItem()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber21;
_LIT(KServicePLInsertItemRequestSongItem01, "SyncServerContentsServicePLInsertItem::RequestSongItem() Start");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLInsertItemRequestSongItem01);
#endif
TInt error(KErrNone);
// 攝楍偺愭摢偺捛壛嬋偺Index傪庢摼
TInt songIndex = iIndexArray[iSongIndex] + 1; // index僆儕僕儞傪挷惍
iSongIndex++; // 張棟偟偨屄悢傪+1
// 傾僀僥儉儕僗僩偺弶婜壔
ItemArray().Reset();
// 捛壛偡傞嬋傾僀僥儉庢摼
error = iItemList -> CreateNewItem(ItemArray(), songIndex, 1, iStatus);
if (error != KErrNone)
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber22;
_LIT(KServicePLInsertItemRequestSongItem02, "SyncServerContentsServicePLInsertItem::RequestSongItem CreateNewItem Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemRequestSongItem02, error);
#endif
return error;
}
// 傾僀僥儉庢摼懸偪忬懺傊
iServiceState = EContentsServicePLInsertItemStateGetSongItem;
return KErrNone;
}
/**
* 僾儗僀僞僀僩儖曄峏張棟
*
* @return 曄峏張棟惉斲(KErrNone:張棟惉岟丄System-wide Error:張棟幐攕)
**/
TInt CSmbMusicAPSyncServerContentsServicePLInsertItem::InsertSongItem()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber23;
_LIT(KServicePLInsertItemInsertSongItem01, "SyncServerContentsServicePLInsertItem::InsertSongItem() Start");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLInsertItemInsertSongItem01);
#endif
// 庢摼偟偨儕僗僩攝楍偺梫慺悢僠僃僢僋
if (ItemArray().Count() < 1)
{ // 梫慺悢偑懌傝側偄(1側偄)応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber24;
_LIT(KServicePLInsertItemInsertSongItem02, "SyncServerContentsServicePLInsertItem::InsertSongItem no enough array:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemInsertSongItem02, ItemArray().Count());
#endif
return KErrNotReady;
}
TInt error(KErrNone);
CSmbMusicMWLibSongItem* songItem(NULL);
// 庢摼偟偨儕僗僩攝楍偐傜僾儗僀儕僗僩傾僀僥儉傪庢傝弌偡
TRAP(error, songItem = static_cast<CSmbMusicMWLibSongItem*>(ItemArray().GetMusicItemL(0)););
if (error != KErrNone)
{ // 僾儗僀儕僗僩傾僀僥儉偺庢傝弌偟偵幐攕偟偨応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber25;
_LIT(KServicePLInsertItemInsertSongItem03, "SyncServerContentsServicePLInsertItem::InsertSongItem GetMusicItemL Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemInsertSongItem03, error);
#endif
return error;
}
if (songItem == NULL)
{ // 庢傝弌偟偨僾儗僀儕僗僩傾僀僥儉偑NULL偩偭偨応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber26;
_LIT(KServicePLInsertItemInsertSongItem04, "SyncServerContentsServicePLInsertItem::InsertSongItem GetMusicItemL is NULL");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemInsertSongItem04);
#endif
return KErrNotFound;
}
// 庢摼偟偨嬋傾僀僥儉偺僴儞僪儖傪攝楍偵捛壛偡傞
TRAP(error, iHandleArray.AppendL(songItem -> Handle()););
if (error != KErrNone)
{ // 僴儞僪儖偺捛壛偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber27;
_LIT(KServicePLInsertItemInsertSongItem05, "SyncServerContentsServicePLInsertItem::InsertSongItem HandleArray Append Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemInsertSongItem05, error);
#endif
return error;
}
// 庢摼偟偨嬋傾僀僥儉傪攝楍偵捛壛偡傞丅
error = iSongArray.Append(songItem);
if (error != KErrNone)
{ // 嬋傾僀僥儉偺捛壛偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber28;
_LIT(KServicePLInsertItemInsertSongItem06, "SyncServerContentsServicePLInsertItem::InsertSongItem SongArray Append Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemInsertSongItem06, error);
#endif
return error;
}
// 傾僀僥儉儕僗僩偺弶婜壔
ItemArray().Reset();
return KErrNone;
}
/**
* 捛壛愭僾儗僀儕僗僩偺僆乕僾儞
*
* @return 梫媮寢壥(KErrNone:梫媮惉岟丄System-wide Error:梫媮幐攕)
**/
TInt CSmbMusicAPSyncServerContentsServicePLInsertItem::PLListOpen()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber29;
_LIT(KServicePLInsertItemPLListOpen01, "SyncServerContentsServicePLInsertItem::PLListOpen()");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLInsertItemPLListOpen01);
#endif
ASSERT(iPLItem != NULL);
TInt result(KErrNone);
if (iListOpen == EFalse)
{ // 捛壛愭僾儗僀儕僗僩偑枹僆乕僾儞偺応崌
result = iPLItem -> Open(iStatus);
if (result == KErrNone)
{ // 捛壛愭僾儗僀儕僗僩偺僆乕僾儞偵惉岟
iListOpen = ETrue; // 捛壛愭僾儗僀儕僗僩偺僆乕僾儞
}
else
{ // 捛壛愭僾儗僀儕僗僩偺僆乕僾儞偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber30;
_LIT(KServicePLInsertItemPLListOpen02, "SyncServerContentsServicePLInsertItem::PLListOpen() PLList Open Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemPLListOpen02, result);
#endif
}
}
return result;
}
/**
* 捛壛愭僾儗僀儕僗僩偺僋儘乕僘
**/
void CSmbMusicAPSyncServerContentsServicePLInsertItem::PLListClose()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber31;
_LIT(KServicePLInsertItemPLListClose01, "SyncServerContentsServicePLInsertItem::PLListClose()");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLInsertItemPLListClose01);
#endif
ASSERT(iPLItem != NULL);
if (iListOpen != EFalse)
{ // 僾儗僀儕僗僩僆乕僾儞帪(梫媮拞偺応崌傕娷傓)
TInt result = iPLItem -> Close();
if (result == KErrNone)
{ // 僾儗僀儕僗僩僆乕僾儞張棟僉儍儞僙儖惉岟
iListOpen = EFalse; // 僾儗僀儕僗僩僆乕僾儞僼儔僌僋儕傾
}
else
{ // 僾儗僀儕僗僩僆乕僾儞張棟僉儍儞僙儖幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber32;
_LIT(KServicePLInsertItemPLListClose02, "SyncServerContentsServicePLInsertItem::PLListClose Close Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemPLListClose02, result);
#endif
}
}
}
/**
* 僷儔儊乕僞撉崬
*
* @return 僷儔儊乕僞撉崬惉斲(ETrue:栤戣側偟丄EFalse:栤戣偁傝)
**/
TBool CSmbMusicAPSyncServerContentsServicePLInsertItem::LoadParamL()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber33;
_LIT(KServicePLInsertItemLoadParamL01, "SyncServerContentsServicePLInsertItem::LoadParamL");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServicePLInsertItemLoadParamL01);
#endif
// 摨婜僄儞僕儞偐傜偺梫媮儊僢僙乕僕偺撉崬
TInt maxLen = iRMessage.GetDesLength(KSmbMusicAPSyncEngineMsgIn1);
if (maxLen < sizeof(TSmbMusicAPSyncServerContentsReqPkg))
{ // 僋儔僀傾儞僩偐傜偺梫媮儊僢僙乕僕挿偑堎忢側応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber34;
_LIT(KServicePLInsertItemLoadParamL02, "SyncServerContentsServicePLInsertItem::LoadParamL Argument 1 Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemLoadParamL02, maxLen);
#endif
return EFalse;
}
// 梫媮僷僢働乕僕偺撉崬
TInt error(KErrNone);
TSmbMusicAPSyncServerContentsReqPkg reqPkg;
TPckg<TSmbMusicAPSyncServerContentsReqPkg> pkg(reqPkg);
error = iRMessage.Read(KSmbMusicAPSyncEngineMsgIn1, pkg);
if (error != KErrNone)
{ // 僋儔僀傾儞僩偐傜偺梫媮儊僢僙乕僕偺撉崬偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber35;
_LIT(KServicePLInsertItemLoadParamL03, "SyncServerContentsServicePLInsertItem::LoadParamL ContentsReqPkg Load Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemLoadParamL03, error);
#endif
return EFalse;
}
TSmbMusicAPSyncServerInsertItemReqMsg& insertItem(reqPkg.iData.iInsertItem);
// 搊榐愭僾儗僀儕僗僩忣曬
iPLHandle = insertItem.iList.iListHandle; // 僾儗僀儕僗僩堦棗儕僗僩僴儞僪儖
iIndex = insertItem.iList.iIndex + 1; // 堦棗儕僗僩撪偱偺懳徾傾僀僥儉偺Index(index僆儕僕儞傪挷惍)
iInsertIndex = insertItem.iIndex + 1; // 僾儗僀儕僗僩嬋堦棗偺傾僀僥儉捛壛埵抲Index(index僆儕僕儞傪挷惍)
// 搊榐尦傾僀僥儉忣曬
iListHandle = insertItem.iItems.iListHandle; // 捛壛嬋傾僀僥儉傪帩偮儕僗僩偺僴儞僪儖
iAllItems = insertItem.iItems.iAllItem; // 慡審捛壛僼儔僌
if (iAllItems != EFalse)
{ // 慡審捛壛偺応崌
// 攝楍僨乕僞偼巊傢側偄偺偱偙偙偱張棟傪姰椆偡傞丅
return ETrue;
}
// 1審/慖戰捛壛偺応崌偼index楍傪庢摼偡傞
delete iIndexArray;
iIndexArray = NULL;
// 摨婜僄儞僕儞偐傜偺梫媮儊僢僙乕僕偺撉崬(攝楍僨乕僞)
maxLen = iRMessage.GetDesLength(KSmbMusicAPSyncEngineMsgIn3);
if (maxLen < 0)
{ // 僋儔僀傾儞僩偐傜偺梫媮儊僢僙乕僕挿偑堎忢側応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber36;
_LIT(KServicePLInsertItemLoadParamL04, "SyncServerContentsServicePLInsertItem::LoadParamL Argument 3 Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemLoadParamL04, maxLen);
#endif
return EFalse;
}
// 搉偝傟偨攝楍(僶僢僼傽)傪撉傒崬傓偨傔偺僶僢僼傽嶌惉
iIndexCount = maxLen / sizeof(TInt); // 幚嵺偵搉偝傟偨index攝楍偺梫慺悢傪嶼弌
if (iIndexCount == 0)
{ // 梫慺悢偑0偺応崌
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber37;
_LIT(KServicePLInsertItemLoadParamL05, "SyncServerContentsServicePLInsertItem::LoadParamL ArrayCount is 0:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemLoadParamL05, iIndexCount);
#endif
return EFalse;
}
iIndexArray = new(ELeave)TInt[iIndexCount]; // 撉傒崬傒僶僢僼傽嶌惉
TPtr8 ptr(reinterpret_cast<TUint8*>(iIndexArray), maxLen);
// 僶僢僼傽傊撉傒崬傒
error = iRMessage.Read(KSmbMusicAPSyncEngineMsgIn3, ptr);
if (error != KErrNone)
{ // 撉傒崬傒幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServicePLInsertItem | EMusicAPSyncServerLocationNumber38;
_LIT(KServicePLInsertItemLoadParamL06, "SyncServerContentsServicePLInsertItem::LoadParamL Array Load Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServicePLInsertItemLoadParamL06, error);
#endif
delete iIndexArray;
iIndexArray = NULL;
return EFalse;
}
return ETrue;
}
// end of SmbMusicAPSyncServerContentsServicePLInsertItem.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -