upnpavcontroller/upnpavcontrollerclient/src/upnpavconnectionactive.cpp
author Sampo Huttunen <sampo.huttunen@nokia.com>
Wed, 24 Nov 2010 09:39:46 +0200
branchIOP_Improvements
changeset 45 a6c41ca11adf
parent 38 5360b7ddc251
permissions -rw-r--r--
Updated the SIS package, there was some BC issue with the earlier version. Also updated the platform UID to S^3 version.

/*
* Copyright (c) 2006 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:      AO that monitors WLAN connection in client side
*
*/






#include "upnpavconnectionactive.h"

#include "upnpavcontrollerclient.h"

#include "upnpconnectionmonitorobserver.h"

_LIT( KComponentLogfile, "upnpavcontrollerclient.txt");
#include "upnplog.h"


// ======== MEMBER FUNCTIONS ========

// --------------------------------------------------------------------------
// CUPnPAVConnectionActive::NewL
// Two-phase constructor
// --------------------------------------------------------------------------
CUPnPAVConnectionActive* CUPnPAVConnectionActive::NewL(
    RUPnPAVControllerClient& aServer,
    MUPnPConnectionMonitorObserver& aObserver )
    {
    CUPnPAVConnectionActive* self = new (ELeave) CUPnPAVConnectionActive(
        aServer, aObserver );
    CleanupStack::PushL( self );
    self->ConstructL();
    CleanupStack::Pop( self );
    return self;
    }

// --------------------------------------------------------------------------
// CUPnPAVConnectionActive::CUPnPAVConnectionActive
// Constructor
// --------------------------------------------------------------------------
CUPnPAVConnectionActive::CUPnPAVConnectionActive(
    RUPnPAVControllerClient& aServer,
    MUPnPConnectionMonitorObserver& aObserver ):
    CActive( EPriorityStandard ),
    iServer( aServer ),
    iObserver( aObserver )
    {
    CActiveScheduler::Add( this );
    }

// --------------------------------------------------------------------------
// CUPnPAVConnectionActive::~CUPnPAVConnectionActive
// Destructor
// --------------------------------------------------------------------------
CUPnPAVConnectionActive::~CUPnPAVConnectionActive()
    {
    Cancel();
    }

// --------------------------------------------------------------------------
// CUPnPAVConnectionActive::ConstructL
// Two-phase constructor
// --------------------------------------------------------------------------
void CUPnPAVConnectionActive::ConstructL()
    {
        
    }

// --------------------------------------------------------------------------
// CUPnPAVConnectionActive::RunL
// From CActive
// --------------------------------------------------------------------------
void CUPnPAVConnectionActive::RunL()
    {
    // Connection is lost
    if( iStatus.Int() == EAVControllerConnectionLost )
        {
        iObserver.ConnectionLost( EFalse );
        }
    }
    
// --------------------------------------------------------------------------
// CUPnPAVConnectionActive::DoCancel
// From CActive
// --------------------------------------------------------------------------
void CUPnPAVConnectionActive::DoCancel()
    {
    iServer.CancelMonitorConnection(); // Ignore error
    }
    
// --------------------------------------------------------------------------
// CUPnPAVConnectionActive::RunError
// From CActive
// --------------------------------------------------------------------------
TInt CUPnPAVConnectionActive::RunError( TInt /*aError*/ )
    {
    return KErrNone;
    }
    
// --------------------------------------------------------------------------
// CUPnPAVConnectionActive::StartMonitoring
// Starts monitoring
// --------------------------------------------------------------------------
void CUPnPAVConnectionActive::StartMonitoring()
    {
    __ASSERTD( !IsActive(), __FILE__, __LINE__ );
    iServer.MonitorConnection( iStatus );
    SetActive();
    }

// end of file