1require 'quickfix'
2module Quickfix41
3class Message < Quickfix::Message
4	def initialize
5		super
6		getHeader().setField( Quickfix::BeginString.new("FIX.4.1") )
7	end
8end
9
10class Heartbeat < Message
11	def initialize
12		super
13		getHeader().setField( Quickfix::MsgType.new("0") )
14	end
15end
16
17class TestRequest < Message
18	def initialize
19		super
20		getHeader().setField( Quickfix::MsgType.new("1") )
21	end
22end
23
24class ResendRequest < Message
25	def initialize
26		super
27		getHeader().setField( Quickfix::MsgType.new("2") )
28	end
29end
30
31class Reject < Message
32	def initialize
33		super
34		getHeader().setField( Quickfix::MsgType.new("3") )
35	end
36end
37
38class SequenceReset < Message
39	def initialize
40		super
41		getHeader().setField( Quickfix::MsgType.new("4") )
42	end
43end
44
45class Logout < Message
46	def initialize
47		super
48		getHeader().setField( Quickfix::MsgType.new("5") )
49	end
50end
51
52class IOI < Message
53	def initialize
54		super
55		getHeader().setField( Quickfix::MsgType.new("6") )
56	end
57
58	class NoIOIQualifiers < Quickfix::Group
59		def initialize
60			order = Quickfix::IntArray.new(2)
61			order[0] = 104
62			order[1] = 0
63			super(199, 104, order)
64		end
65	end
66end
67
68class Advertisement < Message
69	def initialize
70		super
71		getHeader().setField( Quickfix::MsgType.new("7") )
72	end
73end
74
75class ExecutionReport < Message
76	def initialize
77		super
78		getHeader().setField( Quickfix::MsgType.new("8") )
79	end
80end
81
82class OrderCancelReject < Message
83	def initialize
84		super
85		getHeader().setField( Quickfix::MsgType.new("9") )
86	end
87end
88
89class Logon < Message
90	def initialize
91		super
92		getHeader().setField( Quickfix::MsgType.new("A") )
93	end
94end
95
96class News < Message
97	def initialize
98		super
99		getHeader().setField( Quickfix::MsgType.new("B") )
100	end
101
102	class NoRelatedSym < Quickfix::Group
103		def initialize
104			order = Quickfix::IntArray.new(14)
105			order[0] = 46
106			order[1] = 65
107			order[2] = 48
108			order[3] = 22
109			order[4] = 167
110			order[5] = 200
111			order[6] = 205
112			order[7] = 201
113			order[8] = 202
114			order[9] = 206
115			order[10] = 207
116			order[11] = 106
117			order[12] = 107
118			order[13] = 0
119			super(146, 46, order)
120		end
121	end
122
123	class LinesOfText < Quickfix::Group
124		def initialize
125			order = Quickfix::IntArray.new(2)
126			order[0] = 58
127			order[1] = 0
128			super(33, 58, order)
129		end
130	end
131end
132
133class Email < Message
134	def initialize
135		super
136		getHeader().setField( Quickfix::MsgType.new("C") )
137	end
138
139	class NoRelatedSym < Quickfix::Group
140		def initialize
141			order = Quickfix::IntArray.new(14)
142			order[0] = 46
143			order[1] = 65
144			order[2] = 48
145			order[3] = 22
146			order[4] = 167
147			order[5] = 200
148			order[6] = 205
149			order[7] = 201
150			order[8] = 202
151			order[9] = 206
152			order[10] = 207
153			order[11] = 106
154			order[12] = 107
155			order[13] = 0
156			super(146, 46, order)
157		end
158	end
159
160	class LinesOfText < Quickfix::Group
161		def initialize
162			order = Quickfix::IntArray.new(2)
163			order[0] = 58
164			order[1] = 0
165			super(33, 58, order)
166		end
167	end
168end
169
170class NewOrderSingle < Message
171	def initialize
172		super
173		getHeader().setField( Quickfix::MsgType.new("D") )
174	end
175end
176
177class NewOrderList < Message
178	def initialize
179		super
180		getHeader().setField( Quickfix::MsgType.new("E") )
181	end
182end
183
184class OrderCancelRequest < Message
185	def initialize
186		super
187		getHeader().setField( Quickfix::MsgType.new("F") )
188	end
189end
190
191class OrderCancelReplaceRequest < Message
192	def initialize
193		super
194		getHeader().setField( Quickfix::MsgType.new("G") )
195	end
196end
197
198class OrderStatusRequest < Message
199	def initialize
200		super
201		getHeader().setField( Quickfix::MsgType.new("H") )
202	end
203end
204
205class Allocation < Message
206	def initialize
207		super
208		getHeader().setField( Quickfix::MsgType.new("J") )
209	end
210
211	class NoOrders < Quickfix::Group
212		def initialize
213			order = Quickfix::IntArray.new(6)
214			order[0] = 11
215			order[1] = 37
216			order[2] = 198
217			order[3] = 66
218			order[4] = 105
219			order[5] = 0
220			super(73, 11, order)
221		end
222	end
223
224	class NoExecs < Quickfix::Group
225		def initialize
226			order = Quickfix::IntArray.new(5)
227			order[0] = 32
228			order[1] = 17
229			order[2] = 31
230			order[3] = 29
231			order[4] = 0
232			super(124, 32, order)
233		end
234	end
235
236	class NoAllocs < Quickfix::Group
237		def initialize
238			order = Quickfix::IntArray.new(21)
239			order[0] = 79
240			order[1] = 80
241			order[2] = 81
242			order[3] = 92
243			order[4] = 208
244			order[5] = 209
245			order[6] = 161
246			order[7] = 76
247			order[8] = 109
248			order[9] = 12
249			order[10] = 13
250			order[11] = 153
251			order[12] = 154
252			order[13] = 119
253			order[14] = 120
254			order[15] = 155
255			order[16] = 156
256			order[17] = 159
257			order[18] = 160
258			order[19] = 136
259			order[20] = 0
260			super(78, 79, order)
261		end
262
263		class NoMiscFees < Quickfix::Group
264			def initialize
265				order = Quickfix::IntArray.new(4)
266				order[0] = 137
267				order[1] = 138
268				order[2] = 139
269				order[3] = 0
270				super(136, 137, order)
271			end
272		end
273	end
274end
275
276class ListCancelRequest < Message
277	def initialize
278		super
279		getHeader().setField( Quickfix::MsgType.new("K") )
280	end
281end
282
283class ListExecute < Message
284	def initialize
285		super
286		getHeader().setField( Quickfix::MsgType.new("L") )
287	end
288end
289
290class ListStatusRequest < Message
291	def initialize
292		super
293		getHeader().setField( Quickfix::MsgType.new("M") )
294	end
295end
296
297class ListStatus < Message
298	def initialize
299		super
300		getHeader().setField( Quickfix::MsgType.new("N") )
301	end
302
303	class NoOrders < Quickfix::Group
304		def initialize
305			order = Quickfix::IntArray.new(6)
306			order[0] = 11
307			order[1] = 14
308			order[2] = 151
309			order[3] = 84
310			order[4] = 6
311			order[5] = 0
312			super(73, 11, order)
313		end
314	end
315end
316
317class AllocationInstructionAck < Message
318	def initialize
319		super
320		getHeader().setField( Quickfix::MsgType.new("P") )
321	end
322end
323
324class DontKnowTrade < Message
325	def initialize
326		super
327		getHeader().setField( Quickfix::MsgType.new("Q") )
328	end
329end
330
331class QuoteRequest < Message
332	def initialize
333		super
334		getHeader().setField( Quickfix::MsgType.new("R") )
335	end
336end
337
338class Quote < Message
339	def initialize
340		super
341		getHeader().setField( Quickfix::MsgType.new("S") )
342	end
343end
344
345class SettlementInstructions < Message
346	def initialize
347		super
348		getHeader().setField( Quickfix::MsgType.new("T") )
349	end
350end
351end
352