src/Configuration.h
branchv_0
changeset 11 9603e64324bc
parent 6 4062b8436838
child 12 7977c1bdba1f
equal deleted inserted replaced
10:f7f9a2553128 11:9603e64324bc
    52 	/**
    52 	/**
    53 	 * If true, Guile code will be executed, but no output will be generated.
    53 	 * If true, Guile code will be executed, but no output will be generated.
    54 	 */
    54 	 */
    55 	bool drop = false;
    55 	bool drop = false;
    56 	/**
    56 	/**
    57 	 * 
    57 	 * Variable definitions for this relation.
       
    58 	 * Can be used as a safe way for passing parameters from the outside environment.
    58 	 */
    59 	 */
    59 	std::vector<DefinitionRecipe> definitions;
    60 	std::vector<DefinitionRecipe> definitions;
    60 	/**
    61 	/**
    61 	 * If empty, output relation will have same metadata as the input relation.
    62 	 * If empty, output relation will have same metadata as the input relation.
    62 	 */
    63 	 */
    65 
    66 
    66 class Configuration {
    67 class Configuration {
    67 public:
    68 public:
    68 	vector<RelationConfiguration> relationConfigurations;
    69 	vector<RelationConfiguration> relationConfigurations;
    69 
    70 
       
    71 	// TODO: --define – global definitions (for all relations)?
       
    72 	// TODO: --relation … --drop – will execute --for-each, but no output will be generated for this relation
       
    73 	// TODO: --relation … --output-attribute 'name' 'type' – output relation will have different attributes than the input relation
       
    74 	// TODO: --create t2 3 a integer b boolean '…guile…' – allow creating new relations? Or allow calling startRelation() and attribute() from Guile?
       
    75 
    70 	virtual ~Configuration() {
    76 	virtual ~Configuration() {
    71 	}
    77 	}
    72 };
    78 };
    73 
    79 
    74 }
    80 }