BltModule.h File Reference

BLT_Module interface. More...

#include "Atomix.h"
#include "BltTypes.h"
#include "BltCore.h"

Go to the source code of this file.

Data Structures

struct  BLT_ModuleInfo
 Information about a module. More...
struct  BLT_BaseModule
 Base implementation of the BLT_Module interface that other implementation of that interface can inherit from. More...

Defines

#define BLT_MODULE_PROBE_MATCH_DEFAULT   0
#define BLT_MODULE_PROBE_MATCH_MIN   1
#define BLT_MODULE_PROBE_MATCH_LOW   64
#define BLT_MODULE_PROBE_MATCH_MEDIUM   128
#define BLT_MODULE_PROBE_MATCH_HIGH   192
#define BLT_MODULE_PROBE_MATCH_MAX   253
#define BLT_MODULE_PROBE_MATCH_EXACT   254
#define BLT_MODULE_PROBE_MATCH_FORCE   255
#define BLT_ERROR_NO_MATCHING_MODULE   (BLT_ERROR_BASE_MODULE - 0)
#define BLT_Module_GetInfo(object, info)   ATX_INTERFACE(object)->GetInfo(object, info)
#define BLT_Module_Attach(object, core)   ATX_INTERFACE(object)->Attach(object, core)
#define BLT_Module_CreateInstance(object, core, parameters_type, parameters, interface_id, new_object)
#define BLT_Module_Probe(object, core, type, query, match)   ATX_INTERFACE(object)->Probe(object, core, type, query, match)
#define BLT_MODULE_IMPLEMENT_SIMPLE_CONSTRUCTOR(_module_class,_module_name,_module_flags)

Typedefs

typedef unsigned char BLT_ModuleId [16]
 Module identifier.

Enumerations

enum  BLT_ModuleParametersType { BLT_MODULE_PARAMETERS_TYPE_MEDIA_NODE_CONSTRUCTOR }
 Type identifiers for the parameters argument of the Probe method of the BLT_Module interface. More...

Functions

BLT_Result BLT_BaseModule_Construct (BLT_BaseModule *self, BLT_CString name, BLT_ModuleId id, BLT_Flags flags)
BLT_Result BLT_BaseModule_Destruct (BLT_BaseModule *self)
BLT_Result BLT_BaseModule_Create (BLT_CString name, BLT_ModuleId id, BLT_Flags flags, const BLT_ModuleInterface *module_interface, const ATX_ReferenceableInterface *referenceable_interface, BLT_Module **object)
BLT_Result BLT_BaseModule_Destroy (BLT_BaseModule *self)
BLT_DIRECT_METHOD BLT_BaseModule_GetInfo (BLT_Module *self, BLT_ModuleInfo *info)
BLT_DIRECT_METHOD BLT_BaseModule_Attach (BLT_Module *self, BLT_Core *core)

Variables

BLT_Result(* GetInfo )(BLT_Module *self, BLT_ModuleInfo *info)
 Get the module's info.
BLT_Result(* Attach )(BLT_Module *self, BLT_Core *core)
 Attach the module to a BLT_Core object.
BLT_Result(* CreateInstance )(BLT_Module *self, BLT_Core *core, BLT_ModuleParametersType parameters_type, BLT_AnyConst parameters, const ATX_InterfaceId *interface_id, ATX_Object **object)
 Create an instance of the module that implements a given interface.
BLT_Result(* Probe )(BLT_Module *self, BLT_Core *core, BLT_ModuleParametersType parameters_type, BLT_AnyConst parameters, BLT_Cardinal *match)
 Probe the module to know if it is able to create an oject instance that can handle a certain task.


Detailed Description

BLT_Module interface.