XS.xsp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. %module{Slic3r::XS};
  2. %package{Slic3r::XS};
  3. #include <xsinit.h>
  4. #include "Utils.hpp"
  5. %{
  6. %}
  7. %package{Slic3r};
  8. %{
  9. SV*
  10. VERSION()
  11. CODE:
  12. RETVAL = newSVpv(SLIC3R_VERSION, 0);
  13. OUTPUT: RETVAL
  14. SV*
  15. BUILD()
  16. CODE:
  17. RETVAL = newSVpv(SLIC3R_BUILD, 0);
  18. OUTPUT: RETVAL
  19. SV*
  20. DEBUG_OUT_PATH_PREFIX()
  21. CODE:
  22. RETVAL = newSVpv(SLIC3R_DEBUG_OUT_PATH_PREFIX, 0);
  23. OUTPUT: RETVAL
  24. SV*
  25. FORK_NAME()
  26. CODE:
  27. RETVAL = newSVpv(SLIC3R_FORK_NAME, 0);
  28. OUTPUT: RETVAL
  29. void
  30. set_logging_level(level)
  31. unsigned int level;
  32. CODE:
  33. Slic3r::set_logging_level(level);
  34. void
  35. trace(level, message)
  36. unsigned int level;
  37. char *message;
  38. CODE:
  39. Slic3r::trace(level, message);
  40. std::string
  41. encode_path(src)
  42. const char *src;
  43. CODE:
  44. RETVAL = Slic3r::encode_path(src);
  45. OUTPUT: RETVAL
  46. std::string
  47. decode_path(src)
  48. const char *src;
  49. CODE:
  50. RETVAL = Slic3r::decode_path(src);
  51. OUTPUT: RETVAL
  52. std::string
  53. normalize_utf8_nfc(src)
  54. const char *src;
  55. CODE:
  56. RETVAL = Slic3r::normalize_utf8_nfc(src);
  57. OUTPUT: RETVAL
  58. void
  59. xspp_test_croak_hangs_on_strawberry()
  60. CODE:
  61. try {
  62. throw 1;
  63. } catch (...) {
  64. croak("xspp_test_croak_hangs_on_strawberry: exception catched\n");
  65. }
  66. %}