tizen 2.3.1 release
[framework/web/mobile/wrt-plugins-tizen.git] / src / DataControl / DataControlSQLCallback.h
1 //
2 // Tizen Web Device API
3 // Copyright (c) 2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 #ifndef __TIZEN_DATA_CONTROL_SQL_CALLBACK_H__
19 #define __TIZEN_DATA_CONTROL_SQL_CALLBACK_H__
20
21 #include "DataControlCallback.h"
22 #include <string>
23 #include <memory>
24 #include <map>
25
26 namespace DeviceAPI {
27 namespace DataControl {
28
29 typedef std::map<std::string, std::string> RowData;
30 typedef std::shared_ptr<RowData> RowDataPtr;
31 extern const char* RowDataPropertyColumns;
32 extern const char* RowDataPropertyValues;
33
34 class DataControlSQLCallback: public DataControlCallback {
35 public:
36     DataControlSQLCallback(DataControlRequestType type, JSContextRef global_ctx);
37     virtual ~DataControlSQLCallback();
38     void setRowData(RowDataPtr row_data);
39     RowDataPtr getRowData() const;
40     void setWhere(const std::string &where);
41     std::string getWhere() const;
42 private:
43     //for insert, update operations
44     RowDataPtr m_row_data;
45     //for select, update, remove operations
46     std::string m_where;
47 };
48
49 } //DataControl
50 } //DeviceAPI
51
52 #endif //__TIZEN_DATA_CONTROL_SQL_CALLBACK_H__
53