1.2.21 OcaBlockFactoryAgent

Class Hierarchy:

OcaRoot : OcaAgent : OcaBlockFactoryAgent

class OcaBlockFactoryAgent : OcaAgent

Create custom OcaBlock instances (blocks). Usable only in reconfigurable devices. See [AES70-1](Constructing and deleting objects)] for an overview.

Properties:

static const OcaClassID ClassID = "1.2.21"

This property is an override of the OcaRoot property.

This property has id 1.1.

static const OcaClassVersionNumber ClassVersion = 1

Identifies the interface version of the class. Any change to the class definition leads to a higher class version. This property is an override of the OcaRoot property.

This property has id 1.2.

OcaGlobalTypeIdentifier GlobalType

Global block type identifier for reusable blocks. Blocks created by this Factory shall be given this value.

This property has id 3.1.

OcaList<OcaProtoObjectIdentification> ProtoActionObjects

List of Prototype Object Identifiers of Action Objects in the Block.

This property has id 3.2.

OcaMap<OcaPortID, OcaProtoPortClockMapEntry> ProtoBlockPortClockMap

Prototype Block Port Clock Map. This map defines the Block Port Clock Map that each Block constructed by this Factory shall have.

This property has id 3.5.

OcaList<OcaProtoPort> ProtoBlockPorts

List of Prototype Block Ports. This list defines the Block Ports that each Block constructed by this Factory shall have.

This property has id 3.4.

OcaList<OcaProtoObjectIdentification> ProtoDatasetObjects

List of Prototype Object Identifiers of Dataset Objects in the Block.

This property has id 3.3.

OcaMap<OcaID16, OcaProtoSignalPath> ProtoSignalPaths

List of Prototype Signal Paths in the Block.

This property has id 3.6.

Properties inherited from 1.2 OcaAgent:

Methods:

OcaStatus GetGlobalType(OcaGlobalTypeIdentifier &GlobalType)

Gets the global type identifier for blocks created by this factory.

This method has id 3.1.

OcaStatus SetGlobalType(OcaGlobalTypeIdentifier GlobalType)

Sets the global type identifier for blocks created by this factory.

This method has id 3.2.

OcaStatus AddProtoActionObject(OcaClassID ClassIdentification, OcaList<OcaConstructionParameter> ConstructionParameters, OcaProtoONo &ProtoObjectNumber)

Adds a Prototype Action Object of the given class to this Factory. The most current version of the given class shall be used.

This method has id 3.3.

OcaStatus AddProtoBlockUsingFactory(OcaONo FactoryONo, OcaProtoONo &ProtoObjectNumber)

Adds a Prototype nested Block to this Factory. When this Factory constructs a Block, the nested Block will be constructed as well.

This method has id 3.4.

OcaStatus GetProtoActionObjects(OcaList<OcaProtoObjectIdentification> &Objects)

Gets the Factory’s list of Prototype Action Objects. Does not recurse nested Prototype Blocks, if any.

This method has id 3.5.

OcaStatus AddProtoDatasetObject(OcaClassID ClassIdentification, OcaList<OcaConstructionParameter> ConstructionParameters, OcaProtoONo &ProtoObjectNumber)

Adds a Prototype Dataset Object of the given class to this Factory. The most current version of the class shall be used.

This method has id 3.6.

OcaStatus GetProtoDatasetObjects(OcaList<OcaProtoObjectIdentification> &Datasets)

Gets the Factory’s list of Prototype Dataset Objects. Does not recurse nested Prototype Blocks.

This method has id 3.7.

OcaStatus DeleteProtoMember(OcaProtoONo ProtoObjectNumber)

Deletes a Prototype Action Object or Prototype Dataset Object from the Factory. If the object being deleted is an Action Object, all Prototype Signal Paths attached to it

This method has id 3.8.

OcaStatus GetProtoBlockPorts(OcaList<OcaProtoPort> &Ports)

Gets the Factory’s list of Prototype Block Ports.

This method has id 3.9.

  • Ports: Output parameter.

OcaStatus SetProtoBlockPorts(OcaList<OcaProtoPort> Ports)

Sets the complete list of Prototype Block Ports. When the Factory constructs a Block, it will create a Block Port in the Block for each Prototype Block Port . Null list removes all Prototype Block Ports.

This method has id 3.10.

  • Ports: Input parameter.

OcaStatus SetProtoBlockPort(OcaString Name, OcaIODirection PortMode, OcaPortID &ID)

Adds a single Prototype Block Port to the factory. If the identified Prototype Block Port already exists in the Factory, it is replaced with the one from this call.

This method has id 3.11.

  • Name: Input parameter.

  • PortMode: Input parameter.

  • ID: Output parameter.

OcaStatus DeleteProtoBlockPort(OcaPortID ProtoPortID)

If the method succeeds, deletes the designated Prototype Block Port from the Factory.

This method has id 3.12.

OcaStatus GetProtoSignalPaths(OcaMap<OcaUint16, OcaProtoSignalPath> &SignalPaths)

Gets the Factory’s list of Prototype Signal Paths. Map key is Prototype Signal Path ID.

This method has id 3.13.

OcaStatus SetProtoSignalPaths(OcaMap<OcaUint16, OcaProtoSignalPath> SignalPaths)

Gets the Factory’s list of Prototype Signal Paths. Map key is Prototype Signal Path ID.

This method has id 3.14.

OcaStatus SetProtoSignalPath(OcaProtoSignalPath Path, OcaUint16 &Index)

Adds or replaces a Prototype Signal Path in the Factory.

This method has id 3.15.

  • Path: Input parameter.

  • Index: Output parameter.

OcaStatus DeleteProtoSignalPath(OcaUint16 &Index)

Deletes a Prototype Signal Path from the Factory.

This method has id 3.16.

  • Index: Output parameter.

OcaStatus GetProtoBlockPortClockMap(OcaMap<OcaPortID, OcaProtoPortClockMapEntry> &Map)

Gets the Prototype Block Port Clock Map.

This method has id 3.17.

  • Map: Output parameter.

OcaStatus SetProtoBlockPortClockMap(OcaMap<OcaPortID, OcaProtoPortClockMapEntry> Map)

Sets the complete Prototype Block Port Clock Map. Null parameter clears the map.

This method has id 3.18.

  • Map: Input parameter.

OcaStatus SetProtoBlockPortClockMapEntry(OcaPortID Port, OcaProtoPortClockMapEntry MapEntry)

Adds or replaces an entry to the Factory’s current Prototype Block Port Clock Map

This method has id 3.19.

OcaStatus DeleteProtoBlockPortClockMapEntry(OcaPortID PortID)

Deletes an entry from the Prototype Block Port Clock Map.

This method has id 3.20.

Methods inherited from 1.2 OcaAgent: