updated for (Set)CurrentSelectedOutputUserNumber

git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@8028 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
Scott R Charlton 2013-09-13 05:52:16 +00:00
parent ca9a7a486e
commit f5bcccafcb
7 changed files with 365 additions and 304 deletions

View File

@ -11,56 +11,44 @@ int main(void)
return EXIT_FAILURE; return EXIT_FAILURE;
} }
iphreeqc.AccumulateLine("TITLE Example 2.--Temperature dependence of solubility"); iphreeqc.SetCurrentSelectedOutputUserNumber(1);
iphreeqc.AccumulateLine(" of gypsum and anhydrite "); iphreeqc.SetSelectedOutputStringOn(true);
iphreeqc.AccumulateLine("SOLUTION 1 Pure water "); iphreeqc.SetSelectedOutputFileOn(true);
iphreeqc.AccumulateLine(" pH 7.0 "); iphreeqc.SetSelectedOutputFileName("state.sel");
iphreeqc.AccumulateLine(" temp 25.0 ");
iphreeqc.AccumulateLine("EQUILIBRIUM_PHASES 1 "); iphreeqc.SetCurrentSelectedOutputUserNumber(2);
iphreeqc.AccumulateLine(" Gypsum 0.0 1.0 "); iphreeqc.SetSelectedOutputStringOn(true);
iphreeqc.AccumulateLine(" Anhydrite 0.0 1.0 "); iphreeqc.SetSelectedOutputFileOn(true);
iphreeqc.AccumulateLine("REACTION_TEMPERATURE 1 "); iphreeqc.SetSelectedOutputFileName("si.sel");
iphreeqc.AccumulateLine(" 25.0 75.0 in 51 steps ");
iphreeqc.AccumulateLine("SELECTED_OUTPUT 1 ");
iphreeqc.AccumulateLine(" -file state.sel "); iphreeqc.AccumulateLine("TITLE Temperature dependence of solubility");
iphreeqc.AccumulateLine(" -temperature "); iphreeqc.AccumulateLine(" of gypsum and anhydrite ");
iphreeqc.AccumulateLine("SELECTED_OUTPUT 2 "); iphreeqc.AccumulateLine("SOLUTION 1 Pure water ");
iphreeqc.AccumulateLine(" -file si.sel "); iphreeqc.AccumulateLine(" pH 7.0 ");
iphreeqc.AccumulateLine(" -si anhydrite gypsum "); iphreeqc.AccumulateLine(" temp 25.0 ");
iphreeqc.AccumulateLine("END "); iphreeqc.AccumulateLine("EQUILIBRIUM_PHASES 1 ");
iphreeqc.AccumulateLine(" Gypsum 0.0 1.0 ");
iphreeqc.AccumulateLine(" Anhydrite 0.0 1.0 ");
iphreeqc.AccumulateLine("REACTION_TEMPERATURE 1 ");
iphreeqc.AccumulateLine(" 25.0 75.0 in 51 steps ");
iphreeqc.AccumulateLine("SELECTED_OUTPUT 1 ");
iphreeqc.AccumulateLine(" -temperature ");
iphreeqc.AccumulateLine("SELECTED_OUTPUT 2 ");
iphreeqc.AccumulateLine(" -si anhydrite gypsum ");
iphreeqc.AccumulateLine("END ");
if (iphreeqc.RunAccumulated() != 0) { if (iphreeqc.RunAccumulated() != 0) {
std::cout << iphreeqc.GetErrorString() << std::endl; std::cout << iphreeqc.GetErrorString() << std::endl;
return EXIT_FAILURE; return EXIT_FAILURE;
} }
VAR v;
::VarInit(&v);
int c = iphreeqc.GetSelectedOutputCount(); int c = iphreeqc.GetSelectedOutputCount();
for (int k = 0; k < c; ++k) { for (int k = 0; k < c; ++k) {
int n = iphreeqc.GetNthSelectedOutputUserNumber(k); int n = iphreeqc.GetNthSelectedOutputUserNumber(k);
iphreeqc.SetCurrentSelectedOutputUserNumber(n); iphreeqc.SetCurrentSelectedOutputUserNumber(n);
std::cout << "selected-output " << n << ":" << std::endl; std::cout << "selected-output " << n << ":" << std::endl;
for (int i = 0; i < iphreeqc.GetSelectedOutputRowCount(); ++i) { std::cout << iphreeqc.GetSelectedOutputString() << std::endl;
for (int j = 0; j < iphreeqc.GetSelectedOutputColumnCount(); ++j) {
if (iphreeqc.GetSelectedOutputValue(i, j, &v) == VR_OK) {
switch (v.type) {
case TT_LONG:
std::cout << v.lVal << " ";
break;
case TT_DOUBLE:
std::cout << v.dVal << " ";
break;
case TT_STRING:
std::cout << v.sVal << " ";
break;
}
}
::VarClear(&v);
}
std::cout << std::endl;
}
} }
return EXIT_SUCCESS; return EXIT_SUCCESS;
} }

View File

@ -29,7 +29,6 @@ IPhreeqc::IPhreeqc(void)
: DatabaseLoaded(false) : DatabaseLoaded(false)
, ClearAccumulated(false) , ClearAccumulated(false)
, UpdateComponents(true) , UpdateComponents(true)
, SelectedOutputFileOn(false)
, OutputFileOn(false) , OutputFileOn(false)
, LogFileOn(false) , LogFileOn(false)
, ErrorFileOn(false) , ErrorFileOn(false)
@ -383,7 +382,7 @@ const char* IPhreeqc::GetSelectedOutputFileName(void)const
bool IPhreeqc::GetSelectedOutputFileOn(void)const bool IPhreeqc::GetSelectedOutputFileOn(void)const
{ {
return this->SelectedOutputFileOn; return this->get_sel_out_file_on(this->CurrentSelectedOutputUserNumber);
} }
int IPhreeqc::GetSelectedOutputRowCount(void)const int IPhreeqc::GetSelectedOutputRowCount(void)const
@ -811,7 +810,7 @@ void IPhreeqc::SetBasicFortranCallback(double (*fcn)(double *x1, double *x2, cha
VRESULT IPhreeqc::SetCurrentSelectedOutputUserNumber(int n) VRESULT IPhreeqc::SetCurrentSelectedOutputUserNumber(int n)
{ {
if (this->PhreeqcPtr->SelectedOutput_map.find(n) != this->PhreeqcPtr->SelectedOutput_map.end()) if (0 <= n)
{ {
this->CurrentSelectedOutputUserNumber = n; this->CurrentSelectedOutputUserNumber = n;
return VR_OK; return VR_OK;
@ -904,7 +903,11 @@ void IPhreeqc::SetSelectedOutputFileName(const char *filename)
void IPhreeqc::SetSelectedOutputFileOn(bool bValue) void IPhreeqc::SetSelectedOutputFileOn(bool bValue)
{ {
this->SelectedOutputFileOn = bValue; // COMMENT: {9/12/2013 6:40:50 PM} this->SelectedOutputFileOn = bValue;
if (0 <= this->CurrentSelectedOutputUserNumber)
{
this->SelectedOutputFileOnMap[this->CurrentSelectedOutputUserNumber] = bValue;
}
} }
void IPhreeqc::SetSelectedOutputStringOn(bool bValue) void IPhreeqc::SetSelectedOutputStringOn(bool bValue)
@ -934,6 +937,10 @@ void IPhreeqc::UnLoadDatabase(void)
// clear selectedoutput // clear selectedoutput
// //
this->CurrentSelectedOutputUserNumber = 1;
this->SelectedOutputFileOnMap.clear();
this->SelectedOutputFileOnMap[1] = false;
std::map< int, CSelectedOutput* >::iterator itt = this->SelectedOutputMap.begin(); std::map< int, CSelectedOutput* >::iterator itt = this->SelectedOutputMap.begin();
for (; itt != this->SelectedOutputMap.end(); ++itt) for (; itt != this->SelectedOutputMap.end(); ++itt)
{ {
@ -1140,18 +1147,26 @@ void IPhreeqc::do_run(const char* sz_routine, std::istream* pis, PFN_PRERUN_CALL
// TRUE ??? // TRUE ???
// //
// //
if (!this->SelectedOutputFileOn) // COMMENT: {9/12/2013 6:47:53 PM} if (!this->SelectedOutputFileOn)
// COMMENT: {9/12/2013 6:47:53 PM} {
// COMMENT: {9/12/2013 6:47:53 PM} std::map< int, SelectedOutput >::iterator it = this->PhreeqcPtr->SelectedOutput_map.begin();
// COMMENT: {9/12/2013 6:47:53 PM} for (; it != this->PhreeqcPtr->SelectedOutput_map.end(); ++it)
// COMMENT: {9/12/2013 6:47:53 PM} {
// COMMENT: {9/12/2013 6:47:53 PM} ASSERT((*it).second.Get_punch_ostream() == 0);
// COMMENT: {9/12/2013 6:47:53 PM} }
// COMMENT: {9/12/2013 6:47:53 PM} }
// COMMENT: {9/12/2013 6:47:53 PM} else
// COMMENT: {9/12/2013 6:47:53 PM} {
// COMMENT: {9/12/2013 6:47:53 PM} ASSERT(TRUE);
// COMMENT: {9/12/2013 6:47:53 PM} }
std::map< int, SelectedOutput >::iterator ai = this->PhreeqcPtr->SelectedOutput_map.begin();
for (; ai != this->PhreeqcPtr->SelectedOutput_map.end(); ++ai)
{ {
std::map< int, SelectedOutput >::iterator it = this->PhreeqcPtr->SelectedOutput_map.begin(); if (!this->SelectedOutputFileOnMap[(*ai).first])
for (; it != this->PhreeqcPtr->SelectedOutput_map.end(); ++it)
{ {
ASSERT((*it).second.Get_punch_ostream() == 0); ASSERT((*ai).second.Get_punch_ostream() == 0);
} }
} }
else
{
ASSERT(TRUE);
}
if (this->PhreeqcPtr->pr.punch == FALSE) if (this->PhreeqcPtr->pr.punch == FALSE)
{ {
@ -1167,7 +1182,8 @@ void IPhreeqc::do_run(const char* sz_routine, std::istream* pis, PFN_PRERUN_CALL
std::map< int, SelectedOutput >::iterator it = this->PhreeqcPtr->SelectedOutput_map.begin(); std::map< int, SelectedOutput >::iterator it = this->PhreeqcPtr->SelectedOutput_map.begin();
for (; it != this->PhreeqcPtr->SelectedOutput_map.end(); ++it) for (; it != this->PhreeqcPtr->SelectedOutput_map.end(); ++it)
{ {
if (this->SelectedOutputFileOn && !(*it).second.Get_punch_ostream()) // COMMENT: {9/12/2013 6:42:03 PM} if (this->SelectedOutputFileOn && !(*it).second.Get_punch_ostream())
if (this->SelectedOutputFileOnMap[(*it).first] && !(*it).second.Get_punch_ostream())
{ {
// //
// LoadDatabase // LoadDatabase
@ -1209,7 +1225,8 @@ void IPhreeqc::do_run(const char* sz_routine, std::istream* pis, PFN_PRERUN_CALL
std::map< int, SelectedOutput >::iterator it = this->PhreeqcPtr->SelectedOutput_map.begin(); std::map< int, SelectedOutput >::iterator it = this->PhreeqcPtr->SelectedOutput_map.begin();
for (; it != this->PhreeqcPtr->SelectedOutput_map.end(); ++it) for (; it != this->PhreeqcPtr->SelectedOutput_map.end(); ++it)
{ {
if (this->SelectedOutputFileOn) // COMMENT: {9/12/2013 6:53:23 PM} if (this->SelectedOutputFileOn)
if (this->SelectedOutputFileOnMap[(*it).first])
{ {
ASSERT((*it).second.Get_punch_ostream()); ASSERT((*it).second.Get_punch_ostream());
} }
@ -1651,6 +1668,17 @@ void IPhreeqc::fpunchf_end_row(const char *format)
this->EndRow(); this->EndRow();
} }
bool IPhreeqc::get_sel_out_file_on(int n)const
{
// if not found in list SelectedOutputFileOn is false
std::map< int, bool >::const_iterator ci = this->SelectedOutputFileOnMap.find(n);
if (ci != this->SelectedOutputFileOnMap.end())
{
return (*ci).second;
}
return false;
}
bool IPhreeqc::punch_open(const char *file_name, std::ios_base::openmode mode, int n_user) bool IPhreeqc::punch_open(const char *file_name, std::ios_base::openmode mode, int n_user)
{ {
if (this->PhreeqcPtr->SelectedOutput_map[n_user].Get_have_punch_name() && if (this->PhreeqcPtr->SelectedOutput_map[n_user].Get_have_punch_name() &&
@ -1662,7 +1690,7 @@ bool IPhreeqc::punch_open(const char *file_name, std::ios_base::openmode mode, i
{ {
this->SelectedOutputFileNameMap[n_user] = this->sel_file_name(n_user); this->SelectedOutputFileNameMap[n_user] = this->sel_file_name(n_user);
} }
if (this->SelectedOutputFileOn) if (this->get_sel_out_file_on(n_user))
{ {
ASSERT(!this->SelectedOutputFileNameMap[n_user].empty()); ASSERT(!this->SelectedOutputFileNameMap[n_user].empty());
this->PhreeqcPtr->SelectedOutput_map[n_user].Set_file_name(this->SelectedOutputFileNameMap[n_user]); this->PhreeqcPtr->SelectedOutput_map[n_user].Set_file_name(this->SelectedOutputFileNameMap[n_user]);

File diff suppressed because it is too large Load Diff

View File

@ -47,9 +47,9 @@ class IPQ_DLL_EXPORT IPhreeqc : public PHRQ_io
public: public:
/** /**
* Constructor. * Constructor.
* \anchor IPhreeqc_cpp * @anchor IPhreeqc_cpp
* @par Example: * @par Example:
* \include IPhreeqc.cpp * @include IPhreeqc.cpp
*/ */
IPhreeqc(void); IPhreeqc(void);
@ -88,14 +88,14 @@ public:
size_t AddWarning(const char* warning_msg); size_t AddWarning(const char* warning_msg);
/** /**
* Clears the accumulated input buffer. Input buffer is accumulated from calls to \ref AccumulateLine. * Clears the accumulated input buffer. Input buffer is accumulated from calls to @ref AccumulateLine.
* @see AccumulateLine, GetAccumulatedLines, OutputAccumulatedLines, RunAccumulated * @see AccumulateLine, GetAccumulatedLines, OutputAccumulatedLines, RunAccumulated
*/ */
void ClearAccumulatedLines(void); void ClearAccumulatedLines(void);
/** /**
* Retrieve the accumulated input string. The accumulated input string can be run * Retrieve the accumulated input string. The accumulated input string can be run
* with \ref RunAccumulated. * with @ref RunAccumulated.
* @return The accumulated input string. * @return The accumulated input string.
* @see AccumulateLine, ClearAccumulatedLines, OutputAccumulatedLines, RunAccumulated * @see AccumulateLine, ClearAccumulatedLines, OutputAccumulatedLines, RunAccumulated
*/ */
@ -126,7 +126,7 @@ public:
/** /**
* Retrieves the name of the dump file. This file name is used if not specified within <B>DUMP</B> input. * Retrieves the name of the dump file. This file name is used if not specified within <B>DUMP</B> input.
* The default value is <B><I>dump.id.out</I></B>, where id is obtained from \ref GetId. * The default value is <B><I>dump.id.out</I></B>, where id is obtained from @ref GetId.
* @return filename The name of the file to write <B>DUMP</B> output to. * @return filename The name of the file to write <B>DUMP</B> output to.
* @see GetDumpFileOn, GetDumpString, GetDumpStringOn, GetDumpStringLine, GetDumpStringLineCount, SetDumpFileName, SetDumpFileOn, SetDumpStringOn * @see GetDumpFileOn, GetDumpString, GetDumpStringOn, GetDumpStringLine, GetDumpStringLineCount, SetDumpFileName, SetDumpFileOn, SetDumpStringOn
*/ */
@ -134,7 +134,7 @@ public:
/** /**
* Retrieves the current value of the dump file switch. * Retrieves the current value of the dump file switch.
* @retval true Output is written to the <B>DUMP</B> (<B><I>dump.id.out</I></B> if unspecified, where id is obtained from \ref GetId) file. * @retval true Output is written to the <B>DUMP</B> (<B><I>dump.id.out</I></B> if unspecified, where id is obtained from @ref GetId) file.
* @retval false No output is written. * @retval false No output is written.
* @see GetDumpStringLine, GetDumpStringLineCount, GetDumpStringOn, GetDumpString, SetDumpFileOn, SetDumpStringOn * @see GetDumpStringLine, GetDumpStringLineCount, GetDumpStringOn, GetDumpString, SetDumpFileOn, SetDumpStringOn
*/ */
@ -143,8 +143,8 @@ public:
/** /**
* Retrieves the string buffer containing <b>DUMP</b> output. * Retrieves the string buffer containing <b>DUMP</b> output.
* @return A null terminated string containing <b>DUMP</b> output. * @return A null terminated string containing <b>DUMP</b> output.
* @pre * @pre
* \ref SetDumpStringOn must have been set to true in order to receive <b>DUMP</b> output. * @ref SetDumpStringOn must have been set to true in order to receive <b>DUMP</b> output.
* @see GetDumpStringLine, GetDumpFileOn, GetDumpStringLineCount, GetDumpStringOn, SetDumpFileOn, SetDumpStringOn * @see GetDumpStringLine, GetDumpFileOn, GetDumpStringLineCount, GetDumpStringOn, SetDumpFileOn, SetDumpStringOn
*/ */
const char* GetDumpString(void)const; const char* GetDumpString(void)const;
@ -154,7 +154,7 @@ public:
* @param n The zero-based index of the line to retrieve. * @param n The zero-based index of the line to retrieve.
* @return A null terminated string containing the given line. * @return A null terminated string containing the given line.
* Returns an empty string if n is out of range. * Returns an empty string if n is out of range.
* @pre \ref SetDumpStringOn must have been set to true. * @pre @ref SetDumpStringOn must have been set to true.
* @see GetDumpFileOn, GetDumpString, GetDumpStringLineCount, GetDumpStringOn, SetDumpFileOn, SetDumpStringOn * @see GetDumpFileOn, GetDumpString, GetDumpStringLineCount, GetDumpStringOn, SetDumpFileOn, SetDumpStringOn
*/ */
const char* GetDumpStringLine(int n); const char* GetDumpStringLine(int n);
@ -162,7 +162,7 @@ public:
/** /**
* Retrieves the number of lines in the current dump string buffer. * Retrieves the number of lines in the current dump string buffer.
* @return The number of lines. * @return The number of lines.
* @pre \ref SetDumpStringOn must have been set to true. * @pre @ref SetDumpStringOn must have been set to true.
* @see GetDumpFileOn, GetDumpString, GetDumpStringLine, GetDumpStringOn, SetDumpFileOn, SetDumpStringOn * @see GetDumpFileOn, GetDumpString, GetDumpStringLine, GetDumpStringOn, SetDumpFileOn, SetDumpStringOn
*/ */
int GetDumpStringLineCount(void)const; int GetDumpStringLineCount(void)const;
@ -176,7 +176,7 @@ public:
bool GetDumpStringOn(void)const; bool GetDumpStringOn(void)const;
/** /**
* Retrieves the name of the error file. The default value is <B><I>phreeqc.id.err</I></B>, where id is obtained from \ref GetId. * Retrieves the name of the error file. The default value is <B><I>phreeqc.id.err</I></B>, where id is obtained from @ref GetId.
* @return filename The name of the file to write to. * @return filename The name of the file to write to.
* @see GetErrorFileOn, GetErrorString, GetErrorStringOn, GetErrorStringLine, GetErrorStringLineCount, SetErrorFileName, SetErrorFileOn, SetErrorStringOn * @see GetErrorFileOn, GetErrorString, GetErrorStringOn, GetErrorStringLine, GetErrorStringLineCount, SetErrorFileName, SetErrorFileOn, SetErrorStringOn
*/ */
@ -184,14 +184,14 @@ public:
/** /**
* Retrieves the current value of the error file switch. * Retrieves the current value of the error file switch.
* @retval true Errors are written to the <B><I>phreeqc.id.err</I></B> (where id is obtained from \ref GetId) file. * @retval true Errors are written to the <B><I>phreeqc.id.err</I></B> (where id is obtained from @ref GetId) file.
* @retval false No errors are written. * @retval false No errors are written.
* @see SetErrorFileOn * @see SetErrorFileOn
*/ */
bool GetErrorFileOn(void)const; bool GetErrorFileOn(void)const;
/** /**
* Retrieves the error messages from the last call to \ref RunAccumulated, \ref RunFile, \ref RunString, \ref LoadDatabase, or \ref LoadDatabaseString. * Retrieves the error messages from the last call to @ref RunAccumulated, @ref RunFile, @ref RunString, @ref LoadDatabase, or @ref LoadDatabaseString.
* @return A null terminated string containing error messages. * @return A null terminated string containing error messages.
* @see GetErrorStringLine, GetErrorStringLineCount, GetErrorFileOn, OutputErrorString, SetErrorFileOn * @see GetErrorStringLine, GetErrorStringLineCount, GetErrorFileOn, OutputErrorString, SetErrorFileOn
*/ */
@ -228,7 +228,7 @@ public:
int GetId(void)const; int GetId(void)const;
/** /**
* Retrieves the name of the log file. The default value is <B><I>phreeqc.id.log</I></B>, where id is obtained from \ref GetId. * Retrieves the name of the log file. The default value is <B><I>phreeqc.id.log</I></B>, where id is obtained from @ref GetId.
* @return filename The name of the file to write to. * @return filename The name of the file to write to.
* @see GetLogFileOn, GetLogString, GetLogStringOn, GetLogStringLine, GetLogStringLineCount, SetLogFileName, SetLogFileOn, SetLogStringOn * @see GetLogFileOn, GetLogString, GetLogStringOn, GetLogStringLine, GetLogStringLineCount, SetLogFileName, SetLogFileOn, SetLogStringOn
*/ */
@ -236,7 +236,7 @@ public:
/** /**
* Retrieves the current value of the log file switch. * Retrieves the current value of the log file switch.
* @retval true Log messages are written to the <B><I>phreeqc.id.log</I></B> (where id is obtained from \ref GetId) file. * @retval true Log messages are written to the <B><I>phreeqc.id.log</I></B> (where id is obtained from @ref GetId) file.
* @retval false No log messages are written. * @retval false No log messages are written.
* @remarks * @remarks
* Logging must be enabled through the use of the KNOBS -logfile option in order to receive any log messages. * Logging must be enabled through the use of the KNOBS -logfile option in order to receive any log messages.
@ -248,7 +248,7 @@ public:
* Retrieves the string buffer containing phreeqc log output. * Retrieves the string buffer containing phreeqc log output.
* @return A null terminated string containing log output. * @return A null terminated string containing log output.
* @pre * @pre
* \ref SetLogStringOn must have been set to true and enabled through the use of the KNOBS -logfile option in order to receive any log messages. * @ref SetLogStringOn must have been set to true and enabled through the use of the KNOBS -logfile option in order to receive any log messages.
* @see GetLogStringLine, GetLogFileOn, GetLogStringLineCount, GetLogStringOn, SetLogFileOn, SetLogStringOn * @see GetLogStringLine, GetLogFileOn, GetLogStringLineCount, GetLogStringOn, SetLogFileOn, SetLogStringOn
*/ */
const char* GetLogString(void)const; const char* GetLogString(void)const;
@ -258,7 +258,7 @@ public:
* @param n The zero-based index of the line to retrieve. * @param n The zero-based index of the line to retrieve.
* @return A null terminated string containing the given line. * @return A null terminated string containing the given line.
* Returns an empty string if n is out of range. * Returns an empty string if n is out of range.
* @pre \ref SetLogStringOn must have been set to true and enabled through the use of the KNOBS -logfile option in order to receive any log messages. * @pre @ref SetLogStringOn must have been set to true and enabled through the use of the KNOBS -logfile option in order to receive any log messages.
* @see GetLogFileOn, GetLogString, GetLogStringLineCount, GetLogStringOn, SetLogFileOn, SetLogStringOn * @see GetLogFileOn, GetLogString, GetLogStringLineCount, GetLogStringOn, SetLogFileOn, SetLogStringOn
*/ */
const char* GetLogStringLine(int n)const; const char* GetLogStringLine(int n)const;
@ -266,7 +266,7 @@ public:
/** /**
* Retrieves the number of lines in the current log string buffer. * Retrieves the number of lines in the current log string buffer.
* @return The number of lines. * @return The number of lines.
* @pre \ref SetLogStringOn must have been set to true and enabled through the use of the KNOBS -logfile option in order to receive any log messages. * @pre @ref SetLogStringOn must have been set to true and enabled through the use of the KNOBS -logfile option in order to receive any log messages.
* @see GetLogFileOn, GetLogString, GetLogStringLine, GetLogStringOn, SetLogFileOn, SetLogStringOn * @see GetLogFileOn, GetLogString, GetLogStringLine, GetLogStringOn, SetLogFileOn, SetLogStringOn
*/ */
int GetLogStringLineCount(void)const; int GetLogStringLineCount(void)const;
@ -288,7 +288,7 @@ public:
int GetNthSelectedOutputUserNumber(int n)const; int GetNthSelectedOutputUserNumber(int n)const;
/** /**
* Retrieves the name of the output file. The default value is <B><I>phreeqc.id.out</I></B>, where id is obtained from \ref GetId. * Retrieves the name of the output file. The default value is <B><I>phreeqc.id.out</I></B>, where id is obtained from @ref GetId.
* @return filename The name of the file to write phreeqc output to. * @return filename The name of the file to write phreeqc output to.
* @see GetOutputFileOn, GetOutputString, GetOutputStringOn, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileName, SetOutputFileOn, SetOutputStringOn * @see GetOutputFileOn, GetOutputString, GetOutputStringOn, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileName, SetOutputFileOn, SetOutputStringOn
*/ */
@ -296,7 +296,7 @@ public:
/** /**
* Retrieves the current value of the output file switch. * Retrieves the current value of the output file switch.
* @retval true Output is written to the <B><I>phreeqc.id.out</I></B> (where id is obtained from \ref GetId) file. * @retval true Output is written to the <B><I>phreeqc.id.out</I></B> (where id is obtained from @ref GetId) file.
* @retval false No output is written. * @retval false No output is written.
* @see GetOutputFileOn, GetOutputString, GetOutputStringOn, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileName, SetOutputFileOn, SetOutputStringOn * @see GetOutputFileOn, GetOutputString, GetOutputStringOn, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileName, SetOutputFileOn, SetOutputStringOn
*/ */
@ -306,7 +306,7 @@ public:
* Retrieves the string buffer containing phreeqc output. * Retrieves the string buffer containing phreeqc output.
* @return A null terminated string containing phreeqc output. * @return A null terminated string containing phreeqc output.
* @pre * @pre
* \ref SetOutputStringOn must have been set to true in order to receive output. * @ref SetOutputStringOn must have been set to true in order to receive output.
* @see GetOutputStringLine, GetOutputFileOn, GetOutputStringLineCount, GetOutputStringOn, SetOutputFileOn, SetOutputStringOn * @see GetOutputStringLine, GetOutputFileOn, GetOutputStringLineCount, GetOutputStringOn, SetOutputFileOn, SetOutputStringOn
*/ */
const char* GetOutputString(void)const; const char* GetOutputString(void)const;
@ -316,7 +316,7 @@ public:
* @param n The zero-based index of the line to retrieve. * @param n The zero-based index of the line to retrieve.
* @return A null terminated string containing the given line. * @return A null terminated string containing the given line.
* Returns an empty string if n is out of range. * Returns an empty string if n is out of range.
* @pre \ref SetOutputStringOn must have been set to true. * @pre @ref SetOutputStringOn must have been set to true.
* @see GetOutputFileOn, GetOutputString, GetOutputStringLineCount, GetOutputStringOn, SetOutputFileOn, SetOutputStringOn * @see GetOutputFileOn, GetOutputString, GetOutputStringLineCount, GetOutputStringOn, SetOutputFileOn, SetOutputStringOn
*/ */
const char* GetOutputStringLine(int n)const; const char* GetOutputStringLine(int n)const;
@ -324,7 +324,7 @@ public:
/** /**
* Retrieves the number of lines in the current output string buffer. * Retrieves the number of lines in the current output string buffer.
* @return The number of lines. * @return The number of lines.
* @pre \ref SetOutputStringOn must have been set to true. * @pre @ref SetOutputStringOn must have been set to true.
* @see GetOutputFileOn, GetOutputString, GetOutputStringLine, GetOutputStringOn, SetOutputFileOn, SetOutputStringOn * @see GetOutputFileOn, GetOutputString, GetOutputStringLine, GetOutputStringOn, SetOutputFileOn, SetOutputStringOn
*/ */
int GetOutputStringLineCount(void)const; int GetOutputStringLineCount(void)const;
@ -353,7 +353,7 @@ public:
/** /**
* Retrieves the name of the selected output file. This file name is used if not specified within <B>SELECTED_OUTPUT</B> input. * Retrieves the name of the selected output file. This file name is used if not specified within <B>SELECTED_OUTPUT</B> input.
* The default value is <B><I>selected_n.id.out</I></B>, where id is obtained from \ref GetId. * The default value is <B><I>selected_n.id.out</I></B>, where id is obtained from @ref GetId.
* @return filename The name of the file to write to. * @return filename The name of the file to write to.
* @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringOn, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileName, SetSelectedOutputFileOn, SetSelectedOutputStringOn * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringOn, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileName, SetSelectedOutputFileOn, SetSelectedOutputStringOn
*/ */
@ -361,7 +361,7 @@ public:
/** /**
* Retrieves the selected-output file switch. * Retrieves the selected-output file switch.
* @retval true Output is written to the selected-output (<B><I>selected_n.id.out</I></B> if unspecified, where id is obtained from \ref GetId) file. * @retval true Output is written to the selected-output (<B><I>selected_n.id.out</I></B> if unspecified, where id is obtained from @ref GetId) file.
* @retval false No output is written. * @retval false No output is written.
* @see GetSelectedOutputValue, GetSelectedOutputColumnCount, GetSelectedOutputRowCount, SetSelectedOutputFileOn * @see GetSelectedOutputValue, GetSelectedOutputColumnCount, GetSelectedOutputRowCount, SetSelectedOutputFileOn
*/ */
@ -375,10 +375,10 @@ public:
int GetSelectedOutputRowCount(void)const; int GetSelectedOutputRowCount(void)const;
/** /**
* Retrieves the string buffer containing <b>SELECTED_OUTPUT</b>. * Retrieves the string buffer containing <b>SELECTED_OUTPUT</b> for the currently selected user number(see @ref SetCurrentSelectedOutputUserNumber).
* @return A null terminated string containing <b>SELECTED_OUTPUT</b>. * @return A null terminated string containing <b>SELECTED_OUTPUT</b>.
* @pre * @pre
* \ref SetSelectedOutputStringOn must have been set to true in order to receive <b>SELECTED_OUTPUT</b>. * @ref SetSelectedOutputStringOn must have been set to true in order to receive <b>SELECTED_OUTPUT</b>.
* @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputStringLine, GetSelectedOutputFileOn, GetSelectedOutputStringLineCount, GetSelectedOutputStringOn, GetSelectedOutputString, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputStringLine, GetSelectedOutputFileOn, GetSelectedOutputStringLineCount, GetSelectedOutputStringOn, GetSelectedOutputString, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn
*/ */
const char* GetSelectedOutputString(void)const; const char* GetSelectedOutputString(void)const;
@ -388,7 +388,7 @@ public:
* @param n The zero-based index of the line to retrieve. * @param n The zero-based index of the line to retrieve.
* @return A null terminated string containing the given line. * @return A null terminated string containing the given line.
* Returns an empty string if n is out of range. * Returns an empty string if n is out of range.
* @pre \ref SetSelectedOutputStringOn must have been set to true. * @pre @ref SetSelectedOutputStringOn must have been set to true.
* @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringLineCount, GetSelectedOutputStringOn, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringLineCount, GetSelectedOutputStringOn, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn
*/ */
const char* GetSelectedOutputStringLine(int n); const char* GetSelectedOutputStringLine(int n);
@ -396,7 +396,7 @@ public:
/** /**
* Retrieves the number of lines in the current selected output string buffer. * Retrieves the number of lines in the current selected output string buffer.
* @return The number of lines. * @return The number of lines.
* @pre \ref SetSelectedOutputStringOn must have been set to true. * @pre @ref SetSelectedOutputStringOn must have been set to true.
* @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringLine, GetSelectedOutputStringOn, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringLine, GetSelectedOutputStringOn, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn
*/ */
int GetSelectedOutputStringLineCount(void)const; int GetSelectedOutputStringLineCount(void)const;
@ -410,10 +410,10 @@ public:
bool GetSelectedOutputStringOn(void)const; bool GetSelectedOutputStringOn(void)const;
/** /**
* Returns the \c VAR associated with the specified row and column. * Returns the @c VAR associated with the specified row and column.
* @param row The row index. * @param row The row index.
* @param col The column index. * @param col The column index.
* @param pVAR Pointer to the \c VAR to receive the requested data. * @param pVAR Pointer to the @c VAR to receive the requested data.
* @retval VR_OK Success. * @retval VR_OK Success.
* @retval VR_INVALIDROW The given row is out of range. * @retval VR_INVALIDROW The given row is out of range.
* @retval VR_INVALIDCOL The given column is out of range. * @retval VR_INVALIDCOL The given column is out of range.
@ -567,9 +567,9 @@ public:
* Returns the associated data with the specified row and column. * Returns the associated data with the specified row and column.
* @param row The row index. * @param row The row index.
* @param col The column index. * @param col The column index.
* @param vtype Receives the variable type. See \ref VAR_TYPE. * @param vtype Receives the variable type. See @ref VAR_TYPE.
* @param dvalue Receives the numeric value when (VTYPE=\ref TT_DOUBLE) or (VTYPE=\ref TT_LONG). * @param dvalue Receives the numeric value when (VTYPE=@ref TT_DOUBLE) or (VTYPE=@ref TT_LONG).
* @param svalue Receives the string variable when (VTYPE=\ref TT_STRING). When (VTYPE=\ref TT_DOUBLE) or (VTYPE=\ref TT_LONG) this variable is filled with a string equivalent of DVALUE. * @param svalue Receives the string variable when (VTYPE=@ref TT_STRING). When (VTYPE=@ref TT_DOUBLE) or (VTYPE=@ref TT_LONG) this variable is filled with a string equivalent of DVALUE.
* @param svalue_length The length of the svalue buffer. * @param svalue_length The length of the svalue buffer.
* @retval IPQ_OK Success. * @retval IPQ_OK Success.
* @retval IPQ_INVALIDROW The given row is out of range. * @retval IPQ_INVALIDROW The given row is out of range.
@ -580,12 +580,12 @@ public:
* @remarks * @remarks
* Row 0 contains the column headings to the selected_ouput. * Row 0 contains the column headings to the selected_ouput.
* @par Examples: * @par Examples:
* See \ref GetSelectedOutputValue. * See @ref GetSelectedOutputValue.
*/ */
VRESULT GetSelectedOutputValue2(int row, int col, int *vtype, double* dvalue, char* svalue, unsigned int svalue_length); VRESULT GetSelectedOutputValue2(int row, int col, int *vtype, double* dvalue, char* svalue, unsigned int svalue_length);
/** /**
* Retrieves the warning messages from the last call to \ref RunAccumulated, \ref RunFile, \ref RunString, \ref LoadDatabase, or \ref LoadDatabaseString. * Retrieves the warning messages from the last call to @ref RunAccumulated, @ref RunFile, @ref RunString, @ref LoadDatabase, or @ref LoadDatabaseString.
* @return A null terminated string containing warning messages. * @return A null terminated string containing warning messages.
* @see GetWarningStringLine, GetWarningStringLineCount, OutputWarningString * @see GetWarningStringLine, GetWarningStringLineCount, OutputWarningString
*/ */
@ -636,13 +636,13 @@ public:
int LoadDatabaseString(const char* input); int LoadDatabaseString(const char* input);
/** /**
* Output the accumulated input buffer to stdout. The input buffer can be run with a call to \ref RunAccumulated. * Output the accumulated input buffer to stdout. The input buffer can be run with a call to @ref RunAccumulated.
* @see AccumulateLine, ClearAccumulatedLines, RunAccumulated * @see AccumulateLine, ClearAccumulatedLines, RunAccumulated
*/ */
void OutputAccumulatedLines(void); void OutputAccumulatedLines(void);
/** /**
* Output the error messages normally stored in the <B><I>phreeqc.id.err</I></B> (where id is obtained from \ref GetId) * Output the error messages normally stored in the <B><I>phreeqc.id.err</I></B> (where id is obtained from @ref GetId)
* file to stdout. * file to stdout.
* @see GetErrorStringLine, GetErrorStringLineCount, GetErrorFileOn, SetErrorFileOn * @see GetErrorStringLine, GetErrorStringLineCount, GetErrorFileOn, SetErrorFileOn
*/ */
@ -655,13 +655,13 @@ public:
void OutputWarningString(void); void OutputWarningString(void);
/** /**
* Runs the input buffer as defined by calls to \ref AccumulateLine. * Runs the input buffer as defined by calls to @ref AccumulateLine.
* @return The number of errors encountered. * @return The number of errors encountered.
* @see AccumulateLine, ClearAccumulatedLines, OutputAccumulatedLines, RunFile, RunString * @see AccumulateLine, ClearAccumulatedLines, OutputAccumulatedLines, RunFile, RunString
* @remarks * @remarks
* The accumulated input is cleared at the next call to \ref AccumulateLine. * The accumulated input is cleared at the next call to @ref AccumulateLine.
* @pre * @pre
* \ref LoadDatabase/\ref LoadDatabaseString must have been called and returned 0 (zero) errors. * @ref LoadDatabase/@ref LoadDatabaseString must have been called and returned 0 (zero) errors.
*/ */
int RunAccumulated(void); int RunAccumulated(void);
@ -671,7 +671,7 @@ public:
* @return The number of errors encountered during the run. * @return The number of errors encountered during the run.
* @see RunAccumulated, RunString * @see RunAccumulated, RunString
* @pre * @pre
* \ref LoadDatabase/\ref LoadDatabaseString must have been called and returned 0 (zero) errors. * @ref LoadDatabase/@ref LoadDatabaseString must have been called and returned 0 (zero) errors.
*/ */
int RunFile(const char* filename); int RunFile(const char* filename);
@ -681,7 +681,7 @@ public:
* @return The number of errors encountered during the run. * @return The number of errors encountered during the run.
* @see RunAccumulated, RunFile * @see RunAccumulated, RunFile
* @pre * @pre
* \ref LoadDatabase/\ref LoadDatabaseString must have been called and returned 0 (zero) errors. * @ref LoadDatabase/@ref LoadDatabaseString must have been called and returned 0 (zero) errors.
*/ */
int RunString(const char* input); int RunString(const char* input);
@ -718,7 +718,7 @@ public:
/** /**
* Sets the name of the dump file. This file name is used if not specified within <B>DUMP</B> input. * Sets the name of the dump file. This file name is used if not specified within <B>DUMP</B> input.
* The default value is <B><I>dump.id.out</I></B>, where id is obtained from \ref GetId. * The default value is <B><I>dump.id.out</I></B>, where id is obtained from @ref GetId.
* @param filename The name of the file to write <B>DUMP</B> output to. * @param filename The name of the file to write <B>DUMP</B> output to.
* @see GetDumpFileName, GetDumpFileOn, GetDumpString, GetDumpStringOn, GetDumpStringLine, GetDumpStringLineCount, SetDumpStringOn * @see GetDumpFileName, GetDumpFileOn, GetDumpString, GetDumpStringOn, GetDumpStringLine, GetDumpStringLineCount, SetDumpStringOn
*/ */
@ -726,7 +726,7 @@ public:
/** /**
* Sets the dump file switch on or off. This switch controls whether or not phreeqc writes to the <B>DUMP</B> (<B><I>dump.id.out</I></B> * Sets the dump file switch on or off. This switch controls whether or not phreeqc writes to the <B>DUMP</B> (<B><I>dump.id.out</I></B>
* if unspecified, where id is obtained from \ref GetId) file. * if unspecified, where id is obtained from @ref GetId) file.
* The initial setting is false. * The initial setting is false.
* @param bValue If true, turns on output to the <B>DUMP</B> file; * @param bValue If true, turns on output to the <B>DUMP</B> file;
* if false, turns off output to the <B>DUMP</B> file. * if false, turns off output to the <B>DUMP</B> file.
@ -744,7 +744,7 @@ public:
void SetDumpStringOn(bool bValue); void SetDumpStringOn(bool bValue);
/** /**
* Sets the name of the error file. The default value is <B><I>phreeqc.id.err</I></B>, where id is obtained from \ref GetId. * Sets the name of the error file. The default value is <B><I>phreeqc.id.err</I></B>, where id is obtained from @ref GetId.
* @param filename The name of the file to write error output to. * @param filename The name of the file to write error output to.
* @see GetErrorFileName, GetErrorFileOn, GetErrorString, GetErrorStringOn, GetErrorStringLine, GetErrorStringLineCount, SetErrorFileOn, SetErrorStringOn * @see GetErrorFileName, GetErrorFileOn, GetErrorString, GetErrorStringOn, GetErrorStringLine, GetErrorStringLineCount, SetErrorFileOn, SetErrorStringOn
*/ */
@ -752,7 +752,7 @@ public:
/** /**
* Sets the error file switch on or off. This switch controls whether or not * Sets the error file switch on or off. This switch controls whether or not
* error messages are written to the <B><I>phreeqc.id.err</I></B> (where id is obtained from \ref GetId) file. * error messages are written to the <B><I>phreeqc.id.err</I></B> (where id is obtained from @ref GetId) file.
* The initial setting is false. * The initial setting is false.
* @param bValue If true, writes errors to the error file; if false, no errors are written to the error file. * @param bValue If true, writes errors to the error file; if false, no errors are written to the error file.
* @see GetErrorStringLine, GetErrorStringLineCount, GetErrorFileOn, OutputErrorString * @see GetErrorStringLine, GetErrorStringLineCount, GetErrorFileOn, OutputErrorString
@ -768,7 +768,7 @@ public:
void SetErrorStringOn(bool bValue); void SetErrorStringOn(bool bValue);
/** /**
* Sets the name of the log file. The default value is <B><I>phreeqc.id.log</I></B>, where id is obtained from \ref GetId. * Sets the name of the log file. The default value is <B><I>phreeqc.id.log</I></B>, where id is obtained from @ref GetId.
* @param filename The name of the file to write log output to. * @param filename The name of the file to write log output to.
* @see GetLogFileName, GetLogFileOn, GetLogString, GetLogStringOn, GetLogStringLine, GetLogStringLineCount, SetLogFileOn, SetLogStringOn * @see GetLogFileName, GetLogFileOn, GetLogString, GetLogStringOn, GetLogStringLine, GetLogStringLineCount, SetLogFileOn, SetLogStringOn
*/ */
@ -776,7 +776,7 @@ public:
/** /**
* Sets the log file switch on or off. This switch controls whether or not phreeqc * Sets the log file switch on or off. This switch controls whether or not phreeqc
* writes log messages to the <B><I>phreeqc.id.log</I></B> (where id is obtained from \ref GetId) file. The initial setting is false. * writes log messages to the <B><I>phreeqc.id.log</I></B> (where id is obtained from @ref GetId) file. The initial setting is false.
* @param bValue If true, turns on output to the log file; if false, no log messages are written to the log file. * @param bValue If true, turns on output to the log file; if false, no log messages are written to the log file.
* @remarks * @remarks
* Logging must be enabled through the use of the KNOBS -logfile option in order to receive any log messages. * Logging must be enabled through the use of the KNOBS -logfile option in order to receive any log messages.
@ -793,7 +793,7 @@ public:
void SetLogStringOn(bool bValue); void SetLogStringOn(bool bValue);
/** /**
* Sets the name of the output file. The default value is <B><I>phreeqc.id.out</I></B>, where id is obtained from \ref GetId. * Sets the name of the output file. The default value is <B><I>phreeqc.id.out</I></B>, where id is obtained from @ref GetId.
* @param filename The name of the file to write phreeqc output to. * @param filename The name of the file to write phreeqc output to.
* @see GetOutputFileName, GetOutputFileOn, GetOutputString, GetOutputStringOn, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileOn, SetOutputStringOn * @see GetOutputFileName, GetOutputFileOn, GetOutputString, GetOutputStringOn, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileOn, SetOutputStringOn
*/ */
@ -801,7 +801,7 @@ public:
/** /**
* Sets the output file switch on or off. This switch controls whether or not phreeqc * Sets the output file switch on or off. This switch controls whether or not phreeqc
* writes to the <B><I>phreeqc.id.out</I></B> file (where id is obtained from \ref GetId). This is the output that is normally generated * writes to the <B><I>phreeqc.id.out</I></B> file (where id is obtained from @ref GetId). This is the output that is normally generated
* when phreeqc is run. The initial setting is false. * when phreeqc is run. The initial setting is false.
* @param bValue If true, writes output to the output file; if false, no output is written to the output file. * @param bValue If true, writes output to the output file; if false, no output is written to the output file.
* @see GetOutputFileOn * @see GetOutputFileOn
@ -818,7 +818,7 @@ public:
/** /**
* Sets the name of the selected output file. This file name is used if not specified within <B>SELECTED_OUTPUT</B> input. * Sets the name of the selected output file. This file name is used if not specified within <B>SELECTED_OUTPUT</B> input.
* The default value is <B><I>selected_n.id.out</I></B>, where id is obtained from \ref GetId. * The default value is <B><I>selected_n.id.out</I></B>, where id is obtained from @ref GetId.
* @param filename The name of the file to write <B>SELECTED_OUTPUT</B> output to. * @param filename The name of the file to write <B>SELECTED_OUTPUT</B> output to.
* @see GetSelectedOutputFileName, GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringOn, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, SetSelectedOutputStringOn * @see GetSelectedOutputFileName, GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringOn, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, SetSelectedOutputStringOn
*/ */
@ -826,7 +826,7 @@ public:
/** /**
* Sets the selected-output file switch on or off. This switch controls whether or not phreeqc writes output to * Sets the selected-output file switch on or off. This switch controls whether or not phreeqc writes output to
* the <B>SELECTED_OUTPUT</B> (<B><I>selected_n.id.out</I></B> if unspecified, where id is obtained from \ref GetId) file. * the <B>SELECTED_OUTPUT</B> (<B><I>selected_n.id.out</I></B> if unspecified, where id is obtained from @ref GetId) file.
* The initial setting is false. * The initial setting is false.
* @param bValue If true, writes output to the selected-output file; if false, no output is written to the selected-output file. * @param bValue If true, writes output to the selected-output file; if false, no output is written to the selected-output file.
* @see GetSelectedOutputColumnCount, GetSelectedOutputFileOn, GetSelectedOutputRowCount, GetSelectedOutputValue * @see GetSelectedOutputColumnCount, GetSelectedOutputFileOn, GetSelectedOutputRowCount, GetSelectedOutputValue
@ -873,6 +873,7 @@ protected:
void update_errors(void); void update_errors(void);
bool get_sel_out_file_on(int n)const;
std::string sel_file_name(int n_user); std::string sel_file_name(int n_user);
protected: protected:
@ -884,7 +885,8 @@ protected:
bool DatabaseLoaded; bool DatabaseLoaded;
bool ClearAccumulated; bool ClearAccumulated;
bool UpdateComponents; bool UpdateComponents;
bool SelectedOutputFileOn; std::map< int, bool > SelectedOutputFileOnMap;
bool OutputFileOn; bool OutputFileOn;
bool LogFileOn; bool LogFileOn;

View File

@ -112,7 +112,13 @@ GetCurrentSelectedOutputUserNumber(int id)
IPhreeqc* IPhreeqcPtr = IPhreeqcLib::GetInstance(id); IPhreeqc* IPhreeqcPtr = IPhreeqcLib::GetInstance(id);
if (IPhreeqcPtr) if (IPhreeqcPtr)
{ {
return IPhreeqcPtr->GetCurrentSelectedOutputUserNumber(); int n = IPhreeqcPtr->GetCurrentSelectedOutputUserNumber();
switch (n)
{
case VR_INVALIDARG:
return IPQ_INVALIDARG;
}
return n;
} }
return IPQ_BADINSTANCE; return IPQ_BADINSTANCE;
} }

View File

@ -3440,6 +3440,11 @@ void TestIPhreeqc::TestRunFileMultiPunchOn(void)
IPhreeqc obj; IPhreeqc obj;
CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase("../database/phreeqc.dat")); CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase("../database/phreeqc.dat"));
obj.SetCurrentSelectedOutputUserNumber(1);
obj.SetSelectedOutputFileOn(true);
obj.SetCurrentSelectedOutputUserNumber(2);
obj.SetSelectedOutputFileOn(true);
obj.SetCurrentSelectedOutputUserNumber(3);
obj.SetSelectedOutputFileOn(true); obj.SetSelectedOutputFileOn(true);
CPPUNIT_ASSERT_EQUAL(0, obj.RunFile("multi_punch")); CPPUNIT_ASSERT_EQUAL(0, obj.RunFile("multi_punch"));
@ -3491,8 +3496,16 @@ void TestIPhreeqc::TestRunFileMultiPunchSet(void)
IPhreeqc obj; IPhreeqc obj;
CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase("../database/phreeqc.dat")); CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase("../database/phreeqc.dat"));
obj.SetCurrentSelectedOutputUserNumber(1);
obj.SetSelectedOutputFileOn(true); obj.SetSelectedOutputFileOn(true);
obj.SetCurrentSelectedOutputUserNumber(2);
obj.SetSelectedOutputFileOn(true);
obj.SetCurrentSelectedOutputUserNumber(3);
obj.SetSelectedOutputFileOn(true);
obj.SetSelectedOutputFileName(called.GetName().c_str()); obj.SetSelectedOutputFileName(called.GetName().c_str());
CPPUNIT_ASSERT_EQUAL(0, obj.RunFile("multi_punch")); CPPUNIT_ASSERT_EQUAL(0, obj.RunFile("multi_punch"));
CPPUNIT_ASSERT( called.VerifyMissing() ); CPPUNIT_ASSERT( called.VerifyMissing() );
@ -3519,7 +3532,14 @@ void TestIPhreeqc::TestRunFileMultiPunchNoSet(void)
CPPUNIT_ASSERT( unset3.RemoveExisting() ); CPPUNIT_ASSERT( unset3.RemoveExisting() );
CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase("../database/phreeqc.dat")); CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase("../database/phreeqc.dat"));
obj.SetCurrentSelectedOutputUserNumber(1);
obj.SetSelectedOutputFileOn(true); obj.SetSelectedOutputFileOn(true);
obj.SetCurrentSelectedOutputUserNumber(2);
obj.SetSelectedOutputFileOn(true);
obj.SetCurrentSelectedOutputUserNumber(3);
obj.SetSelectedOutputFileOn(true);
obj.SetSelectedOutputFileName(set.GetName().c_str()); obj.SetSelectedOutputFileName(set.GetName().c_str());
CPPUNIT_ASSERT_EQUAL(0, obj.RunFile("multi_punch_no_set")); CPPUNIT_ASSERT_EQUAL(0, obj.RunFile("multi_punch_no_set"));
@ -3930,7 +3950,7 @@ void TestIPhreeqc::TestMultiPunchCSelectedOutput(void)
CPPUNIT_ASSERT_EQUAL(VR_INVALIDCOL, obj.GetSelectedOutputValue( 0, c, &var)); CPPUNIT_ASSERT_EQUAL(TT_ERROR, var.type); CPPUNIT_ASSERT_EQUAL(VR_INVALIDCOL, var.vresult); CPPUNIT_ASSERT_EQUAL(VR_INVALIDCOL, obj.GetSelectedOutputValue( 0, c, &var)); CPPUNIT_ASSERT_EQUAL(TT_ERROR, var.type); CPPUNIT_ASSERT_EQUAL(VR_INVALIDCOL, var.vresult);
CPPUNIT_ASSERT_EQUAL(VR_INVALIDARG, obj.SetCurrentSelectedOutputUserNumber(-1)); CPPUNIT_ASSERT_EQUAL(VR_INVALIDARG, obj.SetCurrentSelectedOutputUserNumber(-1));
CPPUNIT_ASSERT_EQUAL(VR_INVALIDARG, obj.SetCurrentSelectedOutputUserNumber(0)); CPPUNIT_ASSERT_EQUAL(VR_OK, obj.SetCurrentSelectedOutputUserNumber(0));
} }
void TestIPhreeqc::TestGetSelectedOutputCount(void) void TestIPhreeqc::TestGetSelectedOutputCount(void)
@ -3990,6 +4010,12 @@ void TestIPhreeqc::TestGetCurrentSelectedOutputUserNumber(void)
// edge cases // edge cases
CPPUNIT_ASSERT_EQUAL(VR_INVALIDARG, obj.SetCurrentSelectedOutputUserNumber(-1)); CPPUNIT_ASSERT_EQUAL(VR_INVALIDARG, obj.SetCurrentSelectedOutputUserNumber(-1));
CPPUNIT_ASSERT_EQUAL(3, obj.GetCurrentSelectedOutputUserNumber()); CPPUNIT_ASSERT_EQUAL(3, obj.GetCurrentSelectedOutputUserNumber());
CPPUNIT_ASSERT_EQUAL(VR_INVALIDARG, obj.SetCurrentSelectedOutputUserNumber(0)); CPPUNIT_ASSERT_EQUAL(VR_OK, obj.SetCurrentSelectedOutputUserNumber(0));
CPPUNIT_ASSERT_EQUAL(3, obj.GetCurrentSelectedOutputUserNumber()); CPPUNIT_ASSERT_EQUAL(0, obj.GetCurrentSelectedOutputUserNumber());
// unload database
CPPUNIT_ASSERT_EQUAL(0, obj.LoadDatabase("../database/phreeqc.dat"));
CPPUNIT_ASSERT_EQUAL(1, obj.GetCurrentSelectedOutputUserNumber());
CPPUNIT_ASSERT_EQUAL(0, obj.GetSelectedOutputCount());
} }

View File

@ -4287,7 +4287,8 @@ void TestIPhreeqcLib::TestMultiPunchCSelectedOutput(void)
CPPUNIT_ASSERT_EQUAL(IPQ_INVALIDCOL, ::GetSelectedOutputValue(id, 0, c, &var)); CPPUNIT_ASSERT_EQUAL(TT_ERROR, var.type); CPPUNIT_ASSERT_EQUAL(VR_INVALIDCOL, var.vresult); CPPUNIT_ASSERT_EQUAL(IPQ_INVALIDCOL, ::GetSelectedOutputValue(id, 0, c, &var)); CPPUNIT_ASSERT_EQUAL(TT_ERROR, var.type); CPPUNIT_ASSERT_EQUAL(VR_INVALIDCOL, var.vresult);
CPPUNIT_ASSERT_EQUAL(IPQ_INVALIDARG, ::SetCurrentSelectedOutputUserNumber(id, -1)); CPPUNIT_ASSERT_EQUAL(IPQ_INVALIDARG, ::SetCurrentSelectedOutputUserNumber(id, -1));
CPPUNIT_ASSERT_EQUAL(IPQ_INVALIDARG, ::SetCurrentSelectedOutputUserNumber(id, 0)); CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::SetCurrentSelectedOutputUserNumber(id, 0));
CPPUNIT_ASSERT_EQUAL(0, ::GetCurrentSelectedOutputUserNumber(id));
} }
void TestIPhreeqcLib::TestGetSelectedOutputCount(void) void TestIPhreeqcLib::TestGetSelectedOutputCount(void)
@ -4348,6 +4349,10 @@ void TestIPhreeqcLib::TestGetCurrentSelectedOutputUserNumber(void)
// edge cases // edge cases
CPPUNIT_ASSERT_EQUAL(IPQ_INVALIDARG, ::SetCurrentSelectedOutputUserNumber(id, -1)); CPPUNIT_ASSERT_EQUAL(IPQ_INVALIDARG, ::SetCurrentSelectedOutputUserNumber(id, -1));
CPPUNIT_ASSERT_EQUAL(3, ::GetCurrentSelectedOutputUserNumber(id)); CPPUNIT_ASSERT_EQUAL(3, ::GetCurrentSelectedOutputUserNumber(id));
CPPUNIT_ASSERT_EQUAL(IPQ_INVALIDARG, ::SetCurrentSelectedOutputUserNumber(id, 0)); CPPUNIT_ASSERT_EQUAL(IPQ_OK, ::SetCurrentSelectedOutputUserNumber(id, 0));
CPPUNIT_ASSERT_EQUAL(3, ::GetCurrentSelectedOutputUserNumber(id)); CPPUNIT_ASSERT_EQUAL(0, ::GetCurrentSelectedOutputUserNumber(id));
// unload database
CPPUNIT_ASSERT_EQUAL(0, ::LoadDatabase(id, "../database/phreeqc.dat"));
CPPUNIT_ASSERT_EQUAL(1, ::GetCurrentSelectedOutputUserNumber(id));
} }