/* * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #ifndef RTC_BASE_SYSTEM_FILE_WRAPPER_H_ #define RTC_BASE_SYSTEM_FILE_WRAPPER_H_ #include <stddef.h> #include <stdint.h> #include <stdio.h> #include <string> #include "absl/strings/string_view.h" #include "absl/types/optional.h" // Implementation that can read (exclusive) or write from/to a file. namespace webrtc { // This class is a thin wrapper around FILE*. It's main features are that it // owns the FILE*, calling fclose on destruction, and that on windows, file // names passed to the open methods are always treated as utf-8, regardless of // system code page. // Most of the methods return only a success/fail indication. When needed, an // optional argument |int* error| should be added to all methods, in the same // way as for the OpenWriteOnly methods. class FileWrapper final { … }; } // namespace webrtc #endif // RTC_BASE_SYSTEM_FILE_WRAPPER_H_