2 * Copyright 2012 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.1 (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://floralicense.org/license/
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 #ifndef WEB_SRC_SETTING_WEBAPP_DETAIL_PERMVIEW_H_
18 #define WEB_SRC_SETTING_WEBAPP_DETAIL_PERMVIEW_H_
22 #include <dpl/wrt-dao-rw/widget_dao.h>
23 #include <dpl/scoped_ptr.h>
28 namespace WebAppDetailSetting {
30 class PermView : public View
32 Evas_Object *m_parent;
33 WrtDB::AppType m_appType;
35 DPL::ScopedPtr<WrtDB::WidgetDAO> m_dao;
36 std::map<int, Feature> m_featureMap;
37 WrtDB::WidgetAccessInfoList m_accessInfo;
40 static void onFeatureClicked(void *data,
43 static void onPermClicked(void *data, Evas_Object *obj, void *event_info);
44 static void onExpanded(void *data, Evas_Object *obj, void *event_info);
45 static void onContracted(void *data, Evas_Object *obj, void *event_info);
47 /* Genlist item callbacks */
48 static char *getPermStr(void *data, Evas_Object *obj, const char *part);
49 static Evas_Object *getPermRadio(void *data,
52 static void delPermData(void *data, Evas_Object *obj);
53 static char *getFeatureTitle(void *data, Evas_Object *obj, const char *part);
54 static char *getFeatureStr(void *data, Evas_Object *obj, const char *part);
55 static char *getFeatureStrWithPerm(void *data,
58 static void delFeatureData(void *data, Evas_Object *obj);
59 static char *getUriTitle(void *data, Evas_Object *obj, const char *part);
60 static char *getUriStr(void *data, Evas_Object *obj, const char *part);
61 static void delUriData(void *data, Evas_Object *obj);
63 void addFeatureTitle(Evas_Object *gl);
64 void addFeature(Evas_Object *gl, int idx);
65 void addFeatureWithPerm(Evas_Object *gl, int idx);
66 void addFeatureList(Evas_Object *gl);
67 void addUriTitle(Evas_Object *gl);
68 void addUri(Evas_Object *gl, DPL::String &uri);
69 void addAccessInfo(Evas_Object *gl);
70 Evas_Object *createContent(Evas_Object *parent);
73 PermView(Evas_Object *parent, int appID);
76 Evas_Object *loadView(void);
87 FeatureData(Feature *feature, int appID, Evas_Object *rg = NULL) :
96 FeatureData *m_featureData;
97 ace_preference_t m_type;
99 PermData(FeatureData *featureData, ace_preference_t type) :
100 m_featureData(featureData),
109 UriData(std::string uri) :
113 } /* WebAppDetailSetting */
115 #endif /* WEB_SRC_SETTING_WEBAPP_DETAIL_PERMVIEW_H_ */