ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/GoogleTron/Command.hpp
Revision: 713
Committed: 2006-03-27T00:50:21-08:00 (19 years, 3 months ago) by douglas
File size: 1078 byte(s)
Log Message:
Stuff and things...

File Contents

# Content
1 // Command
2 //
3 // Douglas Thrift
4 //
5 // $Id$
6
7 #ifndef _Command_hpp_
8 #define _Command_hpp_
9
10 #include <cxx/platform.hpp>
11
12 #ifdef MENES_PRAGMA_ONCE
13 #pragma once
14 #endif
15
16 #include <api/locks.hpp>
17 #include <api/path.hpp>
18 #include <ext/queues.hpp>
19
20 #include "Subversion/Client.hpp"
21 #include "Url.hpp"
22
23 struct Command : public ext::ReferenceCounted {
24 const api::Path root;
25 const cse::String path;
26 protected:
27 #ifdef __FreeBSD__
28 Command(const cse::String &root) : root(api::Path(root).GetRealPath()), path(root) {}
29 #else
30 Command(const cse::String &root) : root((root.IsEmpty() ? api::Path(_B(".")) : api::Path(root)).GetRealPath()), path(root) {}
31 #endif
32 };
33
34 class CommandRunner
35 {
36 protected:
37 const cse::String &sitemap;
38 ext::Queue<Url> &queue;
39 api::ThreadMutex &queueLock;
40 Subversion::Client client;
41 CommandRunner(const cse::String &sitemap, ext::Queue<Url> &queue, api::ThreadMutex &queueLock) : sitemap(sitemap), queue(queue), queueLock(queueLock) {}
42 template <typename Type>
43 Type GetProperties(const cse::String &property, const cse::String &target);
44 };
45
46 #endif//_Command_hpp_

Properties

Name Value
svn:eol-style native
svn:keywords Id