quickfix_ruby 1.14.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +7 -0
  2. data/ext/quickfix/Acceptor.cpp +248 -0
  3. data/ext/quickfix/Acceptor.h +127 -0
  4. data/ext/quickfix/Allocator.h +9 -0
  5. data/ext/quickfix/Application.h +127 -0
  6. data/ext/quickfix/AtomicCount.h +109 -0
  7. data/ext/quickfix/DOMDocument.h +74 -0
  8. data/ext/quickfix/DataDictionary.cpp +618 -0
  9. data/ext/quickfix/DataDictionary.h +539 -0
  10. data/ext/quickfix/DataDictionaryProvider.cpp +71 -0
  11. data/ext/quickfix/DataDictionaryProvider.h +70 -0
  12. data/ext/quickfix/DatabaseConnectionID.h +105 -0
  13. data/ext/quickfix/DatabaseConnectionPool.h +91 -0
  14. data/ext/quickfix/Dictionary.cpp +162 -0
  15. data/ext/quickfix/Dictionary.h +94 -0
  16. data/ext/quickfix/Event.h +95 -0
  17. data/ext/quickfix/Exceptions.h +299 -0
  18. data/ext/quickfix/Field.h +672 -0
  19. data/ext/quickfix/FieldConvertors.h +863 -0
  20. data/ext/quickfix/FieldMap.cpp +238 -0
  21. data/ext/quickfix/FieldMap.h +244 -0
  22. data/ext/quickfix/FieldNumbers.h +46 -0
  23. data/ext/quickfix/FieldTypes.cpp +64 -0
  24. data/ext/quickfix/FieldTypes.h +698 -0
  25. data/ext/quickfix/Fields.h +31 -0
  26. data/ext/quickfix/FileLog.cpp +200 -0
  27. data/ext/quickfix/FileLog.h +112 -0
  28. data/ext/quickfix/FileStore.cpp +332 -0
  29. data/ext/quickfix/FileStore.h +129 -0
  30. data/ext/quickfix/FixFieldNumbers.h +1537 -0
  31. data/ext/quickfix/FixFields.h +1538 -0
  32. data/ext/quickfix/FixValues.h +3281 -0
  33. data/ext/quickfix/FlexLexer.h +188 -0
  34. data/ext/quickfix/Group.cpp +64 -0
  35. data/ext/quickfix/Group.h +73 -0
  36. data/ext/quickfix/HtmlBuilder.h +186 -0
  37. data/ext/quickfix/HttpConnection.cpp +739 -0
  38. data/ext/quickfix/HttpConnection.h +78 -0
  39. data/ext/quickfix/HttpMessage.cpp +149 -0
  40. data/ext/quickfix/HttpMessage.h +133 -0
  41. data/ext/quickfix/HttpParser.cpp +49 -0
  42. data/ext/quickfix/HttpParser.h +54 -0
  43. data/ext/quickfix/HttpServer.cpp +169 -0
  44. data/ext/quickfix/HttpServer.h +78 -0
  45. data/ext/quickfix/Initiator.cpp +289 -0
  46. data/ext/quickfix/Initiator.h +149 -0
  47. data/ext/quickfix/Log.cpp +77 -0
  48. data/ext/quickfix/Log.h +179 -0
  49. data/ext/quickfix/Message.cpp +580 -0
  50. data/ext/quickfix/Message.h +370 -0
  51. data/ext/quickfix/MessageCracker.h +188 -0
  52. data/ext/quickfix/MessageSorters.cpp +105 -0
  53. data/ext/quickfix/MessageSorters.h +156 -0
  54. data/ext/quickfix/MessageStore.cpp +146 -0
  55. data/ext/quickfix/MessageStore.h +174 -0
  56. data/ext/quickfix/Mutex.h +131 -0
  57. data/ext/quickfix/MySQLConnection.h +194 -0
  58. data/ext/quickfix/MySQLLog.cpp +275 -0
  59. data/ext/quickfix/MySQLLog.h +145 -0
  60. data/ext/quickfix/MySQLStore.cpp +331 -0
  61. data/ext/quickfix/MySQLStore.h +142 -0
  62. data/ext/quickfix/NullStore.cpp +54 -0
  63. data/ext/quickfix/NullStore.h +99 -0
  64. data/ext/quickfix/OdbcConnection.h +266 -0
  65. data/ext/quickfix/OdbcLog.cpp +252 -0
  66. data/ext/quickfix/OdbcLog.h +117 -0
  67. data/ext/quickfix/OdbcStore.cpp +338 -0
  68. data/ext/quickfix/OdbcStore.h +113 -0
  69. data/ext/quickfix/PUGIXML_DOMDocument.cpp +112 -0
  70. data/ext/quickfix/PUGIXML_DOMDocument.h +81 -0
  71. data/ext/quickfix/Parser.cpp +103 -0
  72. data/ext/quickfix/Parser.h +57 -0
  73. data/ext/quickfix/PostgreSQLConnection.h +176 -0
  74. data/ext/quickfix/PostgreSQLLog.cpp +276 -0
  75. data/ext/quickfix/PostgreSQLLog.h +144 -0
  76. data/ext/quickfix/PostgreSQLStore.cpp +334 -0
  77. data/ext/quickfix/PostgreSQLStore.h +141 -0
  78. data/ext/quickfix/Queue.h +75 -0
  79. data/ext/quickfix/QuickfixRuby.cpp +252066 -0
  80. data/ext/quickfix/QuickfixRuby.h +34 -0
  81. data/ext/quickfix/Responder.h +43 -0
  82. data/ext/quickfix/Session.cpp +1487 -0
  83. data/ext/quickfix/Session.h +335 -0
  84. data/ext/quickfix/SessionFactory.cpp +274 -0
  85. data/ext/quickfix/SessionFactory.h +86 -0
  86. data/ext/quickfix/SessionID.h +170 -0
  87. data/ext/quickfix/SessionSettings.cpp +189 -0
  88. data/ext/quickfix/SessionSettings.h +171 -0
  89. data/ext/quickfix/SessionState.h +231 -0
  90. data/ext/quickfix/Settings.cpp +100 -0
  91. data/ext/quickfix/Settings.h +53 -0
  92. data/ext/quickfix/SharedArray.h +150 -0
  93. data/ext/quickfix/SocketAcceptor.cpp +222 -0
  94. data/ext/quickfix/SocketAcceptor.h +75 -0
  95. data/ext/quickfix/SocketConnection.cpp +238 -0
  96. data/ext/quickfix/SocketConnection.h +103 -0
  97. data/ext/quickfix/SocketConnector.cpp +116 -0
  98. data/ext/quickfix/SocketConnector.h +67 -0
  99. data/ext/quickfix/SocketInitiator.cpp +260 -0
  100. data/ext/quickfix/SocketInitiator.h +81 -0
  101. data/ext/quickfix/SocketMonitor.cpp +335 -0
  102. data/ext/quickfix/SocketMonitor.h +111 -0
  103. data/ext/quickfix/SocketServer.cpp +177 -0
  104. data/ext/quickfix/SocketServer.h +100 -0
  105. data/ext/quickfix/ThreadedSocketAcceptor.cpp +258 -0
  106. data/ext/quickfix/ThreadedSocketAcceptor.h +98 -0
  107. data/ext/quickfix/ThreadedSocketConnection.cpp +209 -0
  108. data/ext/quickfix/ThreadedSocketConnection.h +82 -0
  109. data/ext/quickfix/ThreadedSocketInitiator.cpp +268 -0
  110. data/ext/quickfix/ThreadedSocketInitiator.h +84 -0
  111. data/ext/quickfix/TimeRange.cpp +173 -0
  112. data/ext/quickfix/TimeRange.h +258 -0
  113. data/ext/quickfix/Utility.cpp +537 -0
  114. data/ext/quickfix/Utility.h +219 -0
  115. data/ext/quickfix/Values.h +62 -0
  116. data/ext/quickfix/config.h +0 -0
  117. data/ext/quickfix/config_windows.h +0 -0
  118. data/ext/quickfix/extconf.rb +12 -0
  119. data/ext/quickfix/index.h +37 -0
  120. data/ext/quickfix/pugiconfig.hpp +72 -0
  121. data/ext/quickfix/pugixml.cpp +10765 -0
  122. data/ext/quickfix/pugixml.hpp +1341 -0
  123. data/ext/quickfix/strptime.h +7 -0
  124. data/lib/quickfix40.rb +274 -0
  125. data/lib/quickfix41.rb +351 -0
  126. data/lib/quickfix42.rb +1184 -0
  127. data/lib/quickfix43.rb +3504 -0
  128. data/lib/quickfix44.rb +10721 -0
  129. data/lib/quickfix50.rb +13426 -0
  130. data/lib/quickfix50sp1.rb +15629 -0
  131. data/lib/quickfix50sp2.rb +17068 -0
  132. data/lib/quickfix_fields.rb +19853 -0
  133. data/lib/quickfix_ruby.rb +82 -0
  134. data/lib/quickfixt11.rb +70 -0
  135. data/spec/FIX40.xml +862 -0
  136. data/spec/FIX41.xml +1285 -0
  137. data/spec/FIX42.xml +2746 -0
  138. data/spec/FIX43.xml +4229 -0
  139. data/spec/FIX44.xml +6596 -0
  140. data/spec/FIX50.xml +8137 -0
  141. data/spec/FIX50SP1.xml +9496 -0
  142. data/spec/FIX50SP2.xml +10011 -0
  143. data/spec/FIXT11.xml +313 -0
  144. data/test/test_DataDictionaryTestCase.rb +268 -0
  145. data/test/test_DictionaryTestCase.rb +112 -0
  146. data/test/test_FieldBaseTestCase.rb +24 -0
  147. data/test/test_MessageTestCase.rb +368 -0
  148. data/test/test_SessionSettingsTestCase.rb +41 -0
  149. metadata +193 -0
@@ -0,0 +1,219 @@
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
+ #ifndef _MSC_VER
30
+ #include "Allocator.h"
31
+ #endif
32
+
33
+ #ifdef HAVE_STLPORT
34
+ #define ALLOCATOR std::allocator
35
+ #elif ENABLE_DEBUG_ALLOCATOR
36
+ #include <ext/debug_allocator.h>
37
+ #define ALLOCATOR __gnu_cxx::debug_allocator
38
+ #elif ENABLE_NEW_ALLOCATOR
39
+ #include <ext/new_allocator.h>
40
+ #define ALLOCATOR __gnu_cxx::new_allocator
41
+ #elif ENABLE_BOOST_FAST_POOL_ALLOCATOR
42
+ #include <boost/pool/pool_alloc.hpp>
43
+ #define ALLOCATOR boost::fast_pool_allocator
44
+ #elif ENABLE_MT_ALLOCATOR
45
+ #include <ext/mt_allocator.h>
46
+ #define ALLOCATOR __gnu_cxx::__mt_alloc
47
+ #elif ENABLE_BOOST_POOL_ALLOCATOR
48
+ #include <boost/pool/pool_alloc.hpp>
49
+ #define ALLOCATOR boost::pool_allocator
50
+ #elif ENABLE_POOL_ALLOCATOR
51
+ #include <ext/pool_allocator.h>
52
+ #define ALLOCATOR __gnu_cxx::__pool_alloc
53
+ #elif ENABLE_BITMAP_ALLOCATOR
54
+ #include <ext/bitmap_allocator.h>
55
+ #define ALLOCATOR __gnu_cxx::bitmap_allocator
56
+ #elif ENABLE_TBB_ALLOCATOR
57
+ #include <tbb/scalable_allocator.h>
58
+ #define ALLOCATOR tbb::scalable_allocator
59
+ #else
60
+ #define ALLOCATOR std::allocator
61
+ #endif
62
+
63
+ #ifdef _MSC_VER
64
+ /////////////////////////////////////////////
65
+ #include <Winsock2.h>
66
+ #include <process.h>
67
+ #include <direct.h>
68
+ #include <time.h>
69
+ typedef int socklen_t;
70
+ typedef int ssize_t;
71
+ /////////////////////////////////////////////
72
+ #else
73
+ /////////////////////////////////////////////
74
+ #include <sys/types.h>
75
+ #include <sys/socket.h>
76
+ #include <sys/ioctl.h>
77
+ #include <sys/time.h>
78
+ #include <sys/stat.h>
79
+ #include <netinet/in.h>
80
+ #include <netinet/tcp.h>
81
+ #include <arpa/inet.h>
82
+ #include <netdb.h>
83
+ #include <fcntl.h>
84
+ #include <unistd.h>
85
+ #include <pthread.h>
86
+ #include <signal.h>
87
+ #include <errno.h>
88
+ #include <time.h>
89
+ #include <stdlib.h>
90
+ /////////////////////////////////////////////
91
+ #endif
92
+
93
+ #include <string>
94
+ #include <cstring>
95
+ #include <cctype>
96
+ #include <ctime>
97
+ #include <cstdio>
98
+ #include <cstdlib>
99
+ #include <memory>
100
+
101
+ #if defined(HAVE_STD_SHARED_PTR)
102
+ namespace ptr = std;
103
+ #elif defined(HAVE_STD_TR1_SHARED_PTR)
104
+ #include <tr1/memory>
105
+ namespace ptr = std::tr1;
106
+ #else
107
+ namespace ptr = std;
108
+ #endif
109
+
110
+ namespace FIX
111
+ {
112
+ void string_replace( const std::string& oldValue,
113
+ const std::string& newValue,
114
+ std::string& value );
115
+
116
+ std::string string_toLower( const std::string& value );
117
+ std::string string_toUpper( const std::string& value );
118
+ std::string string_strip( const std::string& value );
119
+
120
+ void socket_init();
121
+ void socket_term();
122
+ int socket_createAcceptor( int port, bool reuse = false );
123
+ int socket_createConnector();
124
+ int socket_connect( int s, const char* address, int port );
125
+ int socket_accept( int s );
126
+ ssize_t socket_send( int s, const char* msg, size_t length );
127
+ void socket_close( int s );
128
+ bool socket_fionread( int s, int& bytes );
129
+ bool socket_disconnected( int s );
130
+ int socket_setsockopt( int s, int opt );
131
+ int socket_setsockopt( int s, int opt, int optval );
132
+ int socket_getsockopt( int s, int opt, int& optval );
133
+ #ifndef _MSC_VER
134
+ int socket_fcntl( int s, int opt, int arg );
135
+ int socket_getfcntlflag( int s, int arg );
136
+ int socket_setfcntlflag( int s, int arg );
137
+ #endif
138
+ void socket_setnonblock( int s );
139
+ bool socket_isValid( int socket );
140
+ #ifndef _MSC_VER
141
+ bool socket_isBad( int s );
142
+ #endif
143
+ void socket_invalidate( int& socket );
144
+ short socket_hostport( int socket );
145
+ const char* socket_hostname( int socket );
146
+ const char* socket_hostname( const char* name );
147
+ const char* socket_peername( int socket );
148
+ std::pair<int, int> socket_createpair();
149
+
150
+ tm time_gmtime( const time_t* t );
151
+ tm time_localtime( const time_t* t );
152
+
153
+ #ifdef _MSC_VER
154
+ typedef unsigned int (_stdcall THREAD_START_ROUTINE)(void *);
155
+ #define THREAD_PROC unsigned int _stdcall
156
+ #else
157
+ extern "C" { typedef void * (THREAD_START_ROUTINE)(void *); }
158
+ #define THREAD_PROC void *
159
+ #endif
160
+
161
+ #ifdef _MSC_VER
162
+ typedef unsigned thread_id;
163
+ #else
164
+ typedef pthread_t thread_id;
165
+ #endif
166
+
167
+ bool thread_spawn( THREAD_START_ROUTINE func, void* var, thread_id& thread );
168
+ bool thread_spawn( THREAD_START_ROUTINE func, void* var );
169
+ void thread_join( thread_id thread );
170
+ void thread_detach( thread_id thread );
171
+ thread_id thread_self();
172
+
173
+ void process_sleep( double s );
174
+
175
+ std::string file_separator();
176
+ void file_mkdir( const char* path );
177
+ FILE* file_fopen( const char* path, const char* mode );
178
+ void file_fclose( FILE* file );
179
+ bool file_exists( const char* path );
180
+ void file_unlink( const char* path );
181
+ int file_rename( const char* oldpath, const char* newpath );
182
+ std::string file_appendpath( const std::string& path, const std::string& file );
183
+ }
184
+
185
+ #if( _MSC_VER >= 1400 )
186
+ #define HAVE_FSCANF_S 1
187
+ #define FILE_FSCANF fscanf_s
188
+ #else
189
+ #define FILE_FSCANF fscanf
190
+ #endif
191
+
192
+ #if( _MSC_VER >= 1400 )
193
+ #define HAVE_SPRINTF_S 1
194
+ #define STRING_SPRINTF sprintf_s
195
+ #else
196
+ #define STRING_SPRINTF sprintf
197
+ #endif
198
+
199
+ #if (!defined(_MSC_VER) || (_MSC_VER >= 1300)) && !defined(HAVE_STLPORT)
200
+ using std::abort;
201
+ using std::sprintf;
202
+ using std::atoi;
203
+ using std::atol;
204
+ using std::atof;
205
+ using std::isdigit;
206
+ using std::strcmp;
207
+ using std::strftime;
208
+ using std::strlen;
209
+ using std::abs;
210
+ using std::labs;
211
+ using std::memcpy;
212
+ using std::memset;
213
+ using std::exit;
214
+ using std::strtod;
215
+ using std::strtol;
216
+ using std::strerror;
217
+ #endif
218
+
219
+ #endif
@@ -0,0 +1,62 @@
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_VALUES_BASE_H
23
+ #define FIX_VALUES_BASE_H
24
+
25
+ #include "FixValues.h"
26
+ #include <string>
27
+
28
+ namespace FIX
29
+ {
30
+ const char BeginString_FIXT11[] = "FIXT.1.1";
31
+ const char BeginString_FIX50[] = "FIX.5.0";
32
+ const char BeginString_FIX44[] = "FIX.4.4";
33
+ const char BeginString_FIX43[] = "FIX.4.3";
34
+ const char BeginString_FIX42[] = "FIX.4.2";
35
+ const char BeginString_FIX41[] = "FIX.4.1";
36
+ const char BeginString_FIX40[] = "FIX.4.0";
37
+
38
+ const char SessionRejectReason_INVALID_TAG_NUMBER_TEXT[] = "Invalid tag number";
39
+ const char SessionRejectReason_REQUIRED_TAG_MISSING_TEXT[] = "Required tag missing";
40
+ const char SessionRejectReason_TAG_NOT_DEFINED_FOR_THIS_MESSAGE_TYPE_TEXT[] = "Tag not defined for this message type";
41
+ const char SessionRejectReason_UNDEFINED_TAG_TEXT[] = "Undefined Tag";
42
+ const char SessionRejectReason_TAG_SPECIFIED_WITHOUT_A_VALUE_TEXT[] = "Tag specified without a value";
43
+ const char SessionRejectReason_VALUE_IS_INCORRECT_TEXT[] = "Value is incorrect (out of range) for this tag";
44
+ const char SessionRejectReason_INCORRECT_DATA_FORMAT_FOR_VALUE_TEXT[] = "Incorrect data format for value";
45
+ const char SessionRejectReason_DECRYPTION_PROBLEM_TEXT[] = "Decryption problem";
46
+ const char SessionRejectReason_SIGNATURE_PROBLEM_TEXT[] = "Signature problem";
47
+ const char SessionRejectReason_COMPID_PROBLEM_TEXT[] = "CompID problem";
48
+ const char SessionRejectReason_SENDINGTIME_ACCURACY_PROBLEM_TEXT[] = "SendingTime accuracy problem";
49
+ const char SessionRejectReason_INVALID_MSGTYPE_TEXT[] = "Invalid MsgType";
50
+ const char SessionRejectReason_TAG_APPEARS_MORE_THAN_ONCE_TEXT[] = "Tag appears more than once";
51
+ const char SessionRejectReason_TAG_SPECIFIED_OUT_OF_REQUIRED_ORDER_TEXT[] = "Tag specified out of required order";
52
+ const char SessionRejectReason_INCORRECT_NUMINGROUP_COUNT_FOR_REPEATING_GROUP_TEXT[] = "Incorrect NumInGroup count for repeating group";
53
+ const char BusinessRejectReason_OTHER_TEXT[] = "Other";
54
+ const char BusinessRejectReason_UNKNOWN_ID_TEXT[] = "Unknown ID";
55
+ const char BusinessRejectReason_UNKNOWN_SECURITY_TEXT[] = "Unknown Security";
56
+ const char BusinessRejectReason_UNSUPPORTED_MESSAGE_TYPE_TEXT[] = "Unsupported Message Type";
57
+ const char BusinessRejectReason_APPLICATION_NOT_AVAILABLE_TEXT[] = "Application Not Available";
58
+ const char BusinessRejectReason_CONDITIONALLY_REQUIRED_FIELD_MISSING_TEXT[] = "Conditionally Required Field Missing";
59
+ const char BusinessRejectReason_NOT_AUTHORIZED_TEXT[] = "Not Authorized";
60
+ const char BusinessRejectReason_DELIVERTO_FIRM_NOT_AVAILABLE_AT_THIS_TIME_TEXT[] = "Deliver to firm not available at this time";
61
+ }
62
+ #endif //FIX_VALUES_BASE_H
File without changes
File without changes
@@ -0,0 +1,12 @@
1
+ require 'mkmf'
2
+ dir_config("quickfix", ["."], ".")
3
+ CONFIG["CC"] = ENV['CXX']
4
+ CONFIG["CXXFLAGS"] = '-std=c++0x'
5
+ CONFIG["LIBS"] += ENV['LIBS'] if ENV['LIBS'] != nil
6
+
7
+ if( ENV['CXX'] != nil )
8
+ CONFIG["LDSHARED"].gsub!("gcc", ENV['CXX'])
9
+ CONFIG["LDSHARED"].gsub!("cc", ENV['CXX'])
10
+ end
11
+
12
+ create_makefile("quickfix")
@@ -0,0 +1,37 @@
1
+ /*! \mainpage QuickFIX Documentation
2
+ * <b>Installation</b>
3
+ * <ul>
4
+ * <li><a href="dependencies.html">Dependencies</a></li>
5
+ * <li><a href="building.html">Building</a></li>
6
+ * <li><a href="generating_databases.html">Generating Databases</a></li>
7
+ * <li><a href="testing.html">Testing</a></li>
8
+ * </ul>
9
+ * <b>Getting Started</b>
10
+ * <ul>
11
+ * <li><a href="project.html">Setting Up Your Project</a></li>
12
+ * <li><a href="application.html">Creating Your Application</a></li>
13
+ * <li><a href="configuration.html">Configuration</a></li>
14
+ * <li><a href="xmlschema.html">Validation</a></li>
15
+ * </ul>
16
+ * <b>Working With Messages</b>
17
+ * <ul>
18
+ * <li><a href="receiving_messages.html">Receiving Messages</a></li>
19
+ * <li><a href="sending_messages.html">Sending Messages</a></li>
20
+ * <li><a href="repeating_groups.html">Repeating Groups</a></li>
21
+ * <li><a href="user_defined.html">User Defined Fields</a></li>
22
+ * <li><a href="examples.html">Example Applications</a></li>
23
+ * </ul>
24
+ * <b>Testing</b>
25
+ * <ul>
26
+ * <li><a href="unit_tests.html">Unit Tests</a></li>
27
+ * <li><a href="acceptance_tests.html">Acceptance Tests</a></li>
28
+ * </ul>
29
+ *
30
+ *The Financial Information Exchange (<a href="http://www.fixprotocol.org">FIX</a>) Protocol is a message standard developed
31
+ *to facilitate the electronic exchange of information related to securities transactions.
32
+ *It is intended for use between trading partners wishing to automate communications.
33
+ *
34
+ *<I>QuickFIX is a free and open source implementation of the <a href="http://www.fixprotocol.org">FIX</a> protocol.</I>
35
+ *
36
+ * \author Oren Miller oren@quickfixengine.org
37
+ */
@@ -0,0 +1,72 @@
1
+ /**
2
+ * pugixml parser - version 1.4
3
+ * --------------------------------------------------------
4
+ * Copyright (C) 2006-2014, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com)
5
+ * Report bugs and download new versions at http://pugixml.org/
6
+ *
7
+ * This library is distributed under the MIT License. See notice at the end
8
+ * of this file.
9
+ *
10
+ * This work is based on the pugxml parser, which is:
11
+ * Copyright (C) 2003, by Kristen Wegner (kristen@tima.net)
12
+ */
13
+
14
+ #ifndef HEADER_PUGICONFIG_HPP
15
+ #define HEADER_PUGICONFIG_HPP
16
+
17
+ // Uncomment this to enable wchar_t mode
18
+ // #define PUGIXML_WCHAR_MODE
19
+
20
+ // Uncomment this to disable XPath
21
+ // #define PUGIXML_NO_XPATH
22
+
23
+ // Uncomment this to disable STL
24
+ // #define PUGIXML_NO_STL
25
+
26
+ // Uncomment this to disable exceptions
27
+ // #define PUGIXML_NO_EXCEPTIONS
28
+
29
+ // Set this to control attributes for public classes/functions, i.e.:
30
+ // #define PUGIXML_API __declspec(dllexport) // to export all public symbols from DLL
31
+ // #define PUGIXML_CLASS __declspec(dllimport) // to import all classes from DLL
32
+ // #define PUGIXML_FUNCTION __fastcall // to set calling conventions to all public functions to fastcall
33
+ // In absence of PUGIXML_CLASS/PUGIXML_FUNCTION definitions PUGIXML_API is used instead
34
+
35
+ // Tune these constants to adjust memory-related behavior
36
+ // #define PUGIXML_MEMORY_PAGE_SIZE 32768
37
+ // #define PUGIXML_MEMORY_OUTPUT_STACK 10240
38
+ // #define PUGIXML_MEMORY_XPATH_PAGE_SIZE 4096
39
+
40
+ // Uncomment this to switch to header-only version
41
+ // #define PUGIXML_HEADER_ONLY
42
+ // #include "pugixml.cpp"
43
+
44
+ // Uncomment this to enable long long support
45
+ // #define PUGIXML_HAS_LONG_LONG
46
+
47
+ #endif
48
+
49
+ /**
50
+ * Copyright (c) 2006-2014 Arseny Kapoulkine
51
+ *
52
+ * Permission is hereby granted, free of charge, to any person
53
+ * obtaining a copy of this software and associated documentation
54
+ * files (the "Software"), to deal in the Software without
55
+ * restriction, including without limitation the rights to use,
56
+ * copy, modify, merge, publish, distribute, sublicense, and/or sell
57
+ * copies of the Software, and to permit persons to whom the
58
+ * Software is furnished to do so, subject to the following
59
+ * conditions:
60
+ *
61
+ * The above copyright notice and this permission notice shall be
62
+ * included in all copies or substantial portions of the Software.
63
+ *
64
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
65
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
66
+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
67
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
68
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
69
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
70
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
71
+ * OTHER DEALINGS IN THE SOFTWARE.
72
+ */