bluetoothengine/bteng/src/btengserver.cpp
branchRCL_3
changeset 56 9386f31cc85b
parent 55 613943a21004
--- a/bluetoothengine/bteng/src/btengserver.cpp	Tue Aug 31 15:25:10 2010 +0300
+++ b/bluetoothengine/bteng/src/btengserver.cpp	Wed Sep 01 12:20:04 2010 +0100
@@ -37,6 +37,7 @@
 #include "btengsecpolicy.h"
 #include "btengprivatepskeys.h"
 #include "btengplugin.h"
+#include "btengpairman.h"
 #include "debug.h"
 
 /**  Bluetooth Engine server thread name */
@@ -166,7 +167,8 @@
     iPluginMgr = CBTEngSrvPluginMgr::NewL( this );
     iBBConnMgr = CBTEngSrvBBConnMgr::NewL( this, iSocketServ );
 
-    iSdpDbHandler = NULL;
+    User::LeaveIfError( iBTRegServ.Connect() );
+    iPairMan = CBTEngPairMan::NewL( *this );
 
     TCallBack idleCb( IdleTimerCallBack, this );
     iIdleCallBack.Set( idleCb );
@@ -217,16 +219,15 @@
     RProperty::Delete( KPSUidBluetoothEnginePrivateCategory, KBTTurnBTOffQueryOn );
     RProperty::Delete( KPSUidBluetoothEnginePrivateCategory, KBTNotifierLocks );
     delete iTimer;
-    if ( iSdpDbHandler )
-        {
-        delete iSdpDbHandler;
-        }
+    delete iSdpDbHandler;
     delete iWatcher;
     delete iSettingsMgr;
     delete iPluginMgr;
     delete iBBConnMgr;
     delete iServerState;
+    delete iPairMan;
     iSocketServ.Close();
+    iBTRegServ.Close();
     }
 
 // ---------------------------------------------------------------------------
@@ -314,6 +315,7 @@
 	TRACE_INFO( ( _L( "[CBTEngServer]\t iSessionCount %d"), iSessionCount ))
     iSessionCount--;
 	iSettingsMgr->SessionClosed( aSession );
+	iPairMan->SessionClosed( aSession );
     if( aAutoOff )
         {
         TRAP_IGNORE( SetPowerStateL( EBTOff, ETrue ) );
@@ -600,8 +602,7 @@
 //
 GLDEF_C TInt E32Main()
     {
-    //TODO uncomment UHEAP macros after orbit memory leaks are resolved till then it should be commented.
-//    __UHEAP_MARK;
+    __UHEAP_MARK;
     TRACE_FUNC_ENTRY
     CTrapCleanup* cleanup = CTrapCleanup::New();
     TInt err = KErrNoMemory;
@@ -610,6 +611,6 @@
         TRAP( err, RunServerL() );
         delete cleanup;
         }
-//    __UHEAP_MARKEND;
+    __UHEAP_MARKEND;
     return err;
     }