quickfix_ruby_ud 2.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. checksums.yaml +7 -0
  2. data/ext/quickfix/Acceptor.cpp +257 -0
  3. data/ext/quickfix/Acceptor.h +127 -0
  4. data/ext/quickfix/Allocator.h +9 -0
  5. data/ext/quickfix/Application.h +137 -0
  6. data/ext/quickfix/DOMDocument.h +70 -0
  7. data/ext/quickfix/DataDictionary.cpp +679 -0
  8. data/ext/quickfix/DataDictionary.h +607 -0
  9. data/ext/quickfix/DataDictionaryProvider.cpp +66 -0
  10. data/ext/quickfix/DataDictionaryProvider.h +67 -0
  11. data/ext/quickfix/DatabaseConnectionID.h +98 -0
  12. data/ext/quickfix/DatabaseConnectionPool.h +84 -0
  13. data/ext/quickfix/Dictionary.cpp +157 -0
  14. data/ext/quickfix/Dictionary.h +89 -0
  15. data/ext/quickfix/Event.h +89 -0
  16. data/ext/quickfix/Except.h +39 -0
  17. data/ext/quickfix/Exceptions.h +257 -0
  18. data/ext/quickfix/Field.h +654 -0
  19. data/ext/quickfix/FieldConvertors.cpp +86 -0
  20. data/ext/quickfix/FieldConvertors.h +800 -0
  21. data/ext/quickfix/FieldMap.cpp +254 -0
  22. data/ext/quickfix/FieldMap.h +327 -0
  23. data/ext/quickfix/FieldNumbers.h +44 -0
  24. data/ext/quickfix/FieldTypes.cpp +62 -0
  25. data/ext/quickfix/FieldTypes.h +817 -0
  26. data/ext/quickfix/Fields.h +30 -0
  27. data/ext/quickfix/FileLog.cpp +176 -0
  28. data/ext/quickfix/FileLog.h +110 -0
  29. data/ext/quickfix/FileStore.cpp +369 -0
  30. data/ext/quickfix/FileStore.h +131 -0
  31. data/ext/quickfix/FixCommonFields.h +13 -0
  32. data/ext/quickfix/FixFieldNumbers.h +6132 -0
  33. data/ext/quickfix/FixFields.h +6133 -0
  34. data/ext/quickfix/FixValues.h +5790 -0
  35. data/ext/quickfix/Group.cpp +44 -0
  36. data/ext/quickfix/Group.h +78 -0
  37. data/ext/quickfix/HostDetailsProvider.cpp +79 -0
  38. data/ext/quickfix/HostDetailsProvider.h +44 -0
  39. data/ext/quickfix/HtmlBuilder.h +178 -0
  40. data/ext/quickfix/HttpConnection.cpp +914 -0
  41. data/ext/quickfix/HttpConnection.h +74 -0
  42. data/ext/quickfix/HttpMessage.cpp +229 -0
  43. data/ext/quickfix/HttpMessage.h +112 -0
  44. data/ext/quickfix/HttpParser.cpp +49 -0
  45. data/ext/quickfix/HttpParser.h +49 -0
  46. data/ext/quickfix/HttpServer.cpp +152 -0
  47. data/ext/quickfix/HttpServer.h +76 -0
  48. data/ext/quickfix/Initiator.cpp +310 -0
  49. data/ext/quickfix/Initiator.h +151 -0
  50. data/ext/quickfix/Log.cpp +71 -0
  51. data/ext/quickfix/Log.h +254 -0
  52. data/ext/quickfix/Message.cpp +617 -0
  53. data/ext/quickfix/Message.h +419 -0
  54. data/ext/quickfix/MessageCracker.h +171 -0
  55. data/ext/quickfix/MessageSorters.cpp +101 -0
  56. data/ext/quickfix/MessageSorters.h +185 -0
  57. data/ext/quickfix/MessageStore.cpp +182 -0
  58. data/ext/quickfix/MessageStore.h +164 -0
  59. data/ext/quickfix/Mutex.h +120 -0
  60. data/ext/quickfix/MySQLConnection.h +187 -0
  61. data/ext/quickfix/MySQLLog.cpp +262 -0
  62. data/ext/quickfix/MySQLLog.h +158 -0
  63. data/ext/quickfix/MySQLStore.cpp +323 -0
  64. data/ext/quickfix/MySQLStore.h +161 -0
  65. data/ext/quickfix/MySQLStubs.h +203 -0
  66. data/ext/quickfix/NullStore.cpp +40 -0
  67. data/ext/quickfix/NullStore.h +89 -0
  68. data/ext/quickfix/OdbcConnection.h +241 -0
  69. data/ext/quickfix/OdbcLog.cpp +230 -0
  70. data/ext/quickfix/OdbcLog.h +109 -0
  71. data/ext/quickfix/OdbcStore.cpp +313 -0
  72. data/ext/quickfix/OdbcStore.h +124 -0
  73. data/ext/quickfix/PUGIXML_DOMDocument.cpp +112 -0
  74. data/ext/quickfix/PUGIXML_DOMDocument.h +81 -0
  75. data/ext/quickfix/Parser.cpp +111 -0
  76. data/ext/quickfix/Parser.h +50 -0
  77. data/ext/quickfix/PostgreSQLConnection.h +163 -0
  78. data/ext/quickfix/PostgreSQLLog.cpp +263 -0
  79. data/ext/quickfix/PostgreSQLLog.h +157 -0
  80. data/ext/quickfix/PostgreSQLStore.cpp +327 -0
  81. data/ext/quickfix/PostgreSQLStore.h +160 -0
  82. data/ext/quickfix/PostgreSQLStubs.h +203 -0
  83. data/ext/quickfix/Queue.h +66 -0
  84. data/ext/quickfix/QuickfixRuby.cpp +131900 -0
  85. data/ext/quickfix/QuickfixRuby.h +56 -0
  86. data/ext/quickfix/Responder.h +41 -0
  87. data/ext/quickfix/SSLSocketAcceptor.cpp +409 -0
  88. data/ext/quickfix/SSLSocketAcceptor.h +186 -0
  89. data/ext/quickfix/SSLSocketConnection.cpp +434 -0
  90. data/ext/quickfix/SSLSocketConnection.h +221 -0
  91. data/ext/quickfix/SSLSocketInitiator.cpp +558 -0
  92. data/ext/quickfix/SSLSocketInitiator.h +203 -0
  93. data/ext/quickfix/SSLStubs.h +129 -0
  94. data/ext/quickfix/Session.cpp +1437 -0
  95. data/ext/quickfix/Session.h +343 -0
  96. data/ext/quickfix/SessionFactory.cpp +314 -0
  97. data/ext/quickfix/SessionFactory.h +84 -0
  98. data/ext/quickfix/SessionID.h +136 -0
  99. data/ext/quickfix/SessionSettings.cpp +165 -0
  100. data/ext/quickfix/SessionSettings.h +283 -0
  101. data/ext/quickfix/SessionState.h +260 -0
  102. data/ext/quickfix/Settings.cpp +160 -0
  103. data/ext/quickfix/Settings.h +56 -0
  104. data/ext/quickfix/SharedArray.h +274 -0
  105. data/ext/quickfix/SocketAcceptor.cpp +216 -0
  106. data/ext/quickfix/SocketAcceptor.h +77 -0
  107. data/ext/quickfix/SocketConnection.cpp +256 -0
  108. data/ext/quickfix/SocketConnection.h +102 -0
  109. data/ext/quickfix/SocketConnector.cpp +112 -0
  110. data/ext/quickfix/SocketConnector.h +76 -0
  111. data/ext/quickfix/SocketInitiator.cpp +241 -0
  112. data/ext/quickfix/SocketInitiator.h +76 -0
  113. data/ext/quickfix/SocketMonitor.h +26 -0
  114. data/ext/quickfix/SocketMonitor_UNIX.cpp +238 -0
  115. data/ext/quickfix/SocketMonitor_UNIX.h +101 -0
  116. data/ext/quickfix/SocketMonitor_WIN32.cpp +248 -0
  117. data/ext/quickfix/SocketMonitor_WIN32.h +99 -0
  118. data/ext/quickfix/SocketServer.cpp +163 -0
  119. data/ext/quickfix/SocketServer.h +100 -0
  120. data/ext/quickfix/ThreadedSSLSocketAcceptor.cpp +436 -0
  121. data/ext/quickfix/ThreadedSSLSocketAcceptor.h +209 -0
  122. data/ext/quickfix/ThreadedSSLSocketConnection.cpp +364 -0
  123. data/ext/quickfix/ThreadedSSLSocketConnection.h +191 -0
  124. data/ext/quickfix/ThreadedSSLSocketInitiator.cpp +434 -0
  125. data/ext/quickfix/ThreadedSSLSocketInitiator.h +193 -0
  126. data/ext/quickfix/ThreadedSocketAcceptor.cpp +242 -0
  127. data/ext/quickfix/ThreadedSocketAcceptor.h +95 -0
  128. data/ext/quickfix/ThreadedSocketConnection.cpp +227 -0
  129. data/ext/quickfix/ThreadedSocketConnection.h +89 -0
  130. data/ext/quickfix/ThreadedSocketInitiator.cpp +238 -0
  131. data/ext/quickfix/ThreadedSocketInitiator.h +78 -0
  132. data/ext/quickfix/TimeRange.cpp +227 -0
  133. data/ext/quickfix/TimeRange.h +215 -0
  134. data/ext/quickfix/Utility.cpp +639 -0
  135. data/ext/quickfix/Utility.h +255 -0
  136. data/ext/quickfix/UtilitySSL.cpp +1612 -0
  137. data/ext/quickfix/UtilitySSL.h +274 -0
  138. data/ext/quickfix/Values.h +63 -0
  139. data/ext/quickfix/config-all.h +10 -0
  140. data/ext/quickfix/config.h +10 -0
  141. data/ext/quickfix/config_unix.h +178 -0
  142. data/ext/quickfix/config_windows.h +0 -0
  143. data/ext/quickfix/dirent_windows.h +838 -0
  144. data/ext/quickfix/double-conversion/bignum-dtoa.cc +641 -0
  145. data/ext/quickfix/double-conversion/bignum-dtoa.h +84 -0
  146. data/ext/quickfix/double-conversion/bignum.cc +766 -0
  147. data/ext/quickfix/double-conversion/bignum.h +144 -0
  148. data/ext/quickfix/double-conversion/cached-powers.cc +176 -0
  149. data/ext/quickfix/double-conversion/cached-powers.h +64 -0
  150. data/ext/quickfix/double-conversion/diy-fp.cc +57 -0
  151. data/ext/quickfix/double-conversion/diy-fp.h +118 -0
  152. data/ext/quickfix/double-conversion/double-conversion.cc +994 -0
  153. data/ext/quickfix/double-conversion/double-conversion.h +543 -0
  154. data/ext/quickfix/double-conversion/fast-dtoa.cc +665 -0
  155. data/ext/quickfix/double-conversion/fast-dtoa.h +88 -0
  156. data/ext/quickfix/double-conversion/fixed-dtoa.cc +404 -0
  157. data/ext/quickfix/double-conversion/fixed-dtoa.h +56 -0
  158. data/ext/quickfix/double-conversion/ieee.h +402 -0
  159. data/ext/quickfix/double-conversion/strtod.cc +557 -0
  160. data/ext/quickfix/double-conversion/strtod.h +45 -0
  161. data/ext/quickfix/double-conversion/utils.h +374 -0
  162. data/ext/quickfix/extconf.rb +76 -0
  163. data/ext/quickfix/index.h +37 -0
  164. data/ext/quickfix/pugiconfig.hpp +77 -0
  165. data/ext/quickfix/pugixml.cpp +13237 -0
  166. data/ext/quickfix/pugixml.hpp +1516 -0
  167. data/ext/quickfix/scope_guard.hpp +215 -0
  168. data/ext/quickfix/stdint_msvc.h +254 -0
  169. data/ext/quickfix/strptime.h +7 -0
  170. data/lib/quickfix40.rb +274 -0
  171. data/lib/quickfix41.rb +351 -0
  172. data/lib/quickfix42.rb +1184 -0
  173. data/lib/quickfix43.rb +3504 -0
  174. data/lib/quickfix44.rb +14040 -0
  175. data/lib/quickfix50.rb +20051 -0
  176. data/lib/quickfix50sp1.rb +23596 -0
  177. data/lib/quickfix50sp2.rb +412444 -0
  178. data/lib/quickfix_fields.rb +79393 -0
  179. data/lib/quickfix_ruby.rb +82 -0
  180. data/lib/quickfixt11.rb +65 -0
  181. data/spec/FIX40.xml +862 -0
  182. data/spec/FIX41.xml +1282 -0
  183. data/spec/FIX42.xml +2743 -0
  184. data/spec/FIX43.xml +4230 -0
  185. data/spec/FIX44.xml +6600 -0
  186. data/spec/FIX50.xml +8142 -0
  187. data/spec/FIX50SP1.xml +9506 -0
  188. data/spec/FIX50SP2.xml +26069 -0
  189. data/spec/FIXT11.xml +252 -0
  190. data/test/DataDictionaryTestCase.rb +268 -0
  191. data/test/DictionaryTestCase.rb +112 -0
  192. data/test/FieldBaseTestCase.rb +24 -0
  193. data/test/MessageStoreTestCase.rb +19 -0
  194. data/test/MessageTestCase.rb +368 -0
  195. data/test/SessionSettingsTestCase.rb +41 -0
  196. metadata +236 -0
@@ -0,0 +1,255 @@
1
+ /* -*- C++ -*- */
2
+
3
+ /****************************************************************************
4
+ ** Copyright (c) 2001-2014
5
+ **
6
+ ** This file is part of the QuickFIX FIX Engine
7
+ **
8
+ ** This file may be distributed under the terms of the quickfixengine.org
9
+ ** license as defined by quickfixengine.org and appearing in the file
10
+ ** LICENSE included in the packaging of this file.
11
+ **
12
+ ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
13
+ ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
14
+ **
15
+ ** See http://www.quickfixengine.org/LICENSE for licensing information.
16
+ **
17
+ ** Contact ask@quickfixengine.org if any conditions of this licensing are
18
+ ** not clear to you.
19
+ **
20
+ ****************************************************************************/
21
+
22
+ #ifndef FIX_UTILITY_H
23
+ #define FIX_UTILITY_H
24
+
25
+ #ifdef _MSC_VER
26
+ #pragma warning(disable : 4503 4355 4786 4290)
27
+ #endif
28
+
29
+ #ifdef _MSC_VER
30
+ #define PRAGMA_PUSH(x) __pragma(warning(push)) __pragma(warning(disable : x))
31
+ #define PRAGMA_POP __pragma(warning(pop))
32
+ #else
33
+ #define PRAGMA_PUSH(x)
34
+ #define PRAGMA_POP
35
+ #endif
36
+
37
+ #ifndef _MSC_VER
38
+ #include "Allocator.h"
39
+ #endif
40
+
41
+ #include "Except.h"
42
+
43
+ #ifdef ENABLE_DEBUG_ALLOCATOR
44
+ #include <ext/debug_allocator.h>
45
+ #define ALLOCATOR __gnu_cxx::debug_allocator
46
+ #elif ENABLE_NEW_ALLOCATOR
47
+ #include <ext/new_allocator.h>
48
+ #define ALLOCATOR __gnu_cxx::new_allocator
49
+ #elif ENABLE_BOOST_FAST_POOL_ALLOCATOR
50
+ #include <boost/pool/pool_alloc.hpp>
51
+ #define ALLOCATOR boost::fast_pool_allocator
52
+ #elif ENABLE_MT_ALLOCATOR
53
+ #include <ext/mt_allocator.h>
54
+ #define ALLOCATOR __gnu_cxx::__mt_alloc
55
+ #elif ENABLE_BOOST_POOL_ALLOCATOR
56
+ #include <boost/pool/pool_alloc.hpp>
57
+ #define ALLOCATOR boost::pool_allocator
58
+ #elif ENABLE_POOL_ALLOCATOR
59
+ #include <ext/pool_allocator.h>
60
+ #define ALLOCATOR __gnu_cxx::__pool_alloc
61
+ #elif ENABLE_BITMAP_ALLOCATOR
62
+ #include <ext/bitmap_allocator.h>
63
+ #define ALLOCATOR __gnu_cxx::bitmap_allocator
64
+ #elif ENABLE_TBB_ALLOCATOR
65
+ #include <tbb/scalable_allocator.h>
66
+ #define ALLOCATOR tbb::scalable_allocator
67
+ #else
68
+ #define ALLOCATOR std::allocator
69
+ #endif
70
+
71
+ #ifdef _MSC_VER
72
+ /////////////////////////////////////////////
73
+ #include <Winsock2.h>
74
+ #include <direct.h>
75
+ #include <process.h>
76
+ #include <time.h>
77
+ #define INVALID_SOCKET_HANDLE INVALID_SOCKET
78
+ #define BIND_SOCKET_ERROR SOCKET_ERROR
79
+ #define LISTEN_SOCKET_ERROR SOCKET_ERROR
80
+ #define SET_SOCK_OPT_ERROR SOCKET_ERROR
81
+ /////////////////////////////////////////////
82
+ #else
83
+ /////////////////////////////////////////////
84
+ #include <sys/ioctl.h>
85
+ #include <sys/socket.h>
86
+ #include <sys/types.h>
87
+ #if defined(__SUNPRO_CC)
88
+ #include <sys/filio.h>
89
+ #endif
90
+ #include <arpa/inet.h>
91
+ #include <errno.h>
92
+ #include <fcntl.h>
93
+ #include <netdb.h>
94
+ #include <netinet/in.h>
95
+ #include <netinet/tcp.h>
96
+ #include <pthread.h>
97
+ #include <signal.h>
98
+ #include <stdlib.h>
99
+ #include <sys/stat.h>
100
+ #include <sys/time.h>
101
+ #include <time.h>
102
+ #include <unistd.h>
103
+ #define INVALID_SOCKET_HANDLE -1
104
+ #define BIND_SOCKET_ERROR -1
105
+ #define LISTEN_SOCKET_ERROR -1
106
+ #define SET_SOCK_OPT_ERROR -1
107
+ /////////////////////////////////////////////
108
+ #endif
109
+
110
+ #include <cctype>
111
+ #include <cstdio>
112
+ #include <cstdlib>
113
+ #include <cstring>
114
+ #include <ctime>
115
+ #include <memory>
116
+ #include <set>
117
+ #include <string>
118
+
119
+ namespace FIX {
120
+ #ifdef _MSC_VER
121
+ typedef int socklen_t;
122
+ typedef SSIZE_T ssize_t;
123
+ typedef SOCKET socket_handle;
124
+ #else
125
+ typedef int socket_handle;
126
+ #endif
127
+
128
+ std::string error_strerror(decltype(errno) error_number);
129
+ std::string error_strerror();
130
+
131
+ #ifdef _MSC_VER
132
+ std::string error_wsaerror(int wsa_error_number);
133
+ std::string error_wsaerror();
134
+ #endif
135
+
136
+ void string_replace(const std::string &oldValue, const std::string &newValue, std::string &value);
137
+
138
+ extern "C" {
139
+ char *string_concat(const char *a, ...);
140
+ }
141
+
142
+ std::string string_toLower(const std::string &value);
143
+ std::string string_toUpper(const std::string &value);
144
+ std::string string_strip(const std::string &value);
145
+ std::set<std::string> string_split(const std::string &value, const char delimiter);
146
+
147
+ void socket_init();
148
+ void socket_term();
149
+ std::string socket_error();
150
+ int socket_bind(socket_handle socket, const char *hostname, int port);
151
+ socket_handle socket_createAcceptor(int port, bool reuse = false);
152
+ socket_handle socket_createConnector();
153
+ int socket_connect(socket_handle s, const char *address, int port);
154
+ socket_handle socket_accept(socket_handle s);
155
+ ssize_t socket_recv(socket_handle s, char *buf, size_t length);
156
+ ssize_t socket_send(socket_handle s, const char *msg, size_t length);
157
+ void socket_close(socket_handle s);
158
+ std::string socket_get_last_error();
159
+ bool socket_fionread(socket_handle s, int &bytes);
160
+ bool socket_disconnected(socket_handle s);
161
+ int socket_setsockopt(socket_handle s, int opt);
162
+ int socket_setsockopt(socket_handle s, int opt, int optval);
163
+ int socket_getsockopt(socket_handle s, int opt, int &optval);
164
+ #ifndef _MSC_VER
165
+ int socket_fcntl(int s, int opt, int arg);
166
+ int socket_getfcntlflag(int s, int arg);
167
+ int socket_setfcntlflag(int s, int arg);
168
+ #endif
169
+ void socket_setnonblock(socket_handle s);
170
+ bool socket_isValid(socket_handle socket);
171
+ #ifndef _MSC_VER
172
+ bool socket_isBad(int s);
173
+ #endif
174
+ void socket_invalidate(socket_handle &socket);
175
+ short socket_hostport(socket_handle socket);
176
+ const char *socket_hostname(socket_handle socket);
177
+ const char *socket_hostname(const char *name);
178
+ const char *socket_peername(socket_handle socket);
179
+ std::pair<socket_handle, socket_handle> socket_createpair();
180
+
181
+ tm time_gmtime(const time_t *t);
182
+ tm time_localtime(const time_t *t);
183
+
184
+ #if (_MSC_VER >= 1900)
185
+ typedef _beginthreadex_proc_type THREAD_START_ROUTINE;
186
+ #define THREAD_PROC unsigned int _stdcall
187
+ #elif (_MSC_VER > 0)
188
+ typedef unsigned int(_stdcall *THREAD_START_ROUTINE)(void *);
189
+ #define THREAD_PROC unsigned int _stdcall
190
+ #else
191
+ extern "C" {
192
+ typedef void *(THREAD_START_ROUTINE)(void *);
193
+ }
194
+ #define THREAD_PROC void *
195
+ #endif
196
+
197
+ #ifdef _MSC_VER
198
+ typedef HANDLE thread_id;
199
+ #else
200
+ typedef pthread_t thread_id;
201
+ #endif
202
+
203
+ bool thread_spawn(THREAD_START_ROUTINE func, void *var, thread_id &thread);
204
+ bool thread_spawn(THREAD_START_ROUTINE func, void *var);
205
+ void thread_join(thread_id thread);
206
+ void thread_detach(thread_id thread);
207
+ thread_id thread_self();
208
+
209
+ void process_sleep(double s);
210
+
211
+ std::string file_separator();
212
+ void file_mkdir(const char *path);
213
+ FILE *file_fopen(const char *path, const char *mode);
214
+ void file_fclose(FILE *file);
215
+ bool file_exists(const char *path);
216
+ void file_unlink(const char *path);
217
+ int file_rename(const char *oldpath, const char *newpath);
218
+ std::string file_appendpath(const std::string &path, const std::string &file);
219
+ } // namespace FIX
220
+
221
+ #if (_MSC_VER >= 1400)
222
+ #define HAVE_FSCANF_S 1
223
+ #define FILE_FSCANF fscanf_s
224
+ #else
225
+ #define FILE_FSCANF fscanf
226
+ #endif
227
+
228
+ #if (_MSC_VER >= 1400)
229
+ #define HAVE_SPRINTF_S 1
230
+ #define STRING_SPRINTF sprintf_s
231
+ #else
232
+ #define STRING_SPRINTF sprintf
233
+ #endif
234
+
235
+ #if (!defined(_MSC_VER) || (_MSC_VER >= 1300))
236
+ using std::abort;
237
+ using std::abs;
238
+ using std::atof;
239
+ using std::atoi;
240
+ using std::atol;
241
+ using std::exit;
242
+ using std::isdigit;
243
+ using std::labs;
244
+ using std::memcpy;
245
+ using std::memset;
246
+ using std::sprintf;
247
+ using std::strcmp;
248
+ using std::strerror;
249
+ using std::strftime;
250
+ using std::strlen;
251
+ using std::strtod;
252
+ using std::strtol;
253
+ #endif
254
+
255
+ #endif