vtengines/videoteleng/Src/Base/CVtEngCRProxy.cpp
changeset 18 d9b6a8729acd
parent 4 6dc066157ed4
child 23 c378a0498b84
child 27 dcbddbbaf8fd
--- a/vtengines/videoteleng/Src/Base/CVtEngCRProxy.cpp	Tue Jan 26 12:01:21 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,441 +0,0 @@
-/*
-* Copyright (c) 2004-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:  Central repository proxy.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include    "CVtEngCRObserverItem.h"
-#include    "CVtEngCRProxy.h"
-#include    "MVtEngCRSettingObserver.h"
-#include    <cvtlogger.h>
-
-// CONSTANTS
-
-const TInt KVtEngCRProxyObsGranularity = 5;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::CVtEngCRProxy
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRProxy::CVtEngCRProxy() : iObserverItems( KVtEngCRProxyObsGranularity )
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRProxy* CVtEngCRProxy::NewL( )
-    {
-    __VTPRINTENTER( "CRProxy.NewL" )
-    CVtEngCRProxy* self = new( ELeave ) CVtEngCRProxy;
-    __VTPRINTEXIT( "CRProxy.NewL" )
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::~CVtEngCRProxy
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRProxy::~CVtEngCRProxy()
-    {
-    __VTPRINTENTER( "CRProxy.~" )
-    RemoveAllObservers();
-    RemoveSessions();
-    __VTPRINTEXIT( "CRProxy.~" )
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::FindItem
-// Finds observer item.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRObserverItem* CVtEngCRProxy::FindItem( 
-    const TUid& aUid, 
-    const TUint32 aKey,
-    TInt& aIndex ) const
-    {
-    TInt count( iObserverItems.Count() );
-    CVtEngCRObserverItem* item = NULL;
-    TBool found( EFalse );
-    while ( count-- && !found )
-        {
-        item = iObserverItems[ count ];
-        if ( item->Offer( aUid, aKey ) )
-            {
-            aIndex = count;
-            found = ETrue;
-            }
-        }
-
-    // Just NULL the item if not found
-    if ( !found )
-        {
-        item = NULL;
-        }
-    return item;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::FindItem
-// Finds observer item.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRObserverItem* CVtEngCRProxy::FindItem( 
-    const TUint32 aKey, TInt& aIndex ) const
-    {
-    TInt count( iObserverItems.Count() );
-    CVtEngCRObserverItem* item = NULL;
-    if ( aIndex < 0 )
-        {
-        return NULL;
-        }
-
-    for ( ; aIndex < count; aIndex++ )
-        {
-        item = iObserverItems[ aIndex ];
-        if ( item->Offer( aKey  ) )
-            {
-            break;
-            }
-        }
-    return item;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::RemoveInterested
-// Removes a cent rep listener.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCRProxy::RemoveInterested( CVtEngCRObserverItem& aObserver )
-    {
-    __VTPRINTENTER( "CRProxy.RemoveInterested" )
-    TInt index ( 0 );
-    CVtEngCRObserverItem* item = FindItem( aObserver.Uid(), 
-        aObserver.Key(), index );
-    if ( !item )
-        {
-        // Should not be possible.
-        __VTPRINTEXITR( "CRProxy.RemoveInterested %d", 0 )
-        return;
-        }
-
-    delete item;
-    iObserverItems.Remove( index );
-    __VTPRINTEXITR( "CRProxy.RemoveInterested %d", 1 )
-    }
-    
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::NewCRSessionL
-// New Central repository-uid pairing.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRProxy::CCRSession* CVtEngCRProxy::NewCRSessionL( TUid aUid )
-    {
-    __VTPRINTENTER( "CRProxy.NewCRSessionL" )
-    CRepository* crSession = CRepository::NewL( aUid );
-    CleanupStack::PushL( crSession );
-    CCRSession* csSession = new ( ELeave ) CCRSession;
-    csSession->iSession = crSession;
-    csSession->iUid = aUid;    
-    CleanupStack::Pop( crSession );
-    __VTPRINTEXIT( "CRProxy.NewCRSessionL" )
-    return csSession;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::RegisterInterested
-// New Central repository listener.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCRProxy::RegisterInterestedL( CVtEngCRObserverItem* aObserver )
-    {
-    __VTPRINTENTER( "CRProxy.RegisterInterestedL" )
-    CRepository* crSession = MapUidToCR( aObserver->Uid() );
-    CCRSession* csSession = NULL;
-    if( !crSession )
-        {
-        csSession = NewCRSessionL( aObserver->Uid() );
-        CleanupStack::PushL( csSession );
-        crSession = csSession->iSession;
-        iCRSessions.AppendL( csSession );
-        CleanupStack::Pop( csSession );
-        }
-
-    CCenRepNotifyHandler* notifier = 
-        CCenRepNotifyHandler::NewL( *aObserver, *crSession, 
-        aObserver->Type(), aObserver->Key() );
-    //notifier ownership transfered
-    aObserver->SetCenRepNotifier( notifier );
-    notifier->StartListeningL();
-    iObserverItems.AppendL ( aObserver );
-    __VTPRINTEXIT( "CRProxy.RegisterInterestedL" )
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::MapUidToCR
-// Maps a given UID to a Central repository session.
-// -----------------------------------------------------------------------------
-//
-CRepository* CVtEngCRProxy::MapUidToCR( const TUid aUid )
-    {
-    __VTPRINTENTER( "CRProxy.Map" )
-    CCRSession* csSession = NULL;
-    TBool found( EFalse );
-    TInt count( iCRSessions.Count() );
-    for ( TInt i = 0 ; i < count; i++ )
-        {
-        csSession = iCRSessions[ i ];
-        if ( csSession->iUid == aUid )
-            {
-            i = count; // break loop
-            found = ETrue;
-            }
-        }
-    CRepository* session = NULL;        
-    // Only return something when found.
-    if ( found )
-        {
-        session = csSession->iSession;
-        }
-    __VTPRINTEXITR( "CRProxy.Map %d", (TInt) session )
-    return session;
-    }
-  
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::RemoveAllObservers
-// All observers off they go.
-// -----------------------------------------------------------------------------
-//    
-void CVtEngCRProxy::RemoveAllObservers()
-    {
-    __VTPRINTENTER( "CRProxy.RemoveAll" )
-    iObserverItems.ResetAndDestroy();
-    iObserverItems.Close();
-    __VTPRINTEXIT( "CRProxy.RemoveAll" )
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::RemoveSessions
-// Removes all Central repository sessions.
-// -----------------------------------------------------------------------------
-//
-void CVtEngCRProxy::RemoveSessions()
-    {
-    __VTPRINTENTER( "CRProxy.RemoveAllS" )
-    iCRSessions.ResetAndDestroy();
-    iCRSessions.Close();
-    __VTPRINTEXIT( "CRProxy.RemoveAllS" )
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::GetSession
-// Gets an existing or a new Central repository session for a UID.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::GetSessionL( const TUid aUid, CRepository*& crSession )
-    {
-    TInt err( KErrNone );
-    crSession = MapUidToCR( aUid );
-    if ( !crSession )
-        {
-        CCRSession* session = NULL;
-        session = NewCRSessionL( aUid );
-        if ( session )
-            {
-            CleanupStack::PushL( session );
-            iCRSessions.AppendL( session );
-            CleanupStack::Pop( session );
-            crSession = session->iSession;
-            }
-        else 
-            {
-            err = KErrNotFound;
-            }
-        }
-    return err;
-    }
-    
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Get
-// Gets integer value.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Get( const TUid aUid, const TUint32 aId, TInt& aVal )
-    {
-    __VTPRINTENTER( "CRProxy.GetInt" )       
-    __VTPRINT3( DEBUG_GEN, "UID=%d,key=%d", aUid.iUid, (TInt) aId );
-
-    CRepository* crSession = NULL;
-    TRAPD( err, GetSessionL( aUid, crSession ) );
-    if ( err == KErrNone )
-        {
-        err = crSession->Get( aId, aVal );
-        }
-    __VTPRINTEXITR( "CRProxy.GetInt %d", err )
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Get
-// Gets real value.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Get( const TUid aUid, const TUint32 aId, TReal& aVal )
-    {
-    __VTPRINTENTER( "CRProxy.GetReal" )
-    __VTPRINT3( DEBUG_GEN, "UID=%d,key=%d", aUid.iUid, (TInt) aId );
-    CRepository* crSession = NULL;
-    TRAPD( err, GetSessionL( aUid, crSession ) );
-    if ( err == KErrNone )
-        {
-        err = crSession->Get( aId, aVal );
-        }
-    __VTPRINTEXITR( "CRProxy.GetR %d", err )
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Get
-// Gets binary value.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Get( const TUid aUid, const TUint32 aId, TDes8& aVal )
-    {
-    __VTPRINTENTER( "CRProxy.GetD8" )
-    __VTPRINT3( DEBUG_GEN, "UID=%d,key=%d", aUid.iUid, (TInt) aId );
-    CRepository* crSession = NULL;
-    TRAPD( err, GetSessionL( aUid, crSession ) );
-    if ( err == KErrNone )
-        {
-        err = crSession->Get( aId, aVal );
-        }
-    __VTPRINTEXITR( "CRProxy.GetD8 %d", err )
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Get
-// Gets string value.
-// -----------------------------------------------------------------------------
-//      
-TInt CVtEngCRProxy::Get( const TUid aUid, const TUint32 aId, TDes16& aVal )
-    {
-    __VTPRINTENTER( "CRProxy.GetD16" )
-    __VTPRINT3( DEBUG_GEN, "UID=%d,key=%d", aUid.iUid, (TInt) aId );
-    CRepository* crSession = NULL;
-    TRAPD( err, GetSessionL( aUid, crSession ) );
-    if ( err == KErrNone )
-        {
-        err = crSession->Get( aId, aVal );
-        }
-    __VTPRINTEXITR( "CRProxy.GetD16 %d", err )
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Set
-// Sets integer value to Central Repository.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Set( const TUid aUid, const TUint32 aId, TInt aVal )
-    {
-    __VTPRINTENTER( "CRProxy.SetInt" )
-    CRepository* crSession = NULL;
-    TRAPD( err, GetSessionL( aUid, crSession ) );
-    if ( err == KErrNone )
-        {
-        err = crSession->Set( aId, aVal );
-        }
-    __VTPRINTEXITR( "CRProxy.SetInt %d", err )
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Set
-// Sets real value to Central Repository.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Set( const TUid aUid, const TUint32 aId, const TReal& aVal )
-    {
-    __VTPRINTENTER( "CRProxy.SetR" )
-    CRepository* crSession = NULL;
-    TRAPD( err, GetSessionL( aUid, crSession ) );
-    if ( err == KErrNone )
-        {
-        err = crSession->Set( aId, aVal );
-        }
-    __VTPRINTEXITR( "CRProxy.SetR %d", err )
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Set
-// Sets binary value to Central Repository.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Set( const TUid aUid, const TUint32 aId, const TDesC8& aVal )
-    {
-    __VTPRINTENTER( "CRProxy.SetD8" )
-    CRepository* crSession = NULL;
-    TRAPD( err, GetSessionL( aUid, crSession ) );
-    if ( err == KErrNone )
-        {
-        err = crSession->Set( aId, aVal );
-        }
-    __VTPRINTEXITR( "CRProxy.SetD8 %d", err )
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::Set
-// Sets string value to Central Repository.
-// -----------------------------------------------------------------------------
-//
-TInt CVtEngCRProxy::Set( 
-    const TUid aUid, const TUint32 aId, const TDesC16& aVal )
-    {
-    __VTPRINTENTER( "CRProxy.SetD16" )
-    CRepository* crSession = NULL;
-    TRAPD( err, GetSessionL( aUid, crSession ) );
-    if ( err == KErrNone )
-        {
-        err = crSession->Set( aId, aVal );
-        }
-    __VTPRINTEXITR( "CRProxy.SetD16 %d", err )
-    return err;
-    }
-
-// -----------------------------------------------------------------------------
-// CVtEngCRProxy::CCRSession::~CCRSession
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CVtEngCRProxy::CCRSession::~CCRSession()
-    {
-    __VTPRINTENTER( "CRProxy.~" )
-    delete iSession;
-    __VTPRINTEXIT( "CRProxy.~" )
-    }
-
-// end of file