$sp($(spaces))#region I$(typename)DataReader
$sp($(spaces))public interface I$(typename)DataReader : DDS.IDataReader
$sp($(spaces)){
$sp($(spaces))    ReturnCode Read(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos);

$sp($(spaces))    ReturnCode Read(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples);

$sp($(spaces))    ReturnCode Read(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        SampleStateKind sampleStates,
$sp($(spaces))        ViewStateKind viewStates,
$sp($(spaces))        InstanceStateKind instanceStates);

$sp($(spaces))    ReturnCode Read(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        SampleStateKind sampleStates,
$sp($(spaces))        ViewStateKind viewStates,
$sp($(spaces))        InstanceStateKind instanceStates);

$sp($(spaces))    ReturnCode Take(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos);

$sp($(spaces))    ReturnCode Take(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples);

$sp($(spaces))    ReturnCode Take(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        SampleStateKind sampleStates,
$sp($(spaces))        ViewStateKind viewStates,
$sp($(spaces))        InstanceStateKind instanceStates);

$sp($(spaces))    ReturnCode Take(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        SampleStateKind sampleStates,
$sp($(spaces))        ViewStateKind viewStates,
$sp($(spaces))        InstanceStateKind instanceStates);

$sp($(spaces))    ReturnCode ReadWithCondition(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        IReadCondition readCondition);

$sp($(spaces))    ReturnCode ReadWithCondition(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        IReadCondition readCondition);

$sp($(spaces))    ReturnCode TakeWithCondition(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        IReadCondition readCondition);

$sp($(spaces))    ReturnCode TakeWithCondition(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        IReadCondition readCondition);

$sp($(spaces))    ReturnCode ReadNextSample(
$sp($(spaces))        ref $(typename) dataValue,
$sp($(spaces))        ref SampleInfo sampleInfo);

$sp($(spaces))    ReturnCode TakeNextSample(
$sp($(spaces))        ref $(typename) dataValue,
$sp($(spaces))        ref SampleInfo sampleInfo);

$sp($(spaces))    ReturnCode ReadInstance(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        InstanceHandle instanceHandle);

$sp($(spaces))    ReturnCode ReadInstance(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        InstanceHandle instanceHandle);

$sp($(spaces))    ReturnCode ReadInstance(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        InstanceHandle instanceHandle,
$sp($(spaces))        SampleStateKind sampleStates,
$sp($(spaces))        ViewStateKind viewStates,
$sp($(spaces))        InstanceStateKind instanceStates);

$sp($(spaces))    ReturnCode TakeInstance(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        InstanceHandle instanceHandle);

$sp($(spaces))    ReturnCode TakeInstance(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        InstanceHandle instanceHandle);

$sp($(spaces))    ReturnCode TakeInstance(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        InstanceHandle instanceHandle,
$sp($(spaces))        SampleStateKind sampleStates,
$sp($(spaces))        ViewStateKind viewStates,
$sp($(spaces))        InstanceStateKind instanceStates);

$sp($(spaces))    ReturnCode ReadNextInstance(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        InstanceHandle instanceHandle);

$sp($(spaces))    ReturnCode ReadNextInstance(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        InstanceHandle instanceHandle);

$sp($(spaces))    ReturnCode ReadNextInstance(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        InstanceHandle instanceHandle,
$sp($(spaces))        SampleStateKind sampleStates,
$sp($(spaces))        ViewStateKind viewStates,
$sp($(spaces))        InstanceStateKind instanceStates);

$sp($(spaces))    ReturnCode TakeNextInstance(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        InstanceHandle instanceHandle);

$sp($(spaces))    ReturnCode TakeNextInstance(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        InstanceHandle instanceHandle);

$sp($(spaces))    ReturnCode TakeNextInstance(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        InstanceHandle instanceHandle,
$sp($(spaces))        SampleStateKind sampleStates,
$sp($(spaces))        ViewStateKind viewStates,
$sp($(spaces))        InstanceStateKind instanceStates);

$sp($(spaces))    ReturnCode ReadNextInstanceWithCondition(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        InstanceHandle instanceHandle,
$sp($(spaces))        IReadCondition readCondition);

$sp($(spaces))    ReturnCode ReadNextInstanceWithCondition(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        InstanceHandle instanceHandle,
$sp($(spaces))        IReadCondition readCondition);

$sp($(spaces))    ReturnCode TakeNextInstanceWithCondition(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        InstanceHandle instanceHandle,
$sp($(spaces))        IReadCondition readCondition);

$sp($(spaces))    ReturnCode TakeNextInstanceWithCondition(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos,
$sp($(spaces))        int maxSamples,
$sp($(spaces))        InstanceHandle instanceHandle,
$sp($(spaces))        IReadCondition readCondition);

$sp($(spaces))    ReturnCode ReturnLoan(
$sp($(spaces))        ref $(typename)[] dataValues,
$sp($(spaces))        ref SampleInfo[] sampleInfos);

$sp($(spaces))    ReturnCode GetKeyValue(
$sp($(spaces))        ref $(typename) key,
$sp($(spaces))        InstanceHandle handle);

$sp($(spaces))    InstanceHandle LookupInstance(
$sp($(spaces))        $(typename) instance);
$sp($(spaces))}
$sp($(spaces))#endregion

$sp($(spaces))#region I$(typename)DataWriter
$sp($(spaces))public interface I$(typename)DataWriter : DDS.IDataWriter
$sp($(spaces)){
$sp($(spaces))    InstanceHandle RegisterInstance(
$sp($(spaces))        $(typename) instanceData);

$sp($(spaces))    InstanceHandle RegisterInstanceWithTimestamp(
$sp($(spaces))        $(typename) instanceData,
$sp($(spaces))        Time sourceTimestamp);

$sp($(spaces))    ReturnCode UnregisterInstance(
$sp($(spaces))        $(typename) instanceData,
$sp($(spaces))        InstanceHandle instanceHandle);

$sp($(spaces))    ReturnCode UnregisterInstanceWithTimestamp(
$sp($(spaces))        $(typename) instanceData,
$sp($(spaces))        InstanceHandle instanceHandle,
$sp($(spaces))        Time sourceTimestamp);

$sp($(spaces))    ReturnCode Write(
$sp($(spaces))        $(typename) instanceData);

$sp($(spaces))    ReturnCode Write(
$sp($(spaces))        $(typename) instanceData,
$sp($(spaces))        InstanceHandle instanceHandle);

$sp($(spaces))    ReturnCode WriteWithTimestamp(
$sp($(spaces))        $(typename) instanceData,
$sp($(spaces))        Time sourceTimestamp);

$sp($(spaces))    ReturnCode WriteWithTimestamp(
$sp($(spaces))        $(typename) instanceData,
$sp($(spaces))        InstanceHandle instanceHandle,
$sp($(spaces))        Time sourceTimestamp);

$sp($(spaces))    ReturnCode Dispose(
$sp($(spaces))        $(typename) instanceData,
$sp($(spaces))        InstanceHandle instanceHandle);

$sp($(spaces))    ReturnCode DisposeWithTimestamp(
$sp($(spaces))        $(typename) instanceData,
$sp($(spaces))        InstanceHandle instanceHandle,
$sp($(spaces))        Time sourceTimestamp);

$sp($(spaces))    ReturnCode WriteDispose(
$sp($(spaces))        $(typename) instanceData);

$sp($(spaces))    ReturnCode WriteDispose(
$sp($(spaces))        $(typename) instanceData,
$sp($(spaces))        InstanceHandle instanceHandle);

$sp($(spaces))    ReturnCode WriteDisposeWithTimestamp(
$sp($(spaces))        $(typename) instanceData,
$sp($(spaces))        Time sourceTimestamp);

$sp($(spaces))    ReturnCode WriteDisposeWithTimestamp(
$sp($(spaces))        $(typename) instanceData,
$sp($(spaces))        InstanceHandle instanceHandle,
$sp($(spaces))        Time sourceTimestamp);

$sp($(spaces))    ReturnCode GetKeyValue(
$sp($(spaces))        ref $(typename) key,
$sp($(spaces))        InstanceHandle instanceHandle);

$sp($(spaces))    InstanceHandle LookupInstance(
$sp($(spaces))        $(typename) instanceData);
$sp($(spaces))}
$sp($(spaces))#endregion

