quickfix_ruby 1.14.3

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 (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
+ */