#ifndef SHUTDOWN_HPP
#define SHUTDOWN_HPP

#include "module.hpp"

#include <string>

class Shutdown : public Module
{
private:
  // Constructor adds itself to the updater loop
  Shutdown();
  
  int check_status();
  void print_status();
  
  Overlay overlay;
   
  bool general_exit;
  bool disabled;
  int count;
  
  
public:
  // singleton
  static Shutdown& get_instance();

  std::string mainloop();
  
  bool get_status();
  bool is_enabled();
  
  void cancel();
  
  void disable();
  void enable();
};

#endif
