Show / Hide Table of Contents

Class BaseSessionWriter

This class is the skeleton for session writer class and holds the information about session details, lap, periodic channels, parameters along with rational and text conversions.

Inheritance
System.Object
BaseSessionWriter
FileSessionWriter
Implements
ISessionWriter
ISessionBuilder
System.IDisposable
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: MAT.AtlasSessionApi
Assembly: MAT.AtlasSessionApi.dll
Syntax
public abstract class BaseSessionWriter : ISessionWriter, ISessionBuilder, IDisposable

Properties

Channels

Gets the collection of key/value pairs for the channels where key is defined as channel id.

Declaration
public IReadOnlyDictionary<uint, Channel> Channels { get; }
Property Value
Type Description
System.Collections.Generic.IReadOnlyDictionary<System.UInt32, Channel>

Committed

Gets the status of the commit.

Declaration
public bool Committed { get; protected set; }
Property Value
Type Description
System.Boolean

Conversions

Gets the collection of key/value pairs for the conversions where key is defined as conversion identifier.

Declaration
public IReadOnlyDictionary<string, Conversion> Conversions { get; }
Property Value
Type Description
System.Collections.Generic.IReadOnlyDictionary<System.String, Conversion>

Groups

Gets the collection of groups and subgroups of the parameter.

Declaration
public IReadOnlyCollection<Group> Groups { get; }
Property Value
Type Description
System.Collections.Generic.IReadOnlyCollection<Group>

Laps

Gets the collection od the laps.

Declaration
public IReadOnlyCollection<Lap> Laps { get; }
Property Value
Type Description
System.Collections.Generic.IReadOnlyCollection<Lap>

NextChannelNumber

Gets and increment next channel id.

Declaration
public uint NextChannelNumber { get; set; }
Property Value
Type Description
System.UInt32

Parameters

Gets the collection of parameters and their descriptions.

Declaration
public IEnumerable<Parameter> Parameters { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<Parameter>

ParametersByIdentifier

Gets the collection of key/value pairs for the parameters where key is defined as parameter identifier.

Declaration
public IReadOnlyDictionary<string, Parameter> ParametersByIdentifier { get; }
Property Value
Type Description
System.Collections.Generic.IReadOnlyDictionary<System.String, Parameter>

SessionItems

Gets the collection of key/value pairs for the session details.

Declaration
public IReadOnlyDictionary<string, string> SessionItems { get; }
Property Value
Type Description
System.Collections.Generic.IReadOnlyDictionary<System.String, System.String>

Methods

AddChannel(Channel)

Add a new channel into session.

Declaration
public void AddChannel(Channel channel)
Parameters
Type Name Description
Channel channel

channel object.

Exceptions
Type Condition
System.ArgumentNullException

throw exception if channel is null.

System.ArgumentException

throw exception if channel is already added.

AddGroup(Group)

Add a new group/sub group for parameter.

Declaration
public void AddGroup(Group group)
Parameters
Type Name Description
Group group
Exceptions
Type Condition
System.ArgumentNullException

throw exception group is null.

AddLap(Int32, Int64, LapType)

Add a new lap into session.

Declaration
public abstract void AddLap(int number, long time, LapType type)
Parameters
Type Name Description
System.Int32 number

lap number.

System.Int64 time

lap timestamp.

LapType type

type of the lap.

AddParameter(Parameter)

Add a new parameter into the session along with it's conversion.

Declaration
public void AddParameter(Parameter parameter)
Parameters
Type Name Description
Parameter parameter

parameter object.

Exceptions
Type Condition
System.ArgumentException

throw exception if validation is failed.

AddSessionDetails(String, String)

Add a new session details into session.

Declaration
public void AddSessionDetails(string name, string value)
Parameters
Type Name Description
System.String name

detail name.

System.String value

detail value.

BuildRationalParameter(String, String, Range)

Build the parameter with rational conversion.

Declaration
public RationalParameterBuilder BuildRationalParameter(string group, string name, Range physicalRange)
Parameters
Type Name Description
System.String group

group name.

System.String name

conversion name.

Range physicalRange

physical range of the parameter.

Returns
Type Description
RationalParameterBuilder

rational parameter builder object.

BuildTextParameter(String, String)

Build the parameter with text conversion.

Declaration
public TextParameterBuilder BuildTextParameter(string group, string name)
Parameters
Type Name Description
System.String group

group name.

System.String name

parameter name.

Returns
Type Description
TextParameterBuilder

text parameter builder object.

CloseSession(String)

Close the session.

Declaration
public abstract void CloseSession(string extension = "ssn")
Parameters
Type Name Description
System.String extension

Close the session with extension, default is ssn. Pass ssv for associated session.

CommitParameters()

Commits the parameters and it's related information into the session.

Declaration
public abstract void CommitParameters()

Dispose()

Declaration
public abstract void Dispose()

DoWritePeriodicData(UInt32, Int64, Int32, Byte[])

Add the samples into the channel.

Declaration
protected abstract void DoWritePeriodicData(uint channelNumber, long timestamp, int count, byte[] data)
Parameters
Type Name Description
System.UInt32 channelNumber

chanel id.

System.Int64 timestamp

first sample timestamp.

System.Int32 count

sample count.

System.Byte[] data

byte data array.

WritePeriodicData(Channel, Int64, Int32, Byte[])

Write the periodic channel data into session.

Declaration
public void WritePeriodicData(Channel channel, long timestamp, int count, byte[] data)
Parameters
Type Name Description
Channel channel

channel object.

System.Int64 timestamp

timestamp of first sample.

System.Int32 count

sample count.

System.Byte[] data

byte data array.

Exceptions
Type Condition
System.ArgumentException

Throw argument exception if not periodic channel.

WritePeriodicValues(Channel, Int64, Byte[], Int32, ByteOrder)

Write the data into session for a given channel. The data can be passed as byte array along with first sample timestamp.

Declaration
public void WritePeriodicValues(Channel channel, long timestamp, byte[] values, int count, ByteOrder byteOrder = ByteOrder.LittleEndian)
Parameters
Type Name Description
Channel channel

channel object.

System.Int64 timestamp

timestamp of first sample.

System.Byte[] values

byte array of samples.

System.Int32 count

sample count.

ByteOrder byteOrder

byte order for little/big endian. Default is little endian

WritePeriodicValues(Channel, Int64, Int16[], Int32, ByteOrder)

Write the data into session for a given channel. The data can be passed as short array along with first sample timestamp.

Declaration
public void WritePeriodicValues(Channel channel, long timestamp, short[] values, int count, ByteOrder byteOrder = ByteOrder.LittleEndian)
Parameters
Type Name Description
Channel channel

channel object.

System.Int64 timestamp

timestamp of first sample.

System.Int16[] values

short array of samples.

System.Int32 count

sample count.

ByteOrder byteOrder

byte order for little/big endian. Default is little endian

WritePeriodicValues(Channel, Int64, Int32[], Int32, ByteOrder)

Write the data into session for a given channel. The data can be passed as integer array along with first sample timestamp.

Declaration
public void WritePeriodicValues(Channel channel, long timestamp, int[] values, int count, ByteOrder byteOrder = ByteOrder.LittleEndian)
Parameters
Type Name Description
Channel channel

channel object.

System.Int64 timestamp

timestamp of first sample.

System.Int32[] values

integer array of samples.

System.Int32 count

sample count.

ByteOrder byteOrder

byte order for little/big endian. Default is little endian

WritePeriodicValues(Channel, Int64, SByte[], Int32, ByteOrder)

Write the data into session for a given channel. The data can be passed as signed byte array along with first sample timestamp.

Declaration
public void WritePeriodicValues(Channel channel, long timestamp, sbyte[] values, int count, ByteOrder byteOrder = ByteOrder.LittleEndian)
Parameters
Type Name Description
Channel channel

channel object.

System.Int64 timestamp

timestamp of first sample.

System.SByte[] values

signed byte array of samples.

System.Int32 count

sample count.

ByteOrder byteOrder

byte order for little/big endian. Default is little endian

WritePeriodicValues(Channel, Int64, Single[], Int32, ByteOrder)

Write the data into session for a given channel. The data can be passed as float array along with first sample timestamp.

Declaration
public void WritePeriodicValues(Channel channel, long timestamp, float[] values, int count, ByteOrder byteOrder = ByteOrder.LittleEndian)
Parameters
Type Name Description
Channel channel

channel object.

System.Int64 timestamp

timestamp of first sample.

System.Single[] values

float array of samples.

System.Int32 count

sample count.

ByteOrder byteOrder

byte order for little/big endian. Default is little endian

WritePeriodicValues(Channel, Int64, UInt16[], Int32, ByteOrder)

Write the data into session for a given channel. The data can be passed as unsigned short array along with first sample timestamp.

Declaration
public void WritePeriodicValues(Channel channel, long timestamp, ushort[] values, int count, ByteOrder byteOrder = ByteOrder.LittleEndian)
Parameters
Type Name Description
Channel channel

channel object.

System.Int64 timestamp

timestamp of first sample.

System.UInt16[] values

unsigned short array of samples.

System.Int32 count

sample count.

ByteOrder byteOrder

byte order for little/big endian. Default is little endian

WritePeriodicValues(Channel, Int64, UInt32[], Int32, ByteOrder)

Write the data into session for a given channel. The data can be passed as unsigned integer array along with first sample timestamp.

Declaration
public void WritePeriodicValues(Channel channel, long timestamp, uint[] values, int count, ByteOrder byteOrder = ByteOrder.LittleEndian)
Parameters
Type Name Description
Channel channel

channel object.

System.Int64 timestamp

timestamp of first sample.

System.UInt32[] values

unsigned integer array of samples.

System.Int32 count

sample count.

ByteOrder byteOrder

byte order for little/big endian. Default is little endian

Implements

ISessionWriter
ISessionBuilder
System.IDisposable
In This Article
Back to top Generated by DocFX