File.pkg 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. $#include "File.h"
  2. enum FileMode
  3. {
  4. FILE_READ = 0,
  5. FILE_WRITE,
  6. FILE_READWRITE
  7. };
  8. class File : public Object
  9. {
  10. File(Context* context);
  11. File(Context* context, const String fileName, FileMode mode = FILE_READ);
  12. File(Context* context, PackageFile* package, const String fileName);
  13. ~File();
  14. bool Open(const String fileName, FileMode mode = FILE_READ);
  15. bool Open(PackageFile* package, const String fileName);
  16. void Close();
  17. void Flush();
  18. void SetName(const String name);
  19. FileMode GetMode() const;
  20. bool IsOpen() const;
  21. void* GetHandle() const;
  22. bool IsPackaged() const;
  23. // From Deserializer
  24. // unsigned Read(void* dest, unsigned size);
  25. tolua_outside VectorBuffer DeserializerRead @ Read(unsigned size);
  26. unsigned Seek(unsigned position);
  27. const String GetName() const;
  28. unsigned GetChecksum();
  29. unsigned GetPosition() const;
  30. unsigned GetSize() const;
  31. bool IsEof() const;
  32. int ReadInt();
  33. short ReadShort();
  34. signed char ReadByte();
  35. unsigned ReadUInt();
  36. unsigned short ReadUShort();
  37. unsigned char ReadUByte();
  38. bool ReadBool();
  39. float ReadFloat();
  40. IntRect ReadIntRect();
  41. IntVector2 ReadIntVector2();
  42. Rect ReadRect();
  43. Vector2 ReadVector2();
  44. Vector3 ReadVector3();
  45. Vector3 ReadPackedVector3(float maxAbsCoord);
  46. Vector4 ReadVector4();
  47. Quaternion ReadQuaternion();
  48. Quaternion ReadPackedQuaternion();
  49. Color ReadColor();
  50. BoundingBox ReadBoundingBox();
  51. String ReadString();
  52. String ReadFileID();
  53. StringHash ReadStringHash();
  54. ShortStringHash ReadShortStringHash();
  55. // PODVector<unsigned char> ReadBuffer();
  56. VectorBuffer ReadBuffer();
  57. ResourceRef ReadResourceRef();
  58. ResourceRefList ReadResourceRefList();
  59. Variant ReadVariant();
  60. Variant ReadVariant(VariantType type);
  61. VariantVector ReadVariantVector();
  62. VariantMap ReadVariantMap();
  63. unsigned ReadVLE();
  64. unsigned ReadNetID();
  65. String ReadLine();
  66. // From Serializer
  67. // unsigned Write(const void* data, unsigned size);
  68. tolua_outside unsigned SerializerWrite @ Write(const VectorBuffer& buffer);
  69. bool WriteInt(int value);
  70. bool WriteShort(short value);
  71. bool WriteByte(signed char value);
  72. bool WriteUInt(unsigned value);
  73. bool WriteUShort(unsigned short value);
  74. bool WriteUByte(unsigned char value);
  75. bool WriteBool(bool value);
  76. bool WriteFloat(float value);
  77. bool WriteIntRect(const IntRect& value);
  78. bool WriteIntVector2(const IntVector2& value);
  79. bool WriteRect(const Rect& value);
  80. bool WriteVector2(const Vector2& value);
  81. bool WriteVector3(const Vector3& value);
  82. bool WritePackedVector3(const Vector3& value, float maxAbsCoord);
  83. bool WriteVector4(const Vector4& value);
  84. bool WriteQuaternion(const Quaternion& value);
  85. bool WritePackedQuaternion(const Quaternion& value);
  86. bool WriteColor(const Color& value);
  87. bool WriteBoundingBox(const BoundingBox& value);
  88. bool WriteString(const String value);
  89. bool WriteFileID(const String value);
  90. bool WriteStringHash(const StringHash& value);
  91. bool WriteShortStringHash(const ShortStringHash& value);
  92. // bool WriteBuffer(const PODVector<unsigned char>& buffer);
  93. tolua_outside bool SerializerWriteBuffer @ WriteBuffer(const VectorBuffer& buffer);
  94. bool WriteResourceRef(const ResourceRef& value);
  95. bool WriteResourceRefList(const ResourceRefList& value);
  96. bool WriteVariant(const Variant& value);
  97. bool WriteVariantData(const Variant& value);
  98. bool WriteVariantVector(const VariantVector& value);
  99. bool WriteVariantMap(const VariantMap& value);
  100. bool WriteVLE(unsigned value);
  101. bool WriteNetID(unsigned value);
  102. bool WriteLine(const String value);
  103. tolua_readonly tolua_property__get_set FileMode mode;
  104. tolua_readonly tolua_property__is_set bool open;
  105. tolua_readonly tolua_property__is_set bool packaged;
  106. // From Deserializer
  107. tolua_readonly tolua_property__get_set String& name;
  108. tolua_readonly tolua_property__get_set unsigned checksum;
  109. tolua_readonly tolua_property__get_set unsigned position;
  110. tolua_readonly tolua_property__get_set unsigned size;
  111. tolua_readonly tolua_property__is_set bool eof;
  112. };