Add build require on ecore-x for x11 build.
[platform/framework/web/wrt-commons.git] / modules / widget_dao / dao / global_dao.cpp
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16 /**
17  * @file   global_dao.cpp
18  * @author  Pawel Sikorski (p.sikorski@samsung.com)
19  * @version 1.0
20  * @brief   This file contains the definition of global dao class.
21  */
22 #include <stddef.h>
23 #include <dpl/wrt-dao-rw/global_dao.h>
24 #include <dpl/log/log.h>
25 #include <dpl/string.h>
26 #include <dpl/db/orm.h>
27 #include <orm_generator_wrt.h>
28 #include <dpl/wrt-dao-ro/webruntime_database.h>
29 #include <dpl/wrt-dao-ro/WrtDatabase.h>
30
31 namespace WrtDB {
32 void GlobalDAO::SetSecureByDefault(bool secure)
33 {
34     //If secure == true -> widget does not need to be signed
35     Try {
36         using namespace DPL::DB::ORM;
37         using namespace DPL::DB::ORM::wrt;
38         GlobalProperties::Row row;
39         row.Set_secure_by_default(secure);
40         WRT_DB_UPDATE(update, GlobalProperties, &WrtDatabase::interface())
41         update->Values(row);
42         update->Execute();
43     }
44     Catch(DPL::DB::SqlConnection::Exception::Base) {
45         ReThrowMsg(GlobalDAO::Exception::DatabaseError,
46                    "Failed to update secureByDefault");
47     }
48 }
49
50 void GlobalDAO::SetRoamingDataUsage(GlobalDAO::NetworkAccessMode newMode)
51 {
52     LogDebug("updating roaming network data usage to:" << newMode);
53     Try {
54         using namespace DPL::DB::ORM;
55         using namespace DPL::DB::ORM::wrt;
56         GlobalProperties::Row row;
57         row.Set_roaming_data_usage(static_cast<int>(newMode));
58
59         WRT_DB_UPDATE(update, GlobalProperties, &WrtDatabase::interface())
60         update->Values(row);
61         update->Execute();
62     }
63     Catch(DPL::DB::SqlConnection::Exception::Base){
64         ReThrowMsg(GlobalDAO::Exception::DatabaseError,
65                    "Failed to update roaming network data usage");
66     }
67 }
68
69 void GlobalDAO::SetCookieSharingMode(bool mode)
70 {
71     LogDebug("updating Cookie Sharing mode to:" << mode);
72     Try {
73         using namespace DPL::DB::ORM;
74         using namespace DPL::DB::ORM::wrt;
75         GlobalProperties::Row row;
76         row.Set_cookie_sharing_mode(mode);
77
78         WRT_DB_UPDATE(update, GlobalProperties, &WrtDatabase::interface())
79         update->Values(row);
80         update->Execute();
81     }
82     Catch(DPL::DB::SqlConnection::Exception::Base){
83         ReThrowMsg(GlobalDAO::Exception::DatabaseError,
84                    "Failed to update Cookie Sharing Mode");
85     }
86 }
87 } // namespace WrtDB