commonappservices/alarmserver/ConsoleAlarmAlertServer/Include/ConsoleAlarmAlertServer.h
changeset 0 2e3d3ce01487
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/commonappservices/alarmserver/ConsoleAlarmAlertServer/Include/ConsoleAlarmAlertServer.h	Tue Feb 02 10:12:00 2010 +0200
@@ -0,0 +1,106 @@
+/**
+* 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 __CONSOLEALARMALERTSERVER_H__
+#define __CONSOLEALARMALERTSERVER_H__
+
+#include <e32base.h>
+
+#define __FILELOGGER_ACTIVE // Include logging in release builds
+#include <test/rfileloggermacro.h>
+#include <asshdalarm.h>
+
+_LIT(KLogFile, "C:\\Logs\\ConsoleAlarmAlertServer\\ConsoleAlarmAlertServer.log");
+
+class CConsoleAlarmAlertSession;
+
+class CConsoleAlarmAlertServer : public CPolicyServer
+	{
+public:
+	static CConsoleAlarmAlertServer* NewLC();
+	~CConsoleAlarmAlertServer();
+
+public:
+	inline void								AddResponseArray(TAny* aResponseArray);
+	void									SetAttachment(HBufC8* aData);
+	inline HBufC8*							Attachment() const;
+	inline TAny*							ResponseArray() const;
+	inline CConsoleAlarmAlertSession*		WaitingSession() const;
+	inline void								SetWaitingSession(CConsoleAlarmAlertSession* aSession);
+	inline void								SetNotifying(TBool aIsNotifying);
+	inline TBool							IsNotifying() const;
+
+	inline TBool							IsExtendedMode() const;
+	inline void								SetExtendedMode(const TBool aMode);
+	
+	inline void								SetUserTime(const TTime& aTime);
+	inline const TTime& 					UserTime() const;
+	inline void								SetMaxAlarms(const TInt aMaxAlarms);
+	inline const TInt						MaxAlarms() const;
+	
+	inline RMessage2*						NotifyMessage() const;
+	inline void								SetNotifyMessage(RMessage2* aMessage);
+	
+	void									NotifyAlarmObserversL(const TASShdAlarm& aAlarm, const TFullName& aFullName, const TDes8& aData);
+	void									NotifySoundStartObserversL(const TAlarmId& aId, const TDesC& aFilename);
+	void									NotifySoundStopObserversL(const TAlarmId& aId);
+	void									NotifyVisibleObserversL(const TAlarmId& aId, const TBool aVisible);
+	void									NotifyStateObserversL(const TAlarmId& aId, const TInt aState);
+	void									NotifyDeleteObserversL(const TAlarmId& aId);
+
+	enum TObserverIndex
+		{
+		EAlarmObserver,
+		ESoundStartObserver,
+		ESoundStopObserver,
+		EVisibleObserver,
+		EStateObserver,
+		EDeleteObserver
+		};
+
+	void									AddObserverL(TObserverIndex aIndex, CConsoleAlarmAlertSession* aObserver);
+	void									RemoveObserver(TObserverIndex aIndex, CConsoleAlarmAlertSession* aObserver);
+	
+	
+private:
+	CConsoleAlarmAlertServer();
+	void									ConstructL();
+
+public: // from CServer2
+	CSession2*								NewSessionL(const TVersion& aVersion,const RMessage2& aMessage) const;
+
+private:
+	TAny*									iInstructionSet;
+	HBufC8*									iAttachment;
+	CConsoleAlarmAlertSession*				iWaitingSession;
+	TBool									iIsNotifying;
+
+	TBool									iExtendedMode;
+	TInt									iMaxAlarms;
+	TTime									iUserTime;
+	RMessage2* 								iNotify;
+		
+	RPointerArray<CConsoleAlarmAlertSession> iObservers[6];
+	__FLOG_DECLARATION_MEMBER;
+	
+	};
+
+#include "ConsoleAlarmAlertServer.inl"
+
+#endif