OnixS C++ B3 BOE Binary Order Entry  1.2.0
API Documentation
SimpleOpenFramingHeader.h
Go to the documentation of this file.
1 // Copyright Onix Solutions Limited [OnixS]. All rights reserved.
2 //
3 // This software owned by Onix Solutions Limited [OnixS] and is
4 // protected by copyright law and international copyright treaties.
5 //
6 // Access to and use of the software is governed by the terms of the applicable
7 // OnixS Software Services Agreement (the Agreement) and Customer end user license
8 // agreements granting a non-assignable, non-transferable and non-exclusive license
9 // to use the software for it's own data processing purposes under the terms defined
10 // in the Agreement.
11 //
12 // Except as otherwise granted within the terms of the Agreement, copying or
13 // reproduction of any part of this source code or associated reference material
14 // to any other location for further reproduction or redistribution, and any
15 // amendments to this copyright notice, are expressly prohibited.
16 //
17 // Any reproduction or redistribution for sale or hiring of the Software not in
18 // accordance with the terms of the Agreement is a violation of copyright law.
19 //
20 
21 #pragma once
22 
24 
26 
27 // B3 SBE Version 1.0 Little-endian
29 
30 ONIXS_B3_BOE_DATA_PACKING_BEGIN(1)
31 
32 /// Simple Open Framing Header.
34 {
35 public:
36  /// Initializes the header.
37  void setup(UInt16 sz) ONIXS_B3_BOE_NOTHROW
38  {
39  size(sz);
40  encodingType = B3BOESbeEncodingType;
41  }
42 
43  /// Sets the size.
44  void size(UInt16 val) ONIXS_B3_BOE_NOTHROW
45  {
46  msgSize = val;
47  }
48 
49  /// \return the size
50  UInt16 size() const ONIXS_B3_BOE_NOTHROW
51  {
52  return msgSize;
53  }
54 
55  /// \return the encoding type.
57  {
58  return encodingType;
59  }
60 
61 private:
62  UInt16 msgSize;
63  UInt16 encodingType;
64 };
65 
66 ONIXS_B3_BOE_DATA_PACKING_END
67 
68 /// Serializes SimpleOpenFramingHeader into a string.
70 void toStr(std::string&, const SimpleOpenFramingHeader&);
71 
72 inline
73 std::string toStr(const SimpleOpenFramingHeader& header)
74 {
75  std::string res;
76  toStr(res, header);
77  return res;
78 }
79 
#define ONIXS_B3_BOE_MESSAGING_NAMESPACE_END
Definition: ABI.h:144
void setup(UInt16 sz) noexcept
Initializes the header.
#define ONIXS_B3_BOE_NOTHROW
Definition: Compiler.h:182
std::string toStr(const SimpleOpenFramingHeader &header)
#define ONIXS_B3_BOE_EXPORTED
Definition: Compiler.h:181
#define ONIXS_B3_BOE_MESSAGING_NAMESPACE_BEGIN
Definition: ABI.h:140
#define ONIXS_B3_BOE_LTWT_CLASS
Definition: ABI.h:84
void size(UInt16 val) noexcept
Sets the size.
#define ONIXS_B3_BOE_CONST_OR_CONSTEXPR
Definition: Compiler.h:184