chromium/ppapi/c/dev/ppb_url_util_dev.h

/* 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_ */