1#![allow(clippy::new_without_default)]
3#![allow(clippy::needless_pass_by_value)]
4#![allow(clippy::too_many_arguments)]
5#![allow(unused_imports)]
6
7use fixer::message::Message;
8use fixer::fix_string::FIXString;
9use fixer::errors::MessageRejectErrorEnum;
10use fixer::session::session_id::SessionID;
11
12use rust_decimal::Decimal;
13
14
15use crate::field;
16use crate::tag;
17
18pub struct QuoteStatusRequest {
20 pub message: Message,
21}
22
23impl QuoteStatusRequest {
24 pub fn new() -> Self {
26 let mut msg = Message::new();
27 msg.header.set_field(tag::MSG_TYPE, FIXString::from("a".to_string()));
28
29 Self { message: msg }
30 }
31
32 pub fn from_message(msg: Message) -> Self {
34 Self { message: msg }
35 }
36
37 pub fn to_message(self) -> Message {
39 self.message
40 }
41
42
43
44
45 pub fn set_account(&mut self, v: String) {
47 self.message.body.set_field(tag::ACCOUNT, FIXString::from(v));
48 }
49
50 pub fn get_account(&self) -> Result<String, MessageRejectErrorEnum> {
52 let mut fld = field::AccountField::new(String::new());
53 self.message.body.get_field(tag::ACCOUNT, &mut fld.0)?;
54 Ok(fld.value().to_string())
55 }
56
57
58 pub fn has_account(&self) -> bool {
60 self.message.body.has(tag::ACCOUNT)
61 }
62
63
64
65
66 pub fn set_account_type(&mut self, v: isize) {
68 self.message.body.set_field(tag::ACCOUNT_TYPE, fixer::fix_int::FIXInt::from(v));
69 }
70
71 pub fn get_account_type(&self) -> Result<isize, MessageRejectErrorEnum> {
73 let mut fld = field::AccountTypeField::new(0);
74 self.message.body.get_field(tag::ACCOUNT_TYPE, &mut fld.0)?;
75 Ok(fld.value())
76 }
77
78
79 pub fn has_account_type(&self) -> bool {
81 self.message.body.has(tag::ACCOUNT_TYPE)
82 }
83
84
85
86
87 pub fn set_acct_id_source(&mut self, v: isize) {
89 self.message.body.set_field(tag::ACCT_ID_SOURCE, fixer::fix_int::FIXInt::from(v));
90 }
91
92 pub fn get_acct_id_source(&self) -> Result<isize, MessageRejectErrorEnum> {
94 let mut fld = field::AcctIDSourceField::new(0);
95 self.message.body.get_field(tag::ACCT_ID_SOURCE, &mut fld.0)?;
96 Ok(fld.value())
97 }
98
99
100 pub fn has_acct_id_source(&self) -> bool {
102 self.message.body.has(tag::ACCT_ID_SOURCE)
103 }
104
105
106
107
108 pub fn set_agreement_currency(&mut self, v: String) {
110 self.message.body.set_field(tag::AGREEMENT_CURRENCY, FIXString::from(v));
111 }
112
113 pub fn get_agreement_currency(&self) -> Result<String, MessageRejectErrorEnum> {
115 let mut fld = field::AgreementCurrencyField::new(String::new());
116 self.message.body.get_field(tag::AGREEMENT_CURRENCY, &mut fld.0)?;
117 Ok(fld.value().to_string())
118 }
119
120
121 pub fn has_agreement_currency(&self) -> bool {
123 self.message.body.has(tag::AGREEMENT_CURRENCY)
124 }
125
126
127
128
129 pub fn set_agreement_date(&mut self, v: String) {
131 self.message.body.set_field(tag::AGREEMENT_DATE, FIXString::from(v));
132 }
133
134 pub fn get_agreement_date(&self) -> Result<String, MessageRejectErrorEnum> {
136 let mut fld = field::AgreementDateField::new(String::new());
137 self.message.body.get_field(tag::AGREEMENT_DATE, &mut fld.0)?;
138 Ok(fld.value().to_string())
139 }
140
141
142 pub fn has_agreement_date(&self) -> bool {
144 self.message.body.has(tag::AGREEMENT_DATE)
145 }
146
147
148
149
150 pub fn set_agreement_desc(&mut self, v: String) {
152 self.message.body.set_field(tag::AGREEMENT_DESC, FIXString::from(v));
153 }
154
155 pub fn get_agreement_desc(&self) -> Result<String, MessageRejectErrorEnum> {
157 let mut fld = field::AgreementDescField::new(String::new());
158 self.message.body.get_field(tag::AGREEMENT_DESC, &mut fld.0)?;
159 Ok(fld.value().to_string())
160 }
161
162
163 pub fn has_agreement_desc(&self) -> bool {
165 self.message.body.has(tag::AGREEMENT_DESC)
166 }
167
168
169
170
171 pub fn set_agreement_id(&mut self, v: String) {
173 self.message.body.set_field(tag::AGREEMENT_ID, FIXString::from(v));
174 }
175
176 pub fn get_agreement_id(&self) -> Result<String, MessageRejectErrorEnum> {
178 let mut fld = field::AgreementIDField::new(String::new());
179 self.message.body.get_field(tag::AGREEMENT_ID, &mut fld.0)?;
180 Ok(fld.value().to_string())
181 }
182
183
184 pub fn has_agreement_id(&self) -> bool {
186 self.message.body.has(tag::AGREEMENT_ID)
187 }
188
189
190
191
192 pub fn set_cfi_code(&mut self, v: String) {
194 self.message.body.set_field(tag::CFI_CODE, FIXString::from(v));
195 }
196
197 pub fn get_cfi_code(&self) -> Result<String, MessageRejectErrorEnum> {
199 let mut fld = field::CFICodeField::new(String::new());
200 self.message.body.get_field(tag::CFI_CODE, &mut fld.0)?;
201 Ok(fld.value().to_string())
202 }
203
204
205 pub fn has_cfi_code(&self) -> bool {
207 self.message.body.has(tag::CFI_CODE)
208 }
209
210
211
212
213 pub fn set_cp_program(&mut self, v: isize) {
215 self.message.body.set_field(tag::CP_PROGRAM, fixer::fix_int::FIXInt::from(v));
216 }
217
218 pub fn get_cp_program(&self) -> Result<isize, MessageRejectErrorEnum> {
220 let mut fld = field::CPProgramField::new(0);
221 self.message.body.get_field(tag::CP_PROGRAM, &mut fld.0)?;
222 Ok(fld.value())
223 }
224
225
226 pub fn has_cp_program(&self) -> bool {
228 self.message.body.has(tag::CP_PROGRAM)
229 }
230
231
232
233
234 pub fn set_cp_reg_type(&mut self, v: String) {
236 self.message.body.set_field(tag::CP_REG_TYPE, FIXString::from(v));
237 }
238
239 pub fn get_cp_reg_type(&self) -> Result<String, MessageRejectErrorEnum> {
241 let mut fld = field::CPRegTypeField::new(String::new());
242 self.message.body.get_field(tag::CP_REG_TYPE, &mut fld.0)?;
243 Ok(fld.value().to_string())
244 }
245
246
247 pub fn has_cp_reg_type(&self) -> bool {
249 self.message.body.has(tag::CP_REG_TYPE)
250 }
251
252
253
254
255 pub fn set_contract_multiplier(&mut self, val: Decimal, scale: i32) {
257 self.message.body.set_field(tag::CONTRACT_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
258 }
259
260 pub fn get_contract_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
262 let mut fld = field::ContractMultiplierField::new(Decimal::ZERO, 0);
263 self.message.body.get_field(tag::CONTRACT_MULTIPLIER, &mut fld.0)?;
264 Ok(fld.value())
265 }
266
267
268 pub fn has_contract_multiplier(&self) -> bool {
270 self.message.body.has(tag::CONTRACT_MULTIPLIER)
271 }
272
273
274
275
276 pub fn set_contract_settl_month(&mut self, v: String) {
278 self.message.body.set_field(tag::CONTRACT_SETTL_MONTH, FIXString::from(v));
279 }
280
281 pub fn get_contract_settl_month(&self) -> Result<String, MessageRejectErrorEnum> {
283 let mut fld = field::ContractSettlMonthField::new(String::new());
284 self.message.body.get_field(tag::CONTRACT_SETTL_MONTH, &mut fld.0)?;
285 Ok(fld.value().to_string())
286 }
287
288
289 pub fn has_contract_settl_month(&self) -> bool {
291 self.message.body.has(tag::CONTRACT_SETTL_MONTH)
292 }
293
294
295
296
297 pub fn set_country_of_issue(&mut self, v: String) {
299 self.message.body.set_field(tag::COUNTRY_OF_ISSUE, FIXString::from(v));
300 }
301
302 pub fn get_country_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
304 let mut fld = field::CountryOfIssueField::new(String::new());
305 self.message.body.get_field(tag::COUNTRY_OF_ISSUE, &mut fld.0)?;
306 Ok(fld.value().to_string())
307 }
308
309
310 pub fn has_country_of_issue(&self) -> bool {
312 self.message.body.has(tag::COUNTRY_OF_ISSUE)
313 }
314
315
316
317
318 pub fn set_coupon_payment_date(&mut self, v: String) {
320 self.message.body.set_field(tag::COUPON_PAYMENT_DATE, FIXString::from(v));
321 }
322
323 pub fn get_coupon_payment_date(&self) -> Result<String, MessageRejectErrorEnum> {
325 let mut fld = field::CouponPaymentDateField::new(String::new());
326 self.message.body.get_field(tag::COUPON_PAYMENT_DATE, &mut fld.0)?;
327 Ok(fld.value().to_string())
328 }
329
330
331 pub fn has_coupon_payment_date(&self) -> bool {
333 self.message.body.has(tag::COUPON_PAYMENT_DATE)
334 }
335
336
337
338
339 pub fn set_coupon_rate(&mut self, val: Decimal, scale: i32) {
341 self.message.body.set_field(tag::COUPON_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
342 }
343
344 pub fn get_coupon_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
346 let mut fld = field::CouponRateField::new(Decimal::ZERO, 0);
347 self.message.body.get_field(tag::COUPON_RATE, &mut fld.0)?;
348 Ok(fld.value())
349 }
350
351
352 pub fn has_coupon_rate(&self) -> bool {
354 self.message.body.has(tag::COUPON_RATE)
355 }
356
357
358
359
360 pub fn set_credit_rating(&mut self, v: String) {
362 self.message.body.set_field(tag::CREDIT_RATING, FIXString::from(v));
363 }
364
365 pub fn get_credit_rating(&self) -> Result<String, MessageRejectErrorEnum> {
367 let mut fld = field::CreditRatingField::new(String::new());
368 self.message.body.get_field(tag::CREDIT_RATING, &mut fld.0)?;
369 Ok(fld.value().to_string())
370 }
371
372
373 pub fn has_credit_rating(&self) -> bool {
375 self.message.body.has(tag::CREDIT_RATING)
376 }
377
378
379
380
381 pub fn set_dated_date(&mut self, v: String) {
383 self.message.body.set_field(tag::DATED_DATE, FIXString::from(v));
384 }
385
386 pub fn get_dated_date(&self) -> Result<String, MessageRejectErrorEnum> {
388 let mut fld = field::DatedDateField::new(String::new());
389 self.message.body.get_field(tag::DATED_DATE, &mut fld.0)?;
390 Ok(fld.value().to_string())
391 }
392
393
394 pub fn has_dated_date(&self) -> bool {
396 self.message.body.has(tag::DATED_DATE)
397 }
398
399
400
401
402 pub fn set_delivery_type(&mut self, v: isize) {
404 self.message.body.set_field(tag::DELIVERY_TYPE, fixer::fix_int::FIXInt::from(v));
405 }
406
407 pub fn get_delivery_type(&self) -> Result<isize, MessageRejectErrorEnum> {
409 let mut fld = field::DeliveryTypeField::new(0);
410 self.message.body.get_field(tag::DELIVERY_TYPE, &mut fld.0)?;
411 Ok(fld.value())
412 }
413
414
415 pub fn has_delivery_type(&self) -> bool {
417 self.message.body.has(tag::DELIVERY_TYPE)
418 }
419
420
421
422
423 pub fn set_encoded_issuer(&mut self, v: String) {
425 self.message.body.set_field(tag::ENCODED_ISSUER, FIXString::from(v));
426 }
427
428 pub fn get_encoded_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
430 let mut fld = field::EncodedIssuerField::new(String::new());
431 self.message.body.get_field(tag::ENCODED_ISSUER, &mut fld.0)?;
432 Ok(fld.value().to_string())
433 }
434
435
436 pub fn has_encoded_issuer(&self) -> bool {
438 self.message.body.has(tag::ENCODED_ISSUER)
439 }
440
441
442
443
444 pub fn set_encoded_issuer_len(&mut self, v: isize) {
446 self.message.body.set_field(tag::ENCODED_ISSUER_LEN, fixer::fix_int::FIXInt::from(v));
447 }
448
449 pub fn get_encoded_issuer_len(&self) -> Result<isize, MessageRejectErrorEnum> {
451 let mut fld = field::EncodedIssuerLenField::new(0);
452 self.message.body.get_field(tag::ENCODED_ISSUER_LEN, &mut fld.0)?;
453 Ok(fld.value())
454 }
455
456
457 pub fn has_encoded_issuer_len(&self) -> bool {
459 self.message.body.has(tag::ENCODED_ISSUER_LEN)
460 }
461
462
463
464
465 pub fn set_encoded_security_desc(&mut self, v: String) {
467 self.message.body.set_field(tag::ENCODED_SECURITY_DESC, FIXString::from(v));
468 }
469
470 pub fn get_encoded_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
472 let mut fld = field::EncodedSecurityDescField::new(String::new());
473 self.message.body.get_field(tag::ENCODED_SECURITY_DESC, &mut fld.0)?;
474 Ok(fld.value().to_string())
475 }
476
477
478 pub fn has_encoded_security_desc(&self) -> bool {
480 self.message.body.has(tag::ENCODED_SECURITY_DESC)
481 }
482
483
484
485
486 pub fn set_encoded_security_desc_len(&mut self, v: isize) {
488 self.message.body.set_field(tag::ENCODED_SECURITY_DESC_LEN, fixer::fix_int::FIXInt::from(v));
489 }
490
491 pub fn get_encoded_security_desc_len(&self) -> Result<isize, MessageRejectErrorEnum> {
493 let mut fld = field::EncodedSecurityDescLenField::new(0);
494 self.message.body.get_field(tag::ENCODED_SECURITY_DESC_LEN, &mut fld.0)?;
495 Ok(fld.value())
496 }
497
498
499 pub fn has_encoded_security_desc_len(&self) -> bool {
501 self.message.body.has(tag::ENCODED_SECURITY_DESC_LEN)
502 }
503
504
505
506
507 pub fn set_end_date(&mut self, v: String) {
509 self.message.body.set_field(tag::END_DATE, FIXString::from(v));
510 }
511
512 pub fn get_end_date(&self) -> Result<String, MessageRejectErrorEnum> {
514 let mut fld = field::EndDateField::new(String::new());
515 self.message.body.get_field(tag::END_DATE, &mut fld.0)?;
516 Ok(fld.value().to_string())
517 }
518
519
520 pub fn has_end_date(&self) -> bool {
522 self.message.body.has(tag::END_DATE)
523 }
524
525
526
527
528 pub fn set_factor(&mut self, val: Decimal, scale: i32) {
530 self.message.body.set_field(tag::FACTOR, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
531 }
532
533 pub fn get_factor(&self) -> Result<Decimal, MessageRejectErrorEnum> {
535 let mut fld = field::FactorField::new(Decimal::ZERO, 0);
536 self.message.body.get_field(tag::FACTOR, &mut fld.0)?;
537 Ok(fld.value())
538 }
539
540
541 pub fn has_factor(&self) -> bool {
543 self.message.body.has(tag::FACTOR)
544 }
545
546
547
548
549 pub fn set_instr_registry(&mut self, v: String) {
551 self.message.body.set_field(tag::INSTR_REGISTRY, FIXString::from(v));
552 }
553
554 pub fn get_instr_registry(&self) -> Result<String, MessageRejectErrorEnum> {
556 let mut fld = field::InstrRegistryField::new(String::new());
557 self.message.body.get_field(tag::INSTR_REGISTRY, &mut fld.0)?;
558 Ok(fld.value().to_string())
559 }
560
561
562 pub fn has_instr_registry(&self) -> bool {
564 self.message.body.has(tag::INSTR_REGISTRY)
565 }
566
567
568
569
570 pub fn set_instrmt_assignment_method(&mut self, v: String) {
572 self.message.body.set_field(tag::INSTRMT_ASSIGNMENT_METHOD, FIXString::from(v));
573 }
574
575 pub fn get_instrmt_assignment_method(&self) -> Result<String, MessageRejectErrorEnum> {
577 let mut fld = field::InstrmtAssignmentMethodField::new(String::new());
578 self.message.body.get_field(tag::INSTRMT_ASSIGNMENT_METHOD, &mut fld.0)?;
579 Ok(fld.value().to_string())
580 }
581
582
583 pub fn has_instrmt_assignment_method(&self) -> bool {
585 self.message.body.has(tag::INSTRMT_ASSIGNMENT_METHOD)
586 }
587
588
589
590
591 pub fn set_interest_accrual_date(&mut self, v: String) {
593 self.message.body.set_field(tag::INTEREST_ACCRUAL_DATE, FIXString::from(v));
594 }
595
596 pub fn get_interest_accrual_date(&self) -> Result<String, MessageRejectErrorEnum> {
598 let mut fld = field::InterestAccrualDateField::new(String::new());
599 self.message.body.get_field(tag::INTEREST_ACCRUAL_DATE, &mut fld.0)?;
600 Ok(fld.value().to_string())
601 }
602
603
604 pub fn has_interest_accrual_date(&self) -> bool {
606 self.message.body.has(tag::INTEREST_ACCRUAL_DATE)
607 }
608
609
610
611
612 pub fn set_issue_date(&mut self, v: String) {
614 self.message.body.set_field(tag::ISSUE_DATE, FIXString::from(v));
615 }
616
617 pub fn get_issue_date(&self) -> Result<String, MessageRejectErrorEnum> {
619 let mut fld = field::IssueDateField::new(String::new());
620 self.message.body.get_field(tag::ISSUE_DATE, &mut fld.0)?;
621 Ok(fld.value().to_string())
622 }
623
624
625 pub fn has_issue_date(&self) -> bool {
627 self.message.body.has(tag::ISSUE_DATE)
628 }
629
630
631
632
633 pub fn set_issuer(&mut self, v: String) {
635 self.message.body.set_field(tag::ISSUER, FIXString::from(v));
636 }
637
638 pub fn get_issuer(&self) -> Result<String, MessageRejectErrorEnum> {
640 let mut fld = field::IssuerField::new(String::new());
641 self.message.body.get_field(tag::ISSUER, &mut fld.0)?;
642 Ok(fld.value().to_string())
643 }
644
645
646 pub fn has_issuer(&self) -> bool {
648 self.message.body.has(tag::ISSUER)
649 }
650
651
652
653
654 pub fn set_locale_of_issue(&mut self, v: String) {
656 self.message.body.set_field(tag::LOCALE_OF_ISSUE, FIXString::from(v));
657 }
658
659 pub fn get_locale_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
661 let mut fld = field::LocaleOfIssueField::new(String::new());
662 self.message.body.get_field(tag::LOCALE_OF_ISSUE, &mut fld.0)?;
663 Ok(fld.value().to_string())
664 }
665
666
667 pub fn has_locale_of_issue(&self) -> bool {
669 self.message.body.has(tag::LOCALE_OF_ISSUE)
670 }
671
672
673
674
675 pub fn set_margin_ratio(&mut self, val: Decimal, scale: i32) {
677 self.message.body.set_field(tag::MARGIN_RATIO, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
678 }
679
680 pub fn get_margin_ratio(&self) -> Result<Decimal, MessageRejectErrorEnum> {
682 let mut fld = field::MarginRatioField::new(Decimal::ZERO, 0);
683 self.message.body.get_field(tag::MARGIN_RATIO, &mut fld.0)?;
684 Ok(fld.value())
685 }
686
687
688 pub fn has_margin_ratio(&self) -> bool {
690 self.message.body.has(tag::MARGIN_RATIO)
691 }
692
693
694
695
696 pub fn set_maturity_date(&mut self, v: String) {
698 self.message.body.set_field(tag::MATURITY_DATE, FIXString::from(v));
699 }
700
701 pub fn get_maturity_date(&self) -> Result<String, MessageRejectErrorEnum> {
703 let mut fld = field::MaturityDateField::new(String::new());
704 self.message.body.get_field(tag::MATURITY_DATE, &mut fld.0)?;
705 Ok(fld.value().to_string())
706 }
707
708
709 pub fn has_maturity_date(&self) -> bool {
711 self.message.body.has(tag::MATURITY_DATE)
712 }
713
714
715
716
717 pub fn set_maturity_month_year(&mut self, v: String) {
719 self.message.body.set_field(tag::MATURITY_MONTH_YEAR, FIXString::from(v));
720 }
721
722 pub fn get_maturity_month_year(&self) -> Result<String, MessageRejectErrorEnum> {
724 let mut fld = field::MaturityMonthYearField::new(String::new());
725 self.message.body.get_field(tag::MATURITY_MONTH_YEAR, &mut fld.0)?;
726 Ok(fld.value().to_string())
727 }
728
729
730 pub fn has_maturity_month_year(&self) -> bool {
732 self.message.body.has(tag::MATURITY_MONTH_YEAR)
733 }
734
735
736
737
738 pub fn set_maturity_time(&mut self, v: String) {
740 self.message.body.set_field(tag::MATURITY_TIME, FIXString::from(v));
741 }
742
743 pub fn get_maturity_time(&self) -> Result<String, MessageRejectErrorEnum> {
745 let mut fld = field::MaturityTimeField::new(String::new());
746 self.message.body.get_field(tag::MATURITY_TIME, &mut fld.0)?;
747 Ok(fld.value().to_string())
748 }
749
750
751 pub fn has_maturity_time(&self) -> bool {
753 self.message.body.has(tag::MATURITY_TIME)
754 }
755
756
757
758
759 pub fn set_min_price_increment(&mut self, val: Decimal, scale: i32) {
761 self.message.body.set_field(tag::MIN_PRICE_INCREMENT, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
762 }
763
764 pub fn get_min_price_increment(&self) -> Result<Decimal, MessageRejectErrorEnum> {
766 let mut fld = field::MinPriceIncrementField::new(Decimal::ZERO, 0);
767 self.message.body.get_field(tag::MIN_PRICE_INCREMENT, &mut fld.0)?;
768 Ok(fld.value())
769 }
770
771
772 pub fn has_min_price_increment(&self) -> bool {
774 self.message.body.has(tag::MIN_PRICE_INCREMENT)
775 }
776
777
778
779
780 pub fn set_nt_position_limit(&mut self, v: isize) {
782 self.message.body.set_field(tag::NT_POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
783 }
784
785 pub fn get_nt_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
787 let mut fld = field::NTPositionLimitField::new(0);
788 self.message.body.get_field(tag::NT_POSITION_LIMIT, &mut fld.0)?;
789 Ok(fld.value())
790 }
791
792
793 pub fn has_nt_position_limit(&self) -> bool {
795 self.message.body.has(tag::NT_POSITION_LIMIT)
796 }
797
798
799
800
801 pub fn set_no_events(&mut self, v: isize) {
803 self.message.body.set_field(tag::NO_EVENTS, fixer::fix_int::FIXInt::from(v));
804 }
805
806 pub fn get_no_events(&self) -> Result<isize, MessageRejectErrorEnum> {
808 let mut fld = field::NoEventsField::new(0);
809 self.message.body.get_field(tag::NO_EVENTS, &mut fld.0)?;
810 Ok(fld.value())
811 }
812
813
814 pub fn has_no_events(&self) -> bool {
816 self.message.body.has(tag::NO_EVENTS)
817 }
818
819
820
821
822 pub fn set_no_instrument_parties(&mut self, v: isize) {
824 self.message.body.set_field(tag::NO_INSTRUMENT_PARTIES, fixer::fix_int::FIXInt::from(v));
825 }
826
827 pub fn get_no_instrument_parties(&self) -> Result<isize, MessageRejectErrorEnum> {
829 let mut fld = field::NoInstrumentPartiesField::new(0);
830 self.message.body.get_field(tag::NO_INSTRUMENT_PARTIES, &mut fld.0)?;
831 Ok(fld.value())
832 }
833
834
835 pub fn has_no_instrument_parties(&self) -> bool {
837 self.message.body.has(tag::NO_INSTRUMENT_PARTIES)
838 }
839
840
841
842
843 pub fn set_no_legs(&mut self, v: isize) {
845 self.message.body.set_field(tag::NO_LEGS, fixer::fix_int::FIXInt::from(v));
846 }
847
848 pub fn get_no_legs(&self) -> Result<isize, MessageRejectErrorEnum> {
850 let mut fld = field::NoLegsField::new(0);
851 self.message.body.get_field(tag::NO_LEGS, &mut fld.0)?;
852 Ok(fld.value())
853 }
854
855
856 pub fn has_no_legs(&self) -> bool {
858 self.message.body.has(tag::NO_LEGS)
859 }
860
861
862
863
864 pub fn set_no_party_i_ds(&mut self, v: isize) {
866 self.message.body.set_field(tag::NO_PARTY_I_DS, fixer::fix_int::FIXInt::from(v));
867 }
868
869 pub fn get_no_party_i_ds(&self) -> Result<isize, MessageRejectErrorEnum> {
871 let mut fld = field::NoPartyIDsField::new(0);
872 self.message.body.get_field(tag::NO_PARTY_I_DS, &mut fld.0)?;
873 Ok(fld.value())
874 }
875
876
877 pub fn has_no_party_i_ds(&self) -> bool {
879 self.message.body.has(tag::NO_PARTY_I_DS)
880 }
881
882
883
884
885 pub fn set_no_security_alt_id(&mut self, v: isize) {
887 self.message.body.set_field(tag::NO_SECURITY_ALT_ID, fixer::fix_int::FIXInt::from(v));
888 }
889
890 pub fn get_no_security_alt_id(&self) -> Result<isize, MessageRejectErrorEnum> {
892 let mut fld = field::NoSecurityAltIDField::new(0);
893 self.message.body.get_field(tag::NO_SECURITY_ALT_ID, &mut fld.0)?;
894 Ok(fld.value())
895 }
896
897
898 pub fn has_no_security_alt_id(&self) -> bool {
900 self.message.body.has(tag::NO_SECURITY_ALT_ID)
901 }
902
903
904
905
906 pub fn set_no_underlyings(&mut self, v: isize) {
908 self.message.body.set_field(tag::NO_UNDERLYINGS, fixer::fix_int::FIXInt::from(v));
909 }
910
911 pub fn get_no_underlyings(&self) -> Result<isize, MessageRejectErrorEnum> {
913 let mut fld = field::NoUnderlyingsField::new(0);
914 self.message.body.get_field(tag::NO_UNDERLYINGS, &mut fld.0)?;
915 Ok(fld.value())
916 }
917
918
919 pub fn has_no_underlyings(&self) -> bool {
921 self.message.body.has(tag::NO_UNDERLYINGS)
922 }
923
924
925
926
927 pub fn set_opt_attribute(&mut self, v: String) {
929 self.message.body.set_field(tag::OPT_ATTRIBUTE, FIXString::from(v));
930 }
931
932 pub fn get_opt_attribute(&self) -> Result<String, MessageRejectErrorEnum> {
934 let mut fld = field::OptAttributeField::new(String::new());
935 self.message.body.get_field(tag::OPT_ATTRIBUTE, &mut fld.0)?;
936 Ok(fld.value().to_string())
937 }
938
939
940 pub fn has_opt_attribute(&self) -> bool {
942 self.message.body.has(tag::OPT_ATTRIBUTE)
943 }
944
945
946
947
948 pub fn set_pool(&mut self, v: String) {
950 self.message.body.set_field(tag::POOL, FIXString::from(v));
951 }
952
953 pub fn get_pool(&self) -> Result<String, MessageRejectErrorEnum> {
955 let mut fld = field::PoolField::new(String::new());
956 self.message.body.get_field(tag::POOL, &mut fld.0)?;
957 Ok(fld.value().to_string())
958 }
959
960
961 pub fn has_pool(&self) -> bool {
963 self.message.body.has(tag::POOL)
964 }
965
966
967
968
969 pub fn set_position_limit(&mut self, v: isize) {
971 self.message.body.set_field(tag::POSITION_LIMIT, fixer::fix_int::FIXInt::from(v));
972 }
973
974 pub fn get_position_limit(&self) -> Result<isize, MessageRejectErrorEnum> {
976 let mut fld = field::PositionLimitField::new(0);
977 self.message.body.get_field(tag::POSITION_LIMIT, &mut fld.0)?;
978 Ok(fld.value())
979 }
980
981
982 pub fn has_position_limit(&self) -> bool {
984 self.message.body.has(tag::POSITION_LIMIT)
985 }
986
987
988
989
990 pub fn set_product(&mut self, v: isize) {
992 self.message.body.set_field(tag::PRODUCT, fixer::fix_int::FIXInt::from(v));
993 }
994
995 pub fn get_product(&self) -> Result<isize, MessageRejectErrorEnum> {
997 let mut fld = field::ProductField::new(0);
998 self.message.body.get_field(tag::PRODUCT, &mut fld.0)?;
999 Ok(fld.value())
1000 }
1001
1002
1003 pub fn has_product(&self) -> bool {
1005 self.message.body.has(tag::PRODUCT)
1006 }
1007
1008
1009
1010
1011 pub fn set_quote_id(&mut self, v: String) {
1013 self.message.body.set_field(tag::QUOTE_ID, FIXString::from(v));
1014 }
1015
1016 pub fn get_quote_id(&self) -> Result<String, MessageRejectErrorEnum> {
1018 let mut fld = field::QuoteIDField::new(String::new());
1019 self.message.body.get_field(tag::QUOTE_ID, &mut fld.0)?;
1020 Ok(fld.value().to_string())
1021 }
1022
1023
1024 pub fn has_quote_id(&self) -> bool {
1026 self.message.body.has(tag::QUOTE_ID)
1027 }
1028
1029
1030
1031
1032 pub fn set_quote_status_req_id(&mut self, v: String) {
1034 self.message.body.set_field(tag::QUOTE_STATUS_REQ_ID, FIXString::from(v));
1035 }
1036
1037 pub fn get_quote_status_req_id(&self) -> Result<String, MessageRejectErrorEnum> {
1039 let mut fld = field::QuoteStatusReqIDField::new(String::new());
1040 self.message.body.get_field(tag::QUOTE_STATUS_REQ_ID, &mut fld.0)?;
1041 Ok(fld.value().to_string())
1042 }
1043
1044
1045 pub fn has_quote_status_req_id(&self) -> bool {
1047 self.message.body.has(tag::QUOTE_STATUS_REQ_ID)
1048 }
1049
1050
1051
1052
1053 pub fn set_redemption_date(&mut self, v: String) {
1055 self.message.body.set_field(tag::REDEMPTION_DATE, FIXString::from(v));
1056 }
1057
1058 pub fn get_redemption_date(&self) -> Result<String, MessageRejectErrorEnum> {
1060 let mut fld = field::RedemptionDateField::new(String::new());
1061 self.message.body.get_field(tag::REDEMPTION_DATE, &mut fld.0)?;
1062 Ok(fld.value().to_string())
1063 }
1064
1065
1066 pub fn has_redemption_date(&self) -> bool {
1068 self.message.body.has(tag::REDEMPTION_DATE)
1069 }
1070
1071
1072
1073
1074 pub fn set_repo_collateral_security_type(&mut self, v: isize) {
1076 self.message.body.set_field(tag::REPO_COLLATERAL_SECURITY_TYPE, fixer::fix_int::FIXInt::from(v));
1077 }
1078
1079 pub fn get_repo_collateral_security_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1081 let mut fld = field::RepoCollateralSecurityTypeField::new(0);
1082 self.message.body.get_field(tag::REPO_COLLATERAL_SECURITY_TYPE, &mut fld.0)?;
1083 Ok(fld.value())
1084 }
1085
1086
1087 pub fn has_repo_collateral_security_type(&self) -> bool {
1089 self.message.body.has(tag::REPO_COLLATERAL_SECURITY_TYPE)
1090 }
1091
1092
1093
1094
1095 pub fn set_repurchase_rate(&mut self, val: Decimal, scale: i32) {
1097 self.message.body.set_field(tag::REPURCHASE_RATE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1098 }
1099
1100 pub fn get_repurchase_rate(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1102 let mut fld = field::RepurchaseRateField::new(Decimal::ZERO, 0);
1103 self.message.body.get_field(tag::REPURCHASE_RATE, &mut fld.0)?;
1104 Ok(fld.value())
1105 }
1106
1107
1108 pub fn has_repurchase_rate(&self) -> bool {
1110 self.message.body.has(tag::REPURCHASE_RATE)
1111 }
1112
1113
1114
1115
1116 pub fn set_repurchase_term(&mut self, v: isize) {
1118 self.message.body.set_field(tag::REPURCHASE_TERM, fixer::fix_int::FIXInt::from(v));
1119 }
1120
1121 pub fn get_repurchase_term(&self) -> Result<isize, MessageRejectErrorEnum> {
1123 let mut fld = field::RepurchaseTermField::new(0);
1124 self.message.body.get_field(tag::REPURCHASE_TERM, &mut fld.0)?;
1125 Ok(fld.value())
1126 }
1127
1128
1129 pub fn has_repurchase_term(&self) -> bool {
1131 self.message.body.has(tag::REPURCHASE_TERM)
1132 }
1133
1134
1135
1136
1137 pub fn set_security_desc(&mut self, v: String) {
1139 self.message.body.set_field(tag::SECURITY_DESC, FIXString::from(v));
1140 }
1141
1142 pub fn get_security_desc(&self) -> Result<String, MessageRejectErrorEnum> {
1144 let mut fld = field::SecurityDescField::new(String::new());
1145 self.message.body.get_field(tag::SECURITY_DESC, &mut fld.0)?;
1146 Ok(fld.value().to_string())
1147 }
1148
1149
1150 pub fn has_security_desc(&self) -> bool {
1152 self.message.body.has(tag::SECURITY_DESC)
1153 }
1154
1155
1156
1157
1158 pub fn set_security_exchange(&mut self, v: String) {
1160 self.message.body.set_field(tag::SECURITY_EXCHANGE, FIXString::from(v));
1161 }
1162
1163 pub fn get_security_exchange(&self) -> Result<String, MessageRejectErrorEnum> {
1165 let mut fld = field::SecurityExchangeField::new(String::new());
1166 self.message.body.get_field(tag::SECURITY_EXCHANGE, &mut fld.0)?;
1167 Ok(fld.value().to_string())
1168 }
1169
1170
1171 pub fn has_security_exchange(&self) -> bool {
1173 self.message.body.has(tag::SECURITY_EXCHANGE)
1174 }
1175
1176
1177
1178
1179 pub fn set_security_id(&mut self, v: String) {
1181 self.message.body.set_field(tag::SECURITY_ID, FIXString::from(v));
1182 }
1183
1184 pub fn get_security_id(&self) -> Result<String, MessageRejectErrorEnum> {
1186 let mut fld = field::SecurityIDField::new(String::new());
1187 self.message.body.get_field(tag::SECURITY_ID, &mut fld.0)?;
1188 Ok(fld.value().to_string())
1189 }
1190
1191
1192 pub fn has_security_id(&self) -> bool {
1194 self.message.body.has(tag::SECURITY_ID)
1195 }
1196
1197
1198
1199
1200 pub fn set_security_id_source(&mut self, v: String) {
1202 self.message.body.set_field(tag::SECURITY_ID_SOURCE, FIXString::from(v));
1203 }
1204
1205 pub fn get_security_id_source(&self) -> Result<String, MessageRejectErrorEnum> {
1207 let mut fld = field::SecurityIDSourceField::new(String::new());
1208 self.message.body.get_field(tag::SECURITY_ID_SOURCE, &mut fld.0)?;
1209 Ok(fld.value().to_string())
1210 }
1211
1212
1213 pub fn has_security_id_source(&self) -> bool {
1215 self.message.body.has(tag::SECURITY_ID_SOURCE)
1216 }
1217
1218
1219
1220
1221 pub fn set_security_status(&mut self, v: String) {
1223 self.message.body.set_field(tag::SECURITY_STATUS, FIXString::from(v));
1224 }
1225
1226 pub fn get_security_status(&self) -> Result<String, MessageRejectErrorEnum> {
1228 let mut fld = field::SecurityStatusField::new(String::new());
1229 self.message.body.get_field(tag::SECURITY_STATUS, &mut fld.0)?;
1230 Ok(fld.value().to_string())
1231 }
1232
1233
1234 pub fn has_security_status(&self) -> bool {
1236 self.message.body.has(tag::SECURITY_STATUS)
1237 }
1238
1239
1240
1241
1242 pub fn set_security_sub_type(&mut self, v: String) {
1244 self.message.body.set_field(tag::SECURITY_SUB_TYPE, FIXString::from(v));
1245 }
1246
1247 pub fn get_security_sub_type(&self) -> Result<String, MessageRejectErrorEnum> {
1249 let mut fld = field::SecuritySubTypeField::new(String::new());
1250 self.message.body.get_field(tag::SECURITY_SUB_TYPE, &mut fld.0)?;
1251 Ok(fld.value().to_string())
1252 }
1253
1254
1255 pub fn has_security_sub_type(&self) -> bool {
1257 self.message.body.has(tag::SECURITY_SUB_TYPE)
1258 }
1259
1260
1261
1262
1263 pub fn set_security_type(&mut self, v: String) {
1265 self.message.body.set_field(tag::SECURITY_TYPE, FIXString::from(v));
1266 }
1267
1268 pub fn get_security_type(&self) -> Result<String, MessageRejectErrorEnum> {
1270 let mut fld = field::SecurityTypeField::new(String::new());
1271 self.message.body.get_field(tag::SECURITY_TYPE, &mut fld.0)?;
1272 Ok(fld.value().to_string())
1273 }
1274
1275
1276 pub fn has_security_type(&self) -> bool {
1278 self.message.body.has(tag::SECURITY_TYPE)
1279 }
1280
1281
1282
1283
1284 pub fn set_settle_on_open_flag(&mut self, v: String) {
1286 self.message.body.set_field(tag::SETTLE_ON_OPEN_FLAG, FIXString::from(v));
1287 }
1288
1289 pub fn get_settle_on_open_flag(&self) -> Result<String, MessageRejectErrorEnum> {
1291 let mut fld = field::SettleOnOpenFlagField::new(String::new());
1292 self.message.body.get_field(tag::SETTLE_ON_OPEN_FLAG, &mut fld.0)?;
1293 Ok(fld.value().to_string())
1294 }
1295
1296
1297 pub fn has_settle_on_open_flag(&self) -> bool {
1299 self.message.body.has(tag::SETTLE_ON_OPEN_FLAG)
1300 }
1301
1302
1303
1304
1305 pub fn set_start_date(&mut self, v: String) {
1307 self.message.body.set_field(tag::START_DATE, FIXString::from(v));
1308 }
1309
1310 pub fn get_start_date(&self) -> Result<String, MessageRejectErrorEnum> {
1312 let mut fld = field::StartDateField::new(String::new());
1313 self.message.body.get_field(tag::START_DATE, &mut fld.0)?;
1314 Ok(fld.value().to_string())
1315 }
1316
1317
1318 pub fn has_start_date(&self) -> bool {
1320 self.message.body.has(tag::START_DATE)
1321 }
1322
1323
1324
1325
1326 pub fn set_state_or_province_of_issue(&mut self, v: String) {
1328 self.message.body.set_field(tag::STATE_OR_PROVINCE_OF_ISSUE, FIXString::from(v));
1329 }
1330
1331 pub fn get_state_or_province_of_issue(&self) -> Result<String, MessageRejectErrorEnum> {
1333 let mut fld = field::StateOrProvinceOfIssueField::new(String::new());
1334 self.message.body.get_field(tag::STATE_OR_PROVINCE_OF_ISSUE, &mut fld.0)?;
1335 Ok(fld.value().to_string())
1336 }
1337
1338
1339 pub fn has_state_or_province_of_issue(&self) -> bool {
1341 self.message.body.has(tag::STATE_OR_PROVINCE_OF_ISSUE)
1342 }
1343
1344
1345
1346
1347 pub fn set_strike_currency(&mut self, v: String) {
1349 self.message.body.set_field(tag::STRIKE_CURRENCY, FIXString::from(v));
1350 }
1351
1352 pub fn get_strike_currency(&self) -> Result<String, MessageRejectErrorEnum> {
1354 let mut fld = field::StrikeCurrencyField::new(String::new());
1355 self.message.body.get_field(tag::STRIKE_CURRENCY, &mut fld.0)?;
1356 Ok(fld.value().to_string())
1357 }
1358
1359
1360 pub fn has_strike_currency(&self) -> bool {
1362 self.message.body.has(tag::STRIKE_CURRENCY)
1363 }
1364
1365
1366
1367
1368 pub fn set_strike_multiplier(&mut self, val: Decimal, scale: i32) {
1370 self.message.body.set_field(tag::STRIKE_MULTIPLIER, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1371 }
1372
1373 pub fn get_strike_multiplier(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1375 let mut fld = field::StrikeMultiplierField::new(Decimal::ZERO, 0);
1376 self.message.body.get_field(tag::STRIKE_MULTIPLIER, &mut fld.0)?;
1377 Ok(fld.value())
1378 }
1379
1380
1381 pub fn has_strike_multiplier(&self) -> bool {
1383 self.message.body.has(tag::STRIKE_MULTIPLIER)
1384 }
1385
1386
1387
1388
1389 pub fn set_strike_price(&mut self, val: Decimal, scale: i32) {
1391 self.message.body.set_field(tag::STRIKE_PRICE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1392 }
1393
1394 pub fn get_strike_price(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1396 let mut fld = field::StrikePriceField::new(Decimal::ZERO, 0);
1397 self.message.body.get_field(tag::STRIKE_PRICE, &mut fld.0)?;
1398 Ok(fld.value())
1399 }
1400
1401
1402 pub fn has_strike_price(&self) -> bool {
1404 self.message.body.has(tag::STRIKE_PRICE)
1405 }
1406
1407
1408
1409
1410 pub fn set_strike_value(&mut self, val: Decimal, scale: i32) {
1412 self.message.body.set_field(tag::STRIKE_VALUE, fixer::fix_decimal::FIXDecimal { decimal: val, scale });
1413 }
1414
1415 pub fn get_strike_value(&self) -> Result<Decimal, MessageRejectErrorEnum> {
1417 let mut fld = field::StrikeValueField::new(Decimal::ZERO, 0);
1418 self.message.body.get_field(tag::STRIKE_VALUE, &mut fld.0)?;
1419 Ok(fld.value())
1420 }
1421
1422
1423 pub fn has_strike_value(&self) -> bool {
1425 self.message.body.has(tag::STRIKE_VALUE)
1426 }
1427
1428
1429
1430
1431 pub fn set_subscription_request_type(&mut self, v: String) {
1433 self.message.body.set_field(tag::SUBSCRIPTION_REQUEST_TYPE, FIXString::from(v));
1434 }
1435
1436 pub fn get_subscription_request_type(&self) -> Result<String, MessageRejectErrorEnum> {
1438 let mut fld = field::SubscriptionRequestTypeField::new(String::new());
1439 self.message.body.get_field(tag::SUBSCRIPTION_REQUEST_TYPE, &mut fld.0)?;
1440 Ok(fld.value().to_string())
1441 }
1442
1443
1444 pub fn has_subscription_request_type(&self) -> bool {
1446 self.message.body.has(tag::SUBSCRIPTION_REQUEST_TYPE)
1447 }
1448
1449
1450
1451
1452 pub fn set_symbol(&mut self, v: String) {
1454 self.message.body.set_field(tag::SYMBOL, FIXString::from(v));
1455 }
1456
1457 pub fn get_symbol(&self) -> Result<String, MessageRejectErrorEnum> {
1459 let mut fld = field::SymbolField::new(String::new());
1460 self.message.body.get_field(tag::SYMBOL, &mut fld.0)?;
1461 Ok(fld.value().to_string())
1462 }
1463
1464
1465 pub fn has_symbol(&self) -> bool {
1467 self.message.body.has(tag::SYMBOL)
1468 }
1469
1470
1471
1472
1473 pub fn set_symbol_sfx(&mut self, v: String) {
1475 self.message.body.set_field(tag::SYMBOL_SFX, FIXString::from(v));
1476 }
1477
1478 pub fn get_symbol_sfx(&self) -> Result<String, MessageRejectErrorEnum> {
1480 let mut fld = field::SymbolSfxField::new(String::new());
1481 self.message.body.get_field(tag::SYMBOL_SFX, &mut fld.0)?;
1482 Ok(fld.value().to_string())
1483 }
1484
1485
1486 pub fn has_symbol_sfx(&self) -> bool {
1488 self.message.body.has(tag::SYMBOL_SFX)
1489 }
1490
1491
1492
1493
1494 pub fn set_termination_type(&mut self, v: isize) {
1496 self.message.body.set_field(tag::TERMINATION_TYPE, fixer::fix_int::FIXInt::from(v));
1497 }
1498
1499 pub fn get_termination_type(&self) -> Result<isize, MessageRejectErrorEnum> {
1501 let mut fld = field::TerminationTypeField::new(0);
1502 self.message.body.get_field(tag::TERMINATION_TYPE, &mut fld.0)?;
1503 Ok(fld.value())
1504 }
1505
1506
1507 pub fn has_termination_type(&self) -> bool {
1509 self.message.body.has(tag::TERMINATION_TYPE)
1510 }
1511
1512
1513
1514
1515 pub fn set_time_unit(&mut self, v: String) {
1517 self.message.body.set_field(tag::TIME_UNIT, FIXString::from(v));
1518 }
1519
1520 pub fn get_time_unit(&self) -> Result<String, MessageRejectErrorEnum> {
1522 let mut fld = field::TimeUnitField::new(String::new());
1523 self.message.body.get_field(tag::TIME_UNIT, &mut fld.0)?;
1524 Ok(fld.value().to_string())
1525 }
1526
1527
1528 pub fn has_time_unit(&self) -> bool {
1530 self.message.body.has(tag::TIME_UNIT)
1531 }
1532
1533
1534
1535
1536 pub fn set_trading_session_id(&mut self, v: String) {
1538 self.message.body.set_field(tag::TRADING_SESSION_ID, FIXString::from(v));
1539 }
1540
1541 pub fn get_trading_session_id(&self) -> Result<String, MessageRejectErrorEnum> {
1543 let mut fld = field::TradingSessionIDField::new(String::new());
1544 self.message.body.get_field(tag::TRADING_SESSION_ID, &mut fld.0)?;
1545 Ok(fld.value().to_string())
1546 }
1547
1548
1549 pub fn has_trading_session_id(&self) -> bool {
1551 self.message.body.has(tag::TRADING_SESSION_ID)
1552 }
1553
1554
1555
1556
1557 pub fn set_trading_session_sub_id(&mut self, v: String) {
1559 self.message.body.set_field(tag::TRADING_SESSION_SUB_ID, FIXString::from(v));
1560 }
1561
1562 pub fn get_trading_session_sub_id(&self) -> Result<String, MessageRejectErrorEnum> {
1564 let mut fld = field::TradingSessionSubIDField::new(String::new());
1565 self.message.body.get_field(tag::TRADING_SESSION_SUB_ID, &mut fld.0)?;
1566 Ok(fld.value().to_string())
1567 }
1568
1569
1570 pub fn has_trading_session_sub_id(&self) -> bool {
1572 self.message.body.has(tag::TRADING_SESSION_SUB_ID)
1573 }
1574
1575
1576
1577
1578 pub fn set_unit_of_measure(&mut self, v: String) {
1580 self.message.body.set_field(tag::UNIT_OF_MEASURE, FIXString::from(v));
1581 }
1582
1583 pub fn get_unit_of_measure(&self) -> Result<String, MessageRejectErrorEnum> {
1585 let mut fld = field::UnitOfMeasureField::new(String::new());
1586 self.message.body.get_field(tag::UNIT_OF_MEASURE, &mut fld.0)?;
1587 Ok(fld.value().to_string())
1588 }
1589
1590
1591 pub fn has_unit_of_measure(&self) -> bool {
1593 self.message.body.has(tag::UNIT_OF_MEASURE)
1594 }
1595
1596
1597}
1598
1599pub type RouteOut = fn(msg: QuoteStatusRequest, session_id: SessionID) -> Result<(), MessageRejectErrorEnum>;
1601
1602pub type Route = (&'static str, &'static str, Box<dyn Fn(&Message, SessionID) -> Result<(), MessageRejectErrorEnum> + Send>);
1604
1605pub fn route(router: RouteOut) -> Route {
1607 let r = move |msg: &Message, session_id: SessionID| -> Result<(), MessageRejectErrorEnum> {
1608 router(QuoteStatusRequest::from_message(msg.clone()), session_id)
1609 };
1610 ("7", "a", Box::new(r))
1611}