aboutsummaryrefslogtreecommitdiff
path: root/core/sys/darwin/Foundation/NSError.odin
blob: 1657befe26b009bc04420029dac8779a7ad6f8bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package objc_Foundation

foreign import "system:Foundation.framework"

ErrorDomain :: ^String

foreign Foundation {
	@(linkage="weak") CocoaErrorDomain:    ErrorDomain
	@(linkage="weak") POSIXErrorDomain:    ErrorDomain
	@(linkage="weak") OSStatusErrorDomain: ErrorDomain
	@(linkage="weak") MachErrorDomain:     ErrorDomain
}

ErrorUserInfoKey :: ^String

foreign Foundation {
	@(linkage="weak") UnderlyingErrorKey:                  ErrorUserInfoKey
	@(linkage="weak") LocalizedDescriptionKey:             ErrorUserInfoKey
	@(linkage="weak") LocalizedFailureReasonErrorKey:      ErrorUserInfoKey
	@(linkage="weak") LocalizedRecoverySuggestionErrorKey: ErrorUserInfoKey
	@(linkage="weak") LocalizedRecoveryOptionsErrorKey:    ErrorUserInfoKey
	@(linkage="weak") RecoveryAttempterErrorKey:           ErrorUserInfoKey
	@(linkage="weak") HelpAnchorErrorKey:                  ErrorUserInfoKey
	@(linkage="weak") DebugDescriptionErrorKey:            ErrorUserInfoKey
	@(linkage="weak") LocalizedFailureErrorKey:            ErrorUserInfoKey
	@(linkage="weak") StringEncodingErrorKey:              ErrorUserInfoKey
	@(linkage="weak") URLErrorKey:                         ErrorUserInfoKey
	@(linkage="weak") FilePathErrorKey:                    ErrorUserInfoKey
}

@(objc_class="NSError")
Error :: struct { using _: Copying(Error) }


@(objc_type=Error, objc_name="alloc", objc_is_class_method=true)
Error_alloc :: proc "c" () -> ^Error {
	return msgSend(^Error, Error, "alloc")
}

@(objc_type=Error, objc_name="init")
Error_init :: proc "c" (self: ^Error) -> ^Error {
	return msgSend(^Error, self, "init")
}

@(objc_type=Error, objc_name="errorWithDomain", objc_is_class_method=true)
Error_errorWithDomain :: proc "c" (domain: ErrorDomain, code: Integer, userInfo: ^Dictionary) -> ^Error {
	return msgSend(^Error, Error, "errorWithDomain:code:userInfo:", domain, code, userInfo)
}

@(objc_type=Error, objc_name="initWithDomain")
Error_initWithDomain :: proc "c" (self: ^Error, domain: ErrorDomain, code: Integer, userInfo: ^Dictionary) -> ^Error {
	return msgSend(^Error, self, "initWithDomain:code:userInfo:", domain, code, userInfo)
}

@(objc_type=Error, objc_name="code")
Error_code :: proc "c" (self: ^Error) -> Integer {
	return msgSend(Integer, self, "code")
}

@(objc_type=Error, objc_name="domain")
Error_domain :: proc "c" (self: ^Error) -> ErrorDomain {
	return msgSend(ErrorDomain, self, "domain")
}

@(objc_type=Error, objc_name="userInfo")
Error_userInfo :: proc "c" (self: ^Error) -> ^Dictionary {
	return msgSend(^Dictionary, self, "userInfo")
}

@(objc_type=Error, objc_name="localizedDescription")
Error_localizedDescription :: proc "c" (self: ^Error) -> ^String {
	return msgSend(^String, self, "localizedDescription")
}

@(objc_type=Error, objc_name="localizedRecoveryOptions")
Error_localizedRecoveryOptions :: proc "c" (self: ^Error) -> (options: ^Array) {
	return msgSend(type_of(options), self, "localizedRecoveryOptions")
}

@(objc_type=Error, objc_name="localizedRecoverySuggestion")
Error_localizedRecoverySuggestion :: proc "c" (self: ^Error) -> ^String {
	return msgSend(^String, self, "localizedRecoverySuggestion")
}

@(objc_type=Error, objc_name="localizedFailureReason")
Error_localizedFailureReason :: proc "c" (self: ^Error) -> ^String {
	return msgSend(^String, self, "localizedFailureReason")
}