NanoOcp
Minimal AES70 / OCP.1 TCP client/server library for d&b Soundscape devices
Loading...
Searching...
No Matches
NanoOcp1::Ocp1Notification Class Reference

#include <Ocp1Message.h>

+ Inheritance diagram for NanoOcp1::Ocp1Notification:
+ Collaboration diagram for NanoOcp1::Ocp1Notification:

Public Member Functions

 Ocp1Notification (std::uint32_t emitterOno, std::uint16_t emitterPropertyDefLevel, std::uint16_t emitterPropertyIndex, std::uint8_t paramCount, const ByteVector &parameterData)
 
std::uint32_t GetEmitterOno () const
 
 ~Ocp1Notification () override=default
 
std::uint8_t GetParamCount () const
 
bool MatchesObject (const Ocp1CommandDefinition *def) const
 
ByteVector GetSerializedData () override
 
- Public Member Functions inherited from NanoOcp1::Ocp1Message
 Ocp1Message (std::uint8_t msgType, const ByteVector &parameterData)
 
virtual ~Ocp1Message ()=default
 
std::uint8_t GetMessageType () const
 
ByteVector GetParameterData () const
 

Protected Attributes

std::uint32_t m_emitterOno
 
std::uint16_t m_emitterPropertyDefLevel
 
std::uint16_t m_emitterPropertyIndex
 
std::uint8_t m_paramCount
 
- Protected Attributes inherited from NanoOcp1::Ocp1Message
Ocp1Header m_header
 
ByteVector m_parameterData
 

Additional Inherited Members

- Public Types inherited from NanoOcp1::Ocp1Message
enum  MessageType {
  Command = 0 ,
  CommandResponseRequired = 1 ,
  Notification = 2 ,
  Response = 3 ,
  KeepAlive = 4
}
 OCP.1 message type codes as defined in AES70. More...
 
- Static Public Member Functions inherited from NanoOcp1::Ocp1Message
static std::unique_ptr< Ocp1MessageUnmarshalOcp1Message (const ByteVector &receivedData)
 
- Static Protected Attributes inherited from NanoOcp1::Ocp1Message
static std::uint32_t m_nextHandle = 2
 

Detailed Description

Representation of an Oca Notification message.

Definition at line 567 of file Ocp1Message.h.

Constructor & Destructor Documentation

◆ Ocp1Notification()

NanoOcp1::Ocp1Notification::Ocp1Notification ( std::uint32_t  emitterOno,
std::uint16_t  emitterPropertyDefLevel,
std::uint16_t  emitterPropertyIndex,
std::uint8_t  paramCount,
const ByteVector parameterData 
)
inline

Class constructor.

Definition at line 573 of file Ocp1Message.h.

◆ ~Ocp1Notification()

NanoOcp1::Ocp1Notification::~Ocp1Notification ( )
overridedefault

Class destructor.

Member Function Documentation

◆ GetEmitterOno()

std::uint32_t NanoOcp1::Ocp1Notification::GetEmitterOno ( ) const
inline

Get the ONo of the object whose property changed, triggering this notification.

Returns
The emitter object's ONo.

Definition at line 591 of file Ocp1Message.h.

References m_emitterOno.

Referenced by NanoOcp1Demo::MainComponent::OnOcp1MessageReceived().

◆ GetParamCount()

std::uint8_t NanoOcp1::Ocp1Notification::GetParamCount ( ) const
inline

Gets the number of parameters contained in this Notification.

Returns
Number of parameters contained in this Notification.

Definition at line 606 of file Ocp1Message.h.

References m_paramCount.

◆ GetSerializedData()

ByteVector NanoOcp1::Ocp1Notification::GetSerializedData ( )
overridevirtual

Returns a vector of bytes representing the binary contents of the complete message. Must be reimplemented for each message type.

Returns
A vector containing the OCA message including header.

Implements NanoOcp1::Ocp1Message.

Definition at line 409 of file Ocp1Message.cpp.

References NanoOcp1::Ocp1Header::GetMessageSize(), NanoOcp1::Ocp1Header::GetSerializedData(), m_emitterOno, m_emitterPropertyDefLevel, m_emitterPropertyIndex, NanoOcp1::Ocp1Message::m_header, and NanoOcp1::Ocp1Message::m_parameterData.

◆ MatchesObject()

bool NanoOcp1::Ocp1Notification::MatchesObject ( const Ocp1CommandDefinition def) const
inline

Helper method which matches this notification to a given object definition.

Parameters
[in]defObject definition to match against.
Returns
True if this notification was triggered by the given object.

Definition at line 617 of file Ocp1Message.h.

References m_emitterOno, m_emitterPropertyDefLevel, m_emitterPropertyIndex, NanoOcp1::Ocp1CommandDefinition::m_propertyDefLevel, NanoOcp1::Ocp1CommandDefinition::m_propertyIndex, and NanoOcp1::Ocp1CommandDefinition::m_targetOno.

Referenced by NanoOcp1Demo::MainComponent::OnOcp1MessageReceived().

Member Data Documentation

◆ m_emitterOno

std::uint32_t NanoOcp1::Ocp1Notification::m_emitterOno
protected

Definition at line 629 of file Ocp1Message.h.

Referenced by GetEmitterOno(), GetSerializedData(), and MatchesObject().

◆ m_emitterPropertyDefLevel

std::uint16_t NanoOcp1::Ocp1Notification::m_emitterPropertyDefLevel
protected

Definition at line 630 of file Ocp1Message.h.

Referenced by GetSerializedData(), and MatchesObject().

◆ m_emitterPropertyIndex

std::uint16_t NanoOcp1::Ocp1Notification::m_emitterPropertyIndex
protected

Definition at line 631 of file Ocp1Message.h.

Referenced by GetSerializedData(), and MatchesObject().

◆ m_paramCount

std::uint8_t NanoOcp1::Ocp1Notification::m_paramCount
protected

Number of parameters contained in this Notification.

Definition at line 636 of file Ocp1Message.h.

Referenced by GetParamCount().


The documentation for this class was generated from the following files: