connectionmonitoring/connectionmonitorui/src/ActiveWrapper.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 12 Mar 2010 15:44:18 +0200
branchRCL_3
changeset 12 ea6e024ea6f9
parent 0 5a93021fdf25
permissions -rw-r--r--
Revision: 201007 Kit: 201008

/*
* Copyright (c) 2007 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:  CActiveWrapper implementation file
*
*/


#include <e32base.h>

#include "ActiveWrapper.h"
#include "ConnectionMonitorUiLogger.h"

// LOCAL CONSTANTS AND MACROS

// ---------------------------------------------------------
// CActiveWrapper::NewL
//
// Two-phased constructor.
// ---------------------------------------------------------
//
CActiveWrapper* CActiveWrapper::NewL()
    {
    CMUILOGGER_ENTERFN( "CActiveWrapper::NewL()" );
    
    CActiveWrapper* self = new ( ELeave ) CActiveWrapper();
    CleanupStack::PushL( self );

    self->ConstructL();
    
    CleanupStack::Pop( self );

    CMUILOGGER_LEAVEFN( "CActiveWrapper::NewL()" );
    return self;
    }

// ---------------------------------------------------------
// CActiveWrapper::ConstructL
//
// Symbian OS default constructor can leave.
// ---------------------------------------------------------
//
void CActiveWrapper::ConstructL()
    {
    CMUILOGGER_ENTERFN( "CActiveWrapper::ConstructL()" );

    CActiveScheduler::Add( this );

    CMUILOGGER_LEAVEFN( "CActiveWrapper::ConstructL()" );
    }


// ---------------------------------------------------------
// CActiveWrapper::CActiveWrapper
//
// C++ constructor can NOT contain any code, that
// might leave.
// ---------------------------------------------------------
//
CActiveWrapper::CActiveWrapper() : CActive( CActive::EPriorityStandard )
    {
    }


// ---------------------------------------------------------
// CActiveWrapper::~CActiveWrapper
//
// Destructor
// ---------------------------------------------------------
//
CActiveWrapper::~CActiveWrapper()
    {
    CMUILOGGER_ENTERFN( "CActiveWrapper::~CActiveWrapper()" );
    
    Cancel();
    
    CMUILOGGER_WRITE( "CActiveWrapper::~CActiveWrapper Canceled" );
    
    CMUILOGGER_LEAVEFN( "CActiveWrapper::~CActiveWrapper()" );
    }


// ---------------------------------------------------------
// CActiveWrapper::RunL
//
// From active object framework
// ---------------------------------------------------------
//
void CActiveWrapper::RunL() 
    {
    CMUILOGGER_ENTERFN( "CActiveWrapper::RunL()" );

    if ( iWait.IsStarted() )
        {
        CMUILOGGER_WRITE( "AsyncStop" );

        iWait.AsyncStop();
        }

    CMUILOGGER_LEAVEFN( "CActiveWrapper::RunL()" );
    }


// ---------------------------------------------------------
// CActiveWrapper::DoCancel
//
// From active object framework
// ---------------------------------------------------------
//
void CActiveWrapper::DoCancel()
    {
    CMUILOGGER_ENTERFN( "CActiveWrapper::DoCancel()" );

    if ( iWait.IsStarted() )
        {
        CMUILOGGER_WRITE( "AsyncStop" );

        iWait.AsyncStop();
        }

    CMUILOGGER_LEAVEFN( "CActiveWrapper::DoCancel()" );
    }
    

// ---------------------------------------------------------
// CActiveWrapper::StartGetStringAttribute
//
// Starts the active object
// ---------------------------------------------------------
//
void CActiveWrapper::StartGetStringAttribute( TInt const aConnectionId, 
                            RConnectionMonitor* const aConnectionMonitor,
                            TUint const aAttribute,
                            TDes& aValue )
    {
    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetStringAttribute()" );

    if ( IsActive() == EFalse )
        {
        CMUILOGGER_WRITE( "NOT active" );
        aConnectionMonitor->GetStringAttribute( aConnectionId, 0, aAttribute,
                                                aValue, iStatus );
        SetActive();
        iWait.Start();
        }
    else
        {
        CMUILOGGER_WRITE( "Already active" );
        }
        
    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetStringAttribute()" );
    }


// ---------------------------------------------------------
// CActiveWrapper::StartGetIntAttribute
//
// Starts the active object
// ---------------------------------------------------------
//
void CActiveWrapper::StartGetIntAttribute( TInt const aConnectionId,
                            RConnectionMonitor* const aConnectionMonitor,
                            TUint const aAttribute,
                            TInt& aValue )
    {
    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetIntAttribute()" );

    if ( IsActive() == EFalse )
        {
        CMUILOGGER_WRITE( "NOT active" );
        aConnectionMonitor->GetIntAttribute( aConnectionId, 
                                             0,
                                             aAttribute,
                                             aValue,
                                             iStatus );
        SetActive();
        iWait.Start();
        }
    else
        {
        CMUILOGGER_WRITE( "Already active" );
        }
        
    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetIntAttribute()" );
    }


// ---------------------------------------------------------
// CActiveWrapper::StartGetUintAttribute
//
// Starts the active object
// ---------------------------------------------------------
//
void CActiveWrapper::StartGetUintAttribute( TInt const aConnectionId,
                            RConnectionMonitor* const aConnectionMonitor,
                            TUint const aAttribute,
                            TUint& aValue )
    {
    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetUintAttribute()" );

    if ( IsActive() == EFalse )
        {
        CMUILOGGER_WRITE( "NOT active" );
        aConnectionMonitor->GetUintAttribute( aConnectionId,
                                              0,
                                              aAttribute,
                                              aValue,
                                              iStatus );
        SetActive();
        iWait.Start();
        }
    else
        {
        CMUILOGGER_WRITE( "Already active" );
        }
        
    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetUintAttribute()" );
    }


// ---------------------------------------------------------
// CActiveWrapper::StartGetConnSharings
//
// Starts the active object
// ---------------------------------------------------------
//
void CActiveWrapper::StartGetConnSharings( TInt const aConnectionId,
                            RConnectionMonitor* const aConnectionMonitor,
                            TConnMonClientEnumBuf& aValue )
    {
    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetConnSharings()" );

    if ( IsActive() == EFalse )
        {
        CMUILOGGER_WRITE( "NOT active" );   
        aConnectionMonitor->GetPckgAttribute( aConnectionId,
                                              0,
                                              KClientInfo,
                                              aValue,
                                              iStatus );
        SetActive();
        iWait.Start();
        }
    else
        {
        CMUILOGGER_WRITE( "Already active" );
        }
        
    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetConnSharings()" );
    }


// ---------------------------------------------------------
// CActiveWrapper::StartGetConnTime
//
// Starts the active object
// ---------------------------------------------------------
//
void CActiveWrapper::StartGetConnTime( TInt const aConnectionId,
                            RConnectionMonitor* const aConnectionMonitor,
                            TConnMonTimeBuf& aValue )
    {
    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetConnTime()" );

    if ( IsActive() == EFalse )
        {
        CMUILOGGER_WRITE( "NOT active" );   
        aConnectionMonitor->GetPckgAttribute( aConnectionId,
                                              0,
                                              KStartTime,
                                              aValue,
                                              iStatus );
        SetActive();
        iWait.Start();
        }
    else
        {
        CMUILOGGER_WRITE( "Already active" );
        }
        
    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetConnTime()" );
    }


// ---------------------------------------------------------
// CActiveWrapper::StartGetBearerType
//
// Starts the active object
// ---------------------------------------------------------
//
void CActiveWrapper::StartGetBearerType( TInt const aConnectionId,
                            RConnectionMonitor& aConnectionMonitor,
                            TUint const aAttribute,
                            TInt& aValue )
    {
    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetBearerType()" );

    if ( IsActive() == EFalse )
        {
        CMUILOGGER_WRITE( "NOT active" );
        aConnectionMonitor.GetIntAttribute( aConnectionId, 
                                            0,
                                            aAttribute,
                                            aValue,
                                            iStatus );
        SetActive();
        iWait.Start();
        }
    else
        {
        CMUILOGGER_WRITE( "Already active" );
        }
        
    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetBearerType()" );
    }


// ---------------------------------------------------------
// CActiveWrapper::StartGetConnectionCount
//
// Starts the active object
// ---------------------------------------------------------
//
void CActiveWrapper::StartGetConnectionCount( TUint& aConnectionCount,
                            RConnectionMonitor& aConnectionMonitor )
    {
    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetConnectionCount()" );

    if ( IsActive() == EFalse )
        {
        CMUILOGGER_WRITE( "NOT active" );
        aConnectionMonitor.GetConnectionCount( aConnectionCount, iStatus );
        SetActive();
        iWait.Start();
        }
    else
        {
        CMUILOGGER_WRITE( "Already active" );
        }
        
    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetConnectionCount()" );
    }


// End of File