forked from quickfixgo/quickfix
/
Logon.generated.go
254 lines (213 loc) · 6.69 KB
/
Logon.generated.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
package logon
import (
"github.com/quickfixgo/quickfix"
"github.com/quickfixgo/quickfix/enum"
"github.com/quickfixgo/quickfix/field"
"github.com/quickfixgo/quickfix/fix42"
"github.com/quickfixgo/quickfix/tag"
)
//Logon is the fix42 Logon type, MsgType = A
type Logon struct {
fix42.Header
*quickfix.Body
fix42.Trailer
Message *quickfix.Message
}
//FromMessage creates a Logon from a quickfix.Message instance
func FromMessage(m *quickfix.Message) Logon {
return Logon{
Header: fix42.Header{&m.Header},
Body: &m.Body,
Trailer: fix42.Trailer{&m.Trailer},
Message: m,
}
}
//ToMessage returns a quickfix.Message instance
func (m Logon) ToMessage() *quickfix.Message {
return m.Message
}
//New returns a Logon initialized with the required fields for Logon
func New(encryptmethod field.EncryptMethodField, heartbtint field.HeartBtIntField) (m Logon) {
m.Message = quickfix.NewMessage()
m.Header = fix42.NewHeader(&m.Message.Header)
m.Body = &m.Message.Body
m.Trailer.Trailer = &m.Message.Trailer
m.Header.Set(field.NewMsgType("A"))
m.Set(encryptmethod)
m.Set(heartbtint)
return
}
//A RouteOut is the callback type that should be implemented for routing Message
type RouteOut func(msg Logon, sessionID quickfix.SessionID) quickfix.MessageRejectError
//Route returns the beginstring, message type, and MessageRoute for this Message type
func Route(router RouteOut) (string, string, quickfix.MessageRoute) {
r := func(msg *quickfix.Message, sessionID quickfix.SessionID) quickfix.MessageRejectError {
return router(FromMessage(msg), sessionID)
}
return "FIX.4.2", "A", r
}
//SetRawDataLength sets RawDataLength, Tag 95
func (m Logon) SetRawDataLength(v int) {
m.Set(field.NewRawDataLength(v))
}
//SetRawData sets RawData, Tag 96
func (m Logon) SetRawData(v string) {
m.Set(field.NewRawData(v))
}
//SetEncryptMethod sets EncryptMethod, Tag 98
func (m Logon) SetEncryptMethod(v enum.EncryptMethod) {
m.Set(field.NewEncryptMethod(v))
}
//SetHeartBtInt sets HeartBtInt, Tag 108
func (m Logon) SetHeartBtInt(v int) {
m.Set(field.NewHeartBtInt(v))
}
//SetResetSeqNumFlag sets ResetSeqNumFlag, Tag 141
func (m Logon) SetResetSeqNumFlag(v bool) {
m.Set(field.NewResetSeqNumFlag(v))
}
//SetMaxMessageSize sets MaxMessageSize, Tag 383
func (m Logon) SetMaxMessageSize(v int) {
m.Set(field.NewMaxMessageSize(v))
}
//SetNoMsgTypes sets NoMsgTypes, Tag 384
func (m Logon) SetNoMsgTypes(f NoMsgTypesRepeatingGroup) {
m.SetGroup(f)
}
//GetRawDataLength gets RawDataLength, Tag 95
func (m Logon) GetRawDataLength() (v int, err quickfix.MessageRejectError) {
var f field.RawDataLengthField
if err = m.Get(&f); err == nil {
v = f.Value()
}
return
}
//GetRawData gets RawData, Tag 96
func (m Logon) GetRawData() (v string, err quickfix.MessageRejectError) {
var f field.RawDataField
if err = m.Get(&f); err == nil {
v = f.Value()
}
return
}
//GetEncryptMethod gets EncryptMethod, Tag 98
func (m Logon) GetEncryptMethod() (v enum.EncryptMethod, err quickfix.MessageRejectError) {
var f field.EncryptMethodField
if err = m.Get(&f); err == nil {
v = f.Value()
}
return
}
//GetHeartBtInt gets HeartBtInt, Tag 108
func (m Logon) GetHeartBtInt() (v int, err quickfix.MessageRejectError) {
var f field.HeartBtIntField
if err = m.Get(&f); err == nil {
v = f.Value()
}
return
}
//GetResetSeqNumFlag gets ResetSeqNumFlag, Tag 141
func (m Logon) GetResetSeqNumFlag() (v bool, err quickfix.MessageRejectError) {
var f field.ResetSeqNumFlagField
if err = m.Get(&f); err == nil {
v = f.Value()
}
return
}
//GetMaxMessageSize gets MaxMessageSize, Tag 383
func (m Logon) GetMaxMessageSize() (v int, err quickfix.MessageRejectError) {
var f field.MaxMessageSizeField
if err = m.Get(&f); err == nil {
v = f.Value()
}
return
}
//GetNoMsgTypes gets NoMsgTypes, Tag 384
func (m Logon) GetNoMsgTypes() (NoMsgTypesRepeatingGroup, quickfix.MessageRejectError) {
f := NewNoMsgTypesRepeatingGroup()
err := m.GetGroup(f)
return f, err
}
//HasRawDataLength returns true if RawDataLength is present, Tag 95
func (m Logon) HasRawDataLength() bool {
return m.Has(tag.RawDataLength)
}
//HasRawData returns true if RawData is present, Tag 96
func (m Logon) HasRawData() bool {
return m.Has(tag.RawData)
}
//HasEncryptMethod returns true if EncryptMethod is present, Tag 98
func (m Logon) HasEncryptMethod() bool {
return m.Has(tag.EncryptMethod)
}
//HasHeartBtInt returns true if HeartBtInt is present, Tag 108
func (m Logon) HasHeartBtInt() bool {
return m.Has(tag.HeartBtInt)
}
//HasResetSeqNumFlag returns true if ResetSeqNumFlag is present, Tag 141
func (m Logon) HasResetSeqNumFlag() bool {
return m.Has(tag.ResetSeqNumFlag)
}
//HasMaxMessageSize returns true if MaxMessageSize is present, Tag 383
func (m Logon) HasMaxMessageSize() bool {
return m.Has(tag.MaxMessageSize)
}
//HasNoMsgTypes returns true if NoMsgTypes is present, Tag 384
func (m Logon) HasNoMsgTypes() bool {
return m.Has(tag.NoMsgTypes)
}
//NoMsgTypes is a repeating group element, Tag 384
type NoMsgTypes struct {
*quickfix.Group
}
//SetRefMsgType sets RefMsgType, Tag 372
func (m NoMsgTypes) SetRefMsgType(v string) {
m.Set(field.NewRefMsgType(v))
}
//SetMsgDirection sets MsgDirection, Tag 385
func (m NoMsgTypes) SetMsgDirection(v enum.MsgDirection) {
m.Set(field.NewMsgDirection(v))
}
//GetRefMsgType gets RefMsgType, Tag 372
func (m NoMsgTypes) GetRefMsgType() (v string, err quickfix.MessageRejectError) {
var f field.RefMsgTypeField
if err = m.Get(&f); err == nil {
v = f.Value()
}
return
}
//GetMsgDirection gets MsgDirection, Tag 385
func (m NoMsgTypes) GetMsgDirection() (v enum.MsgDirection, err quickfix.MessageRejectError) {
var f field.MsgDirectionField
if err = m.Get(&f); err == nil {
v = f.Value()
}
return
}
//HasRefMsgType returns true if RefMsgType is present, Tag 372
func (m NoMsgTypes) HasRefMsgType() bool {
return m.Has(tag.RefMsgType)
}
//HasMsgDirection returns true if MsgDirection is present, Tag 385
func (m NoMsgTypes) HasMsgDirection() bool {
return m.Has(tag.MsgDirection)
}
//NoMsgTypesRepeatingGroup is a repeating group, Tag 384
type NoMsgTypesRepeatingGroup struct {
*quickfix.RepeatingGroup
}
//NewNoMsgTypesRepeatingGroup returns an initialized, NoMsgTypesRepeatingGroup
func NewNoMsgTypesRepeatingGroup() NoMsgTypesRepeatingGroup {
return NoMsgTypesRepeatingGroup{
quickfix.NewRepeatingGroup(tag.NoMsgTypes,
quickfix.GroupTemplate{quickfix.GroupElement(tag.RefMsgType), quickfix.GroupElement(tag.MsgDirection)})}
}
//Add create and append a new NoMsgTypes to this group
func (m NoMsgTypesRepeatingGroup) Add() NoMsgTypes {
g := m.RepeatingGroup.Add()
return NoMsgTypes{g}
}
//Get returns the ith NoMsgTypes in the NoMsgTypesRepeatinGroup
func (m NoMsgTypesRepeatingGroup) Get(i int) NoMsgTypes {
return NoMsgTypes{m.RepeatingGroup.Get(i)}
}