mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 14:53:52 +00:00
Lots of stuff
This commit is contained in:
31
PortabilityLayer/IOStream.h
Normal file
31
PortabilityLayer/IOStream.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#pragma once
|
||||
|
||||
#ifndef __PL_IOTREAM_H__
|
||||
#define __PL_IOTREAM_H__
|
||||
|
||||
#include "DataTypes.h"
|
||||
|
||||
namespace PortabilityLayer
|
||||
{
|
||||
typedef int64_t FilePos_t;
|
||||
typedef uint64_t UFilePos_t;
|
||||
|
||||
class IOStream
|
||||
{
|
||||
public:
|
||||
virtual size_t Read(void *bytesOut, size_t size) = 0;
|
||||
virtual size_t Write(const void *bytes, size_t size) = 0;
|
||||
virtual bool IsSeekable() const = 0;
|
||||
virtual bool IsReadOnly() const = 0;
|
||||
virtual bool IsWriteOnly() const = 0;
|
||||
virtual bool SeekStart(UFilePos_t loc) = 0;
|
||||
virtual bool SeekCurrent(FilePos_t loc) = 0;
|
||||
virtual bool SeekEnd(UFilePos_t loc) = 0;
|
||||
virtual bool Truncate(UFilePos_t loc) = 0;
|
||||
virtual UFilePos_t Size() const = 0;
|
||||
virtual UFilePos_t Tell() const = 0;
|
||||
virtual void Close() = 0;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user