1require 'quickfix'
2module Quickfix40
3class Message < Quickfix::Message
4	def initialize
5		super
6		getHeader().setField( Quickfix::BeginString.new("FIX.4.0") )
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
57end
58
59class Advertisement < Message
60	def initialize
61		super
62		getHeader().setField( Quickfix::MsgType.new("7") )
63	end
64end
65
66class ExecutionReport < Message
67	def initialize
68		super
69		getHeader().setField( Quickfix::MsgType.new("8") )
70	end
71
72	class NoMiscFees < Quickfix::Group
73		def initialize
74			order = Quickfix::IntArray.new(4)
75			order[0] = 137
76			order[1] = 138
77			order[2] = 139
78			order[3] = 0
79			super(136, 137, order)
80		end
81	end
82end
83
84class OrderCancelReject < Message
85	def initialize
86		super
87		getHeader().setField( Quickfix::MsgType.new("9") )
88	end
89end
90
91class Logon < Message
92	def initialize
93		super
94		getHeader().setField( Quickfix::MsgType.new("A") )
95	end
96end
97
98class News < Message
99	def initialize
100		super
101		getHeader().setField( Quickfix::MsgType.new("B") )
102	end
103end
104
105class Email < Message
106	def initialize
107		super
108		getHeader().setField( Quickfix::MsgType.new("C") )
109	end
110end
111
112class NewOrderSingle < Message
113	def initialize
114		super
115		getHeader().setField( Quickfix::MsgType.new("D") )
116	end
117end
118
119class NewOrderList < Message
120	def initialize
121		super
122		getHeader().setField( Quickfix::MsgType.new("E") )
123	end
124end
125
126class OrderCancelRequest < Message
127	def initialize
128		super
129		getHeader().setField( Quickfix::MsgType.new("F") )
130	end
131end
132
133class OrderCancelReplaceRequest < Message
134	def initialize
135		super
136		getHeader().setField( Quickfix::MsgType.new("G") )
137	end
138end
139
140class OrderStatusRequest < Message
141	def initialize
142		super
143		getHeader().setField( Quickfix::MsgType.new("H") )
144	end
145end
146
147class Allocation < Message
148	def initialize
149		super
150		getHeader().setField( Quickfix::MsgType.new("J") )
151	end
152
153	class NoOrders < Quickfix::Group
154		def initialize
155			order = Quickfix::IntArray.new(5)
156			order[0] = 11
157			order[1] = 37
158			order[2] = 66
159			order[3] = 105
160			order[4] = 0
161			super(73, 11, order)
162		end
163	end
164
165	class NoExecs < Quickfix::Group
166		def initialize
167			order = Quickfix::IntArray.new(5)
168			order[0] = 17
169			order[1] = 32
170			order[2] = 31
171			order[3] = 30
172			order[4] = 0
173			super(124, 17, order)
174		end
175	end
176
177	class NoMiscFees < Quickfix::Group
178		def initialize
179			order = Quickfix::IntArray.new(4)
180			order[0] = 137
181			order[1] = 138
182			order[2] = 139
183			order[3] = 0
184			super(136, 137, order)
185		end
186	end
187
188	class NoAllocs < Quickfix::Group
189		def initialize
190			order = Quickfix::IntArray.new(11)
191			order[0] = 79
192			order[1] = 80
193			order[2] = 81
194			order[3] = 76
195			order[4] = 109
196			order[5] = 12
197			order[6] = 13
198			order[7] = 85
199			order[8] = 92
200			order[9] = 86
201			order[10] = 0
202			super(78, 79, order)
203		end
204	end
205end
206
207class ListCancelRequest < Message
208	def initialize
209		super
210		getHeader().setField( Quickfix::MsgType.new("K") )
211	end
212end
213
214class ListExecute < Message
215	def initialize
216		super
217		getHeader().setField( Quickfix::MsgType.new("L") )
218	end
219end
220
221class ListStatusRequest < Message
222	def initialize
223		super
224		getHeader().setField( Quickfix::MsgType.new("M") )
225	end
226end
227
228class ListStatus < Message
229	def initialize
230		super
231		getHeader().setField( Quickfix::MsgType.new("N") )
232	end
233
234	class NoOrders < Quickfix::Group
235		def initialize
236			order = Quickfix::IntArray.new(5)
237			order[0] = 11
238			order[1] = 14
239			order[2] = 84
240			order[3] = 6
241			order[4] = 0
242			super(73, 11, order)
243		end
244	end
245end
246
247class AllocationInstructionAck < Message
248	def initialize
249		super
250		getHeader().setField( Quickfix::MsgType.new("P") )
251	end
252end
253
254class DontKnowTrade < Message
255	def initialize
256		super
257		getHeader().setField( Quickfix::MsgType.new("Q") )
258	end
259end
260
261class QuoteRequest < Message
262	def initialize
263		super
264		getHeader().setField( Quickfix::MsgType.new("R") )
265	end
266end
267
268class Quote < Message
269	def initialize
270		super
271		getHeader().setField( Quickfix::MsgType.new("S") )
272	end
273end
274end
275