RAVE
compositefactorymanager.h File Reference

Registry for keeping track of available composite generator factories. More...

Go to the source code of this file.

Typedefs

typedef struct _CompositeFactoryManager_t CompositeFactoryManager_t
 Defines a Composite generator.
 

Functions

int CompositeFactoryManager_add (CompositeFactoryManager_t *manager, CompositeGeneratorFactory_t *factory)
 Adds generator factory in the manager.
 
RaveList_tCompositeFactoryManager_getRegisteredFactoryNames (CompositeFactoryManager_t *manager)
 Returns a list of registered factory names.
 
RaveObjectList_tCompositeFactoryManager_getRegisteredFactories (CompositeFactoryManager_t *manager)
 Returns the registered factories.
 
void CompositeFactoryManager_remove (CompositeFactoryManager_t *manager, const char *name)
 Removes the factory with specified id.
 
CompositeGeneratorFactory_tCompositeFactoryManager_get (CompositeFactoryManager_t *manager, const char *name)
 Returns the factory with specified name.
 
int CompositeFactoryManager_size (CompositeFactoryManager_t *manager)
 Returns the number of registered factories.
 
int CompositeFactoryManager_isRegistered (CompositeFactoryManager_t *manager, const char *name)
 Returns if the specified factory class is registered or not.
 

Variables

RaveCoreObjectType CompositeFactoryManager_TYPE
 Type definition to use when creating a rave object.
 

Detailed Description

Registry for keeping track of available composite generator factories.

Author
Anders Henja (Swedish Meteorological and Hydrological Institute, SMHI)
Date
2025-01-29

Typedef Documentation

◆ CompositeFactoryManager_t

Defines a Composite generator.

Function Documentation

◆ CompositeFactoryManager_add()

int CompositeFactoryManager_add ( CompositeFactoryManager_t * manager,
CompositeGeneratorFactory_t * factory )

Adds generator factory in the manager.

Parameters
[in]manager- self
[in]id- the id of the factory
[in]factory- the actual factory
Returns
1 if factory added successfully, otherwise 0

◆ CompositeFactoryManager_get()

CompositeGeneratorFactory_t * CompositeFactoryManager_get ( CompositeFactoryManager_t * manager,
const char * name )

Returns the factory with specified name.

Parameters
[in]manager- self
[in]name- name of the factory
Returns
the found factory or NULL if not

◆ CompositeFactoryManager_getRegisteredFactories()

RaveObjectList_t * CompositeFactoryManager_getRegisteredFactories ( CompositeFactoryManager_t * manager)

Returns the registered factories.

Parameters
[in]manager- self
Returns
the registered factories

◆ CompositeFactoryManager_getRegisteredFactoryNames()

RaveList_t * CompositeFactoryManager_getRegisteredFactoryNames ( CompositeFactoryManager_t * manager)

Returns a list of registered factory names.

NOTE: Remember to use RaveList_freeAndDestroy to release all memory in the returned RaveList_t.

Parameters
[in]manager- self
Returns
a list of registered factory names

◆ CompositeFactoryManager_isRegistered()

int CompositeFactoryManager_isRegistered ( CompositeFactoryManager_t * manager,
const char * name )

Returns if the specified factory class is registered or not.

Parameters
[in]manager- self
[in]name- queried name
Returns
1 if registered otherwise 0

◆ CompositeFactoryManager_remove()

void CompositeFactoryManager_remove ( CompositeFactoryManager_t * manager,
const char * name )

Removes the factory with specified id.

If id doesn't exist nothing will be done,

Parameters
[in]manager- self
[in]id- the id of the factory to remove

◆ CompositeFactoryManager_size()

int CompositeFactoryManager_size ( CompositeFactoryManager_t * manager)

Returns the number of registered factories.

Parameters
[in]manager- self
Returns
number of registered factories

Variable Documentation

◆ CompositeFactoryManager_TYPE

RaveCoreObjectType CompositeFactoryManager_TYPE
extern

Type definition to use when creating a rave object.