upnpharvester/common/cmlibrary/src/cmstorerule.cpp
branchIOP_Improvements
changeset 40 08b5eae9f9ff
parent 39 6369bfd1b60d
child 41 b4d83ea1d6e2
--- a/upnpharvester/common/cmlibrary/src/cmstorerule.cpp	Mon Nov 01 13:44:24 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,465 +0,0 @@
-/*
-* Copyright (c) 2006-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:      Capsulating store rule
-*
-*/
-
-
-
-
-
-
-// INCLUDES
-#include <e32std.h>
-#include <s32mem.h>
-#include "cmmediaserver.h"
-#include "cmstorerule.h"
-#include "msdebug.h"
-
-// CONSTANTS
-const TInt KArrayGranularity = 16;
-const TInt KArrayGranularityContainer = 8;
-
-// ======== LOCAL FUNCTIONS ========
-// ---------------------------------------------------------------------------
-// NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CCmStoreRule* CCmStoreRule::NewL()
-    {    
-    CCmStoreRule* self = CCmStoreRule::NewLC();
-    CleanupStack::Pop( self ); 
-    return self;
-    }
- 
-// ---------------------------------------------------------------------------
-// NewLC
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C CCmStoreRule* CCmStoreRule::NewLC()
-    {    
-    CCmStoreRule* self = new ( ELeave ) CCmStoreRule();
-    CleanupStack::PushL( self );
-    self->ConstructL(); 
-    return self;  
-    }    
-
-// ---------------------------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CCmStoreRule::~CCmStoreRule()
-    {
-    delete iName;
-
-    iRuleDefs.Reset();
-    iRuleDefs.Close();
-
-    iMediaServers.ResetAndDestroy();
-    iMediaServers.Close();
-    
-    iExcPlayLists->Reset();
-    iExcAlbums->Reset();
-
-    delete iExcPlayLists;
-    delete iExcAlbums;      
-    }
-
-// ---------------------------------------------------------------------------
-// Add new rule into StoreRule
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CCmStoreRule::AddStoreRuleL( TCmMediaType aMediaType )
-    {    
-    iRuleDefs.AppendL( aMediaType );
-    TInt index = iRuleDefs.Count() - 1;    
-    return index;
-    }
-
-// ---------------------------------------------------------------------------
-// Get rule
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CCmStoreRule::StoreRule( TInt aIndex, TCmMediaType* aMediaType )
-    {
-    *aMediaType = (TCmMediaType)iRuleDefs[aIndex];
-    }
-        
-// ---------------------------------------------------------------------------
-// Add new media server into FillRule
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TInt CCmStoreRule::AddMediaServerL( const TDesC8& aUDN )
-    {
-    CCmMediaServer* server = CCmMediaServer::NewLC();
-    server->SetUDNL( aUDN );    
-    iMediaServers.AppendL( server );
-    CleanupStack::Pop( server );    
-    TInt index = iMediaServers.Count() - 1;    
-    return index;        
-    }
-
-// ---------------------------------------------------------------------------
-// Delete media server from the store rule
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CCmStoreRule::DeleteMediaServer( const TDesC8& aUDN )
-    {
-    TBool deleted( EFalse );
-    for( TInt i = 0; i < iMediaServers.Count() && !deleted; i++ )
-        {
-        if( KErrNone == iMediaServers[i]->MediaServer().Compare(aUDN) )
-            {
-            delete iMediaServers[i];
-            iMediaServers.Remove(i);
-            iMediaServers.Compress();
-            deleted = ETrue;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Adds one album into excluded list
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CCmStoreRule::AddExcAlbumL( const TDesC& aAlbum )
-    {
-    TRACE(Print(_L("[COMMON]\t AddExcAlbumL( %S )"), &aAlbum ));
-    HBufC* temp = aAlbum.AllocL();
-    CleanupStack::PushL( temp );
-    iExcAlbums->AppendL( *temp );
-    CleanupStack::Pop( temp );
-    }
-
-// ---------------------------------------------------------------------------
-// Adds one playlist into excluded list
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CCmStoreRule::AddExcPlayListL( const TDesC& aPlayList )
-    {
-    HBufC* temp = aPlayList.AllocL();
-    CleanupStack::PushL( temp );
-    iExcPlayLists->AppendL( *temp );
-    CleanupStack::Pop( temp );
-    }
-
-// ---------------------------------------------------------------------------
-// Removes one album from the excluded list
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CCmStoreRule::RemoveExcAlbum( const TDesC& aAlbum )
-    {
-    TInt pos( KErrNone );
-    TInt err( iExcAlbums->Find( aAlbum, pos, ECmpNormal ) );
-    if( err == KErrNone )
-        {
-        iExcAlbums->Delete( pos );
-        iExcAlbums->Compress();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// Removes one playlist from the excluded list
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CCmStoreRule::RemoveExcPlayList( const TDesC& aPlayList )
-    {
-    TInt pos( KErrNone );
-    TInt err( iExcPlayLists->Find( aPlayList, pos, ECmpNormal ) );
-    if( err == KErrNone )
-        {
-        iExcPlayLists->Delete( pos );
-        iExcPlayLists->Compress();
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// Returns excluded albums
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CDesCArray& CCmStoreRule::ExcAlbums()
-    {
-    return *iExcAlbums;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns excluded playlists
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C CDesCArray& CCmStoreRule::ExcPlayLists()
-    {
-    return *iExcPlayLists;
-    }
-            
-// ---------------------------------------------------------------------------
-// Get media server
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C const TDesC8& CCmStoreRule::MediaServerL( TInt aIndex )
-    {
-    // check parameter
-    if ( aIndex < 0 || aIndex >= iMediaServers.Count() ) 
-        {
-        User::Leave( KErrArgument );
-        }
-        
-    return iMediaServers[aIndex]->MediaServer();
-    }
-    
-// ---------------------------------------------------------------------------
-// Returns count of rules
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CCmStoreRule::DefCount() const
-    {
-    return iRuleDefs.Count();
-    }
-
-// ---------------------------------------------------------------------------
-// Returns count of media servers
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TInt CCmStoreRule::MediaServerCount() const
-    {
-    return iMediaServers.Count();
-    }    
-
-// ---------------------------------------------------------------------------
-// Sets FillRule name
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CCmStoreRule::SetNameL( const TDesC8& aName )
-    {
-    delete iName;
-    iName = NULL;
-    iName = aName.AllocL();        
-    }
-
-// ---------------------------------------------------------------------------
-// Get Name
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TDesC8& CCmStoreRule::Name() const
-    {
-    return *iName;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets list id, when storing data into db this values isn't used as a 
-// db list id
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CCmStoreRule::SetListId( const TUint aId )
-    {
-    iId = aId;
-    }
-
-// ---------------------------------------------------------------------------
-// Get list id
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TUint CCmStoreRule::ListId() const
-    {
-    return iId;
-    }
-            
-// ---------------------------------------------------------------------------
-// Sets selected state
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CCmStoreRule::SetSelected( TCmFillRuleStatus aSelected )
-    {
-    iSelected = aSelected;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns method
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TCmFillRuleStatus CCmStoreRule::Selected() const
-    {
-    return iSelected;
-    }
-
-// ---------------------------------------------------------------------------
-// Sets rule's status ( e.g ECmToBeRemoved )
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CCmStoreRule::SetStatus( TCmListItemStatus aStatus )
-    {
-    iStatus = aStatus;
-    }
-
-// ---------------------------------------------------------------------------
-// Returns status 
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TCmListItemStatus CCmStoreRule::Status() const
-    {
-    return iStatus;
-    }
-    
-// ---------------------------------------------------------------------------
-// CCmStoreRule::ExternalizeL
-// ---------------------------------------------------------------------------
-//
-void CCmStoreRule::ExternalizeL( RWriteStream& aStream ) const
-    {
-    aStream.WriteInt32L( iName->Length() );
-    if ( iName )
-        {
-        aStream << *iName;
-        }
-    else
-        {
-        aStream << KNullDesC8();
-        }      
-        
-    aStream.WriteInt16L((TInt)iSelected );    
-    aStream.WriteInt16L((TInt)iStatus );
-    
-    aStream.WriteInt16L( iRuleDefs.Count() );
-    for ( TInt index(0); index < iRuleDefs.Count(); index++ )
-        {
-        aStream.WriteInt16L((TInt)iRuleDefs[index] );
-        }
-        
-    aStream.WriteInt16L( iMediaServers.Count() );
-    for ( TInt index(0); index < iMediaServers.Count(); index++ )
-        {
-        iMediaServers[index]->ExternalizeL( aStream );
-        }
-    TRACE(Print(_L("[COMMON]\t iExcAlbums->Count() = %d"), 
-        iExcAlbums->Count() ));    
-    aStream.WriteInt16L( iExcAlbums->Count() );
-    for ( TInt index(0); index < iExcAlbums->Count(); index++ )
-        {
-        TRACE(Print(_L("[COMMON]\t iExcAlbums[index].Length() = %d"), 
-            iExcAlbums->MdcaPoint(index).Length() ));                
-        aStream.WriteInt32L( iExcAlbums->MdcaPoint(index).Length() );
-        aStream << iExcAlbums->MdcaPoint(index);
-        }
-    TRACE(Print(_L("[COMMON]\t iExcPlayLists->Count() = %d"), 
-        iExcPlayLists->Count() ));         
-    aStream.WriteInt16L( iExcPlayLists->Count() );
-    for ( TInt index(0); index < iExcPlayLists->Count(); index++ )
-        {
-        TRACE(Print(_L("[COMMON]\t iExcPlayLists[index].Length() = %d"), 
-            iExcPlayLists->MdcaPoint(index).Length() ));
-        aStream.WriteInt32L( iExcPlayLists->MdcaPoint(index).Length() );
-        aStream << iExcPlayLists->MdcaPoint(index);
-        }
-    }
-        
-// ---------------------------------------------------------------------------
-// CCmFillRule::InternalizeL
-// ---------------------------------------------------------------------------
-//
-void CCmStoreRule::InternalizeL( RReadStream& aStream )
-    {
-    // Content
-    if ( iName )
-        {
-        delete iName;
-        iName = NULL;
-        }
-    TInt bufLength = aStream.ReadInt32L();    
-    iName = HBufC8::NewL( aStream, bufLength );
-    
-    // cleanup
-    iRuleDefs.Reset();
- 
-    iSelected = (TCmFillRuleStatus)aStream.ReadInt16L();
-    iStatus = (TCmListItemStatus)aStream.ReadInt16L();
-    
-    // rule count 
-    TInt ruleCount = aStream.ReadInt16L();
-    
-    // Then internalize them from the stream one by one
-    for (TInt index = 0; index < ruleCount; index++ )
-        {
-        iRuleDefs.AppendL((TCmMediaType)aStream.ReadInt16L());   
-        }
-        
-    // cleanup
-    iMediaServers.ResetAndDestroy();
-    
-    // media Server count
-    TInt mediaServerCount = aStream.ReadInt16L();
-    
-    // Then internalize them from the stream one by one
-    for (TInt index = 0; index < mediaServerCount; index++ )
-        {
-        CCmMediaServer* server = CCmMediaServer::NewLC();    
-        server->InternalizeL( aStream );
-        iMediaServers.AppendL( server );
-        CleanupStack::Pop( server );   
-        server = NULL;
-        }
-    iExcAlbums->Reset();   
-    TInt excAlbumsCount( aStream.ReadInt16L() );
-    bufLength = KErrNone;
-    HBufC* temp;
-    TRACE(Print(_L("[COMMON]\t excAlbumsCount = %d"), excAlbumsCount ));    
-    for ( TInt index(0); index < excAlbumsCount ; index++ )
-        {
-        bufLength = aStream.ReadInt32L();
-        TRACE(Print(_L("[COMMON]\t bufLength = %d"), bufLength )); 
-        temp = HBufC::NewL( aStream, bufLength );
-        CleanupStack::PushL( temp );
-        iExcAlbums->AppendL( *temp );
-        CleanupStack::Pop( temp );
-        temp = NULL;
-        }         
-    iExcPlayLists->Reset();
-    TInt excPlayListCount( aStream.ReadInt16L() );
-    bufLength = KErrNone;
-    TRACE(Print(_L("[COMMON]\t excPlayListCount = %d"), excPlayListCount ));
-    for ( TInt index(0); index < excPlayListCount ; index++ )
-        {
-        bufLength = aStream.ReadInt32L();
-        TRACE(Print(_L("[COMMON]\t bufLength = %d"), bufLength ));
-        temp = HBufC::NewL( aStream, bufLength );
-        CleanupStack::PushL( temp );
-        iExcPlayLists->AppendL( *temp );
-        CleanupStack::Pop( temp );
-        temp = NULL;
-        }                 
-    }
-                
-// ---------------------------------------------------------------------------
-// Default constructor
-// C++ default constructor can NOT contain any code, that might leave.
-// ---------------------------------------------------------------------------
-//    
-CCmStoreRule::CCmStoreRule() : 
-    iRuleDefs( KArrayGranularity ), 
-    iMediaServers( KArrayGranularity )
-    {
-    
-    }
-
-// ---------------------------------------------------------------------------
-// ConstructL
-// ---------------------------------------------------------------------------
-//    
-void CCmStoreRule::ConstructL()
-    {
-    iExcAlbums = new ( ELeave ) CDesCArrayFlat( KArrayGranularityContainer );
-    iExcPlayLists = 
-        new ( ELeave ) CDesCArrayFlat( KArrayGranularityContainer );
-    }    
-
-// End of file
-