NamedPipe.pkg 5.5 KB

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