AVBlocks for C++  1.19
Audio and Video Software Development Kit
ParameterList Class Referenceabstract

A collection of Parameter objects. More...

Inheritance diagram for ParameterList:
Reference

Public Member Functions

virtual void add (Parameter *item)=0
 Adds a parameter to the collection. More...
 
virtual void addByteArray (const char *name, const uint8_t *data, int32_t size)=0
 Creates a ByteArrayParameter and adds it to the collection. More...
 
virtual void addFloat (const char *name, double value)=0
 Creates a FloatParameter and adds it to the collection. More...
 
virtual void addInt (const char *name, int64_t value)=0
 Creates an IntParameter and adds it to the collection. More...
 
virtual void addMediaBuffer (const char *name, primo::codecs::MediaBuffer *value)=0
 Creates a MediaBufferParameter and adds it to the collection. More...
 
virtual void addString (const char *name, const char_t *value)=0
 Creates a StringParameter and adds it to the collection. More...
 
virtual Parameterat (int32_t index) const =0
 Returns a parameter specified by index. More...
 
virtual void clear ()=0
 Removes all parameters from the collection. More...
 
virtual int32_t count () const =0
 Returns the number of parameters in the collection. More...
 
virtual bool_t insert (int32_t itemIndex, Parameter *item)=0
 Inserts a parameter at the specified index. More...
 
virtual ParameteritemByName (const char *name) const =0
 Returns a parameter specified by its name. More...
 
virtual bool_t remove (int32_t itemIndex)=0
 Removes a parameter from the collection. More...
 
virtual bool_t setAt (int32_t itemIndex, Parameter *item)=0
 Sets a new parameter at the specified index. More...
 
- Public Member Functions inherited from Reference
virtual int32_t release () const =0
 Releases the instance. More...
 
virtual int32_t retain () const =0
 Retains the instance. More...
 
virtual int32_t retainCount () const =0
 Returns the current reference count. More...
 

Protected Member Functions

 ~ParameterList ()
 This object can be destroyed only by the AVBlocks library.
 

Detailed Description

A collection of Parameter objects.

It is used for passing parameters to different AVBlocks components.

See Also
Parameter
Library::createParameterList

Member Function Documentation

virtual void add ( Parameter item)
pure virtual

Adds a parameter to the collection.

Parameters
item[in] A pointer to a Parameter object that should be added to the collection. It is allowed to add a NULL item to the collection. Internally if the Parameter object is not NULL it is retained by ParameterList, so it is safe to release it after this method returns.
See Also
Library::createParameter
Object Management Topic
virtual void addByteArray ( const char *  name,
const uint8_t *  data,
int32_t  size 
)
pure virtual

Creates a ByteArrayParameter and adds it to the collection.

Parameters
name[in] The parameter name. A pointer to zero terminated ANSI string. If NULL it is interpreted as if an empty string is provided. The string pointed by name is copied internally and is not required to be valid after the method returns.
data[in]. The address of the first element of the array.
size[in]. The number of bytes in the array.
See Also
Library::createByteArrayParameter
ByteArrayParameter
Note
The ByteArrayParameter stores only the address and the size of the array and does not copy the actual bytes.
virtual void addFloat ( const char *  name,
double  value 
)
pure virtual

Creates a FloatParameter and adds it to the collection.

Parameters
name[in] The parameter name. A pointer to zero terminated ANSI string. If NULL it is interpreted as if an empty string is provided. The string pointed by name is copied internally and is not required to be valid after the method returns.
value[in] The parameter value.
See Also
Library::createFloatParameter
virtual void addInt ( const char *  name,
int64_t  value 
)
pure virtual

Creates an IntParameter and adds it to the collection.

Parameters
name[in] The parameter name. A pointer to zero terminated ANSI string. If NULL it is interpreted as if an empty string is provided. The string pointed by name is copied internally and is not required to be valid after the method returns.
value[in] The parameter value.
See Also
Library::createIntParameter
virtual void addMediaBuffer ( const char *  name,
primo::codecs::MediaBuffer value 
)
pure virtual

Creates a MediaBufferParameter and adds it to the collection.

Parameters
name[in] The parameter name. A pointer to zero terminated ANSI string. If NULL it is interpreted as if an empty string is provided. The string pointed by name is copied internally and is not required to be valid after the method returns.
value[in] The parameter value. A pointer to MediaBuffer that will be stored in the parameter.
See Also
Library::createMediaBufferParameter
virtual void addString ( const char *  name,
const char_t *  value 
)
pure virtual

Creates a StringParameter and adds it to the collection.

Parameters
name[in] The parameter name. A pointer to zero terminated ANSI string. If NULL it is interpreted as if an empty string is provided. The string pointed by name is copied internally and is not required to be valid after the method returns.
value[in] The parameter value.
See Also
Library::createStringParameter
virtual Parameter* at ( int32_t  index) const
pure virtual

Returns a parameter specified by index.

Parameters
index[in] The index of the parameter to be returned. Indexing starts from 0.
Returns
A pointer to the Parameter object specified by index or NULL if the index is invalid.

The caller is not required to release the returned object.

See Also
Object Management
virtual void clear ( )
pure virtual

Removes all parameters from the collection.

When removed from the collection each Parameter object is released.

See Also
Object Management
virtual int32_t count ( ) const
pure virtual

Returns the number of parameters in the collection.

Returns
number of items in the collection.
virtual bool_t insert ( int32_t  itemIndex,
Parameter item 
)
pure virtual

Inserts a parameter at the specified index.

Parameters
itemIndex[in] The index in the collection where the new item shall be inserted. This must be a valid index in the collection. Indexing starts from 0. After the new item is inserted in the collection its index is the value of the itemIndex param.
item[in] A pointer to the Parameter object that shall be inserted. It is allowed to insert a NULL value in the collection. Internally the new item is retained (if not NULL), so it is safe to release it after this method returns.
Returns
TRUE The item is set, FALSE otherwise.
See Also
Object Management
virtual Parameter* itemByName ( const char *  name) const
pure virtual

Returns a parameter specified by its name.

Parameters
name[in] A pointer to a parameter name for which a Parameter object shall be returned. The name is case sensitive and only the first 64 characters are compared.
Returns
A pointer to a Parameter object which has the name specified by the name parameter. NULL if there's no parameter with the specified name in the collection.

If two or more parameters in the collection have the same name the one with the lowest index is returned.

virtual bool_t remove ( int32_t  itemIndex)
pure virtual

Removes a parameter from the collection.

Parameters
itemIndex[in] The index of the parameter that should be removed from the collection. Indexing starts from 0.
Returns
TRUE if the specified item is removed from the collection, otherwise FALSE.

When a Parameter object is removed from the collection it is also released.

See Also
Object Management
virtual bool_t setAt ( int32_t  itemIndex,
Parameter item 
)
pure virtual

Sets a new parameter at the specified index.

Parameters
itemIndex[in] The index in the collection where the new item shall be set. This must be a valid index in the collection. Indexing starts from 0.
item[in] A pointer to the Parameter object that shall be set. It is allowed to set a NULL value to the collection. Internally the new item is retained (if not NULL), so it is safe to release it after this method returns. The old item is released (if not NULL).
Returns
TRUE The item is set, FALSE otherwise.
See Also
Object Management