1/* 2 * Copyright (C) 2012 Intel Corporation. All rights reserved. 3 * Copyright (C) 2012 Samsung Electronics. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 14 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 15 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 16 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 17 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 18 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 19 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 20 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 21 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 23 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 */ 26 27/** 28 * @file ewk_security_origin.h 29 * @brief Security Origin API. 30 * 31 * Security Origin is the mechanism that defines the access limits of a website. 32 * Based on information such as domain, protocol and port, you can or cannot grant 33 * authorization for accessing data and performing certain tasks. 34 */ 35 36#ifndef ewk_security_origin_h 37#define ewk_security_origin_h 38 39#include <Eina.h> 40 41#ifdef __cplusplus 42extern "C" { 43#endif 44 45/** 46 * Declare Ewk_Security_Origin as Ewk_Object. 47 * 48 * @see Ewk_Object 49 */ 50typedef struct EwkObject Ewk_Security_Origin; 51 52/** 53 * Returns the host of the security origin. 54 * 55 * @param o security origin object 56 * 57 * @return the host domain pointer or @c NULL if there is not a host scheme. 58 * This pointer is guaranteed to be eina_stringshare, so whenever possible 59 * save yourself from cpu cycles and use eina_stringshare_ref() 60 * instead of eina_stringshare_add() or strdup(). 61 */ 62EAPI const char *ewk_security_origin_host_get(const Ewk_Security_Origin *o); 63 64/** 65 * Returns the port of the security origin. 66 * 67 * @param o security origin object 68 * 69 * @return the port number or @c 0 if there is not a proper security origin scheme 70 */ 71EAPI uint32_t ewk_security_origin_port_get(const Ewk_Security_Origin *o); 72 73/** 74 * Returns the protocol of the security origin. 75 * 76 * @param o security origin object 77 * 78 * @return the protocol scheme pointer or @c NULL if there is not a protocol scheme. 79 * This pointer is guaranteed to be eina_stringshare, so whenever possible 80 * save yourself from cpu cycles and use eina_stringshare_ref() 81 * instead of eina_stringshare_add() or strdup(). 82 */ 83EAPI const char *ewk_security_origin_protocol_get(const Ewk_Security_Origin *o); 84 85#ifdef __cplusplus 86} 87#endif 88#endif // ewk_security_origin_h 89