mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-07-07 20:06:36 +02:00
Commands
- Modified command object design.
This commit is contained in:
parent
a7c3858729
commit
638fcd8ca0
4 changed files with 26 additions and 4 deletions
|
@ -68,6 +68,12 @@ Command& Command::operator= (const Command& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
bool Command::read_only () const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
bool Command::operator== (const Command& other) const
|
||||
{
|
||||
|
|
|
@ -36,12 +36,13 @@ public:
|
|||
Command (const Command&);
|
||||
Command& operator= (const Command&);
|
||||
bool operator== (const Command&) const; // TODO Is this necessary?
|
||||
~Command ();
|
||||
virtual ~Command ();
|
||||
|
||||
static Command* factory (const std::string&);
|
||||
|
||||
bool implements (const std::string&) const;
|
||||
std::string execute (const std::string&);
|
||||
virtual bool read_only () const;
|
||||
virtual bool implements (const std::string&) const = 0;
|
||||
virtual std::string execute (const std::string&) = 0;
|
||||
|
||||
private:
|
||||
};
|
||||
|
|
|
@ -33,6 +33,9 @@ extern Context context;
|
|||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
Install::Install ()
|
||||
/*
|
||||
: _name ("")
|
||||
*/
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -77,12 +80,23 @@ Install::~Install ()
|
|||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
bool Install::implements (const std::string&) const
|
||||
bool Install::read_only () const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
bool Install::implements (const std::string& command_line) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Algorithm:
|
||||
// Copy file rc.data.location/extensions
|
||||
// Generate UUID
|
||||
// Call the "install" function once, store results in rc:
|
||||
// extension.<uuid>=<JSON>
|
||||
std::string Install::execute (const std::string&)
|
||||
{
|
||||
return "output";
|
||||
|
|
|
@ -39,6 +39,7 @@ public:
|
|||
bool operator== (const Install&) const; // TODO Is this necessary?
|
||||
~Install ();
|
||||
|
||||
bool read_only () const;
|
||||
bool implements (const std::string&) const;
|
||||
std::string execute (const std::string&);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue