commonappservices/alarmserver/ConsoleAlarmAlertServer/Include/ConsoleAlarmAlertSession.h
Rework addition of Symbian splash screen to reduce the source impact (uses SVG from Bug 2414)
Notes: by using the OPTION SOURCEDIR parameter in the mifconv extension instructions, I can
arrange to use the same source file name in sfimage, without having to export over the original
Nokia file. This means that the name inside splashscreen.mbg is the same, which removes the need
for the conditional compilation in SplashScreen.cpp, and gets rid of sf_splashscreen.mmp.
/**
* Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:
*
*/
#ifndef __CONSOLEALARMALERTSESSION_H__
#define __CONSOLEALARMALERTSESSION_H__
#include <e32base.h>
#define __FILELOGGER_ACTIVE // Include logging in release builds
#include <test/rfileloggermacro.h>
#include <asaltdefs.h>
#include <asshdalarm.h>
class CConsoleAlarmAlertConsole;
class CConsoleAlarmAlertLEDFlasher;
class CConsoleAlarmAlertServer;
struct TAgnAlarmInfo
/**
Copy of System-Wide Unique Agenda Entry Reference defined in agmalarm.h
*/
{
TUid iAlarmCategory;
TUint32 iAgnUniqueId_AgnId;
TInt64 iAgnUniqueId_AgnInstanceTime;
TUint16 iAgnUniqueId_AgnInstanceFiller;
TInt iAgnUniqueId_AgnInstanceConstrError;
TFileName iFileName;
};
class CConsoleAlarmAlertSession : public CSession2
{
public:
static CConsoleAlarmAlertSession* NewL(CConsoleAlarmAlertServer* aServer);
~CConsoleAlarmAlertSession();
private:
CConsoleAlarmAlertSession(CConsoleAlarmAlertServer* aServer);
void ConstructL();
public:
TTime DeferTime() const;
inline const TASShdAlarm& Alarm() const { return iAlarm; }
inline TInt AlarmDataSize() const { return iAlarmAssociatedDataSize; }
inline const TAgnAlarmInfo& AlarmData() const { return iAlarmData; }
void Notify(TASAltAlertServerResponse aFlag);
void Notify(TASAltAlertServerResponse aFlag, const TTime& aDeferTime);
TAny * InstructionSet();
public: // Observers
void NotifyAlarmL(const TASShdAlarm& aAlarm, const TFullName& aFullName, const TDes8& aData);
void NotifySoundStartL(const TAlarmId& aId, const TDesC& aFilename);
void NotifySoundStopL(const TAlarmId& aId);
void NotifyVisibleL(const TAlarmId& aId, const TBool aVisible);
void NotifyStateL(const TAlarmId& aId, const TInt aState);
void NotifyDeleteL(const TAlarmId& aId);
private: // from CSession2
TBool CmdL();
void ServiceL(const RMessage2& aMessage);
void ServiceError(const RMessage2 &aMessage, TInt aError);
private:
void SetAlarmL(const RMessage2& aMessage);
void GetUserTimeL(const RMessage2& aMessage);
void SetDeferTimeL(const RMessage2& aMessage);
TBool MultiDispatchL(const RMessage2& aMessage);
void CmdSetUserTimeL(const RMessage2& aMessage);
void CmdSetMaxAlarmsL(const RMessage2& aMessage);
void CmdNotifyOnAlarmL(const RMessage2& aMessage);
void CmdNotifyOnSoundStartL(const RMessage2& aMessage);
void CmdNotifyOnSoundStopL(const RMessage2& aMessage);
void CmdNotifyOnVisibleL(const RMessage2& aMessage);
void CmdNotifyOnStateL(const RMessage2& aMessage);
void CmdResponseSnoozeAlarmL(const RMessage2& aMessage);
void CmdResponseSilenceAlarmL(const RMessage2& aMessage);
void CmdResponseAcknowledgeAlarmL(const RMessage2& aMessage);
void CmdResponsePauseSoundL(const RMessage2& aMessage);
void CmdSetAlarmL(const RMessage2& aMessage);
void CmdSetStateL(const RMessage2& aMessage);
void CmdVisibleL(const RMessage2& aMessage);
void CmdStartPlayingSoundL(const RMessage2& aMessage);
void CmdStopPlayingSoundL(const RMessage2& aMessage);
void CmdSetDeferTimeL(const RMessage2& aMessage);
void CmdGetUserTimeL(const RMessage2& aMessage);
void CancelNotifications();
void CmdResponseAcknowledgeAll();
void CmdGetMaxAlarmsL(const RMessage2& aMessage);
void CmdNotifyOnDeleteL(const RMessage2& aMessage);
void CmdDeleteAlarmL(const RMessage2& aMessage);
static TBool SoundPlaybackCallbackL(TAny* aSelf);
private:
TTime iDeferTime;
TASShdAlarm iAlarm;
TInt iAlarmAssociatedDataSize;
TAgnAlarmInfo iAlarmData;
TBool iLoggedOn;
TBool iHasMessage;
TBool iMsgComplete;
RMessage2 iMsgPtr;
CPeriodic* iSoundCallbackTimer;
CConsoleAlarmAlertLEDFlasher* iSoundLEDFlasher;
CConsoleAlarmAlertConsole* iConsole;
CConsoleAlarmAlertServer* iServer;
TAny* iInstructionSet;
TBool iInstructionSetFound;
RMessage2 iAlarmNotify;
RMessage2 iSoundStartNotify;
RMessage2 iSoundStopNotify;
RMessage2 iVisibleNotify;
RMessage2 iStateNotify;
RMessage2 iDeleteNotify;
__FLOG_DECLARATION_MEMBER;
};
#endif