/* Copyright (C) 2010 ProFUSION embedded systems Copyright (C) 2010 Samsung Electronics This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /** * @file ewk_cookies.h * @brief The Ewk cookies API. */ #ifndef ewk_cookies_h #define ewk_cookies_h #include "ewk_eapi.h" #include <Eina.h> #ifdef __cplusplus extern "C" { #endif /** * \struct _Ewk_Cookie * * @brief Describes properties of an HTTP cookie. */ struct _Ewk_Cookie { /// the cookie name char *name; /// the cookie value char *value; /// the "domain" attribute, or else the hostname that the cookie came from char *domain; /// the "path" attribute, or @c 0 char *path; /// the cookie expiration time, or @c 0 for a session cookie time_t expires; /// @c EINA_TRUE if the cookie should only be tranferred over SSL Eina_Bool secure; /// @c EINA_TRUE if the cookie should not be exposed to scripts Eina_Bool http_only; }; /// Creates a type name for the _Ewk_Cookie. typedef struct _Ewk_Cookie Ewk_Cookie; /** * \enum _Ewk_Cookie_Policy * * @brief Contains a policy for the cookies. */ enum _Ewk_Cookie_Policy { /// Rejects all cookies. EWK_COOKIE_JAR_ACCEPT_NEVER, /// Accepts every cookie sent from any page. EWK_COOKIE_JAR_ACCEPT_ALWAYS, /// Accepts cookies only from the main page. EWK_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY }; /// Creates a type name for the _Ewk_Cookie_Policy. typedef enum _Ewk_Cookie_Policy Ewk_Cookie_Policy; /************************** Exported functions ***********************/ EAPI Eina_Bool ewk_cookies_file_set(const char *filename); EAPI void ewk_cookies_clear(void); EAPI Eina_List* ewk_cookies_get_all(void); EAPI void ewk_cookies_cookie_del(Ewk_Cookie *cookie); EAPI void ewk_cookies_cookie_free(Ewk_Cookie *cookie); EAPI void ewk_cookies_policy_set(Ewk_Cookie_Policy p); EAPI Ewk_Cookie_Policy ewk_cookies_policy_get(void); #ifdef __cplusplus } #endif #endif // ewk_cookies_h