// Command // // Douglas Thrift // // $Id$ #ifndef _Command_hpp_ #define _Command_hpp_ #include #ifdef MENES_PRAGMA_ONCE #pragma once #endif #include #include #include #include "Subversion/Client.hpp" #include "Url.hpp" struct Command : public ext::ReferenceCounted { const api::Path root; operator cse::String() const { return root.GetPath(); } protected: Command(const cse::String &root) : root(api::Path(root).GetRealPath()) {} }; class CommandRunner { protected: const cse::String &sitemap, &base; ext::Queue &queue; api::ThreadMutex &queueLock; Subversion::Client client; CommandRunner(const cse::String &sitemap, const cse::String &base, ext::Queue &queue, api::ThreadMutex &queueLock) : sitemap(sitemap), base(base), queue(queue), queueLock(queueLock) {} }; #endif//_Command_hpp_