Shinya Kitaoka 810553
#pragma once
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#ifndef APPLICATION_H
Toshihiro Shimizu 890ddd
#define APPLICATION_H
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
// forward declarations
Toshihiro Shimizu 890ddd
class TFarmController;
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#include "tfilepath.h"
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class RenderFarmTasksObserver {
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  virtual void onChange() = 0;
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
//------------------------------------------------------------------------------
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
class Application {  // singleton
Toshihiro Shimizu 890ddd
public:
Shinya Kitaoka 120a6e
  ~Application();
Shinya Kitaoka 120a6e
  static Application *instance();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void init();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  TFarmController *getController();
Shinya Kitaoka 120a6e
  bool testControllerConnection() const;
Shinya Kitaoka 120a6e
  void getControllerData(string &hostName, string &ipAddr, int &port) const;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  void setCurrentFolder(const TFilePath &fp);
Shinya Kitaoka 120a6e
  TFilePath getCurrentFolder();
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
private:
Shinya Kitaoka 120a6e
  class Imp;
Shinya Kitaoka 120a6e
  Imp *m_imp;
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  Application();
Toshihiro Shimizu 890ddd
Shinya Kitaoka 120a6e
  // not implemented
Shinya Kitaoka 120a6e
  Application(const Application &);
Shinya Kitaoka 120a6e
  Application &operator=(const Application &);
Toshihiro Shimizu 890ddd
};
Toshihiro Shimizu 890ddd
Toshihiro Shimizu 890ddd
#endif