1 #include "rblm.h" |
|
2 |
|
3 VALUE lm_mMessageType; |
|
4 VALUE lm_mMessageSubType; |
|
5 VALUE lm_mDisconnectReason; |
|
6 VALUE lm_mConnectionState; |
|
7 VALUE lm_mProxyType; |
|
8 VALUE lm_mCertificateStatus; |
|
9 VALUE lm_mSSLStatus; |
|
10 VALUE lm_mSSLResponse; |
|
11 |
|
12 LmConnectionState |
|
13 rb_lm_connection_state_from_ruby_object (VALUE obj) |
|
14 { |
|
15 LmConnectionState state; |
|
16 |
|
17 state = FIX2INT (obj); |
|
18 if (state < LM_CONNECTION_STATE_CLOSED || |
|
19 state > LM_CONNECTION_STATE_AUTHENTICATED) { |
|
20 rb_raise (rb_eArgError, |
|
21 "invalid LmConnectionState: %d (expected %d <= LmConnectionState <= %d)", |
|
22 state, LM_CONNECTION_STATE_CLOSED, |
|
23 LM_CONNECTION_STATE_AUTHENTICATED); |
|
24 } |
|
25 |
|
26 return state; |
|
27 } |
|
28 |
|
29 LmDisconnectReason |
|
30 rb_lm_disconnect_reason_from_ruby_object (VALUE obj) |
|
31 { |
|
32 LmDisconnectReason reason; |
|
33 |
|
34 reason = FIX2INT (obj); |
|
35 if (reason < LM_DISCONNECT_REASON_OK || |
|
36 reason > LM_DISCONNECT_REASON_UNKNOWN) { |
|
37 rb_raise (rb_eArgError, |
|
38 "invalid LmDisconnectReason: %d (expected %d <= LmDisconnectReason <= %d)", |
|
39 reason, |
|
40 LM_DISCONNECT_REASON_OK, |
|
41 LM_DISCONNECT_REASON_UNKNOWN); |
|
42 } |
|
43 |
|
44 return reason; |
|
45 } |
|
46 |
|
47 LmMessageType |
|
48 rb_lm_message_type_from_ruby_object (VALUE obj) |
|
49 { |
|
50 LmMessageType type; |
|
51 |
|
52 type = FIX2INT (obj); |
|
53 if (type < LM_MESSAGE_TYPE_MESSAGE || |
|
54 type > LM_MESSAGE_TYPE_IQ) { |
|
55 rb_raise (rb_eArgError, |
|
56 "invalid LmMessageType: %d (expected %d <= LmMessageType <= %d)", |
|
57 type, LM_MESSAGE_TYPE_MESSAGE, |
|
58 LM_MESSAGE_TYPE_IQ); |
|
59 } |
|
60 |
|
61 return type; |
|
62 } |
|
63 |
|
64 LmMessageSubType |
|
65 rb_lm_message_sub_type_from_ruby_object (VALUE obj) |
|
66 { |
|
67 LmMessageSubType type; |
|
68 |
|
69 type = FIX2INT (obj); |
|
70 if (type < LM_MESSAGE_SUB_TYPE_AVAILABLE || |
|
71 type > LM_MESSAGE_SUB_TYPE_ERROR) { |
|
72 rb_raise (rb_eArgError, |
|
73 "invalid LmMessageSubType: %d (expected %d <= LmMessageSubType <= %d)", |
|
74 type, LM_MESSAGE_SUB_TYPE_AVAILABLE, |
|
75 LM_MESSAGE_SUB_TYPE_ERROR); |
|
76 } |
|
77 |
|
78 return type; |
|
79 } |
|
80 |
|
81 LmProxyType |
|
82 rb_lm_proxy_type_from_ruby_object (VALUE obj) |
|
83 { |
|
84 LmProxyType type; |
|
85 |
|
86 type = FIX2INT (obj); |
|
87 if (type < LM_PROXY_TYPE_NONE || type > LM_PROXY_TYPE_HTTP) { |
|
88 rb_raise (rb_eArgError, |
|
89 "invalid LmProxyType: %d (expected %d <= LmProxyType <= %d)", |
|
90 type, LM_PROXY_TYPE_NONE, LM_PROXY_TYPE_HTTP); |
|
91 } |
|
92 |
|
93 return type; |
|
94 } |
|
95 |
|
96 LmCertificateStatus |
|
97 rb_lm_certificate_status_from_ruby_object (VALUE obj) |
|
98 { |
|
99 LmCertificateStatus status; |
|
100 |
|
101 status = FIX2INT (obj); |
|
102 if (status < LM_CERT_INVALID || status > LM_CERT_REVOKED) { |
|
103 rb_raise (rb_eArgError, |
|
104 "invalid LmCertificateStatus: %d (expected %d <= LmCertificateStatus <= %d)", |
|
105 status, LM_CERT_INVALID, LM_CERT_REVOKED); |
|
106 } |
|
107 |
|
108 return status; |
|
109 } |
|
110 |
|
111 LmSSLStatus |
|
112 rb_lm_ssl_status_from_ruby_object (VALUE obj) |
|
113 { |
|
114 LmSSLStatus status; |
|
115 |
|
116 status = FIX2INT (obj); |
|
117 if (status < LM_SSL_STATUS_NO_CERT_FOUND || |
|
118 status > LM_SSL_STATUS_GENERIC_ERROR) { |
|
119 rb_raise (rb_eArgError, |
|
120 "invalid LmSSLStatus: %d (expected %d <= LmSSLStatus <= %d)", |
|
121 status, LM_SSL_STATUS_NO_CERT_FOUND, |
|
122 LM_SSL_STATUS_GENERIC_ERROR); |
|
123 } |
|
124 |
|
125 return status; |
|
126 } |
|
127 |
|
128 LmSSLResponse |
|
129 rb_lm_ssl_response_from_ruby_object (VALUE obj) |
|
130 { |
|
131 LmSSLResponse response; |
|
132 |
|
133 response = FIX2INT (obj); |
|
134 if (response < LM_SSL_RESPONSE_CONTINUE || |
|
135 response > LM_SSL_RESPONSE_STOP) { |
|
136 rb_raise (rb_eArgError, |
|
137 "invalid LmSSLResponse: %d (expected %d <= LmSSLResponse <= %d)", |
|
138 response, |
|
139 LM_SSL_RESPONSE_CONTINUE, LM_SSL_RESPONSE_STOP); |
|
140 } |
|
141 |
|
142 return response; |
|
143 } |
|
144 |
|
145 void |
|
146 Init_lm_constants (VALUE lm_mLM) |
|
147 { |
|
148 /* LmMessageType */ |
|
149 lm_mMessageType = rb_define_module_under (lm_mLM, "MessageType"); |
|
150 |
|
151 rb_define_const (lm_mMessageType, "MESSAGE", |
|
152 INT2FIX (LM_MESSAGE_TYPE_MESSAGE)); |
|
153 rb_define_const (lm_mMessageType, "PRESENCE", |
|
154 INT2FIX (LM_MESSAGE_TYPE_PRESENCE)); |
|
155 rb_define_const (lm_mMessageType, "IQ", |
|
156 INT2FIX (LM_MESSAGE_TYPE_IQ)); |
|
157 |
|
158 /* LmMessageSubType */ |
|
159 lm_mMessageSubType = rb_define_module_under (lm_mLM, "MessageSubType"); |
|
160 |
|
161 rb_define_const (lm_mMessageSubType, "AVAILABLE", |
|
162 INT2FIX (LM_MESSAGE_SUB_TYPE_AVAILABLE)); |
|
163 rb_define_const (lm_mMessageSubType, "NORMAL", |
|
164 INT2FIX (LM_MESSAGE_SUB_TYPE_NORMAL)); |
|
165 rb_define_const (lm_mMessageSubType, "CHAT", |
|
166 INT2FIX (LM_MESSAGE_SUB_TYPE_CHAT)); |
|
167 rb_define_const (lm_mMessageSubType, "GROUPCHAT", |
|
168 INT2FIX (LM_MESSAGE_SUB_TYPE_GROUPCHAT)); |
|
169 rb_define_const (lm_mMessageSubType, "HEADLINE", |
|
170 INT2FIX (LM_MESSAGE_SUB_TYPE_HEADLINE)); |
|
171 rb_define_const (lm_mMessageSubType, "UNAVAILABLE", |
|
172 INT2FIX (LM_MESSAGE_SUB_TYPE_UNAVAILABLE)); |
|
173 rb_define_const (lm_mMessageSubType, "PROBE", |
|
174 INT2FIX (LM_MESSAGE_SUB_TYPE_PROBE)); |
|
175 rb_define_const (lm_mMessageSubType, "SUBSCRIBE", |
|
176 INT2FIX (LM_MESSAGE_SUB_TYPE_SUBSCRIBE)); |
|
177 rb_define_const (lm_mMessageSubType, "UNSUBSCRIBE", |
|
178 INT2FIX (LM_MESSAGE_SUB_TYPE_UNSUBSCRIBE)); |
|
179 rb_define_const (lm_mMessageSubType, "SUBSCRIBED", |
|
180 INT2FIX (LM_MESSAGE_SUB_TYPE_SUBSCRIBED)); |
|
181 rb_define_const (lm_mMessageSubType, "UNSUBSCRIBED", |
|
182 INT2FIX (LM_MESSAGE_SUB_TYPE_UNSUBSCRIBED)); |
|
183 rb_define_const (lm_mMessageSubType, "GET", |
|
184 INT2FIX (LM_MESSAGE_SUB_TYPE_GET)); |
|
185 rb_define_const (lm_mMessageSubType, "SET", |
|
186 INT2FIX (LM_MESSAGE_SUB_TYPE_SET)); |
|
187 rb_define_const (lm_mMessageSubType, "RESULT", |
|
188 INT2FIX (LM_MESSAGE_SUB_TYPE_RESULT)); |
|
189 rb_define_const (lm_mMessageSubType, "ERROR", |
|
190 INT2FIX (LM_MESSAGE_SUB_TYPE_ERROR)); |
|
191 |
|
192 /* LmDisconnectReason */ |
|
193 lm_mDisconnectReason = rb_define_module_under (lm_mLM, "DisconnectReason"); |
|
194 |
|
195 rb_define_const (lm_mDisconnectReason, "OK", |
|
196 INT2FIX (LM_DISCONNECT_REASON_OK)); |
|
197 rb_define_const (lm_mDisconnectReason, "PING_TIME_OUT", |
|
198 INT2FIX (LM_DISCONNECT_REASON_PING_TIME_OUT)); |
|
199 rb_define_const (lm_mDisconnectReason, "HUP", |
|
200 INT2FIX (LM_DISCONNECT_REASON_HUP)); |
|
201 rb_define_const (lm_mDisconnectReason, "ERROR", |
|
202 INT2FIX (LM_DISCONNECT_REASON_ERROR)); |
|
203 rb_define_const (lm_mDisconnectReason, "RESOURCE_CONFLICT", |
|
204 INT2FIX (LM_DISCONNECT_REASON_RESOURCE_CONFLICT)); |
|
205 rb_define_const (lm_mDisconnectReason, "INVALID_XML", |
|
206 INT2FIX (LM_DISCONNECT_REASON_INVALID_XML)); |
|
207 rb_define_const (lm_mDisconnectReason, "UNKNOWN", |
|
208 INT2FIX (LM_DISCONNECT_REASON_UNKNOWN)); |
|
209 |
|
210 /* LmConnectionState */ |
|
211 lm_mConnectionState = rb_define_module_under (lm_mLM, "ConnectionState"); |
|
212 rb_define_const (lm_mConnectionState, "CLOSED", |
|
213 INT2FIX (LM_CONNECTION_STATE_CLOSED)); |
|
214 rb_define_const (lm_mConnectionState, "OPENING", |
|
215 INT2FIX (LM_CONNECTION_STATE_OPENING)); |
|
216 rb_define_const (lm_mConnectionState, "OPEN", |
|
217 INT2FIX (LM_CONNECTION_STATE_OPEN)); |
|
218 rb_define_const (lm_mConnectionState, "AUTHENTICATING", |
|
219 INT2FIX (LM_CONNECTION_STATE_AUTHENTICATING)); |
|
220 rb_define_const (lm_mConnectionState, "AUTHENTICATED", |
|
221 INT2FIX (LM_CONNECTION_STATE_AUTHENTICATED)); |
|
222 |
|
223 /* LmProxyType */ |
|
224 lm_mProxyType = rb_define_module_under (lm_mLM, "ProxyType"); |
|
225 |
|
226 rb_define_const (lm_mProxyType, "NONE", |
|
227 INT2FIX (LM_PROXY_TYPE_NONE)); |
|
228 rb_define_const (lm_mProxyType, "HTTP", |
|
229 INT2FIX (LM_PROXY_TYPE_HTTP)); |
|
230 |
|
231 /* LmCertificateStatus */ |
|
232 lm_mCertificateStatus = rb_define_module_under (lm_mLM, |
|
233 "CertificateStatus"); |
|
234 rb_define_const (lm_mCertificateStatus, "INVALID", |
|
235 INT2FIX (LM_CERT_INVALID)); |
|
236 rb_define_const (lm_mCertificateStatus, "ISSUER_NOT_FOUND", |
|
237 INT2FIX (LM_CERT_ISSUER_NOT_FOUND)); |
|
238 rb_define_const (lm_mCertificateStatus, "REVOKED", |
|
239 INT2FIX (LM_CERT_REVOKED)); |
|
240 |
|
241 /* LmSSLStatus */ |
|
242 lm_mSSLStatus = rb_define_module_under (lm_mLM, "SSLStatus"); |
|
243 |
|
244 rb_define_const (lm_mSSLStatus, "NO_CERT_FOUND", |
|
245 INT2FIX (LM_SSL_STATUS_NO_CERT_FOUND)); |
|
246 rb_define_const (lm_mSSLStatus, "UNTRUSTED_CERT", |
|
247 INT2FIX (LM_SSL_STATUS_UNTRUSTED_CERT)); |
|
248 rb_define_const (lm_mSSLStatus, "CERT_EXPIRED", |
|
249 INT2FIX (LM_SSL_STATUS_CERT_EXPIRED)); |
|
250 rb_define_const (lm_mSSLStatus, "CERT_NOT_ACTIVATED", |
|
251 INT2FIX (LM_SSL_STATUS_CERT_NOT_ACTIVATED)); |
|
252 rb_define_const (lm_mSSLStatus, "CERT_HOSTNAME_MISMATCH", |
|
253 INT2FIX (LM_SSL_STATUS_CERT_HOSTNAME_MISMATCH)); |
|
254 rb_define_const (lm_mSSLStatus, "CERT_FINGERPRINT_MISMATCH", |
|
255 INT2FIX (LM_SSL_STATUS_CERT_FINGERPRINT_MISMATCH)); |
|
256 rb_define_const (lm_mSSLStatus, "GENERIC_ERROR", |
|
257 INT2FIX (LM_SSL_STATUS_GENERIC_ERROR)); |
|
258 |
|
259 /* LmSSLResponse */ |
|
260 lm_mSSLResponse = rb_define_module_under (lm_mLM, "SSLResponse"); |
|
261 |
|
262 rb_define_const (lm_mSSLResponse, "CONTINUE", |
|
263 INT2FIX (LM_SSL_RESPONSE_CONTINUE)); |
|
264 rb_define_const (lm_mSSLResponse, "STOP", |
|
265 INT2FIX (LM_SSL_RESPONSE_STOP)); |
|
266 } |
|