Skip to content

OcaDeviceManager#

This document describes the device side implementation of OcaDeviceManager. This class is documented in the AES70 standard as:

Mandatory manager that contains information relevant to the whole device. Must be instantiated once in every device., Must have object number 1.


Overview#

Class Declaration#

The device side implementation has the following signature.

namespace aes70::device
{
  template <class Implementation>
  class OcaDeviceManager : public OcaManager<Implementation>
  {

  };
}

The template argument Implementation may implement the following methods.

Note

The signatures given here are just one possibility and that most methods are optional. Implement only those methods which make sense in the context of your device. See the documentation in Implementing AES70 Classes for more details.

class MyOcaDeviceManagerImplementation
{
  // Methods defined by OcaDeviceManager
  OcaUint16 GetOcaVersion();
  OcaModelGUID GetModelGUID();
  OcaString GetSerialNumber();
  OcaString GetDeviceName();
  void SetDeviceName(OcaString Name);
  OcaModelDescription GetModelDescription();
  OcaString GetDeviceRole();
  void SetDeviceRole(OcaString role);
  OcaString GetUserInventoryCode();
  void SetUserInventoryCode(OcaString Code);
  OcaBoolean GetEnabled();
  void SetEnabled(OcaBoolean enabled);
  OcaDeviceState GetState();
  void SetResetKey(OcaBlobFixedLen<16> Key, OcaNetworkAddress Address);
  OcaResetCause GetResetCause();
  void ClearResetCause();
  OcaString GetMessage();
  void SetMessage(OcaString Text);
  OcaList<OcaManagerDescriptor> GetManagers();
  OcaString GetDeviceRevisionID();
  OcaManufacturer GetManufacturer();
  OcaProduct GetProduct();
  OcaDeviceOperationalState GetOperationalState();
  OcaBoolean GetLoggingEnabled();
  void SetLoggingEnabled(OcaBoolean Enabled);
  OcaONo GetMostRecentPatchDatasetONo();
  void ApplyPatch(OcaONo ONo);

  // Methods defined by OcaRoot
  OcaBoolean GetLockable();
  void SetLockNoReadWrite();
  void Unlock();
  OcaString GetRole();
  void SetLockNoWrite();
  OcaLockState GetLockState();

};

Events#