Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.1 KiB

  1. /* -----------------------------------------------------------------------------
  2. * See the LICENSE file for information on copyright, usage and redistribution
  3. * of SWIG, and the README file for authors - http://www.swig.org/release.html.
  4. *
  5. * pikerun.swg
  6. *
  7. * This file contains the runtime support for Pike modules
  8. * and includes code for managing global variables and pointer
  9. * type checking.
  10. * ----------------------------------------------------------------------------- */
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. #include "object.h"
  15. #include "program.h"
  16. #ifdef __cplusplus
  17. }
  18. #endif
  19. /* Stores information about a wrapped object */
  20. typedef struct swig_object_wrapper {
  21. void *self;
  22. swig_type_info *type;
  23. } swig_object_wrapper;
  24. #ifdef THIS
  25. #undef THIS
  26. #endif
  27. #define THIS (((swig_object_wrapper *) Pike_fp->current_storage)->self)
  28. #define SWIG_ConvertPtr SWIG_Pike_ConvertPtr
  29. #define SWIG_NewPointerObj SWIG_Pike_NewPointerObj
  30. #define SWIG_GetModule(clientdata) SWIG_Pike_GetModule()
  31. #define SWIG_SetModule(clientdata, pointer) SWIG_Pike_SetModule(pointer)
  32. /* These need to be filled in before type sharing between modules will work */
  33. static swig_module_info *SWIG_Pike_GetModule() {
  34. return 0;
  35. }
  36. static void SWIG_Pike_SetModule(swig_module_info *pointer) {
  37. }
  38. /* Convert a pointer value */
  39. static int
  40. SWIG_Pike_ConvertPtr(struct object *obj, void **ptr, swig_type_info *ty, int flags) {
  41. struct program *pr;
  42. swig_cast_info *tc;
  43. swig_object_wrapper *obj_wrapper;
  44. if (ty) {
  45. pr = (struct program *) ty->clientdata;
  46. obj_wrapper = (swig_object_wrapper *) get_storage(obj, pr);
  47. if (obj_wrapper && obj_wrapper->type) {
  48. tc = SWIG_TypeCheckStruct(obj_wrapper->type, ty);
  49. if (tc) {
  50. int newmemory = 0;
  51. *ptr = SWIG_TypeCast(tc, obj_wrapper->self, &newmemory);
  52. assert(!newmemory); /* newmemory handling not yet implemented */
  53. return 0;
  54. }
  55. }
  56. }
  57. return -1;
  58. }
  59. /* Create a new pointer object */
  60. static struct object *
  61. SWIG_Pike_NewPointerObj(void *ptr, swig_type_info *type, int own) {
  62. return 0;
  63. }