--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pimappservices/calendar/server/inc/agsmain.h Tue Feb 02 10:12:19 2010 +0200
@@ -0,0 +1,142 @@
+// Copyright (c) 1997-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 __AGSMAIN_H__
+#define __AGSMAIN_H__
+
+#include <f32file.h>
+#include <asclisession.h>
+#include "agsbackuprestoreagent.h"
+
+class CAgnTlsProxy;
+class RFs;
+class CAgnServerSession;
+class CAgnServer;
+
+#ifdef SYMBIAN_SYSTEM_STATE_MANAGEMENT
+class CCAgnSystemStateObserver;
+#endif
+
+// Set server priority
+const TInt KServerPriority = 0; // EStandard Priority
+
+const TUid KUidAgnGeneralPrefs= {0x10000235};
+const TUid KUidAgnModel= {0x100000f1};
+const TUid KUidAgnPrintSetup= {0x1000010D};
+const TUid KUidAgnApp= {0x10003A5C};
+
+enum TAgnServerMode
+ {
+ ETransientServer,
+ ENonTransientServer
+ };
+
+/**
+Agenda Server - Server Close Timer:
+An active timer class adding delay before shutting down the agenda server to prevent a cold reboot
+*/
+class CAgnServUndertaker : public CActive
+ {
+public:
+ static CAgnServUndertaker* NewL();
+ void ConstructL();
+ void DestroyServer();
+ void CancelUndertaker();
+private:
+ inline CAgnServUndertaker(TInt aPriority = EPriorityStandard) : CActive(aPriority){};
+ void DoCancel();
+ void RunL();
+private:
+ TBool iCancelled; // set this to cancel the undertaker after it has been started
+public:
+ CAgnServer* iServer;
+ };
+
+// CAgnAlarmServerChangeListener
+//
+
+class CAgnAlarmServerChangeListener : public CActive
+ {
+public:
+ static CAgnAlarmServerChangeListener* NewL(RASCliSession& iAlarmServer, CAgnServFileMgr& iFileMgr);
+ ~CAgnAlarmServerChangeListener();
+
+private:
+ CAgnAlarmServerChangeListener(RASCliSession& iAlarmServer, CAgnServFileMgr& iFileMgr);
+ void ConstructL();
+
+private:
+ void RunL();
+ void DoCancel();
+ TInt RunError(TInt aError);
+
+private:
+ RASCliSession& iAlarmServer;
+ CAgnServFileMgr& iFileMgr;
+
+ // not used
+ TAlarmId iAlarmId;
+ };
+
+// CAgnServer
+
+class CAgnServer : public CPolicyServer
+ {
+public:
+ static CAgnServer* NewL();
+ void ConstructL();
+ ~CAgnServer();
+
+ static CAgnServer* InitL(CAgnServUndertaker* aUndertaker);
+
+ virtual CSession2* NewSessionL(const TVersion& aVersion,const RMessage2& aMessage) const;
+ inline CAgnServFileMgr* FileMgr();
+ void SessionClosed();
+ void SessionAdded();
+ RFs* FsSession();
+ void FetchSessionsL(RPointerArray<CAgnServerSession>& aSessions);
+
+ TAgnServerMode ServerMode();
+ CAgnTlsProxy* TimeZoneConverter();
+ void ShutdownServer();
+ const CAgnServBackupRestoreAgent& BackupRestoreAgent() const;
+ RASCliSession& AlarmServer();
+#ifdef SYMBIAN_SYSTEM_STATE_MANAGEMENT
+ const CCAgnSystemStateObserver& SystemStateObserver() const;
+#endif
+protected:
+ CAgnServer(TInt aPriority);
+private:
+ CAgnServFileMgr* iFileMgr;
+ CAgnServBackupRestoreAgent* iBackupRestoreAgent;
+ RFs iFs;
+ TInt iSessionCount;
+ CAgnServUndertaker* iUndertaker; // used to clear itself up
+ CAgnTlsProxy* iProxy;
+ TAgnServerMode iServerMode;
+ RASCliSession iAlarmServer;
+ CAgnAlarmServerChangeListener* iAlarmServerChangeListener;
+
+#ifdef SYMBIAN_SYSTEM_STATE_MANAGEMENT
+ CCAgnSystemStateObserver* iSystemStateObserver;
+#endif
+ };
+
+// inline functions
+
+CAgnServFileMgr* CAgnServer::FileMgr() {return iFileMgr;}
+
+#endif