• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2022 Marshall A. Greenblatt. All rights reserved.
2 //
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions are
5 // met:
6 //
7 //    * Redistributions of source code must retain the above copyright
8 // notice, this list of conditions and the following disclaimer.
9 //    * Redistributions in binary form must reproduce the above
10 // copyright notice, this list of conditions and the following disclaimer
11 // in the documentation and/or other materials provided with the
12 // distribution.
13 //    * Neither the name of Google Inc. nor the name Chromium Embedded
14 // Framework nor the names of its contributors may be used to endorse
15 // or promote products derived from this software without specific prior
16 // written permission.
17 //
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // ---------------------------------------------------------------------------
31 //
32 // This file was generated by the CEF translator tool and should not edited
33 // by hand. See the translator.README.txt file in the tools directory for
34 // more information.
35 //
36 // $hash=e76fa23e9682bf0865319d93e4009752ac8f854f$
37 //
38 
39 #ifndef CEF_INCLUDE_CAPI_CEF_FILE_UTIL_CAPI_H_
40 #define CEF_INCLUDE_CAPI_CEF_FILE_UTIL_CAPI_H_
41 #pragma once
42 
43 #include "include/capi/cef_base_capi.h"
44 
45 #ifdef __cplusplus
46 extern "C" {
47 #endif
48 
49 ///
50 // Creates a directory and all parent directories if they don't already exist.
51 // Returns true (1) on successful creation or if the directory already exists.
52 // The directory is only readable by the current user. Calling this function on
53 // the browser process UI or IO threads is not allowed.
54 ///
55 CEF_EXPORT int cef_create_directory(const cef_string_t* full_path);
56 
57 ///
58 // Get the temporary directory provided by the system.
59 //
60 // WARNING: In general, you should use the temp directory variants below instead
61 // of this function. Those variants will ensure that the proper permissions are
62 // set so that other users on the system can't edit them while they're open
63 // (which could lead to security issues).
64 ///
65 CEF_EXPORT int cef_get_temp_directory(cef_string_t* temp_dir);
66 
67 ///
68 // Creates a new directory. On Windows if |prefix| is provided the new directory
69 // name is in the format of "prefixyyyy". Returns true (1) on success and sets
70 // |new_temp_path| to the full path of the directory that was created. The
71 // directory is only readable by the current user. Calling this function on the
72 // browser process UI or IO threads is not allowed.
73 ///
74 CEF_EXPORT int cef_create_new_temp_directory(const cef_string_t* prefix,
75                                              cef_string_t* new_temp_path);
76 
77 ///
78 // Creates a directory within another directory. Extra characters will be
79 // appended to |prefix| to ensure that the new directory does not have the same
80 // name as an existing directory. Returns true (1) on success and sets |new_dir|
81 // to the full path of the directory that was created. The directory is only
82 // readable by the current user. Calling this function on the browser process UI
83 // or IO threads is not allowed.
84 ///
85 CEF_EXPORT int cef_create_temp_directory_in_directory(
86     const cef_string_t* base_dir,
87     const cef_string_t* prefix,
88     cef_string_t* new_dir);
89 
90 ///
91 // Returns true (1) if the given path exists and is a directory. Calling this
92 // function on the browser process UI or IO threads is not allowed.
93 ///
94 CEF_EXPORT int cef_directory_exists(const cef_string_t* path);
95 
96 ///
97 // Deletes the given path whether it's a file or a directory. If |path| is a
98 // directory all contents will be deleted.  If |recursive| is true (1) any sub-
99 // directories and their contents will also be deleted (equivalent to executing
100 // "rm -rf", so use with caution). On POSIX environments if |path| is a symbolic
101 // link then only the symlink will be deleted. Returns true (1) on successful
102 // deletion or if |path| does not exist. Calling this function on the browser
103 // process UI or IO threads is not allowed.
104 ///
105 CEF_EXPORT int cef_delete_file(const cef_string_t* path, int recursive);
106 
107 ///
108 // Writes the contents of |src_dir| into a zip archive at |dest_file|. If
109 // |include_hidden_files| is true (1) files starting with "." will be included.
110 // Returns true (1) on success.  Calling this function on the browser process UI
111 // or IO threads is not allowed.
112 ///
113 CEF_EXPORT int cef_zip_directory(const cef_string_t* src_dir,
114                                  const cef_string_t* dest_file,
115                                  int include_hidden_files);
116 
117 ///
118 // Loads the existing "Certificate Revocation Lists" file that is managed by
119 // Google Chrome. This file can generally be found in Chrome's User Data
120 // directory (e.g. "C:\Users\[User]\AppData\Local\Google\Chrome\User Data\" on
121 // Windows) and is updated periodically by Chrome's component updater service.
122 // Must be called in the browser process after the context has been initialized.
123 // See https://dev.chromium.org/Home/chromium-security/crlsets for background.
124 ///
125 CEF_EXPORT void cef_load_crlsets_file(const cef_string_t* path);
126 
127 #ifdef __cplusplus
128 }
129 #endif
130 
131 #endif  // CEF_INCLUDE_CAPI_CEF_FILE_UTIL_CAPI_H_
132