$#include "File.h" enum FileMode { FILE_READ = 0, FILE_WRITE, FILE_READWRITE }; class File : public Object { File(Context* context); File(Context* context, const String fileName, FileMode mode = FILE_READ); File(Context* context, PackageFile* package, const String fileName); ~File(); bool Open(const String fileName, FileMode mode = FILE_READ); bool Open(PackageFile* package, const String fileName); void Close(); void Flush(); void SetName(const String name); FileMode GetMode() const; bool IsOpen() const; void* GetHandle() const; bool IsPackaged() const; // From Deserializer // unsigned Read(void* dest, unsigned size); tolua_outside VectorBuffer DeserializerRead @ Read(unsigned size); unsigned Seek(unsigned position); const String GetName() const; unsigned GetChecksum(); unsigned GetPosition() const; unsigned GetSize() const; bool IsEof() const; int ReadInt(); short ReadShort(); signed char ReadByte(); unsigned ReadUInt(); unsigned short ReadUShort(); unsigned char ReadUByte(); bool ReadBool(); float ReadFloat(); IntRect ReadIntRect(); IntVector2 ReadIntVector2(); Rect ReadRect(); Vector2 ReadVector2(); Vector3 ReadVector3(); Vector3 ReadPackedVector3(float maxAbsCoord); Vector4 ReadVector4(); Quaternion ReadQuaternion(); Quaternion ReadPackedQuaternion(); Color ReadColor(); BoundingBox ReadBoundingBox(); String ReadString(); String ReadFileID(); StringHash ReadStringHash(); ShortStringHash ReadShortStringHash(); // PODVector ReadBuffer(); VectorBuffer ReadBuffer(); ResourceRef ReadResourceRef(); ResourceRefList ReadResourceRefList(); Variant ReadVariant(); Variant ReadVariant(VariantType type); VariantVector ReadVariantVector(); VariantMap ReadVariantMap(); unsigned ReadVLE(); unsigned ReadNetID(); String ReadLine(); // From Serializer // unsigned Write(const void* data, unsigned size); tolua_outside unsigned SerializerWrite @ Write(const VectorBuffer& buffer); bool WriteInt(int value); bool WriteShort(short value); bool WriteByte(signed char value); bool WriteUInt(unsigned value); bool WriteUShort(unsigned short value); bool WriteUByte(unsigned char value); bool WriteBool(bool value); bool WriteFloat(float value); bool WriteIntRect(const IntRect& value); bool WriteIntVector2(const IntVector2& value); bool WriteRect(const Rect& value); bool WriteVector2(const Vector2& value); bool WriteVector3(const Vector3& value); bool WritePackedVector3(const Vector3& value, float maxAbsCoord); bool WriteVector4(const Vector4& value); bool WriteQuaternion(const Quaternion& value); bool WritePackedQuaternion(const Quaternion& value); bool WriteColor(const Color& value); bool WriteBoundingBox(const BoundingBox& value); bool WriteString(const String value); bool WriteFileID(const String value); bool WriteStringHash(const StringHash& value); bool WriteShortStringHash(const ShortStringHash& value); // bool WriteBuffer(const PODVector& buffer); tolua_outside bool SerializerWriteBuffer @ WriteBuffer(const VectorBuffer& buffer); bool WriteResourceRef(const ResourceRef& value); bool WriteResourceRefList(const ResourceRefList& value); bool WriteVariant(const Variant& value); bool WriteVariantData(const Variant& value); bool WriteVariantVector(const VariantVector& value); bool WriteVariantMap(const VariantMap& value); bool WriteVLE(unsigned value); bool WriteNetID(unsigned value); bool WriteLine(const String value); tolua_readonly tolua_property__get_set FileMode mode; tolua_readonly tolua_property__is_set bool open; tolua_readonly tolua_property__is_set bool packaged; // From Deserializer tolua_readonly tolua_property__get_set String& name; tolua_readonly tolua_property__get_set unsigned checksum; tolua_readonly tolua_property__get_set unsigned position; tolua_readonly tolua_property__get_set unsigned size; tolua_readonly tolua_property__is_set bool eof; };