NSData.odin 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package objc_Foundation
  2. @(objc_class="NSData")
  3. Data :: struct {using _: Copying(Data)}
  4. @(objc_type=Data, objc_name="alloc", objc_is_class_method=true)
  5. Data_alloc :: proc "c" () -> ^Data {
  6. return msgSend(^Data, Data, "alloc")
  7. }
  8. @(objc_type=Data, objc_name="init")
  9. Data_init :: proc "c" (self: ^Data) -> ^Data {
  10. return msgSend(^Data, self, "init")
  11. }
  12. @(objc_type=Data, objc_name="initWithBytes")
  13. Data_initWithBytes :: proc "c" (self: ^Data, bytes: []byte) -> ^Data {
  14. return msgSend(^Data, self, "initWithBytes:length:", raw_data(bytes), len(bytes))
  15. }
  16. @(objc_type=Data, objc_name="initWithBytesNoCopy")
  17. Data_initWithBytesNoCopy :: proc "c" (self: ^Data, bytes: []byte, freeWhenDone: BOOL) -> ^Data {
  18. return msgSend(
  19. ^Data,
  20. self,
  21. "initWithBytesNoCopy:length:freeWhenDone:",
  22. raw_data(bytes),
  23. len(bytes),
  24. freeWhenDone,
  25. )
  26. }
  27. @(objc_type=Data, objc_name="mutableBytes")
  28. Data_mutableBytes :: proc "c" (self: ^Data) -> rawptr {
  29. return msgSend(rawptr, self, "mutableBytes")
  30. }
  31. @(objc_type=Data, objc_name="length")
  32. Data_length :: proc "c" (self: ^Data) -> UInteger {
  33. return msgSend(UInteger, self, "length")
  34. }