17 #ifndef NET_INSTAWEB_APACHE_APR_FILE_SYSTEM_H_
18 #define NET_INSTAWEB_APACHE_APR_FILE_SYSTEM_H_
22 #include "pagespeed/kernel/base/basictypes.h"
23 #include "pagespeed/kernel/base/file_system.h"
24 #include "pagespeed/kernel/base/scoped_ptr.h"
25 #include "pagespeed/kernel/base/string_util.h"
30 namespace net_instaweb {
37 void AprReportError(MessageHandler* message_handler,
const char* filename,
38 int line,
const char* message,
int error_code);
45 virtual int MaxPathLength(
const StringPiece& base)
const;
46 virtual InputFile* OpenInputFile(
47 const char* file, MessageHandler* message_handler);
48 virtual OutputFile* OpenOutputFileHelper(
49 const char* file,
bool append, MessageHandler* message_handler);
52 MessageHandler* message_handler);
54 virtual bool ListContents(
const StringPiece& dir, StringVector* files,
55 MessageHandler* handler);
58 virtual bool MakeDir(
const char* directory_path, MessageHandler* handler);
59 virtual bool RemoveDir(
const char* directory_path,
60 MessageHandler* message_handler);
61 virtual bool RemoveFile(
const char* filename,
62 MessageHandler* message_handler);
63 virtual bool RenameFileHelper(
const char* old_filename,
64 const char* new_filename,
65 MessageHandler* message_handler);
67 virtual bool Atime(
const StringPiece& path,
68 int64* timestamp_sec, MessageHandler* handler);
69 virtual bool Mtime(
const StringPiece& path,
70 int64* timestamp_sec, MessageHandler* handler);
74 virtual bool Size(
const StringPiece& path, int64* size,
75 MessageHandler* handler);
76 virtual BoolOrError Exists(
const char* path, MessageHandler* handler);
77 virtual BoolOrError IsDir(
const char* path, MessageHandler* handler);
79 virtual BoolOrError TryLock(
const StringPiece& lock_name,
80 MessageHandler* handler);
81 virtual BoolOrError TryLockWithTimeout(
const StringPiece& lock_name,
84 MessageHandler* handler);
85 virtual bool Unlock(
const StringPiece& lock_name, MessageHandler* handler);
89 bool Stat(
const StringPiece& path,
90 apr_finfo_t* file_info, apr_int32_t field_wanted,
91 MessageHandler* handler);
98 scoped_ptr<AbstractMutex> mutex_;
virtual bool MakeDir(const char *directory_path, MessageHandler *handler)
virtual OutputFile * OpenTempFileHelper(const StringPiece &prefix_name, MessageHandler *message_handler)
See FileSystem interface for specifics of OpenTempFile.
virtual bool Size(const StringPiece &path, int64 *size, MessageHandler *handler)
Definition: apr_file_system.h:40