2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 * @author Lukasz Marek (l.marek@samsung.com)
22 #ifndef WRTDEVICEAPIS_COMMONS_WIDGET_INTERFACE_DAO_H_
23 #define WRTDEVICEAPIS_COMMONS_WIDGET_INTERFACE_DAO_H_
26 #include <dpl/db/thread_database_support.h>
27 #include <dpl/db/orm_interface.h>
28 #include <LocalStorage/ILocalStorage.h>
30 namespace WrtDeviceApis {
32 class WidgetInterfaceDAO :
33 public LocalStorage::Api::ILocalStorage
36 WidgetInterfaceDAO(int widgetHandle);
37 virtual ~WidgetInterfaceDAO();
39 void setItem(const std::string& key,
40 const std::string& value,
43 void setItem(const std::string& key,
44 const std::string& value,
46 void removeItem(const std::string& key);
47 DPL::Optional<std::string> getValue(const std::string& key) const;
48 void clear(bool removeReadOnly);
49 size_t getStorageSize() const;
50 std::string getKeyByIndex(size_t index) const;
54 mutable DPL::DB::ThreadDatabaseSupport m_databaseInterface;
58 bool copyPropertiesFromWrtDatabase();
59 static std::string databaseFileName(int widgetHandle);
64 #endif //WRTDEVICEAPIS_COMMONS_WIDGET_INTERFACE_DAO_H_