|
Isle
|
Implementation of LegoStorage for file-backed storage using stdio FILE*. More...
#include <legostorage.h>


Public Member Functions | |
| LegoFile () | |
| Default constructor initializes with NULL file pointer. More... | |
| ~LegoFile () override | |
| Destructor. More... | |
| LegoResult | Read (void *p_buffer, LegoU32 p_size) override |
| Reads bytes from file at current position. More... | |
| LegoResult | Write (const void *p_buffer, LegoU32 p_size) override |
| Writes bytes to file at current position. More... | |
| LegoResult | GetPosition (LegoU32 &p_position) override |
| Gets the current file pointer position relative to beginning. More... | |
| LegoResult | SetPosition (LegoU32 p_position) override |
| Sets the current file pointer position. More... | |
| LegoResult | Open (const char *p_name, LegoU32 p_mode) |
| Opens a file with given name and mode, closing existing file if needed. More... | |
Public Member Functions inherited from LegoStorage | |
| LegoStorage () | |
| Default constructor initializing mode to zero. More... | |
| virtual | ~LegoStorage () |
| Virtual destructor for safe polymorphic destruction. More... | |
| virtual LegoResult | Read (void *p_buffer, LegoU32 p_size)=0 |
| Read bytes from storage into buffer. More... | |
| virtual LegoResult | Write (const void *p_buffer, LegoU32 p_size)=0 |
| Write bytes from buffer into storage. More... | |
| virtual LegoResult | GetPosition (LegoU32 &p_position)=0 |
| Get current read/write position in stream. More... | |
| virtual LegoResult | SetPosition (LegoU32 p_position)=0 |
| Set current read/write position in stream. More... | |
| virtual LegoBool | IsWriteMode () |
| Returns TRUE if object was opened in write mode. More... | |
| virtual LegoBool | IsReadMode () |
| Returns TRUE if object was opened in read mode. More... | |
| LegoStorage * | WriteString (const char *p_data) |
| Writes a length-prefixed string to storage. More... | |
| LegoStorage * | WriteU8 (LegoU8 p_data) |
| Writes an 8-bit unsigned value to storage. More... | |
| LegoStorage * | WriteS16 (LegoS16 p_data) |
| Writes a 16-bit signed value to storage. More... | |
| LegoStorage * | WriteU16 (LegoU16 p_data) |
| Writes a 16-bit unsigned value to storage. More... | |
| LegoStorage * | WriteS32 (MxS32 p_data) |
| Writes a 32-bit signed value to storage. More... | |
| LegoStorage * | WriteU32 (MxU32 p_data) |
| Writes a 32-bit unsigned value to storage. More... | |
| LegoStorage * | WriteFloat (LegoFloat p_data) |
| Writes a floating-point (single-precision) value to storage. More... | |
| LegoStorage * | WriteVector (Mx3DPointFloat p_data) |
| Writes a 3D vector (three floats) to storage. More... | |
| LegoStorage * | WriteMxString (MxString p_data) |
| Writes a length-prefixed MxString to storage. More... | |
| LegoStorage * | ReadString (char *p_data) |
| Reads a length-prefixed string from storage. More... | |
| LegoStorage * | ReadU8 (LegoU8 &p_data) |
| Reads an 8-bit unsigned value from storage. More... | |
| LegoStorage * | ReadS16 (LegoS16 &p_data) |
| Reads a 16-bit signed value from storage. More... | |
| LegoStorage * | ReadU16 (LegoU16 &p_data) |
| Reads a 16-bit unsigned value from storage. More... | |
| LegoStorage * | ReadS32 (MxS32 &p_data) |
| Reads a 32-bit signed value from storage. More... | |
| LegoStorage * | ReadU32 (MxU32 &p_data) |
| Reads a 32-bit unsigned value from storage. More... | |
| LegoStorage * | ReadFloat (LegoFloat &p_data) |
| Reads a floating-point (single-precision) value from storage. More... | |
| LegoStorage * | ReadVector (Mx3DPointFloat &p_data) |
| Reads a 3D vector (three floats) from storage. More... | |
| LegoStorage * | ReadMxString (MxString &p_data) |
| Reads a length-prefixed string and stores it in an MxString object. More... | |
Protected Attributes | |
| FILE * | m_file |
| C runtime file pointer backing storage. More... | |
Protected Attributes inherited from LegoStorage | |
| LegoU8 | m_mode |
| File open/access mode. More... | |
Additional Inherited Members | |
Public Types inherited from LegoStorage | |
| enum | OpenFlags { c_read = 1 , c_write = 2 , c_text = 4 } |
| File open mode flags for storage operations. More... | |
Implementation of LegoStorage for file-backed storage using stdio FILE*.
[AI]
Provides read/write operations using C file I/O, tracks current file pointer position. [AI]
Definition at line 387 of file legostorage.h.
| LegoFile::LegoFile | ( | ) |
Default constructor initializes with NULL file pointer.
[AI]
Definition at line 36 of file legostorage.cpp.
|
override |
|
overridevirtual |
Gets the current file pointer position relative to beginning.
[AI]
| p_position | Reference to store file position [AI] |
Implements LegoStorage.
Definition at line 74 of file legostorage.cpp.
| LegoResult LegoFile::Open | ( | const char * | p_name, |
| LegoU32 | p_mode | ||
| ) |
Opens a file with given name and mode, closing existing file if needed.
[AI]
| p_name | Path to file [AI] |
| p_mode | Bitwise OR of OpenFlags bits indicating mode [AI] |
See OpenFlags for allowed modes: c_read, c_write, c_text. [AI]
Definition at line 100 of file legostorage.cpp.
|
overridevirtual |
Reads bytes from file at current position.
[AI]
| p_buffer | Output buffer to receive bytes [AI] |
| p_size | Number of bytes to read [AI] |
Implements LegoStorage.
Definition at line 50 of file legostorage.cpp.
|
overridevirtual |
Sets the current file pointer position.
[AI]
| p_position | New absolute file pointer position [AI] |
Implements LegoStorage.
Definition at line 88 of file legostorage.cpp.
|
overridevirtual |
Writes bytes to file at current position.
[AI]
| p_buffer | Input buffer containing bytes to write [AI] |
| p_size | Number of bytes to write [AI] |
Implements LegoStorage.
Definition at line 62 of file legostorage.cpp.
|
protected |