00001 #ifndef TASKREMOVER_H 00002 #define TASKREMOVER_H 00003 00004 #include "controllerinterface.h" 00005 00006 namespace domain 00007 { 00008 class Task; 00009 } 00010 00011 namespace control 00012 { 00013 00014 namespace data 00015 { 00016 struct TaskDetails; 00017 } 00018 00019 00020 class TaskModifier : public ControllerInterface 00021 { 00022 Q_OBJECT 00023 Q_INTERFACES(control::ControllerInterface) 00024 00025 public: 00026 00027 ActionType actionType() const; 00028 DataType dataType() const; 00029 QString description() const; 00030 QString name() const; 00031 00032 private: 00033 00034 void execute(); 00035 void execute(const domain::StorableData* data); 00036 bool userIsValid() const; 00037 }; 00038 00039 } 00040 00041 #endif