- Modified command object design.
This commit is contained in:
Paul Beckingham 2011-04-24 12:41:38 -04:00
parent a7c3858729
commit 638fcd8ca0
4 changed files with 26 additions and 4 deletions

View file

@ -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
{

View file

@ -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:
};

View file

@ -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";

View file

@ -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&);