Skip to content

OcaRoot#

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

The abstract root class of which all OCA classes derive. It offers basic OCA functionality such as locking an object and generalized data access.


Overview#

Class Declaration#

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

    // Control Methods
    // Calls GetClassIdentification and calls on_result or on_failure
    void GetClassIdentification(auto on_result, failure_callback on_failure);
    // Calls GetLockable and calls on_result or on_failure
    void GetLockable(auto on_result, failure_callback on_failure);
    // Calls SetLockNoReadWrite and calls on_result or on_failure
    void SetLockNoReadWrite(auto on_result, failure_callback on_failure);
    // Calls Unlock and calls on_result or on_failure
    void Unlock(auto on_result, failure_callback on_failure);
    // Calls GetRole and calls on_result or on_failure
    void GetRole(auto on_result, failure_callback on_failure);
    // Calls SetLockNoWrite and calls on_result or on_failure
    void SetLockNoWrite(auto on_result, failure_callback on_failure);
    // Calls GetLockState and calls on_result or on_failure
    void GetLockState(auto on_result, failure_callback on_failure);

    // Observing Properties
    subscription observeLockState(auto callback, failure_callback on_failure);

    // Property Changed Subscriptions
    subscription OnLockStateChanged(auto callback, failure_callback on_failure);
  };
}

Methods#

GetClassIdentification#

void GetClassIdentification(auto on_result, failure_callback on_failure)

Calls the method GetClassIdentification in the remote device.

Parameters:#

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

GetLockable#

void GetLockable(auto on_result, failure_callback on_failure)

Calls the method GetLockable in the remote device.

Parameters:#

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

SetLockNoReadWrite#

void SetLockNoReadWrite(auto on_result, failure_callback on_failure)

Calls the method SetLockNoReadWrite in the remote device.

Parameters:#

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

Unlock#

void Unlock(auto on_result, failure_callback on_failure)

Calls the method Unlock in the remote device.

Parameters:#

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

GetRole#

void GetRole(auto on_result, failure_callback on_failure)

Calls the method GetRole in the remote device.

Parameters:#

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

SetLockNoWrite#

void SetLockNoWrite(auto on_result, failure_callback on_failure)

Calls the method SetLockNoWrite in the remote device.

Parameters:#

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

GetLockState#

void GetLockState(auto on_result, failure_callback on_failure)

Calls the method GetLockState in the remote device.

Parameters:#

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

observeLockState#

subscription observeLockState(auto callback, failure_callback on_failure)

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

Parameters:#

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

OnLockStateChanged#

subscription OnLockStateChanged(auto callback, failure_callback on_failure)

Parameters#

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