Shinya Kitaoka 810553
#pragma once
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef TASKS_H
Toshihiro Shimizu 890ddd
#define TASKS_H
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifdef WIN32
Toshihiro Shimizu 890ddd
#pragma warning(disable : 4786)
Toshihiro Shimizu 890ddd
#pragma warning(disable : 4146)
Toshihiro Shimizu 890ddd
#endif
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include <string></string>
Toshihiro Shimizu 890ddd
#include <map></map>
Toshihiro Shimizu 890ddd
using namespace std;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class SubmitPageTask {
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  virtual ~SubmitPageTask() {}
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  virtual void setFileArg(const string &fp)          = 0;
Shinya Kitaoka 120a6e
  virtual string getCommandLine() const              = 0;
Shinya Kitaoka 120a6e
  virtual void setCommandLine(const string &cmdLine) = 0;
Shinya Kitaoka 120a6e
  virtual void setDefaultValue()                     = 0;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  virtual string getFilePath();
Shinya Kitaoka 120a6e
  virtual void setFilePath(const string &filePath);
Shinya Kitaoka 120a6e
  virtual string getName();
Shinya Kitaoka 120a6e
  virtual void setName(const string &name);
Shinya Kitaoka 120a6e
  virtual map<string, string=""> getDependencies();</string,>
Shinya Kitaoka 120a6e
  virtual void setDependencies(const map<string, string=""> &tasks);</string,>
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  virtual void checkNameUnc();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  static SubmitPageTask *create(const string &type);
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
protected:
Shinya Kitaoka 120a6e
  string m_filePath;
Shinya Kitaoka 120a6e
  string m_name;
Shinya Kitaoka 120a6e
  map<string, string=""> m_depTasks;</string,>
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class CasmTask2 : public SubmitPageTask {
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  CasmTask2();
Shinya Kitaoka 120a6e
  CasmTask2(const string &s, const string &setupFilePath);
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  void setFileArg(const string &fp);
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  string getCommandLine() const;
Shinya Kitaoka 120a6e
  void setCommandLine(const string &cmdLine);
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  void checkNameUnc();
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  void setDefaultValue();
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  enum moveType { M_NONE = 0, M_BG_FRACMOVE, M_INTMOVE, M_FRACMOVE };
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  enum resType {
Shinya Kitaoka 120a6e
    RES_TYPE_NONE = 0,
Shinya Kitaoka 120a6e
    RES_TYPE_STANDARD,
Shinya Kitaoka 120a6e
    RES_TYPE_IMPROVED,
Shinya Kitaoka 120a6e
    RES_TYPE_HIGH
Shinya Kitaoka 120a6e
  };
Shinya Kitaoka 120a6e
Shinya Kitaoka 120a6e
  int m_taskChunksize;
Shinya Kitaoka 120a6e
  int m_start;
Shinya Kitaoka 120a6e
  int m_end;
Shinya Kitaoka 120a6e
  int m_step;
Shinya Kitaoka 120a6e
  string m_outname;
Shinya Kitaoka 120a6e
  int m_firstFrame;
Shinya Kitaoka 120a6e
  int m_lastFrame;
Shinya Kitaoka 120a6e
  int m_reduction;
Shinya Kitaoka 120a6e
  moveType m_moveType;
Shinya Kitaoka 120a6e
  int m_prec;
Shinya Kitaoka 120a6e
  double m_renderTile;
Shinya Kitaoka 120a6e
  double m_memChunk;
Shinya Kitaoka 120a6e
  bool m_multimedia;
Shinya Kitaoka 120a6e
  bool m_logfile;
Shinya Kitaoka 120a6e
  bool m_cf;
Shinya Kitaoka 120a6e
  resType m_restype;
Shinya Kitaoka 120a6e
  bool m_noOverwrite;
Shinya Kitaoka 120a6e
  bool m_clap;
Shinya Kitaoka 120a6e
  bool m_mprocess;
Shinya Kitaoka 120a6e
  int m_numColumn;
Shinya Kitaoka 120a6e
  int m_lineart;
Shinya Kitaoka 120a6e
  int m_edgeAliasing;
Shinya Kitaoka 120a6e
  double m_gamma;
Shinya Kitaoka 120a6e
  string m_bcScript;
Shinya Kitaoka 120a6e
  string m_acScript;
Shinya Kitaoka 120a6e
  string m_outputScript;
Shinya Kitaoka 120a6e
  string m_outputScriptArgument;
Shinya Kitaoka 120a6e
  string m_setupFile;
Shinya Kitaoka 120a6e
  int xsize, ysize;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class ScriptTask : public SubmitPageTask {
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  ScriptTask();
Shinya Kitaoka 120a6e
  ScriptTask(const string &s, const string &setupFilePath);
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void setFileArg(const string &fp);
Shinya Kitaoka 120a6e
  string getCommandLine() const;
Shinya Kitaoka 120a6e
  void setCommandLine(const string &cmdLine);
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void checkNameUnc();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void setDefaultValue();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  string m_setupFile;
Shinya Kitaoka 120a6e
  string m_arg1;
Shinya Kitaoka 120a6e
  string m_arg2;
Shinya Kitaoka 120a6e
  string m_arg3;
Shinya Kitaoka 120a6e
  string m_arg4;
Shinya Kitaoka 120a6e
  string m_arg5;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif