forked from cryptogarageinc/quickfix-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
QuoteRequestReject.go
158 lines (148 loc) · 7.49 KB
/
QuoteRequestReject.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
//Package quoterequestreject msg type = AG.
package quoterequestreject
import (
"github.com/quickfixgo/quickfix"
"github.com/quickfixgo/quickfix/enum"
"github.com/quickfixgo/quickfix/fix43"
"github.com/quickfixgo/quickfix/fix43/instrument"
"github.com/quickfixgo/quickfix/fix43/spreadorbenchmarkcurvedata"
"github.com/quickfixgo/quickfix/fix43/stipulations"
"github.com/quickfixgo/quickfix/fix43/yielddata"
"time"
)
//NoRelatedSym is a repeating group in QuoteRequestReject
type NoRelatedSym struct {
//Instrument is a required component for NoRelatedSym.
instrument.Instrument
//PrevClosePx is a non-required field for NoRelatedSym.
PrevClosePx *float64 `fix:"140"`
//QuoteRequestType is a non-required field for NoRelatedSym.
QuoteRequestType *int `fix:"303"`
//QuoteType is a non-required field for NoRelatedSym.
QuoteType *int `fix:"537"`
//TradingSessionID is a non-required field for NoRelatedSym.
TradingSessionID *string `fix:"336"`
//TradingSessionSubID is a non-required field for NoRelatedSym.
TradingSessionSubID *string `fix:"625"`
//TradeOriginationDate is a non-required field for NoRelatedSym.
TradeOriginationDate *string `fix:"229"`
//Stipulations is a non-required component for NoRelatedSym.
Stipulations *stipulations.Stipulations
//Side is a non-required field for NoRelatedSym.
Side *string `fix:"54"`
//QuantityType is a non-required field for NoRelatedSym.
QuantityType *int `fix:"465"`
//OrderQty is a non-required field for NoRelatedSym.
OrderQty *float64 `fix:"38"`
//CashOrderQty is a non-required field for NoRelatedSym.
CashOrderQty *float64 `fix:"152"`
//SettlmntTyp is a non-required field for NoRelatedSym.
SettlmntTyp *string `fix:"63"`
//FutSettDate is a non-required field for NoRelatedSym.
FutSettDate *string `fix:"64"`
//OrdType is a non-required field for NoRelatedSym.
OrdType *string `fix:"40"`
//FutSettDate2 is a non-required field for NoRelatedSym.
FutSettDate2 *string `fix:"193"`
//OrderQty2 is a non-required field for NoRelatedSym.
OrderQty2 *float64 `fix:"192"`
//ExpireTime is a non-required field for NoRelatedSym.
ExpireTime *time.Time `fix:"126"`
//TransactTime is a non-required field for NoRelatedSym.
TransactTime *time.Time `fix:"60"`
//Currency is a non-required field for NoRelatedSym.
Currency *string `fix:"15"`
//SpreadOrBenchmarkCurveData is a non-required component for NoRelatedSym.
SpreadOrBenchmarkCurveData *spreadorbenchmarkcurvedata.SpreadOrBenchmarkCurveData
//PriceType is a non-required field for NoRelatedSym.
PriceType *int `fix:"423"`
//Price is a non-required field for NoRelatedSym.
Price *float64 `fix:"44"`
//Price2 is a non-required field for NoRelatedSym.
Price2 *float64 `fix:"640"`
//YieldData is a non-required component for NoRelatedSym.
YieldData *yielddata.YieldData
}
//NewNoRelatedSym returns an initialized NoRelatedSym instance
func NewNoRelatedSym(instrument instrument.Instrument) *NoRelatedSym {
var m NoRelatedSym
m.SetInstrument(instrument)
return &m
}
func (m *NoRelatedSym) SetInstrument(v instrument.Instrument) { m.Instrument = v }
func (m *NoRelatedSym) SetPrevClosePx(v float64) { m.PrevClosePx = &v }
func (m *NoRelatedSym) SetQuoteRequestType(v int) { m.QuoteRequestType = &v }
func (m *NoRelatedSym) SetQuoteType(v int) { m.QuoteType = &v }
func (m *NoRelatedSym) SetTradingSessionID(v string) { m.TradingSessionID = &v }
func (m *NoRelatedSym) SetTradingSessionSubID(v string) { m.TradingSessionSubID = &v }
func (m *NoRelatedSym) SetTradeOriginationDate(v string) { m.TradeOriginationDate = &v }
func (m *NoRelatedSym) SetStipulations(v stipulations.Stipulations) { m.Stipulations = &v }
func (m *NoRelatedSym) SetSide(v string) { m.Side = &v }
func (m *NoRelatedSym) SetQuantityType(v int) { m.QuantityType = &v }
func (m *NoRelatedSym) SetOrderQty(v float64) { m.OrderQty = &v }
func (m *NoRelatedSym) SetCashOrderQty(v float64) { m.CashOrderQty = &v }
func (m *NoRelatedSym) SetSettlmntTyp(v string) { m.SettlmntTyp = &v }
func (m *NoRelatedSym) SetFutSettDate(v string) { m.FutSettDate = &v }
func (m *NoRelatedSym) SetOrdType(v string) { m.OrdType = &v }
func (m *NoRelatedSym) SetFutSettDate2(v string) { m.FutSettDate2 = &v }
func (m *NoRelatedSym) SetOrderQty2(v float64) { m.OrderQty2 = &v }
func (m *NoRelatedSym) SetExpireTime(v time.Time) { m.ExpireTime = &v }
func (m *NoRelatedSym) SetTransactTime(v time.Time) { m.TransactTime = &v }
func (m *NoRelatedSym) SetCurrency(v string) { m.Currency = &v }
func (m *NoRelatedSym) SetSpreadOrBenchmarkCurveData(v spreadorbenchmarkcurvedata.SpreadOrBenchmarkCurveData) {
m.SpreadOrBenchmarkCurveData = &v
}
func (m *NoRelatedSym) SetPriceType(v int) { m.PriceType = &v }
func (m *NoRelatedSym) SetPrice(v float64) { m.Price = &v }
func (m *NoRelatedSym) SetPrice2(v float64) { m.Price2 = &v }
func (m *NoRelatedSym) SetYieldData(v yielddata.YieldData) { m.YieldData = &v }
//Message is a QuoteRequestReject FIX Message
type Message struct {
FIXMsgType string `fix:"AG"`
fix43.Header
//QuoteReqID is a required field for QuoteRequestReject.
QuoteReqID string `fix:"131"`
//RFQReqID is a non-required field for QuoteRequestReject.
RFQReqID *string `fix:"644"`
//QuoteRequestRejectReason is a required field for QuoteRequestReject.
QuoteRequestRejectReason int `fix:"658"`
//NoRelatedSym is a required field for QuoteRequestReject.
NoRelatedSym []NoRelatedSym `fix:"146"`
//Text is a non-required field for QuoteRequestReject.
Text *string `fix:"58"`
//EncodedTextLen is a non-required field for QuoteRequestReject.
EncodedTextLen *int `fix:"354"`
//EncodedText is a non-required field for QuoteRequestReject.
EncodedText *string `fix:"355"`
fix43.Trailer
}
//Marshal converts Message to a quickfix.Message instance
func (m Message) Marshal() quickfix.Message { return quickfix.Marshal(m) }
//New returns an initialized QuoteRequestReject instance
func New(quotereqid string, quoterequestrejectreason int, norelatedsym []NoRelatedSym) *Message {
var m Message
m.SetQuoteReqID(quotereqid)
m.SetQuoteRequestRejectReason(quoterequestrejectreason)
m.SetNoRelatedSym(norelatedsym)
return &m
}
func (m *Message) SetQuoteReqID(v string) { m.QuoteReqID = v }
func (m *Message) SetRFQReqID(v string) { m.RFQReqID = &v }
func (m *Message) SetQuoteRequestRejectReason(v int) { m.QuoteRequestRejectReason = v }
func (m *Message) SetNoRelatedSym(v []NoRelatedSym) { m.NoRelatedSym = v }
func (m *Message) SetText(v string) { m.Text = &v }
func (m *Message) SetEncodedTextLen(v int) { m.EncodedTextLen = &v }
func (m *Message) SetEncodedText(v string) { m.EncodedText = &v }
//A RouteOut is the callback type that should be implemented for routing Message
type RouteOut func(msg Message, 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 {
m := new(Message)
if err := quickfix.Unmarshal(msg, m); err != nil {
return err
}
return router(*m, sessionID)
}
return enum.BeginStringFIX43, "AG", r
}