Log In | Get Help   
Home My Page Projects Code Snippets Project Openings Mareframe
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files
[mareframe] View of /trunk/gadget/printinfo.cc
[mareframe] / trunk / gadget / printinfo.cc Repository:
ViewVC logotype

View of /trunk/gadget/printinfo.cc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (download) (annotate)
Mon Feb 10 17:09:07 2014 UTC (10 years, 3 months ago) by agomez
File size: 2021 byte(s)
Initial version based on Gadget 2.2.00
#include "printinfo.h"
#include "errorhandler.h"
#include "gadget.h"
#include "global.h"

PrintInfo::PrintInfo() : printiter(0), printoutput(0), givenPrecision(0) {

  strOutputFile = NULL;
  strParamOutFile = NULL;

  char tmpname[12];
  strncpy(tmpname, "", 12);
  strcpy(tmpname, "params.out");
  setParamOutFile(tmpname);
}

PrintInfo::PrintInfo(const PrintInfo& pi) {

  strParamOutFile = NULL;
  setParamOutFile(pi.strParamOutFile);

  strOutputFile = NULL;
  if (pi.strOutputFile != NULL)
    setOutputFile(pi.strOutputFile);

  printoutput = pi.printoutput;
  givenPrecision = pi.givenPrecision;
  printiter = pi.printiter;
}

PrintInfo::~PrintInfo() {
  if (strOutputFile != NULL) {
    delete[] strOutputFile;
    strOutputFile = NULL;
  }
  if (strParamOutFile != NULL) {
    delete[] strParamOutFile;
    strParamOutFile = NULL;
  }
}

void PrintInfo::setOutputFile(char* filename) {
  if (strOutputFile != NULL) {
    delete[] strOutputFile;
    strOutputFile = NULL;
  }
  if (filename != NULL) {
    strOutputFile = new char[strlen(filename) + 1];
    strcpy(strOutputFile, filename);
    printoutput = 1;
  } else {
    strOutputFile = NULL;
  }
}

void PrintInfo::setParamOutFile(char* filename) {
  if (strParamOutFile != NULL) {
    delete[] strParamOutFile;
    strParamOutFile = NULL;
  }
  if (filename != NULL) {
    strParamOutFile = new char[strlen(filename) + 1];
    strcpy(strParamOutFile, filename);
  } else {
    strParamOutFile = NULL;
  }
}

void PrintInfo::checkPrintInfo(int network) {
  if (printiter < 1)
    printiter = 1;
  if (givenPrecision < 0)
    givenPrecision = 0;

  //JMB check to see if we can actually open required files ...
  ofstream tmpfile;
  if (!network) {
    tmpfile.open(strParamOutFile, ios::out);
    handle.checkIfFailure(tmpfile, strParamOutFile);
    tmpfile.close();
    tmpfile.clear();
  }
  if (printoutput) {
    tmpfile.open(strOutputFile, ios::out);
    handle.checkIfFailure(tmpfile, strOutputFile);
    tmpfile.close();
    tmpfile.clear();
  }
}

root@forge.cesga.es
ViewVC Help
Powered by ViewVC 1.0.0  

Powered By FusionForge