--- 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 );
- }
-
-
-
-