26#ifndef COMPOSITEGENERATOR_H
27#define COMPOSITEGENERATOR_H
Defines the functions available when working with cartesian products.
struct _Cartesian_t Cartesian_t
Defines a Cartesian product.
Definition cartesian.h:43
The arguments that should be passed on to the composite generator.
struct _CompositeArguments_t CompositeArguments_t
Defines a Geographical Area.
Definition compositearguments.h:41
Registry for keeping track of available composite generator factories.
struct _CompositeFactoryManager_t CompositeFactoryManager_t
Defines a Composite generator.
Definition compositefactorymanager.h:37
RaveCoreObjectType CompositeGenerator_TYPE
Type definition to use when creating a rave object.
Definition compositegenerator.c:646
CompositeGenerator_t * CompositeGenerator_create(CompositeFactoryManager_t *manager, const char *filename)
Creates a composite generator containing both factory manager and intialized with a factory filter.
Definition compositegenerator.c:360
void CompositeGenerator_unregister(CompositeGenerator_t *generator, const char *id)
Removes the factory with specified id.
Definition compositegenerator.c:495
int CompositeGenerator_setProperties(CompositeGenerator_t *generator, RaveProperties_t *properties)
Sets properties to the generator.
Definition compositegenerator.c:410
CompositeGeneratorFactory_t * CompositeGenerator_createFactory(CompositeGenerator_t *generator, CompositeArguments_t *arguments)
Will identify the factory, create a new instance of this factory and set the properties before return...
Definition compositegenerator.c:585
struct _CompositeGenerator_t CompositeGenerator_t
Defines a Composite generator.
Definition compositegenerator.h:43
RaveList_t * CompositeGenerator_getFactoryIDs(CompositeGenerator_t *generator)
Returns a list of registered factory ids.
Definition compositegenerator.c:469
int CompositeGenerator_register(CompositeGenerator_t *generator, const char *id, CompositeGeneratorFactory_t *factory, RaveObjectList_t *filters)
Registers a generator factory in the the generator.
Definition compositegenerator.c:426
Cartesian_t * CompositeGenerator_generate(CompositeGenerator_t *generator, CompositeArguments_t *arguments)
Generates a composite according to the configured parameters in the composite structure.
Definition compositegenerator.c:605
RaveProperties_t * CompositeGenerator_getProperties(CompositeGenerator_t *generator)
Definition compositegenerator.c:420
CompositeGeneratorFactory_t * CompositeGenerator_identify(CompositeGenerator_t *generator, CompositeArguments_t *arguments)
Will identify the candidate factory from the provided arguments.
Definition compositegenerator.c:514
Interface for defining your own compositing factory.
struct _CompositeGeneratorFactory_t CompositeGeneratorFactory_t
The basic composite algorithm that can be cast into a subclassed processor.
struct _RaveList_t RaveList_t
Defines a list.
Definition rave_list.h:33
Generic implementation of an object that is used within rave.
struct _raveobjecttype RaveCoreObjectType
The rave object type definition.
Property handling This object supports RAVE_OBJECT_CLONE.
struct _RaveProperties_t RaveProperties_t
Defines the area registry.
Definition rave_properties.h:35
Type definitions for RAVE.
Implementation of a rave object hashtable that maps between strings and rave core objects.
struct _RaveObjectList_t RaveObjectList_t
Defines a list.
Definition raveobject_list.h:38
Represents the cartesian product.
Definition compositegenerator.c:52
CompositeFactoryManager_t * manager
the factory manager
Definition compositegenerator.c:55
RaveProperties_t * properties
properties
Definition compositegenerator.c:56