--- 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);