OnixS C++ ICE Binary Order Entry Handler 1.1.1
API Documentation
Loading...
Searching...
No Matches
IPReport::UsersEntry Struct Reference

Public Types

typedef SbeGroupEntry< GroupSizeEncoding::BlockLengthBase
typedef UsersEntry ThisType
Public Types inherited from SbeGroupEntry< GroupSizeEncoding::BlockLength >
typedef GroupSizeEncoding::BlockLength BlockLength

Public Member Functions

 UsersEntry (void *data, EncodedLength length, SchemaVersion version)
ThisTyperesetVariableFields () noexcept
ThisTypereset () noexcept
auto userId () const noexcept
ThisTypeuserId (StrRef value) noexcept
auto success () const noexcept
ThisTypesuccess (BooleanEnum value) noexcept
ThisTypesuccess (NullOpt) noexcept
auto ipAddress () const noexcept
ThisTypeipAddress (StrRef value) noexcept
ThisTypeipAddress (NullOpt) noexcept
auto port () const noexcept
ThisTypeport (Int16NULL value) noexcept
ThisTypeport (NullOpt) noexcept
auto ipSessionToken () const noexcept
ThisTypeipSessionToken (StrRef value) noexcept
ThisTypeipSessionToken (NullOpt) noexcept
Public Member Functions inherited from SbeGroupEntry< GroupSizeEncoding::BlockLength >
 SbeGroupEntry ()
 SbeGroupEntry (void *encoded, BlockLength size, SchemaVersion version)
bool valid () const noexcept
const void * encoded () const noexcept
void * encoded () noexcept
const void * block () const noexcept
void * block () noexcept
BlockLength blockLength () const noexcept
SchemaVersion version () const noexcept
Public Member Functions inherited from SbeFields< Container, BlockLength >
ONIXS_ICEBOE_FORCEINLINE Container & container () noexcept
void zeroPaddingBytes (BlockLength offset) noexcept
template<class FieldValue>
ONIXS_ICEBOE_FORCEINLINE void setOrdinary (BlockLength offset, FieldValue value) noexcept
template<class FieldValue>
ONIXS_ICEBOE_FORCEINLINE void setOrdinary (BlockLength offset, FieldValue value, SchemaVersion since)
template<class Enumeration>
ONIXS_ICEBOE_FORCEINLINE void setEnumeration (BlockLength offset, Enumeration value) noexcept
template<class Enumeration>
ONIXS_ICEBOE_FORCEINLINE void setEnumeration (BlockLength offset, Enumeration value, SchemaVersion since)
template<BlockLength Size>
ONIXS_ICEBOE_FORCEINLINE void setFixedStr (BlockLength offset, StrRef value) noexcept
template<BlockLength Size>
ONIXS_ICEBOE_FORCEINLINE void setFixedStr (BlockLength offset, StrRef value, SchemaVersion since)

Static Public Member Functions

static constexpr BlockLength blockLength (SchemaVersion version) noexcept
static constexpr BlockLength minimalBlockLength (SchemaVersion version) noexcept
static constexpr StrRef className () noexcept

Additional Inherited Members

Protected Member Functions inherited from SbeFields< Container, BlockLength >
 SbeFields ()=default
 ~SbeFields ()=default
Protected Member Functions inherited from BinaryBlock< Container, BlockLength >
 BinaryBlock ()=default
 ~BinaryBlock ()=default
template<typename Value>
ONIXS_ICEBOE_FORCEINLINE Value ordinary (BlockLength offset) const noexcept
template<typename NullValue>
ONIXS_ICEBOE_FORCEINLINE std::enable_if<!isComposite< typenameNullValue::Value >::value, SbeOptional< typenameNullValue::Value, NullValue > >::type ordinary (BlockLength offset, OptionalTag) const noexcept
template<typename NullValue>
ONIXS_ICEBOE_FORCEINLINE std::enable_if<!isComposite< typenameNullValue::Value >::value, SbeOptional< typenameNullValue::Value, NullValue > >::type ordinary (BlockLength offset, SchemaVersion since, OptionalTag) const noexcept
template<typename NullValue>
ONIXS_ICEBOE_FORCEINLINE std::enable_if< isComposite< typenameNullValue::Value >::value, SbeOptional< typenameNullValue::Value, NullValue > >::type ordinary (BlockLength offset, OptionalTag) const noexcept
template<typename NullValue>
ONIXS_ICEBOE_FORCEINLINE std::enable_if< isComposite< typenameNullValue::Value >::value, SbeOptional< typenameNullValue::Value, NullValue > >::type ordinary (BlockLength offset, SchemaVersion since, OptionalTag) const noexcept
template<typename Enumeration>
ONIXS_ICEBOE_FORCEINLINE Enumeration enumeration (BlockLength offset) const noexcept
template<typename Enumeration, typename NullValue>
ONIXS_ICEBOE_FORCEINLINE SbeOptionalEnumeration< Enumeration, NullValue > enumeration (BlockLength offset, OptionalTag) const noexcept
template<typename Enumeration, typename NullValue>
ONIXS_ICEBOE_FORCEINLINE SbeOptionalEnumeration< Enumeration, NullValue > enumeration (BlockLength offset, SchemaVersion since, OptionalTag) const noexcept
template<BlockLength Length>
ONIXS_ICEBOE_FORCEINLINE StrRef fixedStr (BlockLength offset) const noexcept
template<BlockLength Length>
ONIXS_ICEBOE_FORCEINLINE SbeOptionalStr fixedStr (BlockLength offset, OptionalTag) const noexcept
template<BlockLength Length>
ONIXS_ICEBOE_FORCEINLINE SbeOptionalStr fixedStr (BlockLength offset, SchemaVersion since, OptionalTag) const noexcept
template<typename Value>
ONIXS_ICEBOE_FORCEINLINE Value decimal (BlockLength offset) const noexcept
template<typename NullValue>
SbeOptional< typename NullValue::Value, NullValue > ONIXS_ICEBOE_FORCEINLINE decimal (BlockLength offset, OptionalTag) const noexcept
template<typename NullValue>
ONIXS_ICEBOE_FORCEINLINE SbeOptional< typename NullValue::Value, NullValue > decimal (BlockLength offset, SchemaVersion since, OptionalTag) const noexcept
template<typename NullValue, typename Callable>
ONIXS_ICEBOE_FORCEINLINE std::enable_if<!isComposite< typenameNullValue::Value >::value, SbeOptionalConverted< decltype(std::declval< Callable >()(std::declval< typenameArgType< Callable >::type >()))> >::type convertible (BlockLength offset, OptionalTag) const noexcept(noexcept(Callable::Nothrow))
template<typename Callable>
ONIXS_ICEBOE_FORCEINLINE auto convertible (BlockLength offset) const noexcept(noexcept(Callable::Nothrow)) -> decltype(std::declval< Callable >()(std::declval< typename ArgType< Callable >::type >()))
Protected Member Functions inherited from BinaryBlockBase
 ~BinaryBlockBase ()=default

Detailed Description

Entry of UsersEntry repeating group.

Definition at line 8486 of file Messages.h.

Member Typedef Documentation

◆ Base

Base class type.

Definition at line 8498 of file Messages.h.

◆ ThisType

This type alias.

Definition at line 8501 of file Messages.h.

Constructor & Destructor Documentation

◆ UsersEntry()

UsersEntry ( void * data,
EncodedLength length,
SchemaVersion version )
inline

Initializes instance of given version over given memory block.

Definition at line 8505 of file Messages.h.

8506 : Base(data, numericCast<Base::BlockLength>(length), version)
8507 {
8508 assert(version >= Schema::MinimalVersion);
8509 assert(length >= minimalBlockLength(version));
8510 }

Member Function Documentation

◆ blockLength()

constexpr BlockLength blockLength ( SchemaVersion version)
inlinestaticconstexprnoexcept
Returns
size of entry body in bytes for given version of message template.

Definition at line 8665 of file Messages.h.

8666 {
8667 return
8668 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
8669 minimalBlockLength(version);
8670 }

◆ className()

constexpr StrRef className ( )
inlinestaticconstexprnoexcept

Entity class name.

Definition at line 8685 of file Messages.h.

8686 {
8687 return constructStrRef("IPReport.UsersEntry");
8688 }
constexpr StrRef constructStrRef(const char(&value)[Size]) noexcept
Definition StrRef.h:414

◆ ipAddress() [1/3]

auto ipAddress ( ) const
inlinenoexcept

Provides access to ipAddress field.

Definition at line 8578 of file Messages.h.

8579 {
8580 constexpr BlockLength offset = 21;
8581 constexpr BlockLength length = 15;
8582
8583 return fixedStr<length>(offset, optional);
8584 }

◆ ipAddress() [2/3]

ThisType & ipAddress ( NullOpt )
inlinenoexcept

Definition at line 8596 of file Messages.h.

8597 {
8598 constexpr BlockLength offset = 21;
8599 constexpr BlockLength length = 15;
8600
8601 setFixedStr<length>(offset, StrRef());
8602 return *this;
8603 }
std::basic_string_view< Char > StrRef
Definition StrRef.h:46

◆ ipAddress() [3/3]

ThisType & ipAddress ( StrRef value)
inlinenoexcept

Provides access to ipAddress field.

Definition at line 8587 of file Messages.h.

8588 {
8589 constexpr BlockLength offset = 21;
8590 constexpr BlockLength length = 15;
8591
8592 setFixedStr<length>(offset, value);
8593 return *this;
8594 }

◆ ipSessionToken() [1/3]

auto ipSessionToken ( ) const
inlinenoexcept

ipSessionToken for the Gateway ID for assigned ipAddress and port for use in Binary Order Gateway LogonRequests.

Definition at line 8634 of file Messages.h.

8635 {
8636 constexpr BlockLength offset = 38;
8637 constexpr BlockLength length = 50;
8638
8639 return fixedStr<length>(offset, optional);
8640 }

◆ ipSessionToken() [2/3]

ThisType & ipSessionToken ( NullOpt )
inlinenoexcept

Definition at line 8653 of file Messages.h.

8654 {
8655 constexpr BlockLength offset = 38;
8656 constexpr BlockLength length = 50;
8657
8658 setFixedStr<length>(offset, StrRef());
8659 return *this;
8660 }

◆ ipSessionToken() [3/3]

ThisType & ipSessionToken ( StrRef value)
inlinenoexcept

ipSessionToken for the Gateway ID for assigned ipAddress and port for use in Binary Order Gateway LogonRequests.

Definition at line 8644 of file Messages.h.

8645 {
8646 constexpr BlockLength offset = 38;
8647 constexpr BlockLength length = 50;
8648
8649 setFixedStr<length>(offset, value);
8650 return *this;
8651 }

◆ minimalBlockLength()

constexpr BlockLength minimalBlockLength ( SchemaVersion version)
inlinestaticconstexprnoexcept
Returns
minimal size of entry body in bytes for given version of message template.

Definition at line 8675 of file Messages.h.

8676 {
8677 return
8678 ONIXS_ICEBOE_ASSERT(version >= Schema::MinimalVersion),
8679 88;
8680 }

◆ port() [1/3]

auto port ( ) const
inlinenoexcept

int16NULL.

Definition at line 8607 of file Messages.h.

8608 {
8609 constexpr BlockLength offset = 36;
8610
8611 return ordinary<NullInt16NULL>(offset, optional);
8612 }

◆ port() [2/3]

ThisType & port ( Int16NULL value)
inlinenoexcept

int16NULL.

Definition at line 8615 of file Messages.h.

8616 {
8617 constexpr BlockLength offset = 36;
8618
8619 setOrdinary(offset, value);
8620 return *this;
8621 }

◆ port() [3/3]

ThisType & port ( NullOpt )
inlinenoexcept

Definition at line 8623 of file Messages.h.

8624 {
8625 constexpr BlockLength offset = 36;
8626
8627 setOrdinary(offset, NullInt16NULL());
8628 return *this;
8629 }
IntegralConstant< Int16, -32768 > NullInt16NULL
Null value for an optional Int16NULL field.
Definition Fields.h:988

◆ reset()

ThisType & reset ( )
inlinenoexcept

Reset all variable-length and optional fields if any.

Definition at line 8519 of file Messages.h.

8520 {
8521 success(nullOpt);
8522 ipAddress(nullOpt);
8523 port(nullOpt);
8524 ipSessionToken(nullOpt);
8525
8526 resetVariableFields();
8527 return *this;
8528 }

◆ resetVariableFields()

ThisType & resetVariableFields ( )
inlinenoexcept

Reset all variable-length fields if any.

Definition at line 8513 of file Messages.h.

8514 {
8515 return *this;
8516 }

◆ success() [1/3]

auto success ( ) const
inlinenoexcept

uint8NULL.

Definition at line 8552 of file Messages.h.

8553 {
8554 constexpr BlockLength offset = 20;
8555
8556 return enumeration<BooleanEnum, NullUint8NULL>(offset, optional);
8557 }

◆ success() [2/3]

ThisType & success ( BooleanEnum value)
inlinenoexcept

uint8NULL.

Definition at line 8560 of file Messages.h.

8561 {
8562 constexpr BlockLength offset = 20;
8563
8564 setEnumeration<BooleanEnum>(offset, value);
8565 return *this;
8566 }

◆ success() [3/3]

ThisType & success ( NullOpt )
inlinenoexcept

Definition at line 8568 of file Messages.h.

8569 {
8570 constexpr BlockLength offset = 20;
8571
8572 setOrdinary(offset, NullUint8NULL());
8573 return *this;
8574 }
IntegralConstant< UInt8, 255 > NullUint8NULL
Null value for an optional Uint8NULL field.
Definition Fields.h:1006

◆ userId() [1/2]

auto userId ( ) const
inlinenoexcept

Provides access to userID field.

Definition at line 8532 of file Messages.h.

8533 {
8534 constexpr BlockLength offset = 0;
8535 constexpr BlockLength length = 20;
8536
8537 return fixedStr<length>(offset);
8538 }

◆ userId() [2/2]

ThisType & userId ( StrRef value)
inlinenoexcept

Provides access to userID field.

Definition at line 8541 of file Messages.h.

8542 {
8543 constexpr BlockLength offset = 0;
8544 constexpr BlockLength length = 20;
8545
8546 setFixedStr<length>(offset, value);
8547 return *this;
8548 }