#ifndef _ADDON_UNINSTALLER_H_
#define _ADDON_UNINSTALLER_H_


#include "addon_proc.h"


class Addon_uninstaller : public Addon_proc
{
public:
  Addon_uninstaller();
  virtual ~Addon_uninstaller();

  PROPERTY(Addon_repo *, installed_addons)
  PROPERTY(std::string, guid)

private:
  virtual void do_ensure_valid_state(std::string &err);
  virtual void do_execute();
  void uninstall(const std::string &guid);

  Addon_repo *_installed_addons;
  std::string _guid;
};


#endif // _ADDON_UNINSTALLER_H_
