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