Skip to content

OcaTimeSource#

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

A time source, internal or external, and the delivery method by which time values reach this device.


Overview#

Class Declaration#

The device side implementation has the following signature.

namespace aes70::device
{
  template <class Implementation>
  class OcaTimeSource : public OcaAgent<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 MyOcaTimeSourceImplementation
{
  // Methods defined by OcaTimeSource
  OcaTimeSourceAvailability GetAvailability();
  OcaTimeDeliveryMechanism GetTimeDeliveryMechanism();
  void SetTimeDeliveryMechanism(OcaTimeDeliveryMechanism Mechanism);
  OcaSDPString GetReferenceSDPDescription();
  void SetReferenceSDPDescription(OcaSDPString Parameters);
  OcaTimeReferenceType GetReferenceType();
  void SetReferenceType(OcaTimeReferenceType ReferenceType);
  OcaString GetReferenceID();
  void SetReferenceID(OcaString ID);
  OcaTimeSourceSyncStatus GetSyncStatus();
  void Reset();
  OcaParameterRecord GetTimeDeliveryParameters();
  void SetTimeDeliveryParameters(OcaParameterRecord Record);

  // Methods defined by OcaAgent
  OcaString GetLabel();
  void SetLabel(OcaString Label);
  OcaONo GetOwner();
  std::tuple<OcaRolePath,OcaONoPath> GetPath();

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

};

Events#