2
0

ObjectEntry.lua 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. class "ObjectEntry"
  2. ObjectEntry.UNKNOWN_ENTRY = - 1
  3. ObjectEntry.FLOAT_ENTRY = 0
  4. ObjectEntry.INT_ENTRY = 1
  5. ObjectEntry.BOOL_ENTRY = 2
  6. ObjectEntry.ARRAY_ENTRY = 3
  7. ObjectEntry.STRING_ENTRY = 4
  8. ObjectEntry.CONTAINER_ENTRY = 5
  9. function ObjectEntry:__getvar(name)
  10. if name == "type" then
  11. return Polycode.ObjectEntry_get_type(self.__ptr)
  12. elseif name == "name" then
  13. return Polycode.ObjectEntry_get_name(self.__ptr)
  14. elseif name == "NumberVal" then
  15. return Polycode.ObjectEntry_get_NumberVal(self.__ptr)
  16. elseif name == "intVal" then
  17. return Polycode.ObjectEntry_get_intVal(self.__ptr)
  18. elseif name == "stringVal" then
  19. return Polycode.ObjectEntry_get_stringVal(self.__ptr)
  20. elseif name == "boolVal" then
  21. return Polycode.ObjectEntry_get_boolVal(self.__ptr)
  22. elseif name == "length" then
  23. return Polycode.ObjectEntry_get_length(self.__ptr)
  24. end
  25. end
  26. function ObjectEntry:__setvar(name,value)
  27. if name == "type" then
  28. Polycode.ObjectEntry_set_type(self.__ptr, value)
  29. return true
  30. elseif name == "name" then
  31. Polycode.ObjectEntry_set_name(self.__ptr, value)
  32. return true
  33. elseif name == "NumberVal" then
  34. Polycode.ObjectEntry_set_NumberVal(self.__ptr, value)
  35. return true
  36. elseif name == "intVal" then
  37. Polycode.ObjectEntry_set_intVal(self.__ptr, value)
  38. return true
  39. elseif name == "stringVal" then
  40. Polycode.ObjectEntry_set_stringVal(self.__ptr, value)
  41. return true
  42. elseif name == "boolVal" then
  43. Polycode.ObjectEntry_set_boolVal(self.__ptr, value)
  44. return true
  45. elseif name == "length" then
  46. Polycode.ObjectEntry_set_length(self.__ptr, value)
  47. return true
  48. end
  49. return false
  50. end
  51. function ObjectEntry:ObjectEntry(...)
  52. local arg = {...}
  53. for k,v in pairs(arg) do
  54. if type(v) == "table" then
  55. if v.__ptr ~= nil then
  56. arg[k] = v.__ptr
  57. end
  58. end
  59. end
  60. if self.__ptr == nil and arg[1] ~= "__skip_ptr__" then
  61. self.__ptr = Polycode.ObjectEntry(unpack(arg))
  62. end
  63. end
  64. function ObjectEntry:getTypedName()
  65. local retVal = Polycode.ObjectEntry_getTypedName(self.__ptr)
  66. return retVal
  67. end
  68. function ObjectEntry:setTypedName(str)
  69. local retVal = Polycode.ObjectEntry_setTypedName(self.__ptr, str)
  70. end
  71. function ObjectEntry:Clear()
  72. local retVal = Polycode.ObjectEntry_Clear(self.__ptr)
  73. end
  74. function ObjectEntry:__delete()
  75. if self then Polycode.delete_ObjectEntry(self.__ptr) end
  76. end