smbmusicapsyncservermodel.h
来自「索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian」· C头文件 代码 · 共 350 行
H
350 行
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerModel.h
//
// Description:
// PTX810 Music傾僾儕 摨婜僒乕僶 傾僾儕摨婜僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+---------------+--------------------------------------
//2006/05/31 |暯壀 | 怴婯嶌惉
//2006/09/18 |娵壀 | TRK9519,TRK9520懳墳
//2006/09/25 |娵壀 | TRK9378懳墳
//----PTX824----+---------------+--------------------------------------
//2007/05/10 |K3悪杮 | PTX824懳墳(MTP儌乕僪忬懺僼儔僌捛壛)
//2007/06/29 |K3悪杮 | 婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳
//2007/09/20 |K3悪杮 | [D_82400015039]僇儊儔傾僾儕偑慜柺偺応崌僆乕僩儗僕儏乕儉嵞惗傪偟側偄懳墳
#ifndef __SMBMUSICAPSYNCSERVERMODEL_H__
#define __SMBMUSICAPSYNCSERVERMODEL_H__
#ifndef __SMBCOMMONDEF_H__
#include <SmbCommonDef.h>
#endif
#ifndef FJPGPROPAGENT_H__
#include <FjpgPropAgent.h>
#endif
#include <CSmbExtMemWatcher.h>
DCM_NAMESPACE_BEGIN
class RLog;
//class RPGPropAgent;
//class CPGPropAgentWatcher;
DCM_NAMESPACE_END
SEMCJ_NAMESPACE_BEGIN
/**
奜晹儊儌儕偺忬懺
*/
enum TSmbMusicAPSyncServerExtMemState
{
ESmbMsuicAPSyncServerExtMemMS, // MS憓擖忬懺
ESmbMsuicAPSyncServerExtMemSD, // SD憓擖忬懺
ESmbMsuicAPSyncServerExtMemMass, // MassStorage忬懺
ESmbMsuicAPSyncServerExtMemNone // 奜晹儊儌儕側偟忬懺
};
class CSmbMusicAPSyncServerSession;
class CSmbMusicAPSyncServerEventDispatcher;
class CSmbExtMemWatcher;
/**
* MusicAPSyncServerModel僋儔僗
*
*
*/
class CSmbMusicAPSyncServerModel : public CBase
,public DCM_NAMESPACE::MPGPropAgentObserver
,public CSmbExtMemWatcher::MObserver
{
public:
/**
* @param [in/out/in,out] aLog
* @return
*/
CSmbMusicAPSyncServerModel(DCM_NAMESPACE::RLog& aLog);
/**
僨僗僩儔僋僞
* @param 側偟
* @return 側偟
*/
~CSmbMusicAPSyncServerModel();
/**
* @param 側偟
* @return
*/
void ConstructL();
/**
* @param 側偟
* @return
*/
CSession2* NewSessionL();
/**
* @param [in/out/in,out] aSession
* @return
*/
TInt DisConnect(CSession2& aSession);
/**
PA偺曄峏傪庴怣偡傞
* @param 側偟
* @return
*/
void OnChangeL(DCM_NAMESPACE::CPGPropAgentWatcher& aWatcher, TUid aUid, TInt aData);
/**
壒惡僷僗偵懳偟偰Mute偑昁梫偐偺栤偄崌傢偣
* @param 側偟
* @return
*/
TBool Mute();
/**
* @param 側偟
* @return
*/
void NotifyMountedExtMemL(CSmbExtMemWatcher::TType aType);
/**
* @param 側偟
* @return
*/
void NotifyMountingExtMemL(CSmbExtMemWatcher::TType aType);
/**
* @param 側偟
* @return
*/
void NotifyUnMountedExtMemL(CSmbExtMemWatcher::TType aType);
/**
* @param 側偟
* @return
*/
void NotifyErrorExtMemL(CSmbExtMemWatcher::TType aType, TInt aError);
/**
* @param [in/out/in,out] aIHandle
* @return
*/
TInt IsIndexFromIHandle(TInt aIHandle);
/**
* @param [in/out/in,out] aIndex
* @return
*/
TInt IsHandleFromIndex(TInt aIndex, TInt aListHandle);
//@@TRK9519懳墳 Start
/**
奜晹儊儌儕忬懺偺栤偄崌傢偣
* @param 側偟
* @return 奜晹儊儌儕忬懺
*/
// TSmbMusicAPSyncServerExtMemState CheckExtMem();
//@@TRK9519懳墳 End
/**
専嶕梡偺嵞惗夞悢傪峏怴偡傞
* @param [in] aListHandle 儕僗僩僴儞僪儖
* @param [in] aIndex Index
* @return 側偟
*/
void IncrementPlaySongTimes(TInt aListHandle, TInt aIndex);
/**
Music僾儗僀儎乕偺嵞惗傪捠抦偡傞
* @param [in] aListHandle 嵞惗嬋儕僗僩偺僴儞僪儖
* @param [in] aPlayConfirm 嵞惗慜偺儅僫乕儌乕僪妋擣
* @return 嵞惗張棟偺惉斲乮僐儞僥儞僣宯偺張棟乯
*/
// TBool StartPlay(TInt aListHandle);
TBool StartPlay(TInt aListHandle, TBool aPlayConfirm);
/**
Music僾儗僀儎乕偺弌椡忬懺傪挷傋傞
* @param 側偟
* @return 弌椡忬懺乮ETrue丗弌椡偁傝/EFalse丗弌椡側偟乯
*/
TBool LineOut();
/**
嵞惗宯 儗僕儏乕儉忣曬 桳岠僼儔僌傪愝掕偡傞
* @param [in] 桳岠僼儔僌乮ETrue丗桳岠/EFalse丗柍岠乯
* @return 側偟
*/
void SetPlayerResumeInfoAvailable(TBool aAvailable);
/**
僐儞僥儞僣宯 儗僕儏乕儉忣曬 桳岠僼儔僌傪愝掕偡傞
* @param [in] 桳岠僼儔僌乮ETrue丗桳岠/EFalse丗柍岠乯
* @return 側偟
*/
void SetContentsResumeInfoAvailable(TBool aAvailable);
/**
儗僕儏乕儉忣曬偺桳岠惈傪庢摼偡傞
* @param 側偟
* @return 桳岠僼儔僌乮ETrue丗桳岠/EFalse丗柍岠乯
*/
TBool GetResumeInfoAvailable();
/**
儗僕儏乕儉忣曬傪徚嫀偡傞
* @param 側偟
* @return 側偟
*/
void DeleteResume();
/**
僾儗僀儎乕偑嵞惗忬懺偺帪偼Key壒傪梷惂偡傞
* @param [in] aBool
* @return
*/
void StopKeySound(TBool aBool);
/**
* 僙僢僔儑儞悢庢摼
* @return 愙懕偝傟偰偄傞僙僢僔儑儞悢
**/
TInt SessionCount() const;
// ADD-S [D_82400015039]僇儊儔傾僾儕偑慜柺偺応崌僆乕僩儗僕儏乕儉嵞惗傪偟側偄懳墳
DCM_NAMESPACE::RPGPropAgent& PropAgent();
// ADD-E [D_82400015039]僇儊儔傾僾儕偑慜柺偺応崌僆乕僩儗僕儏乕儉嵞惗傪偟側偄懳墳
private:
//@@TRK9519懳墳 Start
/**
奜晹儊儌儕忬懺偺愝掕
* @param [in] aType 奜晹儊儌儕忬懺
* @return 側偟
*/
void SetExtMemState(CSmbExtMemWatcher::TType aType, TBool aAvailable);
//@@TRK9519懳墳 End
/**
Music僾儗僀儎乕偺弌椡忬懺曄峏
* @param [in] 側偟
* @return 側偟
*/
void ChangeLineOutState();
/**
MWLib 僨乕僞儀乕僗忬懺峏怴
* @param [in] 側偟
* @return 側偟
*/
void MWLibDBStateUpdate();
/**
奜晹婡婍乮僀儎僼僅儞乯偺忬懺傪挷傋傞
* @param [in] 側偟
* @return 側偟
*/
void CheckPhone();
/**
儅僫乕儌乕僪偺忬懺傪挷傋傞
* @param [in] 側偟
* @return 側偟
*/
void CheckMannerMode();
//@@TRK9519懳墳 Start
/**
奜晹儊儌儕偺忬懺曄峏僐儅儞僪傪敪峴偡傞
* @param [in] aTmpState
* @return
*/
// void SendExtMemCommand(TSmbMusicAPSyncServerExtMemState aTmpState);
// void SendExtMemCommand(TInt aTmpState);
void SendExtMemCommand(CSmbExtMemWatcher::TType aType, TBool aAvailable);
//@@TRK9519懳墳 End
// ADD-S PTX824 k3-sugimoto
/**
* MTP儌乕僪偺忬懺傪挷傋傞
**/
void CheckMtpModeL();
// ADD-S 婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳
/**
* 傾僀僥儉僉儍僢僔儏傪攋婞偟傑偡
**/
void DeleteCacheItemL();
// ADD-E 婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳
// ADD-E PTX824 k3-sugimoto
private:
/**
Music傾僾儕偺僒僂儞僪弌椡愝掕峔憿懱
*/
struct SmbMusicAPLineState
{
TBool iPlayWithManner; ///<儅僫乕儌乕僪拞偺嵞惗僼儔僌
TBool iMannerMode; ///<儅僫乕儌乕僪忬懺
TBool iPhone; ///<僀儎僼僅儞忬懺
TBool iLineOut; ///<弌椡忬懺
};
SmbMusicAPLineState iLineOutState;
TBool iResumeInfoAvailablePlayer; ///<嵞惗宯偺儗僕儏乕儉忣曬 桳岠僼儔僌
TBool iResumeInfoAvailableContents; ///<僐儞僥儞僣宯偺儗僕儏乕儉忣曬 桳岠僼儔僌
/** 愙懕偟偰偄傞僙僢僔儑儞 */
RPointerArray<CSmbMusicAPSyncServerSession> iSession;
/** 僨傿僗僷僢僠儍乕僋儔僗 */
CSmbMusicAPSyncServerEventDispatcher* iDispatcher;
/** Log僒乕僶偲偺僙僢僔儑儞 */
DCM_NAMESPACE::RLog& iLog;
/** 僾儘僷僥傿乕僄乕僕僃儞僩偲偺僙僢僔儑儞 */
DCM_NAMESPACE::RPGPropAgent iPropAgent;
/** 僾儘僷僥傿乕僄乕僕僃儞僩偺Watcher */
DCM_NAMESPACE::CPGPropAgentWatcher* iPropAgentWatcher;
/** 奜晹儊儌儕Watcher */
CSmbExtMemWatcher* iMemWatcher;
//@@TRK9519懳墳 Start
/** 奜晹儊儌儕忬懺 */
// TSmbMusicAPSyncServerExtMemState iExtMemState;
TInt iExtMemState;
//@@TRK9519懳墳 End
// ADD-S PTX824 k3-sugimoto
/** MTP儌乕僪忬懺僼儔僌 **/
TBool iMtpStatus;
// ADD-E PTX824 k3-sugimoto
};
SEMCJ_NAMESPACE_END
#endif //__SMBMUSICAPSYNCSERVERMODEL_H__
// end of SmbMusicAPSyncServerModel.h
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?