persistentstorage/store/UFILE/UF_DIR.CPP
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 16:57:14 +0300
branchRCL_3
changeset 23 26645d81f48d
parent 0 08ec8eefde2f
permissions -rw-r--r--
Revision: 201035 Kit: 201035

// Copyright (c) 2003-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:
//

#include "UF_STD.H"

EXPORT_C TUid CDirectFileStore::Layout() const 
/** Gets the UID that uniquely identifies this file store as a direct file store.

@return KDirectFileStoreLayoutUid. */
	{
	return KDirectFileStoreLayoutUid;
	}

EXPORT_C CDirectFileStore::CDirectFileStore(RFile& aFile)
//
// Constructor creating a new file store.
//
	: CFileStore(aFile)
	{}

EXPORT_C CDirectFileStore::CDirectFileStore(RFileBuf& aBuf,const TUidType& aType)
//
// Constructor opening an existing file store.
//
	: CFileStore(aBuf,aType)
	{}

EXPORT_C MStreamBuf* CDirectFileStore::DoReadL(TStreamId anId) const
//
// Open a stream for reading.
//
	{
	return HDirectStoreBuf::OpenL(Host(),anId,HDirectStoreBuf::ERead);
	}

EXPORT_C MStreamBuf* CDirectFileStore::DoCreateL(TStreamId& anId)
//
// Create a new stream and open for both reading and writing.
//
	{
	return HDirectStoreBuf::CreateL(Host(),anId,HDirectStoreBuf::ERead|HDirectStoreBuf::EWrite);
	}

EXPORT_C void CDirectFileStore::ExternalizeL(RWriteStream& aStream) const
//
// Externalize this store's structure, consisting of just the root stream id.
//
	{
	aStream<<iRoot;
	}

EXPORT_C void CDirectFileStore::InternalizeL(RReadStream& aStream)
//
// Internalize this store's structure, consisting of just the root stream id.
//
	{
	aStream>>iRoot;
	}

EXPORT_C void CDirectFileStore::DoSetRootL(TStreamId anId)
//
// Set the root stream id and flag a change to this store's structure.
//
	{
	iRoot=anId;
	ChangedL();
	}

EXPORT_C CFileStore* CDirectFileStore::DoNewL(RFile& aFile)
//
// Factory function creating a new file.
//
	{
	return new(ELeave) CDirectFileStore(aFile);
	}