RakNetCSharpTemplateDefines.i 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. //---------------------------------Template Defines-------------------------
  2. //Swig needs to manually define templates you wish to use, this is done here.
  3. %template(Serialize) RakNet::BitStream::Serialize <bool>;
  4. %template(Serialize) RakNet::BitStream::Serialize <unsigned char>;
  5. %template(Serialize) RakNet::BitStream::Serialize <short>;
  6. %template(Serialize) RakNet::BitStream::Serialize <unsigned short>;
  7. %template(Serialize) RakNet::BitStream::Serialize <long>;
  8. %template(Serialize) RakNet::BitStream::Serialize <long long>;
  9. %template(Serialize) RakNet::BitStream::Serialize <float>;
  10. %template(Serialize) RakNet::BitStream::Serialize <RakNet::RakString>;
  11. %template(Serialize) RakNet::BitStream::Serialize <RakNetGUID>;
  12. %template(Serialize) RakNet::BitStream::Serialize <uint24_t>;
  13. %template(SerializeDelta) RakNet::BitStream::SerializeDelta <bool>;
  14. %template(SerializeDelta) RakNet::BitStream::SerializeDelta <unsigned char>;
  15. %template(SerializeDelta) RakNet::BitStream::SerializeDelta <short>;
  16. %template(SerializeDelta) RakNet::BitStream::SerializeDelta <unsigned short>;
  17. %template(SerializeDelta) RakNet::BitStream::SerializeDelta <long>;
  18. %template(SerializeDelta) RakNet::BitStream::SerializeDelta <long long>;
  19. %template(SerializeDelta) RakNet::BitStream::SerializeDelta <float>;
  20. %template(SerializeDelta) RakNet::BitStream::SerializeDelta <RakNet::RakString>;
  21. %template(SerializeDelta) RakNet::BitStream::SerializeDelta <RakNetGUID>;
  22. %template(SerializeDelta) RakNet::BitStream::SerializeDelta <uint24_t>;
  23. %template(SerializeCompressed) RakNet::BitStream::SerializeCompressed <bool>;
  24. %template(SerializeCompressed) RakNet::BitStream::SerializeCompressed <unsigned char>;
  25. %template(SerializeCompressed) RakNet::BitStream::SerializeCompressed <short>;
  26. %template(SerializeCompressed) RakNet::BitStream::SerializeCompressed <unsigned short>;
  27. %template(SerializeCompressed) RakNet::BitStream::SerializeCompressed <long>;
  28. %template(SerializeCompressed) RakNet::BitStream::SerializeCompressed <long long>;
  29. %template(SerializeCompressed) RakNet::BitStream::SerializeCompressed <float>;
  30. %template(SerializeCompressed) RakNet::BitStream::SerializeCompressed <RakNet::RakString>;
  31. %template(SerializeCompressed) RakNet::BitStream::SerializeCompressed <RakNetGUID>;
  32. %template(SerializeCompressed) RakNet::BitStream::SerializeCompressed <uint24_t>;
  33. %template(SerializeCompressedDelta) RakNet::BitStream::SerializeCompressedDelta <bool>;
  34. %template(SerializeCompressedDelta) RakNet::BitStream::SerializeCompressedDelta <unsigned char>;
  35. %template(SerializeCompressedDelta) RakNet::BitStream::SerializeCompressedDelta <short>;
  36. %template(SerializeCompressedDelta) RakNet::BitStream::SerializeCompressedDelta <unsigned short>;
  37. %template(SerializeCompressedDelta) RakNet::BitStream::SerializeCompressedDelta <long>;
  38. %template(SerializeCompressedDelta) RakNet::BitStream::SerializeCompressedDelta <long long>;
  39. %template(SerializeCompressedDelta) RakNet::BitStream::SerializeCompressedDelta <float>;
  40. %template(SerializeCompressedDelta) RakNet::BitStream::SerializeCompressedDelta <RakNet::RakString>;
  41. %template(SerializeCompressedDelta) RakNet::BitStream::SerializeCompressedDelta <RakNetGUID>;
  42. %template(SerializeCompressedDelta) RakNet::BitStream::SerializeCompressedDelta <uint24_t>;
  43. %template(Write) RakNet::BitStream::Write <const char *>;
  44. %template(Write) RakNet::BitStream::Write <bool>;
  45. %template(Write) RakNet::BitStream::Write <unsigned char>;
  46. %template(Write) RakNet::BitStream::Write <char>;
  47. %template(Write) RakNet::BitStream::Write <short>;
  48. %template(Write) RakNet::BitStream::Write <unsigned short>;
  49. %template(Write) RakNet::BitStream::Write <long>;
  50. %template(Write) RakNet::BitStream::Write <long long>;
  51. %template(Write) RakNet::BitStream::Write <float>;
  52. %template(Write) RakNet::BitStream::Write <RakNet::RakString>;
  53. %template(Write) RakNet::BitStream::Write <RakNetGUID>;
  54. %template(Write) RakNet::BitStream::Write <uint24_t>;
  55. %template(WriteDelta) RakNet::BitStream::WriteDelta <const char *>;
  56. %template(WriteDelta) RakNet::BitStream::WriteDelta <bool>;
  57. %template(WriteDelta) RakNet::BitStream::WriteDelta <unsigned char>;
  58. %template(WriteDelta) RakNet::BitStream::WriteDelta <char>;
  59. %template(WriteDelta) RakNet::BitStream::WriteDelta <short>;
  60. %template(WriteDelta) RakNet::BitStream::WriteDelta <unsigned short>;
  61. %template(WriteDelta) RakNet::BitStream::WriteDelta <long>;
  62. %template(WriteDelta) RakNet::BitStream::WriteDelta <long long>;
  63. %template(WriteDelta) RakNet::BitStream::WriteDelta <float>;
  64. %template(WriteDelta) RakNet::BitStream::WriteDelta <RakNet::RakString>;
  65. %template(WriteDelta) RakNet::BitStream::WriteDelta <RakNetGUID>;
  66. %template(WriteDelta) RakNet::BitStream::WriteDelta <uint24_t>;
  67. %template(WriteCompressed) RakNet::BitStream::WriteCompressed <const char*>;
  68. %template(WriteCompressed) RakNet::BitStream::WriteCompressed <bool>;
  69. %template(WriteCompressed) RakNet::BitStream::WriteCompressed <unsigned char>;
  70. %template(WriteCompressed) RakNet::BitStream::WriteCompressed <char>;
  71. %template(WriteCompressed) RakNet::BitStream::WriteCompressed <short>;
  72. %template(WriteCompressed) RakNet::BitStream::WriteCompressed <unsigned short>;
  73. %template(WriteCompressed) RakNet::BitStream::WriteCompressed <long>;
  74. %template(WriteCompressed) RakNet::BitStream::WriteCompressed <long long>;
  75. %template(WriteCompressed) RakNet::BitStream::WriteCompressed <float>;
  76. %template(WriteCompressed) RakNet::BitStream::WriteCompressed <RakNet::RakString>;
  77. %template(WriteCompressed) RakNet::BitStream::WriteCompressed <RakNetGUID>;
  78. %template(WriteCompressed) RakNet::BitStream::WriteCompressed <uint24_t>;
  79. %template(WriteCompressedDelta) RakNet::BitStream::WriteCompressedDelta <const char *>;
  80. %template(WriteCompressedDelta) RakNet::BitStream::WriteCompressedDelta <bool>;
  81. %template(WriteCompressedDelta) RakNet::BitStream::WriteCompressedDelta <unsigned char>;
  82. %template(WriteCompressedDelta) RakNet::BitStream::WriteCompressedDelta <char>;
  83. %template(WriteCompressedDelta) RakNet::BitStream::WriteCompressedDelta <short>;
  84. %template(WriteCompressedDelta) RakNet::BitStream::WriteCompressedDelta <unsigned short>;
  85. %template(WriteCompressedDelta) RakNet::BitStream::WriteCompressedDelta <long>;
  86. %template(WriteCompressedDelta) RakNet::BitStream::WriteCompressedDelta <long long>;
  87. %template(WriteCompressedDelta) RakNet::BitStream::WriteCompressedDelta <float>;
  88. %template(WriteCompressedDelta) RakNet::BitStream::WriteCompressedDelta <RakNet::RakString>;
  89. %template(WriteCompressedDelta) RakNet::BitStream::WriteCompressedDelta <RakNetGUID>;
  90. %template(WriteCompressedDelta) RakNet::BitStream::WriteCompressedDelta <uint24_t>;
  91. %template(Read) RakNet::BitStream::Read <bool>;
  92. %template(Read) RakNet::BitStream::Read <unsigned char>;
  93. %template(Read) RakNet::BitStream::Read <short>;
  94. %template(Read) RakNet::BitStream::Read <unsigned short>;
  95. %template(Read) RakNet::BitStream::Read <long>;
  96. %template(Read) RakNet::BitStream::Read <long long>;
  97. %template(Read) RakNet::BitStream::Read <float>;
  98. %template(Read) RakNet::BitStream::Read <RakNet::RakString>;
  99. %template(Read) RakNet::BitStream::Read <RakNetGUID>;
  100. %template(Read) RakNet::BitStream::Read <uint24_t>;
  101. %template(ReadDelta) RakNet::BitStream::ReadDelta <bool>;
  102. %template(ReadDelta) RakNet::BitStream::ReadDelta <unsigned char>;
  103. %template(ReadDelta) RakNet::BitStream::ReadDelta <short>;
  104. %template(ReadDelta) RakNet::BitStream::ReadDelta <unsigned short>;
  105. %template(ReadDelta) RakNet::BitStream::ReadDelta <long>;
  106. %template(ReadDelta) RakNet::BitStream::ReadDelta <long long>;
  107. %template(ReadDelta) RakNet::BitStream::ReadDelta <float>;
  108. %template(ReadDelta) RakNet::BitStream::ReadDelta <RakNet::RakString>;
  109. %template(ReadDelta) RakNet::BitStream::ReadDelta <RakNetGUID>;
  110. %template(ReadDelta) RakNet::BitStream::ReadDelta <uint24_t>;
  111. %template(ReadCompressed) RakNet::BitStream::ReadCompressed <bool>;
  112. %template(ReadCompressed) RakNet::BitStream::ReadCompressed <unsigned char>;
  113. %template(ReadCompressed) RakNet::BitStream::ReadCompressed <short>;
  114. %template(ReadCompressed) RakNet::BitStream::ReadCompressed <unsigned short>;
  115. %template(ReadCompressed) RakNet::BitStream::ReadCompressed <long>;
  116. %template(ReadCompressed) RakNet::BitStream::ReadCompressed <long long>;
  117. %template(ReadCompressed) RakNet::BitStream::ReadCompressed <float>;
  118. %template(ReadCompressed) RakNet::BitStream::ReadCompressed <RakNet::RakString>;
  119. %template(ReadCompressed) RakNet::BitStream::ReadCompressed <RakNetGUID>;
  120. %template(ReadCompressed) RakNet::BitStream::ReadCompressed <uint24_t>;
  121. %template(ReadCompressedDelta) RakNet::BitStream::ReadCompressedDelta <bool>;
  122. %template(ReadCompressedDelta) RakNet::BitStream::ReadCompressedDelta <unsigned char>;
  123. %template(ReadCompressedDelta) RakNet::BitStream::ReadCompressedDelta <short>;
  124. %template(ReadCompressedDelta) RakNet::BitStream::ReadCompressedDelta <unsigned short>;
  125. %template(ReadCompressedDelta) RakNet::BitStream::ReadCompressedDelta <long>;
  126. %template(ReadCompressedDelta) RakNet::BitStream::ReadCompressedDelta <long long>;
  127. %template(ReadCompressedDelta) RakNet::BitStream::ReadCompressedDelta <float>;
  128. %template(ReadCompressedDelta) RakNet::BitStream::ReadCompressedDelta <RakNet::RakString>;
  129. %template(ReadCompressedDelta) RakNet::BitStream::ReadCompressedDelta <RakNetGUID>;
  130. %template(ReadCompressedDelta) RakNet::BitStream::ReadCompressedDelta <uint24_t>;
  131. %define ADD_LIST_TYPE(CTYPE,CSTYPE,RENAME_TYPE)
  132. %typemap(cscode) DataStructures::List<CTYPE>
  133. %{
  134. public CSTYPE this[int index]
  135. {
  136. get
  137. {
  138. return Get((uint)index); // use indexto retrieve and return another value.
  139. }
  140. set
  141. {
  142. Replace(value, value, (uint)index, "Not used", 0);// use index and value to set the value somewhere.
  143. }
  144. }
  145. %}
  146. %template(RENAME_TYPE) DataStructures::List <CTYPE>;
  147. %enddef
  148. ADD_LIST_TYPE(RakNet::RakNetGUID,RakNetGUID,RakNetListRakNetGUID)
  149. ADD_LIST_TYPE(RakNet::SystemAddress,SystemAddress,RakNetListSystemAddress)
  150. ADD_LIST_TYPE(RakNet::RakString,RakString,RakNetListRakString)
  151. ADD_LIST_TYPE(Cell,Cell,RakNetListCell)
  152. ADD_LIST_TYPE(ColumnDescriptor,ColumnDescriptor,RakNetListColumnDescriptor)
  153. ADD_LIST_TYPE(Row,Row,RakNetListTableRow);
  154. ADD_LIST_TYPE(RakNet::FileListNode,FileListNode,RakNetListFileListNode);
  155. ADD_LIST_TYPE(FilterQuery,FilterQuery,RakNetListFilterQuery);
  156. ADD_LIST_TYPE(SortQuery,SortQuery,RakNetListSortQuery);
  157. // 1/1/2011 Commented out below line: Doesn't build into RakNet_wrap.cxx properly
  158. // %template(RakNetSmartPtrRakNetSocket) RakNetSmartPtr<RakNetSocket>;
  159. //Can't use the macro because it won't include the space then nested templates won't work
  160. /*
  161. %typemap(cscode) DataStructures::List<RakNetSmartPtr<RakNetSocket> >
  162. %{
  163. public RakNetSmartPtrRakNetSocket this[int index]
  164. {
  165. get
  166. {
  167. return Get((uint)index); // use indexto retrieve and return another value.
  168. }
  169. set
  170. {
  171. Replace(value, value, (uint)index, "Not used", 0);// use index and value to set the value somewhere.
  172. }
  173. }
  174. %}
  175. %template(RakNetListRakNetSmartPtrRakNetSocket) DataStructures::List <RakNetSmartPtr<RakNetSocket> >;
  176. */
  177. %define ADD_POINTER_LIST_TYPE(CTYPE,CSTYPE,RENAME_TYPE)
  178. %ignore DataStructures::List<CTYPE>::Get;
  179. %ignore DataStructures::List<CTYPE>::Pop;
  180. %typemap(cscode) DataStructures::List<CTYPE>
  181. %{
  182. public CSTYPE this[int index]
  183. {
  184. get
  185. {
  186. return Get((uint)index); // use indexto retrieve and return another value.
  187. }
  188. set
  189. {
  190. Replace(value, value, (uint)index, "Not used", 0);// use index and value to set the value somewhere.
  191. }
  192. }
  193. public CSTYPE Get(uint position)
  194. {
  195. return GetHelper(position);
  196. }
  197. public CSTYPE Pop()
  198. {
  199. return PopHelper();
  200. }
  201. %}
  202. %extend DataStructures::List<CTYPE>
  203. {
  204. CTYPE GetHelper ( const unsigned int position ) const
  205. {
  206. return self->Get(position);
  207. }
  208. CTYPE PopHelper ()
  209. {
  210. return self->Pop();
  211. }
  212. }
  213. %template(RENAME_TYPE) DataStructures::List <CTYPE>;
  214. %enddef
  215. ADD_POINTER_LIST_TYPE(Cell *,Cell,RakNetListCellPointer)
  216. #ifdef SWIG_ADDITIONAL_AUTOPATCHER
  217. ADD_POINTER_LIST_TYPE(AutopatcherRepositoryInterface *,AutopatcherRepositoryInterface,RakNetListAutopatcherRepositoryInterfacePointer)
  218. #endif
  219. %define ADD_PRIMITIVE_LIST_TYPE(CTYPE,CSTYPE,RENAME_TYPE,SWIG_TYPE,POINTER_NAME)
  220. %pointer_class(CTYPE, POINTER_NAME)
  221. %csmethodmodifiers DataStructures::List <CTYPE>::Get "private"
  222. %csmethodmodifiers DataStructures::List <CTYPE>::Pop "private"
  223. %rename(GetHelper) DataStructures::List <CTYPE>::Get;
  224. %rename(PopHelper) DataStructures::List <CTYPE>::Pop;
  225. %typemap(cscode) DataStructures::List <CTYPE>
  226. %{
  227. public CSTYPE Get(uint position) {
  228. SWIG_TYPE ret = GetHelper(position);
  229. return POINTER_NAME.frompointer(ret).value();
  230. }
  231. public CSTYPE Pop() {
  232. SWIG_TYPE ret = PopHelper();
  233. return POINTER_NAME.frompointer(ret).value();
  234. }
  235. public CSTYPE this[int index]
  236. {
  237. get
  238. {
  239. return Get((uint)index); // use indexto retrieve and return another value.
  240. }
  241. set
  242. {
  243. Replace(value, value, (uint)index, "Not used", 0);// use index and value to set the value somewhere.
  244. }
  245. }
  246. %}
  247. %template(RENAME_TYPE) DataStructures::List <CTYPE>;
  248. %enddef
  249. ADD_PRIMITIVE_LIST_TYPE(unsigned short,ushort,RakNetListUnsignedShort,SWIGTYPE_p_unsigned_short,UnsignedShortPointer)
  250. ADD_PRIMITIVE_LIST_TYPE(unsigned,uint,RakNetListUnsignedInt,SWIGTYPE_p_unsigned_int,UnsignedIntPointer)
  251. %template(RakNetPageRow) DataStructures::Page<unsigned, DataStructures::Table::Row*, _TABLE_BPLUS_TREE_ORDER>;
  252. //needed here for scoping issues
  253. %ignore DataStructures::BPlusTree<unsigned, DataStructures::Table::Row*, _TABLE_BPLUS_TREE_ORDER>::Delete;
  254. %ignore DataStructures::BPlusTree<unsigned, DataStructures::Table::Row*, _TABLE_BPLUS_TREE_ORDER>::Get;
  255. %csmethodmodifiers DataStructures::BPlusTree<unsigned, DataStructures::Table::Row*, _TABLE_BPLUS_TREE_ORDER>::DeleteHelper "private";
  256. %csmethodmodifiers DataStructures::BPlusTree<unsigned, DataStructures::Table::Row*, _TABLE_BPLUS_TREE_ORDER>::GetHelper "private";
  257. %template(RakNetBPlusTreeRow) DataStructures::BPlusTree<unsigned, DataStructures::Table::Row*, _TABLE_BPLUS_TREE_ORDER>;
  258. %typemap(cscode) DataStructures::BPlusTree<unsigned, DataStructures::Table::Row*, _TABLE_BPLUS_TREE_ORDER>
  259. %{
  260. public bool Get(uint key, ref Row arg1)
  261. {
  262. bool outBool;
  263. arg1=GetHelper(key,arg1,out outBool);
  264. return outBool;
  265. }
  266. public bool Delete(uint key)
  267. {
  268. return DeleteHelper(key);
  269. }
  270. public bool Delete(uint key, ref Row arg1)
  271. {
  272. bool outBool;
  273. arg1=DeleteHelper(key,arg1,out outBool);
  274. return outBool;
  275. }
  276. %}
  277. %define ADD_STANDARD_MULTILIST_TYPE(CTYPE,CSTYPE,RENAME_TYPE)
  278. %typemap(cscode) DataStructures::Multilist <ML_STACK,CTYPE,CTYPE,DefaultIndexType>
  279. %{
  280. public CSTYPE this[int index]
  281. {
  282. get
  283. {
  284. return OpArray((uint)index); // use indexto retrieve and return another value.
  285. }
  286. set
  287. {
  288. RemoveAtIndex((uint)index);
  289. InsertAtIndex(value,(uint)index);
  290. }
  291. }
  292. %}
  293. %template(RENAME_TYPE) DataStructures::Multilist <ML_STACK,CTYPE,CTYPE,DefaultIndexType>;
  294. %enddef
  295. #ifdef SWIG_ADDITIONAL_SQL_LITE
  296. ADD_STANDARD_MULTILIST_TYPE(SQLite3Row*,SQLite3Row,RakNetMultiListML_StackSQLite3RowP)
  297. ADD_STANDARD_MULTILIST_TYPE(RakNet::RakString,RakString,RakNetMultiListML_StackRakString)
  298. ADD_STANDARD_MULTILIST_TYPE(RakNet::SQLite3PluginResultInterface *,SQLite3PluginResultInterface,RakNetMultiListML_StackSQLite3PluginResultInterfaceP)
  299. #endif
粤ICP备19079148号