
#ifndef MATHS_LIBRARY_MANAGER_H
#define MATHS_LIBRARY_MANAGER_H

#include "method.h"
#include "problema.h"

/**
 * Add to current group's library given source (or compiled) file
 */
boolean putFunctionIntoProblemLibrary(
	char *filepath);

/**
 * With a given 'functionname' try to extract corresponding problem_function from group's library
 */
problem_function   loadProblemFunction(
	char *functionname);

/**
 * With a given 'constraintname' try to extract corresponding problem_constraint from group's library
 */
problem_constraint loadConstraintFunction(
	char *constraintname);

/**
 * Load corresponding method
 */
Method*   loadMethod(
	char *methodname);

/**
 * TEST PURPOSE
 * Load corrsponding problem
 */
Problema* loadProblem(
	long problemId);

#endif
