diff --git a/plc4go/protocols/opcua/readwrite/model/ExtensionObjectWithMask.go b/plc4go/protocols/opcua/readwrite/model/ExtensionObjectWithMask.go index c2ed0e4a86..8b85f9c8c4 100644 --- a/plc4go/protocols/opcua/readwrite/model/ExtensionObjectWithMask.go +++ b/plc4go/protocols/opcua/readwrite/model/ExtensionObjectWithMask.go @@ -49,12 +49,15 @@ type ExtensionObjectWithMaskContract interface { GetEncodingMask() ExtensionObjectEncodingMask // GetExtensionId() returns a parser argument GetExtensionId() int32 + // GetIncludeEncodingMask returns IncludeEncodingMask (discriminator field) + GetIncludeEncodingMask() bool // IsExtensionObjectWithMask is a marker method to prevent unintentional type checks (interfaces of same signature) IsExtensionObjectWithMask() } // ExtensionObjectWithMaskRequirements provides a set of functions which need to be implemented by a sub struct type ExtensionObjectWithMaskRequirements interface { + ExtensionObjectRequirements GetLengthInBits(ctx context.Context) uint16 GetLengthInBytes(ctx context.Context) uint16 } @@ -107,7 +110,7 @@ func NewExtensionObjectWithMask(encodingMask ExtensionObjectEncodingMask, typeId ExtensionObjectContract: NewExtensionObject(typeId), EncodingMask: encodingMask, } - _result.ExtensionObjectContract.(*_ExtensionObject)._SubType = _result + _result.ExtensionObjectContract.(*_ExtensionObject)._SubType = _result._SubType return _result } @@ -141,7 +144,6 @@ func (m *_ExtensionObjectWithMask) GetLengthInBytes(ctx context.Context) uint16 func (m *_ExtensionObjectWithMask) parse(ctx context.Context, readBuffer utils.ReadBuffer, parent *_ExtensionObject, extensionId int32, includeEncodingMask bool) (__extensionObjectWithMask ExtensionObjectWithMask, err error) { m.ExtensionObjectContract = parent - parent._SubType = m positionAware := readBuffer _ = positionAware if pullErr := readBuffer.PullContext("ExtensionObjectWithMask"); pullErr != nil { @@ -175,6 +177,7 @@ func (m *_ExtensionObjectWithMask) parse(ctx context.Context, readBuffer utils.R return nil, errors.Wrap(closeErr, "Error closing for ExtensionObjectWithMask") } + parent._SubType = _child return _child, nil } @@ -205,7 +208,7 @@ func (pm *_ExtensionObjectWithMask) serializeParent(ctx context.Context, writeBu } return nil } - return m.ExtensionObjectContract.(*_ExtensionObject).serializeParent(ctx, writeBuffer, m, ser) + return pm.ExtensionObjectContract.(*_ExtensionObject).serializeParent(ctx, writeBuffer, m, ser) } ////