Create string tightly when retrive string from cbhm callback event
[framework/web/webkit-efl.git] / Source / WebKit2 / UIProcess / API / efl / ewk_search_provider.cpp
1 /*
2     Copyright (C) 2012 Samsung Electronics
3
4     This library is free software; you can redistribute it and/or
5     modify it under the terms of the GNU Library General Public
6     License as published by the Free Software Foundation; either
7     version 2 of the License, or (at your option) any later version.
8
9     This library is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12     Library General Public License for more details.
13
14     You should have received a copy of the GNU Library General Public License
15     along with this library; see the file COPYING.LIB.  If not, write to
16     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17     Boston, MA 02110-1301, USA.
18 */
19
20 #include "config.h"
21 #include "ewk_search_provider.h"
22 #include "ewk_view_private.h"
23
24 struct _Ewk_Search_Provider_Data {
25     const char* base_url;
26     const char* engine_url;
27     unsigned long result;
28 };
29
30 const char* ewk_search_provider_data_base_url_get(Ewk_Search_Provider_Data* searchProviderData)
31 {
32 #if ENABLE(TIZEN_SEARCH_PROVIDER)
33     EINA_SAFETY_ON_NULL_RETURN_VAL(searchProviderData, 0);
34     return searchProviderData->base_url;
35 #else
36     return 0;
37 #endif
38 }
39
40 const char* ewk_search_provider_data_engine_url_get(Ewk_Search_Provider_Data* searchProviderData)
41 {
42 #if ENABLE(TIZEN_SEARCH_PROVIDER)
43     EINA_SAFETY_ON_NULL_RETURN_VAL(searchProviderData, 0);
44     return searchProviderData->engine_url;
45 #else
46     return 0;
47 #endif
48 }
49
50 void ewk_search_provider_data_result_set(Ewk_Search_Provider_Data* searchProviderData, Ewk_Search_Provider_Installed_State result)
51 {
52 #if ENABLE(TIZEN_SEARCH_PROVIDER)
53     EINA_SAFETY_ON_NULL_RETURN(searchProviderData);
54     searchProviderData->result = result;
55 #endif
56 }
57
58 #if ENABLE(TIZEN_SEARCH_PROVIDER)
59 Ewk_Search_Provider_Data* ewkSearchProviderCreateData(const char* baseURL, const char* engineURL)
60 {
61     Ewk_Search_Provider_Data* searchProviderData = new Ewk_Search_Provider_Data;
62     searchProviderData->base_url = eina_stringshare_add(baseURL);
63     searchProviderData->engine_url = eina_stringshare_add(engineURL);
64     searchProviderData->result = EWK_SEARCH_PROVIDER_INSTALLED_STATE_NONE;
65
66     return searchProviderData;
67 }
68
69 void ewkSearchProviderDeleteData(Ewk_Search_Provider_Data* searchProviderData)
70 {
71     eina_stringshare_del(searchProviderData->base_url);
72     eina_stringshare_del(searchProviderData->engine_url);
73
74     delete searchProviderData;
75 }
76
77 unsigned long ewkGetSearchProviderResult(Ewk_Search_Provider_Data* searchProviderData)
78 {
79     EINA_SAFETY_ON_NULL_RETURN_VAL(searchProviderData, 0);
80     return searchProviderData->result;
81 }
82 #endif