tizen 2.4 release
[framework/web/wrt-commons.git] / modules / custom_handler_dao / include / wrt-commons / custom-handler-dao-ro / common_dao_types.h
1 /*
2  * Copyright (c) 2012 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  *
18  * @file    common_dao_types.h
19  * @author  Krzysztof Jackiewicz (k.jackiewicz@samsung.com)
20  * @version 1.0
21  * @brief This file contains the declaration of
22  *           common data types for custom handler database.
23  */
24 #ifndef SRC_MODULES_CUSTOM_HANDLERS_DAO_COMMON_DAO_TYPES_H_
25 #define SRC_MODULES_CUSTOM_HANDLERS_DAO_COMMON_DAO_TYPES_H_
26
27 #include <list>
28 #include <memory>
29 #include <dpl/string.h>
30
31 namespace CustomHandlerDB {
32 /**
33  * @brief Custom Handler struct
34  *
35  * Describes custom handler for protocol and content.
36  */
37 enum HandlerState {
38     Agreed = 0x01,      //user agreed to use protocol only,
39                         //but want to ask in next occurence
40     Declined = 0x02,    //user declined to use protocol,
41                         //but want to ask in next occurence
42                         //in fact it is used when user wants to cover saved
43                         // agreed
44                         //decision by agreeing to another one without save.
45     DecisionSaved = 0x04, //user dont want to ask again
46     AgreedPermanently = Agreed | DecisionSaved,
47     DeclinedPermanently = Declined | DecisionSaved
48 };
49
50 struct CustomHandler
51 {
52     DPL::String target;     // protocol/content ("mailto"/"application/x-soup")
53     DPL::String base_url;   // base url of registered page
54     DPL::String url;        // url used for protocol/content handling
55     DPL::String title;      // user friendly handler name
56     HandlerState user_decision;
57 };
58
59 typedef std::shared_ptr<CustomHandler> CustomHandlerPtr;
60 typedef std::list <CustomHandlerPtr> CustomHandlersList;
61 } // namespace CustomHandlerDB
62
63 #endif /* SRC_MODULES_CUSTOM_HANDLERS_DAO_COMMON_DAO_TYPES_H_ */