xdmprotocols/LocalProtocol/src/LocalDirectory.cpp
branchRCL_3
changeset 34 2669f8761a99
parent 31 2580314736af
child 35 fbd2e7cec7ef
--- a/xdmprotocols/LocalProtocol/src/LocalDirectory.cpp	Thu Aug 19 10:19:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,308 +0,0 @@
-/*
-* Copyright (c) 2005 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: CLocalDirectory
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <utf.h>
-#include <f32file.h>
-#include "LocalProtocol.h"
-#include "LocalDocument.h"
-#include "LocalDirectory.h"
-#include "XdmDocumentNode.h"
-#include "XdmNodeAttribute.h"
-#include "LocalDirectoryEntry.h"
-
-
-// ----------------------------------------------------------
-// CLocalDirectory::CLocalDirectory
-// 
-// ----------------------------------------------------------
-//
-CLocalDirectory::CLocalDirectory( CXdmEngine& aXdmEngine,
-                                  CLocalProtocol& aLocalProtocol ) : 
-                                  CXdmDirectory( aXdmEngine ),
-                                  iLocalProtocol( aLocalProtocol )                                              
-    { 
-    }
-
-// ----------------------------------------------------------
-// CLocalDirectory::NewL
-// 
-// ----------------------------------------------------------
-//
-CLocalDirectory* CLocalDirectory::NewL( const TDesC& aFilePath,
-                                        CXdmEngine& aXdmEngine,
-                                        CLocalProtocol& aLocalProtocol )
-    {
-    CLocalDirectory* self = new ( ELeave ) CLocalDirectory( aXdmEngine, aLocalProtocol );
-    CleanupStack::PushL( self );
-    self->BaseConstructL( aFilePath );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-
-// ----------------------------------------------------
-// CLocalDirectory::~CLocalDirectory
-// 
-// ----------------------------------------------------
-//
-CLocalDirectory::~CLocalDirectory()
-    {
-    #ifdef _DEBUG
-        iLocalProtocol.WriteToLog( _L8( "CLocalDirectory::~CLocalDirectory()" ) );
-    #endif
-    Cancel();
-    iEntryArray.ResetAndDestroy();
-    iEntryArray.Close();
-    }
-    
-// ----------------------------------------------------------
-// CLocalDirectory::ConstructL
-// 
-// ----------------------------------------------------------
-//
-void CLocalDirectory::ConstructL()
-    {
-    RefreshEntryArrayL();
-    CActiveScheduler::Add( this );
-    }
-
-// ----------------------------------------------------------
-// CLocalDirectory::RefreshEntryArrayL
-// 
-// ----------------------------------------------------------
-//
-void CLocalDirectory::RefreshEntryArrayL()
-    {
-    CDir* directory = NULL;
-    iEntryArray.ResetAndDestroy();
-    TPtrC path = iDirectoryPath->Des();
-    RFs& session = CLocalProtocol::FileSession();
-    User::LeaveIfError( session.GetDir( path, KEntryAttNormal, ESortByExt, directory ) );
-    CleanupStack::PushL( directory );
-    TInt count = directory->Count();
-    FindTimeStampFilesL( directory );
-    MatchWithStampFilesL( directory );
-    CleanupStack::PopAndDestroy();  //directory
-    }
-
-// ----------------------------------------------------------
-// CLocalDirectory::FindTimeStampFilesL
-// 
-// ----------------------------------------------------------
-//
-void CLocalDirectory::FindTimeStampFilesL( const CDir* aDirectory )
-    {
-    #ifdef _DEBUG
-        iLocalProtocol.WriteToLog( _L8( "CLocalDirectory::FindTimeStampFilesL()" ) );
-    #endif
-    TBool ready = EFalse;
-    TInt count = aDirectory->Count();
-    for( TInt i = 0;!ready && i < count;i++ )
-        {
-        TPtrC name = ( *aDirectory )[i].iName;
-        TInt index = name.Find( KTimeStampFileExt );
-        if( index > 0 )
-            {
-            TInt stampIndex = i;
-            CLocalDirectoryEntry* entry = NULL;
-            while( !ready )
-                {
-                entry = CLocalDirectoryEntry::NewL( name );
-                CleanupStack::PushL( entry );
-                User::LeaveIfError( iEntryArray.Append( entry ) );
-                CleanupStack::Pop();  //entry
-                stampIndex++;
-                if( stampIndex < count )
-                    {
-                    name.Set( ( *aDirectory )[stampIndex].iName );
-                    index = name.Find( KTimeStampFileExt );
-                    if( index <= 0 )
-                        ready = ETrue;
-                    }
-                else ready = ETrue;
-                }
-            }
-        }
-    }
-
-// ----------------------------------------------------------
-// CLocalDirectory::MatchWithStampFilesL
-// 
-// ----------------------------------------------------------
-//
-void CLocalDirectory::MatchWithStampFilesL( const CDir* aDirectory )
-    {
-    #ifdef _DEBUG
-        iLocalProtocol.WriteToLog( _L8( "CLocalDirectory::MatchWithStampFilesL()" ) );
-    #endif
-    TInt count = aDirectory->Count();
-    for( TInt i = 0;i < count;i++ )
-        {
-        TPtrC name = ( *aDirectory )[i].iName;
-        TInt index = name.Find( KTimeStampFileExt );
-        if( index > 0 )
-            continue;
-        else 
-            {
-            TBool ready = EFalse;
-            TInt count = iEntryArray.Count();
-            for( TInt i = 0;!ready && i < count;i++ )
-                ready = iEntryArray[i]->OfferEntryL( name );
-            }
-        }
-    }
-
-// ----------------------------------------------------------
-// CLocalDirectory::DocumentCount
-// 
-// ----------------------------------------------------------
-//
-TInt CLocalDirectory::DocumentCount()
-    {
-    #ifdef _DEBUG
-        iLocalProtocol.WriteToLog( _L8( "CLocalDirectory::DocumentCount()" ) );
-    #endif
-    RefreshEntryArrayL();
-    return iEntryArray.Count();
-    }
-
-// ----------------------------------------------------
-// CLocalDocument::DocumentTypeL
-// 
-// ----------------------------------------------------
-//
-TXdmDocType CLocalDirectory::DocumentTypeL( TInt /*aIndex*/ ) const
-    {
-    return EXdmDocGeneral;
-    }
-       
-// ----------------------------------------------------------
-// CLocalDirectory::Document
-// 
-// ----------------------------------------------------------
-//
-TPtrC CLocalDirectory::Document( TInt aIndex ) const
-    {
-    #ifdef _DEBUG
-        iLocalProtocol.WriteToLog( _L8( "CLocalDirectory::Document()" ) );
-    #endif
-    return aIndex < 0 || aIndex > iEntryArray.Count() ? TPtrC() :
-           iEntryArray[aIndex]->EntryName();
-    }
-
-// ----------------------------------------------------------
-// CLocalDirectory::ConstructL
-// 
-// ----------------------------------------------------------
-//
-TPtrC CLocalDirectory::DirectoryPath() const
-    {
-    return iDirectoryPath != NULL ? iDirectoryPath->Des() : TPtrC();
-    }
-
-// ----------------------------------------------------------
-// CXcapDirectory::SaveRequestData
-// 
-// ----------------------------------------------------------
-//
-void CLocalDirectory::SaveRequestData( TDirUpdatePhase aUpdatePhase,
-                                       TRequestStatus& aClientStatus )
-    {
-    iUpdatePhase = aUpdatePhase;
-    iClientStatus = &aClientStatus;
-    }
-               
-// ----------------------------------------------------------
-// CLocalDirectory::StartUpdateL
-// 
-// ----------------------------------------------------------
-//
-void CLocalDirectory::StartUpdateL()
-    
-    {
-    #ifdef _DEBUG
-        iLocalProtocol.WriteToLog( _L8( "CLocalDirectory::StartUpdateL()" ) );
-    #endif
-    switch( iUpdatePhase )
-        {
-        case EUpdateDocumentList:
-            RefreshEntryArrayL();
-            User::RequestComplete( iClientStatus, KErrNone );
-            break;
-        case ERefreshDocuments:
-            User::RequestComplete( iClientStatus, KErrNone );
-        default:
-            break;
-        } 
-    }
-
-// ---------------------------------------------------------
-// CLocalDirectory::RunL()
-// 
-// ---------------------------------------------------------
-//
-void CLocalDirectory::RunL()
-    {
-    #ifdef _DEBUG
-        iLocalProtocol.WriteToLog( _L8( "CLocalDirectory::RunL() - Request: %d" ), iStatus.Int() );
-    #endif
-    }
-
-// ----------------------------------------------------
-// CLocalDirectory::CancelUpdate
-// 
-// ----------------------------------------------------
-//
-void CLocalDirectory::CancelUpdate()
-    {
-    #ifdef _DEBUG
-        iLocalProtocol.WriteToLog( _L8( "CLocalDirectory::CancelUpdate()" ) );
-    #endif
-    Cancel();
-    }
-    
-// ---------------------------------------------------------
-// CLocalDirectory::DoCancel
-// 
-// ---------------------------------------------------------
-//
-void CLocalDirectory::DoCancel()
-    {
-    #ifdef _DEBUG
-        iLocalProtocol.WriteToLog( _L8( "CLocalDirectory::DoCancel()" ) );
-    #endif
-    switch( iUpdatePhase )
-        {
-        case EDirPhaseIdle:
-            break;
-        case EUpdateDocumentList:
-            break;
-        case ERefreshDocuments:
-            break;
-        default:
-            break;
-        }
-    User::RequestComplete( iClientStatus, KErrCancel );
-    }
-
-
-
-