htiui/HtiCommPlugins/HtiBtCommPlugin/HtiBtCommServer/src/HtiBtCommServer.cpp
changeset 11 4df3a095718c
parent 10 e6e3e87d58b4
child 15 e11368ed4880
--- a/htiui/HtiCommPlugins/HtiBtCommPlugin/HtiBtCommServer/src/HtiBtCommServer.cpp	Fri Mar 19 09:29:26 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-/*
-* Copyright (c) 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: This file contains the implementation of the
-*              CHtiBtCommServer class.
-*              CHtiBtCommServer handles Symbian server side operations
-*              such as server starting and client session creation.
-*
-*/
-
-
-// INCLUDE FILES
-#include "HtiBtClientServerCommon.h"
-#include "HtiBtCommServer.h"
-#include "HtiBtCommServerSession.h"
-#include "Logger.h"
-
-#include <e32base.h>
-#include <e32std.h>
-#include <e32svr.h>
-#include <e32uid.h>
-
-// CONSTANTS
-// For memory allocations
-const TUint KBtCommServerHeapSizeMin       = 0x6000;
-const TUint KBtCommServerHeapSizeMax       = 0x20000;
-const TUint KBtCommServerStackSize         = 0x8000;
-
-
-//*****************************************************************************
-//
-// Class CHtiBtCommServer
-//
-//*****************************************************************************
-
-/*---------------------------------------------------------------------------*/
-CHtiBtCommServer::CHtiBtCommServer( TInt aPriority )
-    : CServer2( aPriority, ESharableSessions )
-    {
-    LOGFW(DebugLog(_L("CHtiBtCommServer: CHtiBtCommServer()")))
-    __DECLARE_NAME(_S( "CHtiBtCommServer" ));
-    }
-
-/*---------------------------------------------------------------------------*/
-void CHtiBtCommServer::ConstructL()
-    {
-    LOGFW(DebugLog(_L("CHtiBtCommServer: ConstructL()")))
-    }
-
-/*---------------------------------------------------------------------------*/
-CHtiBtCommServer* CHtiBtCommServer::NewL()
-    {
-    LOGFW(DebugLog(_L("CHtiBtCommServer: NewL()"));)
-
-    CHtiBtCommServer *pS =
-        new (ELeave) CHtiBtCommServer( EBtCommServerPriority );
-    CleanupStack::PushL( pS );
-    __ASSERT_ALWAYS( pS != NULL, PanicServer( ESvrCreateServer ) );
-
-    pS->ConstructL();
-    CleanupStack::Pop( pS );
-    User::SetProcessCritical( User::ENotCritical );
-    User::SetCritical( User::ENotCritical );
-    LOGFW(InfoLog(_L("Server was started")))
-    return pS;
-    }
-
-/*---------------------------------------------------------------------------*/
-CHtiBtCommServer::~CHtiBtCommServer()
-    {
-    LOGFW(DebugLog(_L("CHtiBtCommServer: ~CHtiBtCommServer()")))
-    }
-
-/*---------------------------------------------------------------------------*/
-void CHtiBtCommServer::SessionFreed()
-    {
-    LOGFW(DebugLog(_L("CHtiBtCommServer: SessionFreed(): Stopping active scheduler"));)
-    iSession = NULL; // iSession is owned by server framework, not deleted here
-    CActiveScheduler::Stop();
-    LOGFW(DebugLog(_L("CHtiBtCommServer: SessionFreed(): Done"));)
-    }
-
-/*---------------------------------------------------------------------------*/
-void CHtiBtCommServer::SessionCreated( CHtiBtCommServerSession* aSession )
-    {
-    LOGFW(DebugLog(_L("CHtiBtCommServer: SessionCreated()"));)
-    iSession = aSession;
-    }
-
-/*---------------------------------------------------------------------------*/
-CSession2* CHtiBtCommServer::NewSessionL( const TVersion &aVersion,
-    const RMessage2& aMessage ) const
-    {
-    LOGFW(DebugLog(_L("CHtiBtCommServer: NewSessionL() - IPC V2"));)
-    aMessage.IsNull();
-    if ( iSession )
-        User::Leave( KErrAlreadyExists ); // Allow only one session
-
-    // Check that server is the right version
-    TVersion ver( KBtCommServerMajorVersionNumber,
-                  KBtCommServerMinorVersionNumber,
-                  KBtCommServerBuildVersionNumber );
-    if ( !User::QueryVersionSupported( ver, aVersion ) )
-        {
-        User::Leave( KErrNotSupported );
-        }
-    return CHtiBtCommServerSession::NewL( (CHtiBtCommServer*)this );
-    }
-
-/*---------------------------------------------------------------------------*/
-GLDEF_C TInt CHtiBtCommServer::ThreadFunction( TAny* anArg )
-    {
-    LOGFW(_L("CHtiBtCommServer: ThreadFunction(): Starting"));
-
-    __UHEAP_MARK;
-
-    CTrapCleanup* cleanup = CTrapCleanup::New();
-
-    // Convert argument into semaphore reference
-    RSemaphore& semaphore = *(RSemaphore*)anArg;
-
-    // Start scheduler...
-    LOGFW(DebugLog(_L("CHtiBtCommServer: ThreadFunction(): Installing active scheduler"));)
-    CActiveScheduler *pA = new CActiveScheduler;
-    __ASSERT_ALWAYS( pA != NULL, PanicServer( EMainSchedulerError ) );
-    CActiveScheduler::Install( pA );
-
-    CHtiBtCommServer* pS = NULL;
-    TRAPD(err,
-        // ...and server
-        LOGFW(DebugLog(_L("CHtiBtCommServer: ThreadFunction(): Creating server instance"));)
-        pS = CHtiBtCommServer::NewL();
-        )
-
-    if ( err != KErrNone )
-        {
-        LOGFW(DebugLog(_L("CHtiBtCommServer: ThreadFunction(): Failed creating server instance"));)
-        }
-
-    LOGFW(DebugLog(_L("CHtiBtCommServer: ThreadFunction(): Starting server"));)
-    __ASSERT_ALWAYS( pS->Start(KBtCommServerName) == KErrNone,
-        PanicServer( ESvrStartServer ) ); // Make first request pending,
-
-    // Signal that server has started
-    LOGFW(DebugLog(_L("CHtiBtCommServer: ThreadFunction(): Signalling client: server is up and running"));)
-    semaphore.Signal();
-
-    LOGFW(DebugLog(_L("CHtiBtCommServer: ThreadFunction(): Waiting for server's death"));)
-    // Start receiving requests from clients
-    CActiveScheduler::Start();
-    LOGFW(DebugLog(_L("CHtiBtCommServer: ThreadFunction(): Server was stopped"));)
-    LOGFW(InfoLog(_L("Server was stopped")))
-    delete pS;
-    LOGFW(DebugLog(_L("CHtiBtCommServer: ThreadFunction(): Server was deleted"));)
-
-    // Finished
-    delete pA;
-    pA = NULL;
-
-     // Destroy clean-up stack
-    delete cleanup;
-    cleanup = NULL;
-
-    __UHEAP_MARKEND;
-    return KErrNone;
-    }
-
-/*---------------------------------------------------------------------------*/
-GLDEF_C void PanicServer( TBtCommServerPanic aPanic )
-    {
-    LOGFW(DebugLog(_L("CHtiBtCommServer: PanicServer()"));)
-    _LIT( KTxtServerPanic, "BtCommServer panic" );
-    User::Panic( KTxtServerPanic, aPanic );
-    }
-
-/*---------------------------------------------------------------------------*/
-EXPORT_C TInt StartThread()
-    {
-//    LOGFW(_L("CHtiBtCommServer: StartThread()"));
-    TInt res = KErrNone;
-
-    // Create server - if one of this name does not already exist
-    TFindServer findBtCommServer( KBtCommServerName );
-    TFullName name;
-    if ( findBtCommServer.Next( name ) != KErrNone ) // Server doesn't exist
-        {
-         // Create a semaphore to know when thread initialization has finished
-        RSemaphore semaphore;
-        semaphore.CreateLocal(0);
-
-//        LOGFW(_L("CHtiBtCommServer: Created Semaphore...\n"));
-
-        // Create new server thread and thread's main function
-        RThread thread;
-        res = thread.Create( KBtCommServerName,
-                             CHtiBtCommServer::ThreadFunction,
-                             KBtCommServerStackSize,
-                             KBtCommServerHeapSizeMin,
-                             KBtCommServerHeapSizeMax,
-                             &semaphore );
-
-
-        if ( res == KErrNone ) // Thread created ok - now start it going
-            {
-//            LOGFW(_L("CHtiBtCommServer: StartThread() - Create OK"));
-
-            thread.SetPriority( EPriorityNormal );
-//            TRequestStatus stat1;
-//            thread.Logon(stat1);
-
-            thread.Resume();  // Start it going
-
-            semaphore.Wait(); // Wait until it's initialized
-
-            thread.Close();   // No longer interest in the other thread
-            }
-        else // Thread not created ok
-            {
-            // No further interest in it
-//            LOGFW(_L("CHtiBtCommServer: StartThread() - Create FAIL"));
-            thread.Close();
-            }
-        semaphore.Close();
-        }
-    return res;
-    }
-
-/*---------------------------------------------------------------------------*/
-GLDEF_C TInt E32Main()
-    {
-    return KErrNone;
-    }
-
-// End of the file