mirror of
https://git.gfz-potsdam.de/naaice/iphreeqc.git
synced 2025-12-16 16:44:49 +01:00
functions are fcn
Added cookie to c callback. git-svn-id: svn://136.177.114.72/svn_GW/phreeqc3/trunk@7895 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
parent
ca3e1128a2
commit
30164dc7fd
@ -803,6 +803,7 @@ void Phreeqc::init(void)
|
||||
/* Basic */
|
||||
basic_interpreter = NULL;
|
||||
basic_callback_ptr = NULL;
|
||||
basic_callback_cookie = NULL;
|
||||
basic_fortran_callback_ptr = NULL;
|
||||
|
||||
/* cl1.cpp ------------------------------- */
|
||||
|
||||
@ -83,8 +83,8 @@ public:
|
||||
int basic_run(char *commands, void *lnbase, void *vbase, void *lpbase);
|
||||
void basic_free(void);
|
||||
double basic_callback(double x1, double x2, char * str);
|
||||
void register_basic_callback(double ( *cookie)(double x1, double x2, const char *str));
|
||||
void register_fortran_basic_callback(double ( *cookie)(double *x1, double *x2, char *str, int l));
|
||||
void register_basic_callback(double ( *fcn)(double x1, double x2, const char *str, void *cookie), void *cookie1);
|
||||
void register_fortran_basic_callback(double ( *fcn)(double *x1, double *x2, char *str, int l));
|
||||
|
||||
LDBLE activity(const char *species_name);
|
||||
LDBLE activity_coefficient(const char *species_name);
|
||||
@ -1695,7 +1695,8 @@ protected:
|
||||
|
||||
/* Basic */
|
||||
PBasic * basic_interpreter;
|
||||
double (*basic_callback_ptr) (double x1, double x2, const char *str);
|
||||
double (*basic_callback_ptr) (double x1, double x2, const char *str, void *cookie);
|
||||
void *basic_callback_cookie;
|
||||
double (*basic_fortran_callback_ptr) (double *x1, double *x2, char *str, int l);
|
||||
|
||||
/* cl1.cpp ------------------------------- */
|
||||
|
||||
@ -3607,7 +3607,7 @@ basic_callback(double x1, double x2, char * str)
|
||||
|
||||
if (basic_callback_ptr != NULL)
|
||||
{
|
||||
return (*basic_callback_ptr) (x1, x2, (const char *) str);
|
||||
return (*basic_callback_ptr) (x1, x2, (const char *) str, basic_callback_cookie);
|
||||
}
|
||||
if (basic_fortran_callback_ptr != NULL)
|
||||
{
|
||||
@ -3617,13 +3617,14 @@ basic_callback(double x1, double x2, char * str)
|
||||
}
|
||||
|
||||
void
|
||||
Phreeqc::register_basic_callback(double ( *cookie)(double x1, double x2, const char *str))
|
||||
Phreeqc::register_basic_callback(double (*fcn)(double x1, double x2, const char *str, void *cookie), void *cookie1)
|
||||
{
|
||||
this->basic_callback_ptr = cookie;
|
||||
this->basic_callback_ptr = fcn;
|
||||
this->basic_callback_cookie = cookie1;
|
||||
}
|
||||
|
||||
void
|
||||
Phreeqc::register_fortran_basic_callback(double ( *cookie)(double *x1, double *x2, char *str, int l))
|
||||
Phreeqc::register_fortran_basic_callback(double ( *fcn)(double *x1, double *x2, char *str, int l))
|
||||
{
|
||||
this->basic_fortran_callback_ptr = cookie;
|
||||
this->basic_fortran_callback_ptr = fcn;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user