00001 #if !defined( SEDFLUX_H )
00002 #define SEDFLUX_H
00003
00004 #include <glib.h>
00005
00006 typedef struct
00007 {
00008 gboolean mode_3d;
00009 gboolean mode_2d;
00010 gchar* init_file;
00011 gchar* out_file;
00012 gchar* working_dir;
00013 gchar* run_desc;
00014 gboolean just_plume;
00015 gboolean just_rng;
00016 gboolean summary;
00017 gboolean warn;
00018 gint verbosity;
00019 gboolean verbose;
00020 gboolean version;
00021 char** active_procs;
00022 }
00023 Sedflux_param_st;
00024
00025 typedef enum
00026 {
00027 SEDFLUX_ERROR_BAD_PARAM ,
00028 SEDFLUX_ERROR_UNKNOWN_FILE_TYPE ,
00029 SEDFLUX_ERROR_BAD_FILE_TYPE ,
00030 SEDFLUX_ERROR_BAD_ALGORITHM ,
00031 SEDFLUX_ERROR_BAD_DIR ,
00032 SEDFLUX_ERROR_BAD_INIT_FILE ,
00033 SEDFLUX_ERROR_MULTIPLE_MODES ,
00034 SEDFLUX_ERROR_PROCESS_FILE_CHECK
00035 }
00036 Sedflux_error;
00037
00038 #define SEDFLUX_ERROR sedflux_error_quark()
00039
00040 typedef gint32 Sedflux_run_flag;
00041
00042 #define SEDFLUX_RUN_FLAG_SUMMARY (1)
00043 #define SEDFLUX_RUN_FLAG_WARN (2)
00044
00045 GQuark sedflux_error_quark( void );
00046
00047
00048 gboolean sedflux ( const gchar* init_file );
00049
00050 Sedflux_param_st* sedflux_parse_command_line ( int argc , char *argv[] , GError** error );
00051 gboolean sedflux_setup_project_dir ( gchar** init_file , gchar** working_dir , GError** error );
00052 gint sedflux_print_info_file ( const gchar* init_file , const gchar* wd ,
00053 const gchar* cmd_str , const gchar* desc );
00054
00055 #endif