epoc32/include/bautils.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
--- a/epoc32/include/bautils.h	Tue Nov 24 13:55:44 2009 +0000
+++ b/epoc32/include/bautils.h	Tue Mar 16 16:12:26 2010 +0000
@@ -1,1 +1,128 @@
-bautils.h
+// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
+// which accompanies this distribution, and is available
+// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#if !defined(__BAUTILS_H__)
+#define __BAUTILS_H__
+
+#include <e32std.h>
+#include <f32file.h>
+#include <barsread.h>
+#include <badesca.h>
+
+/**
+@publishedAll
+@released
+*/
+const TUint KBaflCharTruncation=0x2026; // Unicode's "horizontal ellipsis"
+
+/**
+There are at most 16 languages in the language downgrade path.
+The end of the language path is marked by an ELangNone.
+@publishedAll
+@released
+*/
+const TInt KMaxDowngradeLanguages = 16;
+
+/**
+@publishedAll
+@released
+*/
+typedef TLanguage TLanguagePath[KMaxDowngradeLanguages + 1];
+
+class RFs;
+class CBaflFileSortTable;
+
+
+class BaflUtils
+/** 
+Provides simple-to-use file system utilities.
+
+The functions listed in "Copying, renaming, and deleting files" create and 
+use a CFileMan object. They are useful for one-off calls, but for repeated 
+use it is more efficient to use CFileMan directly.
+
+Note that there is a very similiar group of functions available in EikFileUtils, 
+which may be easier to use in GUI applications, as they do not require a file 
+server session to be passed.
+
+@see CFileMan
+@see EikFileUtils 
+@publishedAll
+@released
+*/
+	{
+public:
+	IMPORT_C static void CopyWithTruncation(TDes& aDest,const TDesC& aSrc,TChar aTruncationSymbol=KBaflCharTruncation);
+	IMPORT_C static TBool FileExists(const RFs& aFs,const TDesC& aFileName);
+	IMPORT_C static void EnsurePathExistsL(RFs& aFs,const TDesC& aFileName);
+	IMPORT_C static TPtrC ExtractAppNameFromFullName(const TFullName &aName);
+	IMPORT_C static void NearestLanguageFile(const RFs& aFs,TFileName& aName);
+	IMPORT_C static void NearestLanguageFile(const RFs& aFs,TFileName& aName, TLanguage& aLanguage);
+	IMPORT_C static TInt SetIdealLanguage(TLanguage aLanguage);
+	IMPORT_C static TLanguage IdealLanguage();
+	IMPORT_C static void ReleaseIdealLanguage();
+	IMPORT_C static TInt GetSystemDrive(TDriveNumber& aDriveNumber);
+	IMPORT_C static TBool PathExists(RFs& aFs,const TDesC& aFileName);
+	IMPORT_C static TInt IsFolder(const RFs& aFs, const TDesC& aFullName, TBool& aIsFolder);
+	IMPORT_C static TBool FolderExists(RFs& aFs, const TDesC& aFolderName);
+	IMPORT_C static TFileName FolderNameFromFullName(const TDesC& aFullName);
+	IMPORT_C static TFileName DriveAndPathFromFullName(const TDesC& aFullName);
+	IMPORT_C static TFileName RootFolderPath(const TBuf<1> aDriveLetter);
+	IMPORT_C static void AbbreviateFileName(const TFileName& aOriginalFileName, TDes& aAbbreviatedFileName);
+	IMPORT_C static TBool UidTypeMatches(const TUidType& aFileUid, const TUidType& aMatchUid);
+	IMPORT_C static TInt Parse(const TDesC& aName);
+	IMPORT_C static TInt ValidateFolderNameTypedByUserL(const RFs& aFs, const TDesC& aFolderNameTypedByUser, const TDesC& aCurrentPath, TFileName& aNewFolderFullName);
+	IMPORT_C static TInt CopyFile(RFs& aFs, const TDesC& aSourceFullName, const TDesC& aTargetFullName, TUint aSwitch = CFileMan::EOverWrite);
+	IMPORT_C static TInt RenameFile(RFs& aFs, const TDesC& aOldFullName, const TDesC& aNewFullName, TUint aSwitch = CFileMan::EOverWrite);
+	IMPORT_C static TInt DeleteFile(RFs& aFs, const TDesC& aSourceFullName, TUint aSwitch = 0);
+	IMPORT_C static TInt CheckWhetherFullNameRefersToFolder(const TDesC& aFullName, TBool& aIsFolder);
+	IMPORT_C static TInt MostSignificantPartOfFullName(const TDesC& aFullName, TFileName& aMostSignificantPart);
+	IMPORT_C static TInt CheckFolder(RFs& aFs, const TDesC& aFolderName);
+	IMPORT_C static TInt DiskIsReadOnly(RFs& aFs, const TDesC& aFullName, TBool& aIsReadOnly);
+	IMPORT_C static TInt DriveIsReadOnlyInternal(RFs& aFs, const TDesC& aFullName, TBool& aIsReadOnlyInternal);
+	IMPORT_C static void GetDiskListL(const RFs& aFs,CDesCArray& aArray);
+	IMPORT_C static void UpdateDiskListL(const RFs& aFs,CDesCArray& aArray,TBool aIncludeRom,TDriveNumber aDriveNumber);
+	IMPORT_C static void RemoveSystemDirectory(CDir& aDir);
+	IMPORT_C static TBool IsFirstDriveForSocket(TDriveUnit aDriveUnit);
+	IMPORT_C static TInt SortByTable(CDir& aDir,CBaflFileSortTable* aTable);
+	IMPORT_C static void GetDowngradePathL(const RFs& aFs, const TLanguage aCurrentLanguage, RArray<TLanguage>& aLanguageArray);
+	IMPORT_C static void PersistLocale();
+	IMPORT_C static TInt PersistHAL();
+	IMPORT_C static void PersistScreenCalibration(const TDigitizerCalibration& aScreenCalibration);
+	IMPORT_C static void InitialiseScreenCalibration(RFs& aFs);
+	IMPORT_C static void InitialiseHAL(RFs& aFs);
+	IMPORT_C static void InitialiseLocale(RFs& aFs);
+private:
+	static void DoCopyFileL(RFs& aFs, const TDesC& aSourceFullName, const TDesC& aTargetFullName, TUint aSwitch);
+	static void DoRenameFileL(RFs& aFs, const TDesC& aOldFullName, const TDesC& aNewFullName, TUint aSwitch);
+	static void DoDeleteFileL(RFs& aFs, const TDesC& aSourceFullName, TUint aSwitch);
+	};
+
+
+/**
+ * Bafl File Sort Table containing an array of UIDs.
+ * @publishedAll
+ * @released
+ */	
+class CBaflFileSortTable : public CArrayFixFlat<TUid>
+ 	{
+public:
+	IMPORT_C CBaflFileSortTable();
+	IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
+private:
+	enum {EArrayGranularity=4};
+	};
+
+#endif