mirror of
https://git.gfz-potsdam.de/naaice/iphreeqc.git
synced 2025-12-16 16:44:49 +01:00
IPhreeqc passes all unit tests on VS2005
git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/branches/ErrorHandling@5841 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
parent
ae868f0a20
commit
0f6547cc32
@ -529,6 +529,12 @@ fpunchf(const char *name, const char *format, int d)
|
||||
}
|
||||
}
|
||||
/* ---------------------------------------------------------------------- */
|
||||
void PHRQ_io::fpunchf_end_row(const char *format)
|
||||
/* ---------------------------------------------------------------------- */
|
||||
{
|
||||
//NOOP for Phreeqc
|
||||
}
|
||||
/* ---------------------------------------------------------------------- */
|
||||
int PHRQ_io::
|
||||
close_output_files(void)
|
||||
/* ---------------------------------------------------------------------- */
|
||||
@ -592,4 +598,4 @@ echo_msg(const char * str)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
20
PHRQ_io.h
20
PHRQ_io.h
@ -25,7 +25,7 @@ public:
|
||||
void output_close(void);
|
||||
void output_rewind(void);
|
||||
bool output_isopen(void);
|
||||
void output_msg(const char * str);
|
||||
virtual void output_msg(const char * str);
|
||||
|
||||
// log_file
|
||||
bool log_open(const char *file_name);
|
||||
@ -36,12 +36,12 @@ public:
|
||||
void log_msg(const char * str);
|
||||
|
||||
// punch_file
|
||||
bool punch_open(const char *file_name);
|
||||
virtual bool punch_open(const char *file_name);
|
||||
void punch_fflush(void);
|
||||
void punch_close(void);
|
||||
void punch_rewind(void);
|
||||
bool punch_isopen(void);
|
||||
void punch_msg(const char * str);
|
||||
virtual void punch_msg(const char * str);
|
||||
|
||||
// error_file
|
||||
bool error_open(const char *file_name);
|
||||
@ -49,7 +49,7 @@ public:
|
||||
void error_close(void);
|
||||
void error_rewind(void);
|
||||
bool error_isopen(void);
|
||||
void error_msg(const char * str, bool stop=false);
|
||||
virtual void error_msg(const char * str, bool stop=false);
|
||||
void warning_msg(const char *err_str);
|
||||
|
||||
// dump_file
|
||||
@ -60,10 +60,10 @@ public:
|
||||
bool dump_isopen(void);
|
||||
void dump_msg(const char * str);
|
||||
|
||||
|
||||
void fpunchf(const char *name, const char *format, double d);
|
||||
void fpunchf(const char *name, const char *format, char * d);
|
||||
void fpunchf(const char *name, const char *format, int d);
|
||||
virtual void fpunchf(const char *name, const char *format, double d);
|
||||
virtual void fpunchf(const char *name, const char *format, char * d);
|
||||
virtual void fpunchf(const char *name, const char *format, int d);
|
||||
virtual void fpunchf_end_row(const char *format);
|
||||
|
||||
void Set_io_error_count(int i) {this->io_error_count = i;};
|
||||
int Get_io_error_count(void) {return this->io_error_count;};
|
||||
@ -90,7 +90,7 @@ public:
|
||||
bool Get_error_file_on(void) {return this->error_file_on;};
|
||||
bool Get_dump_file_on(void) {return this->dump_file_on;};
|
||||
|
||||
void screen_msg(const char * str);
|
||||
virtual void screen_msg(const char * str);
|
||||
void Set_screen_on(bool tf) {this->screen_on = tf;};
|
||||
bool Get_screen_on(void) {return this->screen_on;};
|
||||
|
||||
@ -99,7 +99,7 @@ public:
|
||||
ECHO_LOG,
|
||||
ECHO_OUTPUT
|
||||
};
|
||||
void echo_msg(const char * str);
|
||||
virtual void echo_msg(const char * str);
|
||||
void Set_echo_on(bool tf) {this->echo_on = tf;};
|
||||
bool Get_echo_on(void) {return this->echo_on;};
|
||||
void Set_echo_destination(ECHO_OPTION eo) {this->echo_destination = eo;};
|
||||
|
||||
27
Phreeqc.cpp
27
Phreeqc.cpp
@ -13,9 +13,18 @@
|
||||
#include "phqalloc.h"
|
||||
#include "PBasic.h"
|
||||
|
||||
Phreeqc::Phreeqc(void)
|
||||
Phreeqc::Phreeqc(PHRQ_io *io)
|
||||
{
|
||||
phrq_io = new PHRQ_io;
|
||||
if (io)
|
||||
{
|
||||
delete_phrq_io = false;
|
||||
phrq_io = io;
|
||||
}
|
||||
else
|
||||
{
|
||||
delete_phrq_io = true;
|
||||
phrq_io = new PHRQ_io;
|
||||
}
|
||||
|
||||
phast = FALSE;
|
||||
s_pTail = NULL;
|
||||
@ -149,7 +158,10 @@ Phreeqc::~Phreeqc(void)
|
||||
free_check_null(sformatf_buffer);
|
||||
|
||||
PHRQ_free_all();
|
||||
delete phrq_io;
|
||||
if (this->phrq_io && this->delete_phrq_io)
|
||||
{
|
||||
delete this->phrq_io;
|
||||
}
|
||||
}
|
||||
|
||||
void Phreeqc::set_phast(int tf)
|
||||
@ -872,3 +884,12 @@ void Phreeqc::init(void)
|
||||
return;
|
||||
}
|
||||
|
||||
void Phreeqc::set_io(PHRQ_io *io, bool auto_delete)
|
||||
{
|
||||
if (this->phrq_io && this->delete_phrq_io)
|
||||
{
|
||||
delete this->phrq_io;
|
||||
}
|
||||
this->delete_phrq_io = auto_delete;
|
||||
this->phrq_io = io;
|
||||
}
|
||||
|
||||
12
Phreeqc.h
12
Phreeqc.h
@ -57,7 +57,7 @@ class PBasic;
|
||||
class Phreeqc
|
||||
{
|
||||
public:
|
||||
Phreeqc(void);
|
||||
Phreeqc(PHRQ_io *io = NULL);
|
||||
~Phreeqc(void);
|
||||
|
||||
public:
|
||||
@ -1318,10 +1318,11 @@ public:
|
||||
//bool recursive_include(std::ifstream & input_stream, std::iostream & accumulated_stream);
|
||||
int main_method(int argc, char *argv[]);
|
||||
void set_phast(int);
|
||||
void set_io(PHRQ_io *io, bool auto_delete = false);
|
||||
size_t list_components(std::list<std::string> &list_c);
|
||||
std::istream *get_istream();
|
||||
void pop_istream();
|
||||
void push_istream(std::istream * cookie);
|
||||
void push_istream(std::istream * cookie, bool auto_delete = true);
|
||||
void clear_istream(void);
|
||||
protected:
|
||||
void init(void);
|
||||
@ -1331,10 +1332,10 @@ protected:
|
||||
//
|
||||
protected:
|
||||
std::list <std::istream *> istream_list;
|
||||
std::ifstream * in_stream;
|
||||
std::ifstream * db_stream;
|
||||
std::list <bool> delete_istream_list;
|
||||
|
||||
PHRQ_io *phrq_io;
|
||||
bool delete_phrq_io;
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
* STRUCTURES
|
||||
@ -2072,6 +2073,9 @@ public:
|
||||
|
||||
friend class PBasic;
|
||||
friend class ChartObject;
|
||||
friend class IPhreeqc;
|
||||
friend class TestIPhreeqc;
|
||||
friend class TestSelectedOutput;
|
||||
|
||||
std::vector<int> keycount; // used to mark keywords that have been read
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user