/* Copyright 2012 The Chromium Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ /* From dev/ppb_url_util_dev.idl modified Wed Aug 28 19:09:17 2013. */ #ifndef PPAPI_C_DEV_PPB_URL_UTIL_DEV_H_ #define PPAPI_C_DEV_PPB_URL_UTIL_DEV_H_ #include "ppapi/c/pp_bool.h" #include "ppapi/c/pp_instance.h" #include "ppapi/c/pp_macros.h" #include "ppapi/c/pp_stdint.h" #include "ppapi/c/pp_var.h" #define PPB_URLUTIL_DEV_INTERFACE_0_6 … #define PPB_URLUTIL_DEV_INTERFACE_0_7 … #define PPB_URLUTIL_DEV_INTERFACE … /** * @file * This file defines the <code>PPB_URLUtil_Dev</code> interface. */ /** * @addtogroup Structs * @{ */ /* * A component specifies the range of the part of the URL. The begin specifies * the index into the string of the first character of that component. The len * specifies the length of that component. * * This range does not include any special delimiter for that component, so * the scheme doesn't include the trailing colon, the username and password * don't include the @ and :, the port doesn't include the colon, the query * doesn't include the ?, and the ref doesn't include the #. * * The exception is that the path *does* include the first /, since that's an * integral part of the path. * * If the component is not present at all, begin will be 0 and len will be -1. * If the component is present but empty, the length will be 0 instead. Example: * http://foo/search -> query = (0, -1) * http://foo/search? -> query = (18, 0) */ struct PP_URLComponent_Dev { … }; PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(…); struct PP_URLComponents_Dev { … }; PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(…); /** * @} */ /** * @addtogroup Interfaces * @{ */ /* * URL encoding: URLs are supplied to this interface as NULL-terminated 8-bit * strings. You can pass non-ASCII characters which will be interpreted as * UTF-8. Canonicalized URL strings returned by these functions will be ASCII * except for the reference fragment (stuff after the '#') which will be * encoded as UTF-8. */ struct PPB_URLUtil_Dev_0_7 { … }; PPB_URLUtil_Dev; struct PPB_URLUtil_Dev_0_6 { … }; /** * @} */ #endif /* PPAPI_C_DEV_PPB_URL_UTIL_DEV_H_ */