smbmusicapmainplayeraccesssyncenginefunc.cpp

来自「symbian」· C++ 代码 · 共 158 行

CPP
158
字号
/* Copyright (C) 2005-2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPMainPlayerAccessSyncEngineFunc.cpp
//
// Description: 
//	摨婜僄儞僕儞傊偺尃棙庢摼偵娭偡傞張棟傪峴偆僋儔僗偺幚憰丅
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰 	|撪梕
//--------------+-----------+----------------------------------------------
//2006/06/07	|K3戝嫶		|怴婯嶌惉
//2006/07/24	|K3戝嫶		|摨婜僒乕僶傾僋僙僗尃庢摼/夝曻晄嬶崌夝愅偺偨傔丄儘僌傪捛壛
//2006/09/06	|K3戝嫶		|QAC寢壥偺懳墳乮VER060810A斉乯
//2006/09/23	|K3戝嫶		|摨婜僒乕僶偐傜偺墳摎偑KErrServerTerminated偺応崌丄傾僾儕傪廔椆偡傞傛偆偵廋惓

#ifndef FJAFENV_H__
#include <FjAfEnv.h>
#endif
#ifndef __SMBMUSICAPSYNCENGINE_H__
#include <SmbMusicAPSyncEngine.h>
#endif
#ifndef __SMBMUSICAPMAINPLAYERACCESSSYNCENGINEFUNC_H__
#include "SmbMusicAPMainPlayerAccessSyncEngineFunc.h"
#endif
#ifndef __SMBMUSICAPMAINPLAYERACCESSSYNCENGINEFUNCOBSERVER_H__
#include "SmbMusicAPMainPlayerAccessSyncEngineFuncObserver.h"
#endif
//ADD-S 2006.09.23 K3戝嫶 ExitAppL()傪巊梡偡傞偨傔偵捛壛
#ifndef __SMBMUSICAPMAINPLAYERAPPUI_H__
#include "SmbMusicAPMainPlayerAppUi.h"
#endif
//ADD-E 2006.09.23 K3戝嫶 ExitAppL()傪巊梡偡傞偨傔偵捛壛
#ifndef __SMBMUSICAPMAINPLAYERUTILITY_H__
#include "SmbMusicAPMainPlayerUtility.h"
#endif

#define _SMBMUSICAPMAINPLAYER_SYNCSERVER_ACCESS_LOG  // 摨婜僒乕僶傾僋僙僗尃庢摼/夝曻偵娭偡傞儘僌傪弌椡

USING_NAMESPACE_DCM
SEMCJ_NAMESPACE_BEGIN

/**
 * 僐儞僗僩儔僋僞
 *
 * @param[in] aSyncEngine 摨婜僄儞僕儞
 */
CSmbMusicAPMainPlayerAccessSyncEngineFunc::CSmbMusicAPMainPlayerAccessSyncEngineFunc(CSmbMusicAPSyncEngine& aSyncEngine)
//DEL-S 2006.09.06 K3戝嫶 QAC寢壥偺懳墳乮VER060810A斉乯 晄嬶崌偼側偄偑丄A寈崘偺偨傔懳墳偡傞
//	: CActive(EPriorityStandard), iSyncEngine(aSyncEngine), iLog(CAfEnv::Static()->Log())
//DEL-E 2006.09.06 K3戝嫶 QAC寢壥偺懳墳乮VER060810A斉乯 晄嬶崌偼側偄偑丄A寈崘偺偨傔懳墳偡傞
//ADD-S 2006.09.06 K3戝嫶 QAC寢壥偺懳墳乮VER060810A斉乯 晄嬶崌偼側偄偑丄A寈崘偺偨傔懳墳偡傞
	: CActive(EPriorityStandard), iSyncEngine(aSyncEngine), iObserver(NULL), iReason(KErrNone), iLog(CAfEnv::Static()->Log())
//ADD-E 2006.09.06 K3戝嫶 QAC寢壥偺懳墳乮VER060810A斉乯 晄嬶崌偼側偄偑丄A寈崘偺偨傔懳墳偡傞
	{
	CActiveScheduler::Add(this);
	}

/**
 * 僨僗僩儔僋僞
 */
CSmbMusicAPMainPlayerAccessSyncEngineFunc::~CSmbMusicAPMainPlayerAccessSyncEngineFunc()
	{
	Cancel();
	}

/**
 * 摨婜僄儞僕儞傊尃棙庢摼梫媮
 *
 * @param[in] aObserver 梫媮姰椆偺捠抦愭
 */
void CSmbMusicAPMainPlayerAccessSyncEngineFunc::GetAccessSyncEngine(MSmbMusicAPMainPlayerAccessSyncEngineFuncObserver* aObserver)
	{
	// NULL偑搉偝傟偰傕姰椆帪偵捠抦傪峴傢側偄偩偗偱摿偵栤戣偼側偄偑丄尰嵼偦偺傛偆側儐乕僗働乕僗偼側偄偨傔丄ASSERT僠僃僢僋傪偐偗傞
	__ASSERT_DEBUG(aObserver != NULL, PANIC(9023001));

	if (IsActive() != EFalse) // == ETrue
		{// 梫媮拞偺応崌偼庴偗晅偗側偄
		_LIT(KLogFmt, "CSmbMusicAPMainPlayerAccessSyncEngineFunc::GetAccessSyncEngine()[double request.]");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, 23001, ELogLevelNormal, KLogFmt);

		return;
		}

	// 捠抦愭傪愝掕
	iObserver = aObserver;

	// 夝曻梫媮偵懳偡傞墳摎寢壥偺弶婜壔
	iReason = KErrNone;

	// 庢摼梫媮
	iSyncEngine.RequestReleaseSyncServer(iReason, iStatus);

	SetActive();
	}

/**
 * 旕摨婜梫媮姰椆屻偺張棟
 */
void CSmbMusicAPMainPlayerAccessSyncEngineFunc::RunL()
	{
#ifdef _SMBMUSICAPMAINPLAYER_SYNCSERVER_ACCESS_LOG
	_LIT(KLogFmt, "CSmbMusicAPMainPlayerAccessSyncEngineFunc::RunL()[Reason = %d, iStatus = %d]");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, 23003, ELogLevelHigh, KLogFmt, iReason, iStatus.Int());
	//SmbMusicAPMainPlayerUtility::OutputLog(iLog, 23003, ELogLevelLow, KLogFmt, iReason, iStatus.Int());
#endif

	TBool result = ETrue;

	// 旕摨婜梫媮幐攕偺応崌
	if (iStatus.Int() != KErrNone)
		{// 幐攕
		_LIT(KLogFmt, "CSmbMusicAPMainPlayerAccessSyncEngineFunc::GetAccessSyncEngine()[Failed getting access SyncEngine.]");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, 23002, ELogLevelHigh, KLogFmt);

//ADD-S 2006.09.23 K3戝嫶 KErrServerTerminated偺応崌偼傾僾儕傪廔椆偝偣傞
		// 摨婜僒乕僶偑廔椆偟偰偄傞応崌偼傾僾儕傕廔椆偝偣傞
		if (iStatus.Int() == KErrServerTerminated)
			{// 僒乕僶偑廔椆偟偰偄傞応崌
			// 仸廋惓僐僗僩嶍尭偺偨傔丄CAfEnv傪捠偠偰捈愙AppUi傪棙梡偡傞
			CSmbMusicAPMainPlayerAppUi* appUi = static_cast<CSmbMusicAPMainPlayerAppUi*>(CAfEnv::Static()->EikEnv().EikAppUi());
			appUi->ExitAppL(ESmbMusicAPMainPlayerExitSyncServerTerminated);
			}
//ADD-E 2006.09.23 K3戝嫶 KErrServerTerminated偺応崌偼傾僾儕傪廔椆偝偣傞

		result = EFalse;
		}

	// 夝曻梫媮偵懳偡傞墳摎寢壥
	if (iReason != KErrNone)
		{
		result = EFalse;
		}

	// 墳摎傪捠抦
	if (iObserver != NULL)
		{
		iObserver->HandleCompleteGetAccessSyncEngineL(result);
		}

	// HandleCompleteGetAccessSyncEngineL()撪偱儕僩儔僀傪偡傞壜擻惈偑偁傞偨傔丄
	// NULL弶婜壔傪峴傢側偄
	//iObserver = NULL;
	}

/**
 * 僉儍儞僙儖張棟
 */
void CSmbMusicAPMainPlayerAccessSyncEngineFunc::DoCancel()
	{
	iObserver = NULL;
	}

SEMCJ_NAMESPACE_END

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

⌨️ 快捷键说明

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