class TraceType:
- def __init__(self, data_stream_types: Set[DataStreamType], uuid: _OptUuid = None,
- features: Optional[TraceTypeFeatures] = None):
+ def __init__(self, target_byte_order: ByteOrder, data_stream_types: Set[DataStreamType],
+ uuid: _OptUuid = None, features: Optional[TraceTypeFeatures] = None):
+ self._target_byte_order = target_byte_order
self._data_stream_types = frozenset(data_stream_types)
# assign unique IDs
add_member_if_exists('stream_id', self._features.data_stream_type_id_field_type)
self._pkt_header_ft = StructureFieldType(8, members)
+ @property
+ def target_byte_order(self) -> ByteOrder:
+ return self._target_byte_order
+
@property
def uuid(self) -> _OptUuid:
return self._uuid
class Configuration:
- def __init__(self, trace: Trace, target_byte_order: ByteOrder,
- options: Optional[ConfigurationOptions] = None):
+ def __init__(self, trace: Trace, options: Optional[ConfigurationOptions] = None):
self._trace = trace
self._options = ConfigurationOptions()
- self._target_byte_order = target_byte_order
if options is not None:
self._options = options
def trace(self) -> Trace:
return self._trace
- @property
- def target_byte_order(self):
- return self._target_byte_order
-
@property
def options(self) -> ConfigurationOptions:
return self._options
v3_trace_type_node: _MapNode = collections.OrderedDict()
v2_trace_node = v2_meta_node['trace']
- # Move `byte-order` property to root node's `target-byte-order`
- # property.
- typing.cast(_MapNode, self._root_node)['target-byte-order'] = v2_trace_node['byte-order']
+ # copy `byte-order` property as `target-byte-order` property
+ _copy_prop_if_exists(v3_trace_type_node, v2_trace_node, 'byte-order', 'target-byte-order')
# copy `uuid` property
_copy_prop_if_exists(v3_trace_type_node, v2_trace_node, 'uuid')
dsts.add(self._create_dst(dst_name, dst_node))
# create trace type
- return barectf_config.TraceType(dsts, trace_type_uuid, features)
+ return barectf_config.TraceType(self._target_byte_order, dsts, trace_type_uuid,
+ features)
except _ConfigurationParseError as exc:
_append_error_ctx(exc, 'Trace type')
opts = barectf_config.ConfigurationOptions(cg_opts)
# create configuration
- self._config = barectf_config.Configuration(trace, self._target_byte_order, opts)
+ self._config = barectf_config.Configuration(trace, opts)
# Expands the field type aliases found in the trace type node.
#
parent_node[key] = 'little-endian'
trace_node = self.config_node['trace']
- normalize_byte_order_prop(self.config_node, 'target-byte-order')
+ normalize_byte_order_prop(self._trace_type_node, 'target-byte-order')
for parent_node, key in self._trace_type_props():
node = parent_node[key]
# Sets the parser's target byte order.
def _set_target_byte_order(self):
- self._target_byte_order_node = self.config_node['target-byte-order']
+ self._target_byte_order_node = self._trace_type_node['target-byte-order']
self._target_byte_order = self._byte_order_from_node(self._target_byte_order_node)
# Processes the inclusions of the event record type node
title: Trace type object
type: object
properties:
+ target-byte-order:
+ $ref: https://barectf.org/schemas/config/common/common.json#/definitions/byte-order-prop
uuid:
$ref: https://barectf.org/schemas/config/common/common.json#/definitions/opt-trace-type-uuid-prop
$features:
additionalProperties: false
minProperties: 1
required:
+ - target-byte-order
- data-stream-types
additionalProperties: false
clock-type:
additionalProperties: false
additionalProperties: false
additionalProperties: false
- target-byte-order:
- $ref: https://barectf.org/schemas/config/common/common.json#/definitions/byte-order-prop
trace:
$ref: '#/definitions/trace'
required:
- trace
- - target-byte-order
additionalProperties: false
* Also, consecutive bitfields are placed from higher to lower bits.
*/
-{% if cfg.target_byte_order == barectf_config.ByteOrder.LITTLE_ENDIAN %}
+{% if cfg.trace.type.target_byte_order == barectf_config.ByteOrder.LITTLE_ENDIAN %}
/* Target byte order: little-endian */
#define _bt_bitfield_write_le(_ptr, type, _start, _length, _vtype, _v) \
{{ incr_at }};
}
{%- else %}
- {% set bo = 'le' if cfg.target_byte_order == barectf_config.ByteOrder.LITTLE_ENDIAN else 'be' %}
+ {% set bo = 'le' if cfg.trace.type.target_byte_order == barectf_config.ByteOrder.LITTLE_ENDIAN else 'be' %}
{% set c_type_non_const = c_type | replace('const ', '') %}
{% set offset_in_byte = 'ctx->at % 8' if op.offset_in_byte == none else op.offset_in_byte %}
bt_bitfield_write_{{ bo }}(&ctx->buf[_BITS_TO_BYTES(ctx->at)], {{ offset_in_byte }}, {{ op.ft.size }},
trace {
major = 1;
minor = 8;
- byte_order = {{ 'le' if cfg.target_byte_order == barectf_config.ByteOrder.LITTLE_ENDIAN else 'be' }};
+ byte_order = {{ 'le' if cfg.trace.type.target_byte_order == barectf_config.ByteOrder.LITTLE_ENDIAN else 'be' }};
{% if cfg.trace.type.uuid %}
uuid = "{{ cfg.trace.type.uuid }}";
{% endif %}
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: little-endian
trace:
type:
+ target-byte-order: little-endian
$include:
- stdint.yaml
- stdreal.yaml
[source,yaml]
----
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
+ target-byte-order: le
clock-types:
default:
$c-type: uint64_t
[source,yaml]
----
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
+ target-byte-order: le
clock-types:
default:
$c-type: uint64_t
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdreal.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdreal.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdmisc.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdmisc.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
- stdmisc.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdreal.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdreal.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdmisc.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdmisc.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
- stdmisc.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true
%YAML 1.2
--- !<tag:barectf.org,2020/3/config>
-target-byte-order: le
trace:
type:
$include:
- stdint.yaml
+ target-byte-order: le
data-stream-types:
default:
$is-default: true