OPAL Version 3.10.4

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Protected Attributes
OpalMixerNodeManager Class Reference

`#include <opalmixer.h>`

## Public Member Functions

Construction
| OpalMixerNodeManager ()
virtual | ~OpalMixerNodeManager ()
virtual void | ShutDown ()
virtual PBoolean | GarbageCollection ()
Operations
virtual OpalMixerNode * | CreateNode (OpalMixerNodeInfo *info)
virtual PSafePtr< OpalMixerNode > | AddNode (OpalMixerNodeInfo *info)
void | AddNode (OpalMixerNode *node)
PSafePtr< OpalMixerNode > | GetFirstNode (PSafetyMode mode=PSafeReference) const
virtual PSafePtr< OpalMixerNode > | FindNode (const PString &name, PSafetyMode mode=PSafeReference)
virtual void | RemoveNode (OpalMixerNode &node)
void | AddNodeName (PString name, OpalMixerNode *node)
void | RemoveNodeName (PString name)
void | RemoveNodeNames (PStringList names)

## Protected Attributes

PSafeDictionary < PGloballyUniqueID, OpalMixerNode > | m_nodesByUID
PDictionary< PString, OpalMixerNode > | m_nodesByName

## Detailed Description

Mixer node manager. This class is a collection of OpalMixerNodes. It provides access to nodes by GUID or name.

## Constructor & Destructor Documentation

OpalMixerNodeManager::OpalMixerNodeManager | ( |  | ) |

Create a new mixer node manager.

virtual OpalMixerNodeManager::~OpalMixerNodeManager | ( |  | ) |

virtual

Destroy all mixer nodes. Calls ShutDown.

## Member Function Documentation

virtual PSafePtr<OpalMixerNode> OpalMixerNodeManager::AddNode | ( | OpalMixerNodeInfo * | info | ) |

virtual

Add a new node. The info variable should be created on the heap and it is subsequently owned by the node. NULL can be passed if defaults are to be used. Calls CreateNode.

Parameters:

  info | Initial info for node

void OpalMixerNodeManager::AddNode | ( | OpalMixerNode * | node | ) |

Add an existing node.

void OpalMixerNodeManager::AddNodeName | ( | PString | name,
|  | OpalMixerNode * | node
| ) |  |

Add node name to association list.

Parameters:

  name | alias name for node
  node | node associated with name

virtual OpalMixerNode* OpalMixerNodeManager::CreateNode | ( | OpalMixerNodeInfo * | info | ) |

virtual

Create a new node. This should create the new instance of the OpalMixerNode as required by the derived class, if any. The info variable should be created on the heap and it is subsequently owned by the node. NULL can be passed if defaults are to be used.

Parameters:

  info | Initial info for node

virtual PSafePtr<OpalMixerNode> OpalMixerNodeManager::FindNode | ( | const PString & | name,
|  | PSafetyMode | mode = `PSafeReference`
| ) |  |

virtual

Find a new node. This will search for the mixer node using GUID and then name.

Parameters:

  name | GUID or alias name for node
  mode | Lock mode for returned pointer

Referenced by OpalMixerEndPoint::FindNode().

virtual PBoolean OpalMixerNodeManager::GarbageCollection | ( |  | ) |

virtual

Execute garbage collection of nodes. Returns true if all garbage has been collected. Default behaviour deletes the objects that have been removed from the m_nodesByUID list.

PSafePtr<OpalMixerNode> OpalMixerNodeManager::GetFirstNode | ( | PSafetyMode | mode = `PSafeReference` | ) | const

inline

Get the first node. The active nodes may be enumerated by the ++ operator on the PSafePtr.

Parameters:

  mode | Lock mode for returned pointer

References m_nodesByUID.

Referenced by OpalMixerEndPoint::GetFirstNode().

virtual void OpalMixerNodeManager::RemoveNode | ( | OpalMixerNode & | node | ) |

virtual

Remove a node. Shut down all active connections with node, remove its name associations and delete it.

Referenced by OpalMixerEndPoint::RemoveNode().

void OpalMixerNodeManager::RemoveNodeName | ( | PString | name | ) |

Remove node's name from association list.

Parameters:

  name | alias name for node

void OpalMixerNodeManager::RemoveNodeNames | ( | PStringList | names | ) |

Remove list of node names from association list. Commonly used when node destroyed.

Parameters:

  names | list of alias names for nodes

virtual void OpalMixerNodeManager::ShutDown | ( |  | ) |

virtual

Shuts down, removes and destroys all mixer nodes.

## Field Documentation

PDictionary<PString, OpalMixerNode> OpalMixerNodeManager::m_nodesByName

protected

PSafeDictionary<PGloballyUniqueID, OpalMixerNode> OpalMixerNodeManager::m_nodesByUID

protected

Referenced by GetFirstNode().

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

- opalmixer.h