📄 smbmusicapsyncservercontentsfunc.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerContentsFunc.cpp
//
// Description:
// 僐儞僥儞僣宯偺婡擻僋儔僗
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+----------------------------------------------
//2006/06/11 |娵壀 | 怴婯嶌惉
//2006/06/16 |K3悪杮 | 捛壛僐乕僨傿儞僌
//2006/10/20 |K3悪杮 | 僐儊儞僩丒儘僌廋惓
//2006/10/21 |娵壀 | TRK11769懳墳
//----PTX824----+-----------+----------------------------------------------
//2007/03/26 |K3悪杮 | PTX824懳墳
//2007/03/28 |K3悪杮 | 巜掕庬暿夋憸忣曬庢摼梡API捛壛
//2007/06/23 |K3悪杮 | AAA夋憸懳墳
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSFUNC_H__
#include "SmbMusicAPSyncServerContentsFunc.h"
#endif
#ifndef __E32ERR_H__
#include <e32err.h> // 僄儔乕僐乕僪
#endif // __E32ERR_H__
#ifndef __SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif // __SMBMUSICAPSYNCSERVERUTIL_H__
#ifndef __SMBMUSICAPSYNCSERVERINTERNALDEF_H__
#include "SmbMusicAPSyncServerInternalDef.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERCONVERTER_H__
#include "SmbMusicAPSyncServerConverter.h"
#endif // __SMBMUSICAPSYNCSERVERCONVERTER_H__
USING_NAMESPACE_SEMCJ
/**
* 僐儞僥儞僣僼傽儞僋僔儑儞惗惉梡僼傽僋僩儕娭悢
*
* @param[in] aLog 儘僌僒乕僶僙僢僔儑儞偺嶲徠
* @param[in] aObserver 旕摨婜僆僽僓乕僶偺嶲徠
*
* @return 惗惉偝傟偨僐儞僥儞僣僼傽儞僋僔儑儞僋儔僗偺僆僽僕僃僋僩
**/
CSmbMusicAPSyncServerContentsFunc* CSmbMusicAPSyncServerContentsFunc::NewL(
DCM_NAMESPACE::RLog& aLog,
MSmbMusicAPSyncServerContentsAsyncObserver& aObserver
)
{
CSmbMusicAPSyncServerContentsFunc* self = new(ELeave) CSmbMusicAPSyncServerContentsFunc(aLog, aObserver);
CleanupStack::PushL(self);
self -> ConstructL();
CleanupStack::Pop(); // self
return self;
}
/**
* 僨僗僩儔僋僞
*/
CSmbMusicAPSyncServerContentsFunc::~CSmbMusicAPSyncServerContentsFunc()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsFunc | EMusicAPSyncServerLocationNumber00;
_LIT(KContentsFuncDestruct01, "SyncServerContentsFunc::~Destruct()");
SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLow, KContentsFuncDestruct01);
#endif
iLibSession.Disconnect();
delete iLibFunc;
}
/**
* 僐儞僗僩儔僋僞
*
* @param[in] aLog 儘僌僒乕僶僙僢僔儑儞偺嶲徠
* @param[in] aObserver 旕摨婜僆僽僓乕僶偺嶲徠
**/
CSmbMusicAPSyncServerContentsFunc::CSmbMusicAPSyncServerContentsFunc(
DCM_NAMESPACE::RLog& aLog,
MSmbMusicAPSyncServerContentsAsyncObserver& aObserver
)
:iLog(aLog),
iObserver(aObserver)
{
}
/**
* 2nd僐儞僗僩儔僋僞
**/
void CSmbMusicAPSyncServerContentsFunc::ConstructL()
{
iLibFunc = CSmbMusicAPLibMWFunc::NewL(iLibSession);
}
/**
* 儐乕僓僾儗僀儕僗僩偺怴婯搊榐
*
* @param[in] aRegisterInfo 儐乕僓僾儗僀儕僗僩嶌惉忣曬
* @param[in,out] aStatus 旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
*
* @return 張棟寢壥
**/
TInt CSmbMusicAPSyncServerContentsFunc::RegisterUserPlayList(
TSmbMusicMWLibPLRegisterInfo& aRegisterInfo,
TRequestStatus& aStatus
)
{
//僙僢僔儑儞傪愙懕偡傞
ConnectMusicLibSession();
return iLibSession.RegisterUserPlayList(aRegisterInfo, aStatus);
}
/**
* 儐乕僓僾儗僀儕僗僩偺嶌惉僉儍儞僙儖
*
* @return 張棟寢壥
**/
TInt CSmbMusicAPSyncServerContentsFunc::CancelRegisterUserPlayList()
{
//僙僢僔儑儞傪愙懕偡傞
ConnectMusicLibSession();
return iLibSession.CancelRegisterUserPlayList();
}
// ADD-S PTX824 k3-sugimoto
/**
* 儐乕僓僾儗僀儕僗僩偺暋惢
*
* @param[in] aRegisterInfo 儐乕僓僾儗僀儕僗僩嶌惉忣曬
* @param[in] aListItem 暋惢尦偺僾儗僀儕僗僩傾僀僥儉
* @param[in,out] aStatus 旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
*
* @return 張棟寢壥
**/
TInt CSmbMusicAPSyncServerContentsFunc::DuplicateUserPlayList(
TSmbMusicMWLibPLRegisterInfo& aRegisterInfo,
CSmbMusicMWLibListItem& aListItem,
TRequestStatus& aStatus
)
{
//僙僢僔儑儞傪愙懕偡傞
ConnectMusicLibSession();
return iLibSession.RegisterUserPlayList(aRegisterInfo, aListItem, aStatus);
}
// ADD-E PTX824 k3-sugimoto
/**
* 傾僀僥儉傪嶍彍偡傞
*
* @param[in] aItemHandle 傾僀僥儉僴儞僪儖傪奿擺偟偰偄傞攝楍
* @param[in,out] aStatus 旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
*
* @return 張棟寢壥
**/
TInt CSmbMusicAPSyncServerContentsFunc::DeleteItems(CArrayFixFlat<TInt>& aItemHandle, TRequestStatus& aStatus)
{
//僙僢僔儑儞傪愙懕偡傞
ConnectMusicLibSession();
//儕僗僩偵娷傑傟傞慡偰偺傾僀僥儉傪嶍彍偡傞
return iLibSession.DeleteItem(aItemHandle, aStatus);
}
/**
* 儕僗僩偵懏偡傞慡偰偺傾僀僥儉傪嶍彍偡傞
*
* @param[in] aList 儕僗僩傾僀僥儉
* @param[in,out] aStatus 旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
*
* @return 張棟寢壥
**/
TInt CSmbMusicAPSyncServerContentsFunc::DeleteListItems(CSmbMusicMWLibListItem& aList, TRequestStatus& aStatus)
{
//僙僢僔儑儞傪愙懕偡傞
ConnectMusicLibSession();
//儕僗僩偵娷傑傟傞慡偰偺傾僀僥儉傪嶍彍偡傞
return iLibSession.DeleteItem(aList, aStatus);
}
/**
* 傾僀僥儉嶍彍傪拞巭偡傞
*
* DeleteItems/DeleteListItems偺拞巭偵懳墳偡傞
*
* @return 張棟寢壥
**/
void CSmbMusicAPSyncServerContentsFunc::CancelDeleteItems()
{
//僙僢僔儑儞傪愙懕偡傞
ConnectMusicLibSession();
iLibSession.CancelDeleteItem();
}
/**
* 嬋傾僀僥儉偵娷傑傟傞夋憸僼傽僀儖傪惗惉偡傞
*
* @param[in] aLibItem 傾僀僥儉
* @param[in] aImageInfo 庢摼偡傞夋憸偺巜掕
* @param[in] aFileName 僼傽僀儖僷僗
* @param[in] aExType 奼挘僼儔僌
* @param[in,out] aStatus 旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
*
* @return 張棟寢壥
**/
TInt CSmbMusicAPSyncServerContentsFunc::CreateImageFile(
CSmbMusicMWLibMusicItem& aLibItem,
TSmbMusicAPSyncEngineGetImageInfo& aImageInfo,
const TDesC& aFileName,
TInt aExType,
TRequestStatus& aStatus
)
{
TSmbMusicMWLibItemType itemType = aLibItem.ItemType();
if(ESmbMusicMWLibItemTypeSong != itemType)
{
//枹僒億乕僩偲偄偆偙偲偱丒丒丒
return KErrNotSupported;
}
//SongItem偵僉儍僗僩偡傞
CSmbMusicMWLibSongItem* songItem = static_cast<CSmbMusicMWLibSongItem*>(&aLibItem);
//庢摼偡傞夋憸僞僀僾傪寛傔傞
TSmbMusicAPLibImageType imageType(ESmbMusicAPLibImageTypeOther);
imageType = TSmbMusicAPSyncServerConverter::ConvertImageType(aImageInfo.iImageType, &iLog);
if ((imageType != ESmbMusicAPLibImageTypeJacket) &&
(imageType != ESmbMusicAPLibImageTypeLyric))
{
return KErrNotSupported;
}
//夋憸僼傽僀儖傪庢傝偩偡
return iLibFunc->GetImage(*songItem, imageType, aImageInfo.iIndex, aFileName, aStatus, aExType);
}
/**
* 夋憸僼傽僀儖庢摼傪拞巭偡傞
*
* @return 張棟寢壥
**/
TInt CSmbMusicAPSyncServerContentsFunc::CancelGetImageFile()
{
return iLibFunc->CancelGetImage();
}
/**
* 嬋傾僀僥儉偵娷傑傟傞夋憸忣曬傪庢摼偡傞
*
* @param[in] aLibItem 嬋傾僀僥儉
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -