Skip to content

OcaDataset#

This document describes the controller implementation of OcaDataset. This class is documented in the AES70 standard as:

An OCA Dataset. A dataset is like a simple binary file that can be read and written., Every dataset is a separate OcaDataset object.


Overview#

Class Declaration#

namespace aes70::controller
{
  class OcaDataset : public OcaRoot
  {
  public:
    OcaDataset(std::shared_ptr<connection> connection,
            uin32_t object_number);
    OcaDataset(const OcaDataset &o);

    // Control Methods
    // Calls OpenRead and calls on_result or on_failure
    void OpenRead(OcaLockState RequestedLockState, auto on_result, failure_callback on_failure);
    // Calls OpenRead and does not wait for the response
    void OpenRead(OcaLockState RequestedLockState);
    // Calls OpenWrite and calls on_result or on_failure
    void OpenWrite(OcaLockState RequestedLockState, auto on_result, failure_callback on_failure);
    // Calls OpenWrite and does not wait for the response
    void OpenWrite(OcaLockState RequestedLockState);
    // Calls Close and calls on_result or on_failure
    void Close(OcaIOSessionHandle Handle, auto on_result, failure_callback on_failure);
    // Calls Close and does not wait for the response
    void Close(OcaIOSessionHandle Handle);
    // Calls Read and calls on_result or on_failure
    void Read(OcaIOSessionHandle Handle, OcaUint64 Position, OcaUint64 PartSize, auto on_result, failure_callback on_failure);
    // Calls Read and does not wait for the response
    void Read(OcaIOSessionHandle Handle, OcaUint64 Position, OcaUint64 PartSize);
    // Calls Write and calls on_result or on_failure
    void Write(OcaIOSessionHandle Handle, OcaUint64 Position, OcaLongBlob Part, auto on_result, failure_callback on_failure);
    // Calls Write and does not wait for the response
    void Write(OcaIOSessionHandle Handle, OcaUint64 Position, OcaLongBlob Part);
    // Calls Clear and calls on_result or on_failure
    void Clear(OcaIOSessionHandle Handle, auto on_result, failure_callback on_failure);
    // Calls Clear and does not wait for the response
    void Clear(OcaIOSessionHandle Handle);
    // Calls GetOwner and calls on_result or on_failure
    void GetOwner(auto on_result, failure_callback on_failure);
    // Calls GetName and calls on_result or on_failure
    void GetName(auto on_result, failure_callback on_failure);
    // Calls SetName and calls on_result or on_failure
    void SetName(OcaString Name, auto on_result, failure_callback on_failure);
    // Calls SetName and does not wait for the response
    void SetName(OcaString Name);
    // Calls GetType and calls on_result or on_failure
    void GetType(auto on_result, failure_callback on_failure);
    // Calls SetType and calls on_result or on_failure
    void SetType(OcaString Type, auto on_result, failure_callback on_failure);
    // Calls SetType and does not wait for the response
    void SetType(OcaString Type);
    // Calls GetReadOnly and calls on_result or on_failure
    void GetReadOnly(auto on_result, failure_callback on_failure);
    // Calls SetReadOnly and calls on_result or on_failure
    void SetReadOnly(OcaBoolean ReadOnly, auto on_result, failure_callback on_failure);
    // Calls SetReadOnly and does not wait for the response
    void SetReadOnly(OcaBoolean ReadOnly);
    // Calls GetLastModificationTime and calls on_result or on_failure
    void GetLastModificationTime(auto on_result, failure_callback on_failure);
    // Calls GetDatasetSizes and calls on_result or on_failure
    void GetDatasetSizes(auto on_result, failure_callback on_failure);

    // Observing Properties
    subscription observeName(auto callback, failure_callback on_failure);
    subscription observeType(auto callback, failure_callback on_failure);
    subscription observeReadOnly(auto callback, failure_callback on_failure);
    subscription observeLastModificationTime(auto callback, failure_callback on_failure);
    subscription observeMaxSize(auto callback, failure_callback on_failure);

    // Property Changed Subscriptions
    subscription OnNameChanged(auto callback, failure_callback on_failure);
    subscription OnTypeChanged(auto callback, failure_callback on_failure);
    subscription OnReadOnlyChanged(auto callback, failure_callback on_failure);
    subscription OnLastModificationTimeChanged(auto callback, failure_callback on_failure);
    subscription OnMaxSizeChanged(auto callback, failure_callback on_failure);
  };
}

Methods#

OpenRead#

void OpenRead(OcaLockState RequestedLockState, auto on_result, failure_callback on_failure)

Calls the method OpenRead in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaLockState RequestedLockState
  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaUint64 DatasetSize
    • OcaIOSessionHandle Handle
  • failure_callback on_failure: A callback which is called on error.

OpenWrite#

void OpenWrite(OcaLockState RequestedLockState, auto on_result, failure_callback on_failure)

Calls the method OpenWrite in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaLockState RequestedLockState
  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaUint64 MaxPartSize
    • OcaIOSessionHandle Handle
  • failure_callback on_failure: A callback which is called on error.

Close#

void Close(OcaIOSessionHandle Handle, auto on_result, failure_callback on_failure)

Calls the method Close in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaIOSessionHandle Handle
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

Read#

void Read(OcaIOSessionHandle Handle, OcaUint64 Position, OcaUint64 PartSize, auto on_result, failure_callback on_failure)

Calls the method Read in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaIOSessionHandle Handle
  • OcaUint64 Position
  • OcaUint64 PartSize
  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaBoolean EndOfData
    • OcaLongBlob Part
  • failure_callback on_failure: A callback which is called on error.

Write#

void Write(OcaIOSessionHandle Handle, OcaUint64 Position, OcaLongBlob Part, auto on_result, failure_callback on_failure)

Calls the method Write in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaIOSessionHandle Handle
  • OcaUint64 Position
  • OcaLongBlob Part
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

Clear#

void Clear(OcaIOSessionHandle Handle, auto on_result, failure_callback on_failure)

Calls the method Clear in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaIOSessionHandle Handle
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetOwner#

void GetOwner(auto on_result, failure_callback on_failure)

Calls the method GetOwner in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaONo Owner
  • failure_callback on_failure: A callback which is called on error.

GetName#

void GetName(auto on_result, failure_callback on_failure)

Calls the method GetName in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaString Name
  • failure_callback on_failure: A callback which is called on error.

SetName#

void SetName(OcaString Name, auto on_result, failure_callback on_failure)

Calls the method SetName in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaString Name
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetType#

void GetType(auto on_result, failure_callback on_failure)

Calls the method GetType in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaString Type
  • failure_callback on_failure: A callback which is called on error.

SetType#

void SetType(OcaString Type, auto on_result, failure_callback on_failure)

Calls the method SetType in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaString Type
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetReadOnly#

void GetReadOnly(auto on_result, failure_callback on_failure)

Calls the method GetReadOnly in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaBoolean ReadOnly
  • failure_callback on_failure: A callback which is called on error.

SetReadOnly#

void SetReadOnly(OcaBoolean ReadOnly, auto on_result, failure_callback on_failure)

Calls the method SetReadOnly in the remote device. If no result and error callback is specified, the method will be called without requesting a response.

Parameters:#

  • OcaBoolean ReadOnly
  • auto on_result: A callable (e.g. a lambda) with 0 arguments.
  • failure_callback on_failure: A callback which is called on error.

GetLastModificationTime#

void GetLastModificationTime(auto on_result, failure_callback on_failure)

Calls the method GetLastModificationTime in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaTime Time
  • failure_callback on_failure: A callback which is called on error.

GetDatasetSizes#

void GetDatasetSizes(auto on_result, failure_callback on_failure)

Calls the method GetDatasetSizes in the remote device.

Parameters:#

  • auto on_result: A callable (e.g. a lambda) with the following arguments:
    • OcaUint64 CurrentSize
    • OcaUint64 MaxSize
  • failure_callback on_failure: A callback which is called on error.

observeName#

subscription observeName(auto callback, failure_callback on_failure)

Fetches the remote property Name and subscribes for modifications. The callback is called with the initial values of Name and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaString Name
  • failure_callback on_failure: A callback which is called on error.

observeType#

subscription observeType(auto callback, failure_callback on_failure)

Fetches the remote property Type and subscribes for modifications. The callback is called with the initial values of Type and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaMimeType Type
  • failure_callback on_failure: A callback which is called on error.

observeReadOnly#

subscription observeReadOnly(auto callback, failure_callback on_failure)

Fetches the remote property ReadOnly and subscribes for modifications. The callback is called with the initial values of ReadOnly and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaBoolean ReadOnly
  • failure_callback on_failure: A callback which is called on error.

observeLastModificationTime#

subscription observeLastModificationTime(auto callback, failure_callback on_failure)

Fetches the remote property LastModificationTime and subscribes for modifications. The callback is called with the initial values of LastModificationTime and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaTime LastModificationTime
  • failure_callback on_failure: A callback which is called on error.

observeMaxSize#

subscription observeMaxSize(auto callback, failure_callback on_failure)

Fetches the remote property MaxSize and subscribes for modifications. The callback is called with the initial values of MaxSize and whenever it changes.

Parameters:#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaUint64 MaxSize
  • failure_callback on_failure: A callback which is called on error.

OnNameChanged#

subscription OnNameChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaString Name
  • failure_callback on_failure: A callback which is called on error.

OnTypeChanged#

subscription OnTypeChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaMimeType Type
  • failure_callback on_failure: A callback which is called on error.

OnReadOnlyChanged#

subscription OnReadOnlyChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaBoolean ReadOnly
  • failure_callback on_failure: A callback which is called on error.

OnLastModificationTimeChanged#

subscription OnLastModificationTimeChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaTime LastModificationTime
  • failure_callback on_failure: A callback which is called on error.

OnMaxSizeChanged#

subscription OnMaxSizeChanged(auto callback, failure_callback on_failure)

Parameters#

  • auto callback: A callable (e.g. a lambda) with one argument: OcaUint64 MaxSize
  • failure_callback on_failure: A callback which is called on error.