Skip to content

OcaLockManager#

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

Optional object and device lock manager that supports mutex-type waits for locking things without causing race conditions. May be instantiated at most once in any device., If instantiated, object number must be 14 (decimal).


Overview#

Class Declaration#

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

    // Control Methods
    // Calls LockWait and calls on_result or on_failure
    void LockWait(OcaONo target, OcaLockState type, OcaTimeInterval timeout, auto on_result, failure_callback on_failure);
    // Calls LockWait and does not wait for the response
    void LockWait(OcaONo target, OcaLockState type, OcaTimeInterval timeout);
    // Calls AbortWaits and calls on_result or on_failure
    void AbortWaits(OcaONo ONo, auto on_result, failure_callback on_failure);
    // Calls AbortWaits and does not wait for the response
    void AbortWaits(OcaONo ONo);

    // Observing Properties

    // Property Changed Subscriptions
  };
}

Methods#

LockWait#

void LockWait(OcaONo target, OcaLockState type, OcaTimeInterval timeout, auto on_result, failure_callback on_failure)

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

Parameters:#

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

AbortWaits#

void AbortWaits(OcaONo ONo, auto on_result, failure_callback on_failure)

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

Parameters:#

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