1b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)/* Copyright (c) 2013 The Chromium Authors. All rights reserved.
2b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) * Use of this source code is governed by a BSD-style license that can be
3b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) * found in the LICENSE file.
4b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) */
5b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
6b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)/* From private/ppb_ext_crx_file_system_private.idl,
7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) *   modified Fri Nov  1 12:23:59 2013.
8b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) */
9b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
10b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#ifndef PPAPI_C_PRIVATE_PPB_EXT_CRX_FILE_SYSTEM_PRIVATE_H_
11b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define PPAPI_C_PRIVATE_PPB_EXT_CRX_FILE_SYSTEM_PRIVATE_H_
12b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
13b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ppapi/c/pp_completion_callback.h"
14b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ppapi/c/pp_instance.h"
15b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ppapi/c/pp_macros.h"
16b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ppapi/c/pp_resource.h"
17b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ppapi/c/pp_stdint.h"
18b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
19b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define PPB_EXT_CRXFILESYSTEM_PRIVATE_INTERFACE_0_1 \
20b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)    "PPB_Ext_CrxFileSystem_Private;0.1"
21b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#define PPB_EXT_CRXFILESYSTEM_PRIVATE_INTERFACE \
22b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)    PPB_EXT_CRXFILESYSTEM_PRIVATE_INTERFACE_0_1
23b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
24b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)/**
25b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) * @file
26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) * This file contains the <code>PPB_Ext_CrxFileSystem_Private</code> interface.
27b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) */
28b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
29b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
30b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)/**
31b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) * @addtogroup Interfaces
32b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) * @{
33b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) */
34b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)/* <code>PPB_Ext_CrxFileSystem_Private</code> interface */
35b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)struct PPB_Ext_CrxFileSystem_Private_0_1 {
36b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  /**
37b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * Open() opens the CRX file system for the current extension.  It will fail
38b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * when called from non-extension context.
39b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   *
40b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * @param[in] crxfs A <code>PP_Resource</code> corresponding to a
41b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * CrxFileSystem.
42b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * @param[out] file_system An output <code>PP_Resource</code> corresponding
43b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * to a PPB_FileSystem.
44b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * @param[in] callback A <code>PP_CompletionCallback</code> to be called upon
45b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * completion of Open.
46b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   *
47b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   * @return An int32_t containing an error code from <code>pp_errors.h</code>.
48b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)   */
49b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)  int32_t (*Open)(PP_Instance instance,
50b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)                  PP_Resource* file_system,
51b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)                  struct PP_CompletionCallback callback);
52b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)};
53b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
54b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)typedef struct PPB_Ext_CrxFileSystem_Private_0_1 PPB_Ext_CrxFileSystem_Private;
55b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)/**
56b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) * @}
57b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) */
58b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
59b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#endif  /* PPAPI_C_PRIVATE_PPB_EXT_CRX_FILE_SYSTEM_PRIVATE_H_ */
60b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)
61