bluetoothmgmt/btmgr/Inc/BTManServer.h
branchRCL_3
changeset 11 20fda83a6398
parent 0 29b1cd4cb562
child 21 14e240312f6f
--- a/bluetoothmgmt/btmgr/Inc/BTManServer.h	Fri Mar 12 15:49:00 2010 +0200
+++ b/bluetoothmgmt/btmgr/Inc/BTManServer.h	Mon Mar 15 12:44:59 2010 +0200
@@ -1,4 +1,4 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1999-2010 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"
@@ -24,6 +24,7 @@
 #include <bt_subscribe.h>
 #include "BTRegistryDB.h"
 #include "btmanclientserver.h"
+#include "btmanserverburmgr.h"
 
 #if KMaxBluetoothNameLen > KMaxFriendlyNameLen
 #define KLongestName KMaxBluetoothNameLen
@@ -105,13 +106,17 @@
 /**
 The BTMan Server.
 **/
-NONSHARABLE_CLASS(CBTManServer) : public CPolicyServer
+NONSHARABLE_CLASS(CBTManServer) : public CPolicyServer, public MBTBURNotify
 	{
 public:
 	//construct / destruct
 	static CServer2* NewLC();
 	~CBTManServer();
 
+	// From MBTBURNotify
+	virtual void BUROperationStarted();
+	virtual void BUROperationStopped();
+
 	void AddSession();
 	void DropSession();
 
@@ -126,12 +131,14 @@
 
 	void Publish(TUint aKey, TInt aValue); // only publish ints for now, ignore error
 	void NotifyViewChange(CBTManSubSession& aSubSessionViewOwner, const TDesC& aViewDescriptor);
+	void NotifyViewChange(const TDesC& aViewDescriptor);
 
 private:
 	CBTManServer();
 	void ConstructL();
 	//open/close a session
 	CSession2* NewSessionL(const TVersion& aVersion,const RMessage2& aMessage) const;
+	void TryToStartShutdownTimer();
 
 private:
 	TInt					iMaxSessionCount;
@@ -140,6 +147,9 @@
 	CObjectConIx*			iContainerIndex;//<The server has an onject container index which creates an object container for each session
 	CBTRegistry*			iRegistry;
 	RProperty				iProperty;	// so that subsessions can publish change info
+	CBTManServerBURMgr*		iBURManager;	// Manage backup and restore events generated by the Secure Backup Engine
+
+	TBool			iBUROperationStarted;	// Whether or not a backup or restore operation is in progress (meaning that this server should not shutdown)
 	};
 
 inline TInt CBTManServer::MaxSessionCount() const {return iMaxSessionCount;}
@@ -186,6 +196,7 @@
 	void CancelRequest(const RMessage2& aMessage);
 
 	TBool SubSessionHasOverlappingView(CBTManSubSession& aSubSessionViewOwner, const TDesC& aViewDescriptor);
+	TBool SubSessionHasOverlappingView(const TDesC& aViewDescriptor);
 
 private:
 	void DoCompleteMessage(CBTManMessage& aMessage, TInt aReason);