Refactor FileMode, FileAccess, FileShare enums into normal enums with docs
This commit is contained in:
@@ -7,7 +7,6 @@
|
||||
#include "Engine/Core/NonCopyable.h"
|
||||
#include "Engine/Core/Types/BaseTypes.h"
|
||||
#include "Engine/Core/Types/DateTime.h"
|
||||
#include "Engine/Core/Collections/Array.h"
|
||||
|
||||
class StringBuilder;
|
||||
template<typename T>
|
||||
@@ -16,17 +15,51 @@ class DataContainer;
|
||||
/// <summary>
|
||||
/// Specifies how the operating system should open a file.
|
||||
/// </summary>
|
||||
DECLARE_ENUM_FLAGS_5(FileMode, uint32, CreateAlways, 2, CreateNew, 1, OpenAlways, 4, OpenExisting, 3, TruncateExisting, 5);
|
||||
enum class FileMode : uint32
|
||||
{
|
||||
// Creates a new file, only if it does not already exist.
|
||||
CreateNew = 1,
|
||||
// Creates a new file, always.
|
||||
CreateAlways = 2,
|
||||
// Opens a file, only if it exists. Fails if file doesn't exist.
|
||||
OpenExisting = 3,
|
||||
// Opens a file, always.
|
||||
OpenAlways = 4,
|
||||
// Opens a file and truncates it so that its size is zero bytes, only if it exists. Fails if file doesn't exist.
|
||||
TruncateExisting = 5,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Defines constants for read, write, or read/write access to a file.
|
||||
/// </summary>
|
||||
DECLARE_ENUM_FLAGS_3(FileAccess, uint32, Read, 0x80000000, Write, 0x40000000, ReadWrite, (uint32)FileAccess::Read | (uint32)FileAccess::Write);
|
||||
enum class FileAccess : uint32
|
||||
{
|
||||
// Enables reading data from the file.
|
||||
Read = 0x80000000,
|
||||
// Enables writing data to the file.
|
||||
Write = 0x40000000,
|
||||
// Enables both data read and write operations on the file.
|
||||
ReadWrite = Read | Write,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Contains constants for controlling the kind of access other objects can have to the same file.
|
||||
/// </summary>
|
||||
DECLARE_ENUM_FLAGS_6(FileShare, uint32, Delete, 0x00000004, None, 0x00000000, Read, 0x00000001, Write, 0x00000002, ReadWrite, (uint32)FileShare::Read | (uint32)FileShare::Write, All, (uint32)FileShare::ReadWrite | (uint32)FileShare::Delete);
|
||||
enum class FileShare : uint32
|
||||
{
|
||||
// Prevents any operations on the file file it's opened.
|
||||
None = 0x00000000,
|
||||
// Allows read operations on a file.
|
||||
Read = 0x00000001,
|
||||
// Allows write operations on a file.
|
||||
Write = 0x00000002,
|
||||
// Allows delete operations on a file.
|
||||
Delete = 0x00000004,
|
||||
// Allows read and write operations on a file.
|
||||
ReadWrite = Read | Write,
|
||||
// Allows any operations on a file.
|
||||
All = ReadWrite | Delete,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// The base class for file objects.
|
||||
@@ -34,7 +67,6 @@ DECLARE_ENUM_FLAGS_6(FileShare, uint32, Delete, 0x00000004, None, 0x00000000, Re
|
||||
class FLAXENGINE_API FileBase : public NonCopyable
|
||||
{
|
||||
public:
|
||||
|
||||
/// <summary>
|
||||
/// Finalizes an instance of the <see cref="FileBase"/> class.
|
||||
/// </summary>
|
||||
@@ -43,7 +75,6 @@ public:
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
/// <summary>
|
||||
/// Reads data from a file.
|
||||
/// </summary>
|
||||
@@ -68,7 +99,6 @@ public:
|
||||
virtual void Close() = 0;
|
||||
|
||||
public:
|
||||
|
||||
/// <summary>
|
||||
/// Gets size of the file (in bytes).
|
||||
/// </summary>
|
||||
@@ -100,14 +130,13 @@ public:
|
||||
virtual bool IsOpened() const = 0;
|
||||
|
||||
public:
|
||||
|
||||
static bool ReadAllBytes(const StringView& path, byte* data, int32 length);
|
||||
static bool ReadAllBytes(const StringView& path, Array<byte>& data);
|
||||
static bool ReadAllBytes(const StringView& path, Array<byte, HeapAllocation>& data);
|
||||
static bool ReadAllBytes(const StringView& path, DataContainer<byte>& data);
|
||||
static bool ReadAllText(const StringView& path, String& data);
|
||||
static bool ReadAllText(const StringView& path, StringAnsi& data);
|
||||
static bool WriteAllBytes(const StringView& path, const byte* data, int32 length);
|
||||
static bool WriteAllBytes(const StringView& path, const Array<byte>& data);
|
||||
static bool WriteAllBytes(const StringView& path, const Array<byte, HeapAllocation>& data);
|
||||
static bool WriteAllText(const StringView& path, const String& data, Encoding encoding);
|
||||
static bool WriteAllText(const StringView& path, const StringBuilder& data, Encoding encoding);
|
||||
static bool WriteAllText(const StringView& path, const Char* data, int32 length, Encoding encoding);
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "Engine/Core/Types/Guid.h"
|
||||
#include "Engine/Core/Types/String.h"
|
||||
#include "Engine/Core/Types/StringView.h"
|
||||
#include "Engine/Core/Collections/Array.h"
|
||||
#include "Engine/Core/Math/Math.h"
|
||||
#include "Engine/Engine/Globals.h"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user