XS.xsp 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  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. void
  41. set_var_dir(dir)
  42. char *dir;
  43. CODE:
  44. Slic3r::set_var_dir(dir);
  45. void
  46. set_local_dir(dir)
  47. char *dir;
  48. CODE:
  49. Slic3r::set_local_dir(dir);
  50. char*
  51. var_dir()
  52. CODE:
  53. RETVAL = const_cast<char*>(Slic3r::var_dir().c_str());
  54. OUTPUT: RETVAL
  55. void
  56. set_resources_dir(dir)
  57. char *dir;
  58. CODE:
  59. Slic3r::set_resources_dir(dir);
  60. char*
  61. resources_dir()
  62. CODE:
  63. RETVAL = const_cast<char*>(Slic3r::resources_dir().c_str());
  64. OUTPUT: RETVAL
  65. std::string
  66. var(file_name)
  67. const char *file_name;
  68. CODE:
  69. RETVAL = Slic3r::var(file_name);
  70. OUTPUT: RETVAL
  71. void
  72. set_data_dir(dir)
  73. char *dir;
  74. CODE:
  75. Slic3r::set_data_dir(dir);
  76. char*
  77. data_dir()
  78. CODE:
  79. RETVAL = const_cast<char*>(Slic3r::data_dir().c_str());
  80. OUTPUT: RETVAL
  81. local_encoded_string
  82. encode_path(src)
  83. const char *src;
  84. CODE:
  85. RETVAL = Slic3r::encode_path(src);
  86. OUTPUT: RETVAL
  87. std::string
  88. decode_path(src)
  89. const char *src;
  90. CODE:
  91. RETVAL = Slic3r::decode_path(src);
  92. OUTPUT: RETVAL
  93. std::string
  94. normalize_utf8_nfc(src)
  95. const char *src;
  96. CODE:
  97. RETVAL = Slic3r::normalize_utf8_nfc(src);
  98. OUTPUT: RETVAL
  99. std::string
  100. path_to_filename(src)
  101. const char *src;
  102. CODE:
  103. RETVAL = Slic3r::PerlUtils::path_to_filename(src);
  104. OUTPUT: RETVAL
  105. local_encoded_string
  106. path_to_filename_raw(src)
  107. const char *src;
  108. CODE:
  109. RETVAL = Slic3r::PerlUtils::path_to_filename(src);
  110. OUTPUT: RETVAL
  111. std::string
  112. path_to_stem(src)
  113. const char *src;
  114. CODE:
  115. RETVAL = Slic3r::PerlUtils::path_to_stem(src);
  116. OUTPUT: RETVAL
  117. std::string
  118. path_to_extension(src)
  119. const char *src;
  120. CODE:
  121. RETVAL = Slic3r::PerlUtils::path_to_extension(src);
  122. OUTPUT: RETVAL
  123. std::string
  124. path_to_parent_path(src)
  125. const char *src;
  126. CODE:
  127. RETVAL = Slic3r::PerlUtils::path_to_parent_path(src);
  128. OUTPUT: RETVAL
  129. void
  130. xspp_test_croak_hangs_on_strawberry()
  131. CODE:
  132. try {
  133. throw 1;
  134. } catch (...) {
  135. croak("xspp_test_croak_hangs_on_strawberry: exception catched\n");
  136. }
  137. %}