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

📄 smbmusicapsyncservercontentsfunc.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* 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 + -