HbbTv  17.9.0
Open source HBBTV engine
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Functions
object.c File Reference

Generic object class. More...

#include <string.h>
#include "techtype.h"
#include "dbgfuncs.h"
#include "hbbtv.h"
#include "hbbtv_sif_os.h"
#include "hbbtv_js.h"
#include "object.h"
#include "debug.h"

Functions

HBBTV_JSObjType_CONST HBBTV_JSObject_type (void *obj)
 Return type of object - for use with collection class. More...
 
void * HBBTV_JSObjectCreate (S_JS_OBJ_VTAB *vtab)
 Initialise an object. More...
 
void * HBBTV_JSObject_DbgNull (char *file, int line)
 
void * HBBTV_JSObject_incref (void *obj)
 Increase reference count of an object. More...
 
void HBBTV_JSObject_release (void *obj)
 Release an object. More...
 
void HBBTV_JSObject_addObjectReference (void *obj, void *reference)
 Add a new reference to the list of references associated with this object. A reference is usually the pointer to an object in the JS extensions associated with this HbbTV engine object. Multiple JS object can be associated to one HbbTV engine object. This function can be blocking while other calls related to references for the same HbbTV engine object are being called. More...
 
void HBBTV_JSObject_removeObjectReference (void *obj, void *reference)
 Removes a reference from the list of references associated to this object. A reference is usually removed when a JS object associated with a HbbTV engine object is destroyed. This function can be blocking while other calls related to references for the same HbbTV engine object are being called. More...
 
void HBBTV_JSObject_getObjectReferences (void *obj, void ***references, U32BIT *number)
 Retrieves the list of references associated with this object. The HbbTV engine allocates the memory and return the pointers to the list nd to the number of elements it contains. The list will have to be freed with a call to HBBTV_JSObject_releaseObjectReferences. This function can be blocking while other calls related to references for the same HbbTV engine object are being called. More...
 
void HBBTV_JSObject_releaseObjectReferences (void *obj, void **references)
 Releases a list of references returned by HBBTV_JSObject_getObjectReferences. This function can be blocking while other calls related to references for the same HbbTV engine object are being called. More...
 

Detailed Description

Generic object class.

Date
01/01/2013
Author
Adam Sturtridge

Function Documentation

void HBBTV_JSObject_addObjectReference ( void *  obj,
void *  reference 
)

Add a new reference to the list of references associated with this object. A reference is usually the pointer to an object in the JS extensions associated with this HbbTV engine object. Multiple JS object can be associated to one HbbTV engine object. This function can be blocking while other calls related to references for the same HbbTV engine object are being called.

Parameters
objThe HbbTV engine object
referenceThe reference associated to this object.
void HBBTV_JSObject_getObjectReferences ( void *  obj,
void ***  references,
U32BIT *  number 
)

Retrieves the list of references associated with this object. The HbbTV engine allocates the memory and return the pointers to the list nd to the number of elements it contains. The list will have to be freed with a call to HBBTV_JSObject_releaseObjectReferences. This function can be blocking while other calls related to references for the same HbbTV engine object are being called.

Parameters
objThe HbbTV engine object
referencesPointer to the list of references allocated and returned by the HbbTV engine
numberPointer to the number of elements contained in the returned list
void* HBBTV_JSObject_incref ( void *  obj)

Increase reference count of an object.

Increases reference count of an object.

Parameters
object- the object
Returns
The object after increasing the reference count
void HBBTV_JSObject_release ( void *  obj)

Release an object.

Releases an object.

Parameters
object- the object to release
void HBBTV_JSObject_releaseObjectReferences ( void *  obj,
void **  references 
)

Releases a list of references returned by HBBTV_JSObject_getObjectReferences. This function can be blocking while other calls related to references for the same HbbTV engine object are being called.

Parameters
objThe HbbTV engine object
referencesThe list of references to be freed
void HBBTV_JSObject_removeObjectReference ( void *  obj,
void *  reference 
)

Removes a reference from the list of references associated to this object. A reference is usually removed when a JS object associated with a HbbTV engine object is destroyed. This function can be blocking while other calls related to references for the same HbbTV engine object are being called.

Parameters
objThe HbbTV engine object
referenceThe reference to be removed.
HBBTV_JSObjType_CONST HBBTV_JSObject_type ( void *  obj)

Return type of object - for use with collection class.

Returns type of object - can use with collection class.

Parameters
obj- the object
void* HBBTV_JSObjectCreate ( S_JS_OBJ_VTAB vtab)

Initialise an object.

Parameters
obj- the object to initialise
vtab- the object's virtual function table