![]() |
![]() |
![]() |
libgebr Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
GebrGeoXmlFlow * gebr_geoxml_flow_new (); void gebr_geoxml_flow_add_flow (GebrGeoXmlFlow *flow
,GebrGeoXmlFlow *flow2
); void gebr_geoxml_flow_foreach_parameter (GebrGeoXmlFlow *flow
,GebrGeoXmlCallback callback
,gpointer user_data
); void gebr_geoxml_flow_set_date_last_run (GebrGeoXmlFlow *flow
,const gchar *last_run
); gchar * gebr_geoxml_flow_get_date_last_run (GebrGeoXmlFlow *flow
); void gebr_geoxml_flow_server_set_group (GebrGeoXmlFlow *flow
,const gchar *type
,const gchar *name
); void gebr_geoxml_flow_server_get_group (GebrGeoXmlFlow *flow
,gchar **type
,gchar **name
); void gebr_geoxml_flow_server_set_date_last_run (GebrGeoXmlFlow *flow
,const gchar *date
); gchar * gebr_geoxml_flow_server_get_date_last_run (GebrGeoXmlFlow *flow
); void gebr_geoxml_flow_io_set_input (GebrGeoXmlFlow *flow
,const gchar *input
); void gebr_geoxml_flow_io_set_output (GebrGeoXmlFlow *flow
,const gchar *output
); void gebr_geoxml_flow_io_set_error (GebrGeoXmlFlow *flow
,const gchar *error
); gchar * gebr_geoxml_flow_io_get_input (GebrGeoXmlFlow *flow
); gchar * gebr_geoxml_flow_io_get_output (GebrGeoXmlFlow *flow
); gchar * gebr_geoxml_flow_io_get_error (GebrGeoXmlFlow *flow
); GebrGeoXmlProgram * gebr_geoxml_flow_append_program (GebrGeoXmlFlow *flow
); int gebr_geoxml_flow_get_program (GebrGeoXmlFlow *flow
,GebrGeoXmlSequence **program
,gulong index
); glong gebr_geoxml_flow_get_programs_number (GebrGeoXmlFlow *flow
); GebrGeoXmlProgram * gebr_geoxml_flow_get_first_mpi_program (GebrGeoXmlFlow *flow
); GebrGeoXmlCategory * gebr_geoxml_flow_append_category (GebrGeoXmlFlow *flow
,const gchar *name
); int gebr_geoxml_flow_get_category (GebrGeoXmlFlow *flow
,GebrGeoXmlSequence **category
,gulong index
); glong gebr_geoxml_flow_get_categories_number (GebrGeoXmlFlow *flow
); gboolean gebr_geoxml_flow_change_to_revision (GebrGeoXmlFlow *flow
,GebrGeoXmlRevision *revision
,gboolean *report_merged
); GebrGeoXmlRevision * gebr_geoxml_flow_append_revision (GebrGeoXmlFlow *flow
,const gchar *comment
); void gebr_geoxml_flow_set_revision_data (GebrGeoXmlRevision *revision
,const gchar *flow
,const gchar *date
,const gchar *comment
); enum GEBR_GEOXML_RETV gebr_geoxml_flow_get_revision (GebrGeoXmlFlow *flow
,GebrGeoXmlSequence **revision
,gulong index
); void gebr_geoxml_flow_get_revision_data (GebrGeoXmlRevision *revision
,gchar **flow
,gchar **date
,gchar **comment
); glong gebr_geoxml_flow_get_revisions_number (GebrGeoXmlFlow *flow
); gboolean gebr_geoxml_flow_validate (GebrGeoXmlFlow *flow
,GebrValidator *validator
,GError **error
); gboolean gebr_geoxml_flow_has_control_program (GebrGeoXmlFlow *flow
); gboolean gebr_geoxml_flow_insert_iter_dict (GebrGeoXmlFlow *flow
); void gebr_geoxml_flow_remove_iter_dict (GebrGeoXmlFlow *flow
); GebrGeoXmlProgram * gebr_geoxml_flow_get_control_program (GebrGeoXmlFlow *flow
); void gebr_geoxml_flow_io_set_output_append (GebrGeoXmlFlow *flow
,gboolean setting
); gboolean gebr_geoxml_flow_io_get_output_append (GebrGeoXmlFlow *flow
); void gebr_geoxml_flow_io_set_error_append (GebrGeoXmlFlow *flow
,gboolean setting
); gboolean gebr_geoxml_flow_io_get_error_append (GebrGeoXmlFlow *flow
); void gebr_geoxml_flow_update_iter_dict_value (GebrGeoXmlFlow *flow
); void gebr_geoxml_flow_revalidate (GebrGeoXmlFlow *flow
,GebrValidator *validator
); gboolean gebr_geoxml_flow_is_parallelizable (GebrGeoXmlFlow *flow
,GebrValidator *validator
); GList * gebr_geoxml_flow_divide_flows (GebrGeoXmlFlow *flow
,GebrValidator *validator
,gint *distributed_n
,gint distributed_n_len
); gint * gebr_geoxml_flow_calculate_proportional_n (gint total_n
,gdouble *weights
,gint n_weights
); gdouble * gebr_geoxml_flow_calulate_weights (gint n_servers
,gdouble *scores
,gdouble acc_scores
); GList * gebr_geoxml_flow_get_mpi_flavors (GebrGeoXmlFlow *flow
); gchar * gebr_geoxml_flow_io_get_input_real (GebrGeoXmlFlow *flow
); gchar * gebr_geoxml_flow_io_get_output_real (GebrGeoXmlFlow *flow
); gboolean gebr_geoxml_flow_is_single_core (GebrGeoXmlFlow *flow
,GebrValidator *validator
);
void gebr_geoxml_flow_add_flow (GebrGeoXmlFlow *flow
,GebrGeoXmlFlow *flow2
);
void gebr_geoxml_flow_foreach_parameter (GebrGeoXmlFlow *flow
,GebrGeoXmlCallback callback
,gpointer user_data
);
void gebr_geoxml_flow_set_date_last_run (GebrGeoXmlFlow *flow
,const gchar *last_run
);
gchar * gebr_geoxml_flow_get_date_last_run (GebrGeoXmlFlow *flow
);
void gebr_geoxml_flow_server_set_group (GebrGeoXmlFlow *flow
,const gchar *type
,const gchar *name
);
void gebr_geoxml_flow_server_get_group (GebrGeoXmlFlow *flow
,gchar **type
,gchar **name
);
void gebr_geoxml_flow_server_set_date_last_run (GebrGeoXmlFlow *flow
,const gchar *date
);
Sets the last run date for this server.
flow
and date
should not be passed as NULL.
See gebr_geoxml_flow_server_get_date_last_run()
.
|
a flow |
|
server last run date |
gchar * gebr_geoxml_flow_server_get_date_last_run
(GebrGeoXmlFlow *flow
);
Retrieve the last run date for this server.
flow
should not be passed as NULL.
|
a flow |
void gebr_geoxml_flow_io_set_input (GebrGeoXmlFlow *flow
,const gchar *input
);
Set the flow
input file path to input
. The input file is
the one used to gather the input sent by the last program of flow
.
flow
and input
should not be passed as NULL.
See gebr_geoxml_flow_server_io_get_input()
.
|
a flow |
|
flow's input path |
void gebr_geoxml_flow_io_set_output (GebrGeoXmlFlow *flow
,const gchar *output
);
Set the flow
output file path to output
. The output file is
the one used to gather the output sent by the last program of flow
.
flow
and input
should not be passed as NULL.
See gebr_geoxml_flow_server_io_get_output()
.
|
a flow |
|
flow's output path |
void gebr_geoxml_flow_io_set_error (GebrGeoXmlFlow *flow
,const gchar *error
);
Set the flow
error file path to error
. This should be the file
containing the error log, which might include program's stderr
flow
and input
should not be passed as NULL.
See gebr_geoxml_flow_server_io_get_error gebr_geoxml_program_set_stderr()
.
|
a flow |
|
flow's error path |
gchar * gebr_geoxml_flow_io_get_input (GebrGeoXmlFlow *flow
);
Retrieves the input file path of flow
.
If the input file path was not set before, default will be an empty string "".
flow
should not be passed as NULL.
See gebr_geoxml_flow_server_io_set_input()
|
a flow |
gchar * gebr_geoxml_flow_io_get_output (GebrGeoXmlFlow *flow
);
Retrieves the output file path of flow
.
If the output file path was not set before, default will be an empty string "".
flow
should not be passed as NULL.
See gebr_geoxml_flow_server_io_set_output()
.
|
a flow |
gchar * gebr_geoxml_flow_io_get_error (GebrGeoXmlFlow *flow
);
Retrieves the error file path of flow
.
If the error file path was not set before, default will be an empty string "".
flow
should not be passed as NULL.
See gebr_geoxml_flow_server_io_set_error()
.
|
a flow |
GebrGeoXmlProgram * gebr_geoxml_flow_append_program (GebrGeoXmlFlow *flow
);
Creates a new program associated and append to the list of programs Provided for convenience
|
a flow |
int gebr_geoxml_flow_get_program (GebrGeoXmlFlow *flow
,GebrGeoXmlSequence **program
,gulong index
);
Writes to program
the index
ieth category that flow
belong.
If an error occurred (either GEBR_GEOXML_RETV_INVALID_INDEX and GEBR_GEOXML_RETV_NULL_PTR)
the content of program
is assigned to NULL.
If flow
is NULL nothing is done.
|
a flow |
|
a program |
|
the index of desired program |
Returns : |
one of: GEBR_GEOXML_RETV_SUCCESS, GEBR_GEOXML_RETV_INVALID_INDEX, GEBR_GEOXML_RETV_NULL_PTR
See gebr_geoxml_sequence_move gebr_geoxml_sequence_move_up() , gebr_geoxml_sequence_move_down() , gebr_geoxml_sequence_remove() . |
glong gebr_geoxml_flow_get_programs_number
(GebrGeoXmlFlow *flow
);
Get the number of programs flow
has.
If flow
is NULL, returns -1.
|
a flow |
GebrGeoXmlProgram * gebr_geoxml_flow_get_first_mpi_program
(GebrGeoXmlFlow *flow
);
GebrGeoXmlCategory * gebr_geoxml_flow_append_category (GebrGeoXmlFlow *flow
,const gchar *name
);
Creates a new category and append it to the list of categories. If the category already exist, returns it.
|
a flow |
|
the name for category |
int gebr_geoxml_flow_get_category (GebrGeoXmlFlow *flow
,GebrGeoXmlSequence **category
,gulong index
);
Writes to category
the index
ieth category that belongs to flow
.
If an error ocurred, the content of category
is assigned to NULL.
|
a flow |
|
a category |
|
the index of desired category |
Returns : |
one of: GEBR_GEOXML_RETV_SUCCESS, GEBR_GEOXML_RETV_INVALID_INDEX, GEBR_GEOXML_RETV_NULL_PTR
See gebr_geoxml_sequence_move() , gebr_geoxml_sequence_move_up gebr_geoxml_sequence_move_down() , gebr_geoxml_sequence_remove() . |
glong gebr_geoxml_flow_get_categories_number
(GebrGeoXmlFlow *flow
);
Get the number of categories that flow
has.
If flow
is NULL returns -1.
|
a flow |
gboolean gebr_geoxml_flow_change_to_revision (GebrGeoXmlFlow *flow
,GebrGeoXmlRevision *revision
,gboolean *report_merged
);
GebrGeoXmlRevision * gebr_geoxml_flow_append_revision (GebrGeoXmlFlow *flow
,const gchar *comment
);
void gebr_geoxml_flow_set_revision_data (GebrGeoXmlRevision *revision
,const gchar *flow
,const gchar *date
,const gchar *comment
);
enum GEBR_GEOXML_RETV gebr_geoxml_flow_get_revision (GebrGeoXmlFlow *flow
,GebrGeoXmlSequence **revision
,gulong index
);
Writes to revision
the index
ieth revision that belongs flow
.
If an error occurred (either GEBR_GEOXML_RETV_INVALID_INDEX and GEBR_GEOXML_RETV_NULL_PTR)
the content of revision
is assigned to NULL.
If flow
is NULL nothing is done.
|
a flow |
|
a revision |
|
the index of desired program |
Returns : |
one of: GEBR_GEOXML_RETV_SUCCESS, GEBR_GEOXML_RETV_INVALID_INDEX, GEBR_GEOXML_RETV_NULL_PTR See gebr_geoxml_sequence_move gebr_geoxml_sequence_move_up gebr_geoxml_sequence_move_down gebr_geoxml_sequence_remove |
void gebr_geoxml_flow_get_revision_data (GebrGeoXmlRevision *revision
,gchar **flow
,gchar **date
,gchar **comment
);
glong gebr_geoxml_flow_get_revisions_number
(GebrGeoXmlFlow *flow
);
gboolean gebr_geoxml_flow_validate (GebrGeoXmlFlow *flow
,GebrValidator *validator
,GError **error
);
Determine if a flow can be executed or not. If not, return the correct
type of error in error
and returns FALSE
.
|
The GebrGeoXmlFlow to be validated. |
|
A GebrValidator. |
|
Return location for the error or NULL if you don't need it. |
Returns : |
TRUE if no error was set, FALSE otherwise. |
gboolean gebr_geoxml_flow_has_control_program
(GebrGeoXmlFlow *flow
);
If this flow has a program marked as a control, this function returns TRUE
. Otherwise returns FALSE
.
The purpose of this function is to allow only one control for each flow. It is not possible to set a
program to be a control, only if you directly edit the XML file of a flow.
Returns : |
TRUE if flow has a program which is a control, FALSE otherwise. |
gboolean gebr_geoxml_flow_insert_iter_dict (GebrGeoXmlFlow *flow
);
GebrGeoXmlProgram * gebr_geoxml_flow_get_control_program
(GebrGeoXmlFlow *flow
);
If this flow has a program marked as a control, this function returns GebrGeoxmlProgram
. Otherwise returns NULL
.
The purpose of this function is to allow only one control for each flow. It is not possible to set a
program to be a control, only if you directly edit the XML file of a flow.
Returns : |
GebrGeoxmlProgram if flow has a program which is a control, NULL otherwise. |
void gebr_geoxml_flow_io_set_output_append (GebrGeoXmlFlow *flow
,gboolean setting
);
|
a GebrGeoXmlFlow |
|
TRUE to make output append |
gboolean gebr_geoxml_flow_io_get_output_append
(GebrGeoXmlFlow *flow
);
|
a GebrGeoXmlFlow |
Returns : |
TRUE if output appends, FALSE otherwise |
void gebr_geoxml_flow_io_set_error_append (GebrGeoXmlFlow *flow
,gboolean setting
);
|
a GebrGeoXmlFlow |
|
TRUE to make error append |
gboolean gebr_geoxml_flow_io_get_error_append
(GebrGeoXmlFlow *flow
);
|
a GebrGeoXmlFlow |
Returns : |
TRUE if error appends, FALSE otherwise |
void gebr_geoxml_flow_update_iter_dict_value
(GebrGeoXmlFlow *flow
);
Updates the `iter' dictionary variable with the start value of the for loop of this flow. If the flow does not have a loop, does nothing and returns silently.
void gebr_geoxml_flow_revalidate (GebrGeoXmlFlow *flow
,GebrValidator *validator
);
Revalidates all flow
's programs and set their statuses accordingly.
|
A GebrGeoXmlFlow to be revalidated. |
|
The GebrValidator that will validate flow 's programs. |
gboolean gebr_geoxml_flow_is_parallelizable (GebrGeoXmlFlow *flow
,GebrValidator *validator
);
GList * gebr_geoxml_flow_divide_flows (GebrGeoXmlFlow *flow
,GebrValidator *validator
,gint *distributed_n
,gint distributed_n_len
);
|
A GebrGeoXmlFlow to be divided on n_weights flows |
|
The GebrValidator that will be used to check if flow is parallelizable |
|
The gint vector of distributed nsteps of loop |
|
The number of flows to return |
Returns : |
A GList of flows |
gint * gebr_geoxml_flow_calculate_proportional_n (gint total_n
,gdouble *weights
,gint n_weights
);
gdouble * gebr_geoxml_flow_calulate_weights (gint n_servers
,gdouble *scores
,gdouble acc_scores
);
GList * gebr_geoxml_flow_get_mpi_flavors (GebrGeoXmlFlow *flow
);
gchar * gebr_geoxml_flow_io_get_input_real (GebrGeoXmlFlow *flow
);
gchar * gebr_geoxml_flow_io_get_output_real (GebrGeoXmlFlow *flow
);
gboolean gebr_geoxml_flow_is_single_core (GebrGeoXmlFlow *flow
,GebrValidator *validator
);