| Index: webrtc/base/platform_file.cc
|
| diff --git a/webrtc/base/platform_file.cc b/webrtc/base/platform_file.cc
|
| index d518b74a659232150aae102f4bd35bc036fad330..a41324fcf9cc0a768ade872c06791e66f1f4e281 100644
|
| --- a/webrtc/base/platform_file.cc
|
| +++ b/webrtc/base/platform_file.cc
|
| @@ -13,6 +13,9 @@
|
| #if defined(WEBRTC_WIN)
|
| #include <io.h>
|
| #else
|
| +#include <fcntl.h>
|
| +#include <sys/stat.h>
|
| +#include <sys/types.h>
|
| #include <unistd.h>
|
| #endif
|
|
|
| @@ -34,7 +37,23 @@ FILE* FdopenPlatformFileForWriting(PlatformFile file) {
|
| bool ClosePlatformFile(PlatformFile file) {
|
| return CloseHandle(file) != 0;
|
| }
|
| -#else
|
| +
|
| +bool RemoveFile(const std::string& path) {
|
| + return ::DeleteFile(ToUtf16(path).c_str()) != 0;
|
| +}
|
| +
|
| +PlatformFile OpenPlatformFile(const std::string& path) {
|
| + return ::CreateFile(ToUtf16(path).c_str(), GENERIC_READ | GENERIC_WRITE, 0,
|
| + nullptr, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, nullptr);
|
| +}
|
| +
|
| +PlatformFile CreatePlatformFile(const std::string& path) {
|
| + return ::CreateFile(ToUtf16(path).c_str(), GENERIC_READ | GENERIC_WRITE, 0,
|
| + nullptr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr);
|
| +}
|
| +
|
| +#else // defined(WEBRTC_WIN)
|
| +
|
| const PlatformFile kInvalidPlatformFileValue = -1;
|
|
|
| FILE* FdopenPlatformFileForWriting(PlatformFile file) {
|
| @@ -44,6 +63,19 @@ FILE* FdopenPlatformFileForWriting(PlatformFile file) {
|
| bool ClosePlatformFile(PlatformFile file) {
|
| return close(file);
|
| }
|
| +
|
| +bool RemoveFile(const std::string& path) {
|
| + return ::unlink(path.c_str()) == 0;
|
| +}
|
| +
|
| +PlatformFile OpenPlatformFile(const std::string& path) {
|
| + return ::open(path.c_str(), O_RDWR);
|
| +}
|
| +
|
| +PlatformFile CreatePlatformFile(const std::string& path) {
|
| + return ::open(path.c_str(), O_CREAT | O_TRUNC | O_RDWR, S_IRUSR | S_IWUSR);
|
| +}
|
| +
|
| #endif
|
|
|
| } // namespace rtc
|
|
|