upnpavcontroller/upnpxmlparser/src/upnpavtevent.cpp
author Sampo Huttunen <sampo.huttunen@nokia.com>
Wed, 24 Nov 2010 09:39:46 +0200
branchIOP_Improvements
changeset 45 a6c41ca11adf
parent 40 08b5eae9f9ff
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) 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:      
*
*/

// INCLUDES
#include "upnpavtevent.h"

// --------------------------------------------------------------------------
// CUPnPAVTEvent::CUPnPAVTEvent
// See upnpavevent.h for description
// --------------------------------------------------------------------------
CUPnPAVTEvent::CUPnPAVTEvent()
    {
    // No implementation required
    }

// --------------------------------------------------------------------------
// CUPnPAVTEvent::ConstructL
// See upnpavevent.h for description
// --------------------------------------------------------------------------
void CUPnPAVTEvent::ConstructL()
    {
    // No implementation required
    }

// --------------------------------------------------------------------------
// CUPnPAVTEvent::NewL
// See upnpavevent.h for description
// --------------------------------------------------------------------------
CUPnPAVTEvent* CUPnPAVTEvent::NewL()
    {
    CUPnPAVTEvent* self = new (ELeave) CUPnPAVTEvent;
    CleanupStack::PushL( self );
    self->ConstructL();
    CleanupStack::Pop( self );
    return self;
    }

// --------------------------------------------------------------------------
// CUPnPAVTEvent::~CUPnPAVTEvent
// See upnpavevent.h for description
// --------------------------------------------------------------------------
CUPnPAVTEvent::~CUPnPAVTEvent()
    {
    delete iTransportURI;
    }

// --------------------------------------------------------------------------
// CUPnPAVTEvent::CloneL
// See upnpavevent.h for description
// --------------------------------------------------------------------------
CUPnPAVTEvent* CUPnPAVTEvent::CloneL( const CUPnPAVTEvent& event )
    {
    CUPnPAVTEvent* tmp = CUPnPAVTEvent::NewL();
    tmp->SetInstanceID( event.InstanceID() );
    tmp->SetMute( event.Mute() );
    tmp->SetTransportState( event.TransportState() );
    tmp->SetTransportURIL( event.TransportURI() );
    tmp->SetVolume( event.Volume() );    
    return tmp;
    }

// --------------------------------------------------------------------------
// CUPnPAVTEvent::InstanceID
// See upnpavevent.h for description
// --------------------------------------------------------------------------
EXPORT_C TInt CUPnPAVTEvent::InstanceID() const
    {
    return iInstanceID;
    }
    
// --------------------------------------------------------------------------
// CUPnPAVTEvent::Mute
// See upnpavevent.h for description
// --------------------------------------------------------------------------
EXPORT_C TInt CUPnPAVTEvent::Mute() const
    {
    return iMute;
    }

// --------------------------------------------------------------------------
// CUPnPAVTEvent::Volume
// See upnpavevent.h for description
// --------------------------------------------------------------------------
EXPORT_C TInt CUPnPAVTEvent::Volume() const
    {
    return iVolume;
    }

// --------------------------------------------------------------------------
// CUPnPAVTEvent::TransportState
// See upnpavevent.h for description
// --------------------------------------------------------------------------
EXPORT_C CUPnPAVTEvent::TTransportState
    CUPnPAVTEvent::TransportState() const
    {
    return iTransportState;
    }

// --------------------------------------------------------------------------
// CUPnPAVTEvent::TransportURI
// See upnpavevent.h for description
// --------------------------------------------------------------------------
EXPORT_C const TDesC8& CUPnPAVTEvent::TransportURI() const
    {
    if( iTransportURI )
        {
        return *iTransportURI;
        }
    else
        {
        return KNullDesC8;
        }
    }

// --------------------------------------------------------------------------
// CUPnPAVTEvent::SetInstanceID
// See upnpavevent.h for description
// --------------------------------------------------------------------------
void CUPnPAVTEvent::SetInstanceID( TInt aInstanceID )
    {
    iInstanceID = aInstanceID;
    }
    
// --------------------------------------------------------------------------
// CUPnPAVTEvent::SetMute
// See upnpavevent.h for description
// --------------------------------------------------------------------------
void CUPnPAVTEvent::SetMute( TInt aMute )
    {
    iMute = aMute;
    }

// --------------------------------------------------------------------------
// CUPnPAVTEvent::SetVolume
// See upnpavevent.h for description
// --------------------------------------------------------------------------
void CUPnPAVTEvent::SetVolume( TInt aVolume )
    {
    iVolume = aVolume;
    }

// --------------------------------------------------------------------------
// CUPnPAVTEvent::SetTransportState
// See upnpavevent.h for description
// --------------------------------------------------------------------------
void CUPnPAVTEvent::SetTransportState( TTransportState aTransportState )
    {
    iTransportState = aTransportState;
    }
    
// --------------------------------------------------------------------------
// CUPnPAVTEvent::SetTransportState
// See upnpavevent.h for description
// --------------------------------------------------------------------------
void CUPnPAVTEvent::SetTransportState( const TDesC8& aData )
    {
    // Define AV Transport States
    _LIT8( KStopped,           "STOPPED"           );        
    _LIT8( KPlaying,           "PLAYING"           );
    _LIT8( KTransitioning,     "TRANSITIONING"     );
    _LIT8( KPausedPlayback,    "PAUSED_PLAYBACK"   );
    _LIT8( KPausedRecording,   "PAUSED_RECORDING"  );
    _LIT8( KRecording,         "RECORDING"         );
    _LIT8( KNoMediaPresent,    "NO_MEDIA_PRESENT"  );

    if( !aData.CompareF( KStopped ) )
        {
        iTransportState = EStopped;
        }
    else if( !aData.CompareF( KPlaying ) )
        {
        iTransportState = EPlaying;
        }
    else if( !aData.CompareF( KTransitioning ) )
        {
        iTransportState = ETransitioning;
        }
    else if( !aData.CompareF( KPausedPlayback ) )
        {
        iTransportState = EPausedPlayback;
        }
    else if( !aData.CompareF( KPausedRecording ) )
        {
        iTransportState = EPausedRecording;
        }
    else if( !aData.CompareF( KRecording ) )
        {
        iTransportState = ERecording;
        }
    else if( !aData.CompareF( KNoMediaPresent ) )
        {
        iTransportState = ENoMediaPresent;
        }
    else
        {
        iTransportState = EIdle;
        }
    }

// --------------------------------------------------------------------------
// CUPnPAVTEvent::SetTransportURIL
// See upnpavevent.h for description
// --------------------------------------------------------------------------
void CUPnPAVTEvent::SetTransportURIL( const TDesC8& aTransportURI )
    {
    HBufC8* tmp = aTransportURI.AllocL();
    iTransportURI = tmp;
    }

// --------------------------------------------------------------------------
// CUPnPAVTEvent::Reset
// See upnpavevent.h for description
// --------------------------------------------------------------------------
void CUPnPAVTEvent::Reset()
    {
    iInstanceID = KErrNotFound;
    iMute = KErrNotFound;
    iVolume = KErrNotFound;
    iTransportState = EIdle;
    delete iTransportURI; iTransportURI = NULL;
    }

// End of File