VAE - Virtual Audio Engine 1
Small Data Driven Audio Engine
vae::core::fs::File Class Reference

#include <vae_fs.hpp>

Collaboration diagram for vae::core::fs::File:

Public Types

enum class  Mode { Read , Write , ReadWrite }
 

Public Member Functions

 File (const char *path, Mode mode=Mode::Read)
 
bool valid () const
 
size_t size ()
 
bool readAll (char *dest)
 
 ~File ()
 

Private Types

enum class  Seek { set = SEEK_SET , cur = SEEK_CUR , end = SEEK_END }
 

Private Attributes

void * mHandle = nullptr
 
size_t mSize = 0
 

Detailed Description

Definition at line 40 of file vae_fs.hpp.

Member Enumeration Documentation

◆ Mode

enum class vae::core::fs::File::Mode
strong
Enumerator
Read 
Write 
ReadWrite 

Definition at line 51 of file vae_fs.hpp.

51 {
52 Read,
53 Write,
54 ReadWrite
55 };

◆ Seek

enum class vae::core::fs::File::Seek
strongprivate
Enumerator
set 
cur 
end 

Definition at line 43 of file vae_fs.hpp.

43 {
44 #ifdef VAE_NO_STDIO
45 set = 0, cur, end
46 #else
47 set = SEEK_SET, cur = SEEK_CUR, end = SEEK_END
48 #endif
49 };

Constructor & Destructor Documentation

◆ File()

vae::core::fs::File::File ( const char *  path,
Mode  mode = Mode::Read 
)
inline

Definition at line 57 of file vae_fs.hpp.

57 {
58 const char* MODES[3] = { "r", "w", "rw" };
59 mHandle = vae_file_open(path, MODES[(size_t) mode]);
60 if (mHandle == 0) { return; }
63 }
size_t vae_file_seek(void *file, size_t, int seek)
Seek and return current position.
Definition: vae_fs.hpp:25
void * vae_file_open(const char *path, const char *mode)
Definition: vae_fs.hpp:21
Here is the call graph for this function:

◆ ~File()

vae::core::fs::File::~File ( )
inline

Definition at line 77 of file vae_fs.hpp.

77 {
78 if (mHandle == nullptr) {return; }
80 }
size_t vae_file_close(void *file)
Definition: vae_fs.hpp:34
Here is the call graph for this function:

Member Function Documentation

◆ readAll()

bool vae::core::fs::File::readAll ( char *  dest)
inline

Definition at line 72 of file vae_fs.hpp.

72 {
73 if (mHandle == nullptr) { return false; }
74 return vae_file_read(dest, size(), 1, mHandle) == 1;
75 }
size_t vae_file_read(char *dest, size_t size, int, void *file)
Definition: vae_fs.hpp:30
Here is the call graph for this function:
Here is the caller graph for this function:

◆ size()

size_t vae::core::fs::File::size ( )
inline

Definition at line 67 of file vae_fs.hpp.

67 {
68 if (mHandle == nullptr) { return 0; }
69 return mSize;
70 }
Here is the caller graph for this function:

◆ valid()

bool vae::core::fs::File::valid ( ) const
inline

Definition at line 65 of file vae_fs.hpp.

65{ return mHandle != nullptr; }

Member Data Documentation

◆ mHandle

void* vae::core::fs::File::mHandle = nullptr
private

Definition at line 41 of file vae_fs.hpp.

◆ mSize

size_t vae::core::fs::File::mSize = 0
private

Definition at line 42 of file vae_fs.hpp.


The documentation for this class was generated from the following file: