blob: 3d381d545ef73e10819aa5e449e3be51aaa63f5b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
// Copyright 2010 Google Inc. All Rights Reserved.
#ifndef ART_SRC_FILE_LINUX_H_
#define ART_SRC_FILE_LINUX_H_
#include "file.h"
namespace art {
class LinuxFile : public File {
public:
LinuxFile(const char* name, int fd, bool auto_close) :
File(name), fd_(fd), auto_close_(auto_close) {}
virtual ~LinuxFile();
virtual void Close();
virtual bool IsClosed();
virtual int64_t Read(void* buffer, int64_t num_bytes);
virtual int64_t Write(const void* buffer, int64_t num_bytes);
virtual off_t Length();
virtual off_t Position();
virtual int Fd() {
return fd_;
}
private:
static const int kClosedFd = -1;
int fd_;
bool auto_close_;
};
} // namespace art
#endif // ART_SRC_FILE_LINUX_H_
|