]> git.sesse.net Git - casparcg/blob - dependencies64/cef/include/capi/cef_parser_capi.h
* Merged html producer and updated to latest CEF version (does not have satisfactory...
[casparcg] / dependencies64 / cef / include / capi / cef_parser_capi.h
1 // Copyright (c) 2015 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
37 #ifndef CEF_INCLUDE_CAPI_CEF_PARSER_CAPI_H_
38 #define CEF_INCLUDE_CAPI_CEF_PARSER_CAPI_H_
39 #pragma once
40
41 #include "include/capi/cef_base_capi.h"
42
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46
47
48 ///
49 // Parse the specified |url| into its component parts. Returns false (0) if the
50 // URL is NULL or invalid.
51 ///
52 CEF_EXPORT int cef_parse_url(const cef_string_t* url,
53     struct _cef_urlparts_t* parts);
54
55 ///
56 // Creates a URL from the specified |parts|, which must contain a non-NULL spec
57 // or a non-NULL host and path (at a minimum), but not both. Returns false (0)
58 // if |parts| isn't initialized as described.
59 ///
60 CEF_EXPORT int cef_create_url(const struct _cef_urlparts_t* parts,
61     cef_string_t* url);
62
63 ///
64 // Returns the mime type for the specified file extension or an NULL string if
65 // unknown.
66 ///
67 // The resulting string must be freed by calling cef_string_userfree_free().
68 CEF_EXPORT cef_string_userfree_t cef_get_mime_type(
69     const cef_string_t* extension);
70
71 // Get the extensions associated with the given mime type. This should be passed
72 // in lower case. There could be multiple extensions for a given mime type, like
73 // "html,htm" for "text/html", or "txt,text,html,..." for "text/*". Any existing
74 // elements in the provided vector will not be erased.
75 CEF_EXPORT void cef_get_extensions_for_mime_type(const cef_string_t* mime_type,
76     cef_string_list_t extensions);
77
78 ///
79 // Encodes |data| as a base64 string.
80 ///
81 // The resulting string must be freed by calling cef_string_userfree_free().
82 CEF_EXPORT cef_string_userfree_t cef_base64encode(const void* data,
83     size_t data_size);
84
85 ///
86 // Decodes the base64 encoded string |data|. The returned value will be NULL if
87 // the decoding fails.
88 ///
89 CEF_EXPORT struct _cef_binary_value_t* cef_base64decode(
90     const cef_string_t* data);
91
92 ///
93 // Escapes characters in |text| which are unsuitable for use as a query
94 // parameter value. Everything except alphanumerics and -_.!~*'() will be
95 // converted to "%XX". If |use_plus| is true (1) spaces will change to "+". The
96 // result is basically the same as encodeURIComponent in Javacript.
97 ///
98 // The resulting string must be freed by calling cef_string_userfree_free().
99 CEF_EXPORT cef_string_userfree_t cef_uriencode(const cef_string_t* text,
100     int use_plus);
101
102 ///
103 // Unescapes |text| and returns the result. Unescaping consists of looking for
104 // the exact pattern "%XX" where each X is a hex digit and converting to the
105 // character with the numerical value of those digits (e.g. "i%20=%203%3b"
106 // unescapes to "i = 3;"). If |convert_to_utf8| is true (1) this function will
107 // attempt to interpret the initial decoded result as UTF-8. If the result is
108 // convertable into UTF-8 it will be returned as converted. Otherwise the
109 // initial decoded result will be returned.  The |unescape_rule| parameter
110 // supports further customization the decoding process.
111 ///
112 // The resulting string must be freed by calling cef_string_userfree_free().
113 CEF_EXPORT cef_string_userfree_t cef_uridecode(const cef_string_t* text,
114     int convert_to_utf8, cef_uri_unescape_rule_t unescape_rule);
115
116 ///
117 // Parses |string| which represents a CSS color value. If |strict| is true (1)
118 // strict parsing rules will be applied. Returns true (1) on success or false
119 // (0) on error. If parsing succeeds |color| will be set to the color value
120 // otherwise |color| will remain unchanged.
121 ///
122 CEF_EXPORT int cef_parse_csscolor(const cef_string_t* string, int strict,
123     cef_color_t* color);
124
125 #ifdef __cplusplus
126 }
127 #endif
128
129 #endif  // CEF_INCLUDE_CAPI_CEF_PARSER_CAPI_H_