NamedPipe.pkg 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. $#include "IO/NamedPipe.h"
  2. class NamedPipe : public Object
  3. {
  4. NamedPipe();
  5. NamedPipe(const String pipeName, bool isServer);
  6. ~NamedPipe();
  7. bool Open(const String pipeName, bool isServer);
  8. void Close();
  9. bool IsOpen() const;
  10. // From Deserializer
  11. // unsigned Read(void* dest, unsigned size);
  12. tolua_outside VectorBuffer DeserializerRead @ Read(unsigned size);
  13. const String GetName() const;
  14. bool IsEof() const;
  15. int ReadInt();
  16. short ReadShort();
  17. signed char ReadByte();
  18. unsigned ReadUInt();
  19. unsigned short ReadUShort();
  20. unsigned char ReadUByte();
  21. bool ReadBool();
  22. float ReadFloat();
  23. double ReadDouble();
  24. IntRect ReadIntRect();
  25. IntVector2 ReadIntVector2();
  26. Rect ReadRect();
  27. Vector2 ReadVector2();
  28. Vector3 ReadVector3();
  29. Vector3 ReadPackedVector3(float maxAbsCoord);
  30. Vector4 ReadVector4();
  31. Quaternion ReadQuaternion();
  32. Quaternion ReadPackedQuaternion();
  33. Matrix3 ReadMatrix3();
  34. Matrix3x4 ReadMatrix3x4();
  35. Matrix4 ReadMatrix4();
  36. Color ReadColor();
  37. BoundingBox ReadBoundingBox();
  38. String ReadString();
  39. String ReadFileID();
  40. StringHash ReadStringHash();
  41. // PODVector<unsigned char> ReadBuffer();
  42. VectorBuffer ReadBuffer();
  43. ResourceRef ReadResourceRef();
  44. ResourceRefList ReadResourceRefList();
  45. Variant ReadVariant();
  46. Variant ReadVariant(VariantType type);
  47. VariantVector ReadVariantVector();
  48. VariantMap ReadVariantMap();
  49. unsigned ReadVLE();
  50. unsigned ReadNetID();
  51. String ReadLine();
  52. // From Serializer
  53. // unsigned Write(const void* data, unsigned size);
  54. tolua_outside unsigned SerializerWrite @ Write(const VectorBuffer& buffer);
  55. bool WriteInt(int value);
  56. bool WriteShort(short value);
  57. bool WriteByte(signed char value);
  58. bool WriteUInt(unsigned value);
  59. bool WriteUShort(unsigned short value);
  60. bool WriteUByte(unsigned char value);
  61. bool WriteBool(bool value);
  62. bool WriteFloat(float value);
  63. bool WriteDouble(double value);
  64. bool WriteIntRect(const IntRect& value);
  65. bool WriteIntVector2(const IntVector2& value);
  66. bool WriteRect(const Rect& value);
  67. bool WriteVector2(const Vector2& value);
  68. bool WriteVector3(const Vector3& value);
  69. bool WritePackedVector3(const Vector3& value, float maxAbsCoord);
  70. bool WriteVector4(const Vector4& value);
  71. bool WriteQuaternion(const Quaternion& value);
  72. bool WritePackedQuaternion(const Quaternion& value);
  73. bool WriteMatrix3(const Matrix3& value);
  74. bool WriteMatrix3x4(const Matrix3x4& value);
  75. bool WriteMatrix4(const Matrix4& value);
  76. bool WriteColor(const Color& value);
  77. bool WriteBoundingBox(const BoundingBox& value);
  78. bool WriteString(const String value);
  79. bool WriteFileID(const String value);
  80. bool WriteStringHash(const StringHash& value);
  81. // bool WriteBuffer(const PODVector<unsigned char>& buffer);
  82. tolua_outside bool SerializerWriteBuffer @ WriteBuffer(const VectorBuffer& buffer);
  83. bool WriteResourceRef(const ResourceRef& value);
  84. bool WriteResourceRefList(const ResourceRefList& value);
  85. bool WriteVariant(const Variant& value);
  86. bool WriteVariantData(const Variant& value);
  87. bool WriteVariantVector(const VariantVector& value);
  88. bool WriteVariantMap(const VariantMap& value);
  89. bool WriteVLE(unsigned value);
  90. bool WriteNetID(unsigned value);
  91. bool WriteLine(const String value);
  92. // From Deserializer
  93. tolua_readonly tolua_property__get_set String name;
  94. tolua_readonly tolua_property__is_set bool eof;
  95. tolua_readonly tolua_property__is_set bool open;
  96. };
  97. ${
  98. #define TOLUA_DISABLE_tolua_IOLuaAPI_NamedPipe_new00
  99. static int tolua_IOLuaAPI_NamedPipe_new00(lua_State* tolua_S)
  100. {
  101. return ToluaNewObject<NamedPipe>(tolua_S);
  102. }
  103. #define TOLUA_DISABLE_tolua_IOLuaAPI_NamedPipe_new00_local
  104. static int tolua_IOLuaAPI_NamedPipe_new00_local(lua_State* tolua_S)
  105. {
  106. return ToluaNewObjectGC<NamedPipe>(tolua_S);
  107. }
  108. #define TOLUA_DISABLE_tolua_IOLuaAPI_NamedPipe_new01
  109. static int tolua_IOLuaAPI_NamedPipe_new01(lua_State* tolua_S)
  110. {
  111. tolua_Error tolua_err;
  112. if (
  113. !tolua_isusertable(tolua_S,1,"NamedPipe",0,&tolua_err) ||
  114. !tolua_isurho3dstring(tolua_S,2,0,&tolua_err) ||
  115. !tolua_isboolean(tolua_S,3,0,&tolua_err) ||
  116. !tolua_isnoobj(tolua_S,4,&tolua_err)
  117. )
  118. goto tolua_lerror;
  119. else
  120. {
  121. const String pipeName = ((const String) tolua_tourho3dstring(tolua_S,2,0));
  122. bool isServer = ((bool) tolua_toboolean(tolua_S,3,0));
  123. {
  124. NamedPipe* tolua_ret = (NamedPipe*) Mtolua_new((NamedPipe)(GetContext(tolua_S),pipeName,isServer));
  125. tolua_pushusertype(tolua_S,(void*)tolua_ret,"NamedPipe");
  126. }
  127. }
  128. return 1;
  129. tolua_lerror:
  130. return tolua_IOLuaAPI_NamedPipe_new00(tolua_S);
  131. }
  132. #define TOLUA_DISABLE_tolua_IOLuaAPI_NamedPipe_new01_local
  133. static int tolua_IOLuaAPI_NamedPipe_new01_local(lua_State* tolua_S)
  134. {
  135. tolua_Error tolua_err;
  136. if (
  137. !tolua_isusertable(tolua_S,1,"NamedPipe",0,&tolua_err) ||
  138. !tolua_isurho3dstring(tolua_S,2,0,&tolua_err) ||
  139. !tolua_isboolean(tolua_S,3,0,&tolua_err) ||
  140. !tolua_isnoobj(tolua_S,4,&tolua_err)
  141. )
  142. goto tolua_lerror;
  143. else
  144. {
  145. const String pipeName = ((const String) tolua_tourho3dstring(tolua_S,2,0));
  146. bool isServer = ((bool) tolua_toboolean(tolua_S,3,0));
  147. {
  148. NamedPipe* tolua_ret = (NamedPipe*) Mtolua_new((NamedPipe)(GetContext(tolua_S),pipeName,isServer));
  149. tolua_pushusertype(tolua_S,(void*)tolua_ret,"NamedPipe");
  150. tolua_register_gc(tolua_S,lua_gettop(tolua_S));
  151. }
  152. }
  153. return 1;
  154. tolua_lerror:
  155. return tolua_IOLuaAPI_NamedPipe_new00_local(tolua_S);
  156. }
  157. $}