15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef PPAPI_SHARED_IMPL_FILE_TYPE_CONVERSION_H_
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define PPAPI_SHARED_IMPL_FILE_TYPE_CONVERSION_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/files/file.h"
9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "ppapi/c/pp_file_info.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_stdint.h"
11868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "ppapi/c/ppb_file_system.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/shared_impl/ppapi_shared_export.h"
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ppapi {
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)PPAPI_SHARED_EXPORT int FileErrorToPepperError(base::File::Error error_code);
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Converts a PP_FileOpenFlags_Dev flag combination into a corresponding
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// PlatformFileFlags flag combination.
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Returns |true| if okay.
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PPAPI_SHARED_EXPORT bool PepperFileOpenFlagsToPlatformFileFlags(
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int32_t pp_open_flags,
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    int* flags_out);
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)PPAPI_SHARED_EXPORT void FileInfoToPepperFileInfo(const base::File::Info& info,
26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                  PP_FileSystemType fs_type,
27a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                                                  PP_FileInfo* info_out);
28868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace ppapi
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // PPAPI_SHARED_IMPL_FILE_TYPE_CONVERSION_H_
32