4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd.
6 * Contact: MyoungJune Park <mj2004.park@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
22 *@defgroup setting-common-view
23 *each UG is able to have multiple views.
25 #ifndef __SETTING_COMMON_VIEW_H__
26 #define __SETTING_COMMON_VIEW_H__
28 #define EXPORT_PUBLIC __attribute__ ((visibility ("default")))
30 typedef struct _setting_view {
31 int (*create) (void *cb);
32 int (*destroy) (void *cb);
33 int (*update) (void *cb);
34 int (*cleanup) (void *cb);
35 int (*langchanged) (void *cb);
37 int is_create; /* 1:exist */
41 * @brief Set current loaded view
43 * @param view The view to set
44 * @return #0 on success, else on failed
46 int setting_view_node_set_cur_view(setting_view *view);
49 * @brief Get current loaded view
51 * @return current view
53 setting_view *setting_view_node_get_cur_view();
56 * @brief intialize the node table
58 * @return #0 on success, else on failed
60 int setting_view_node_table_intialize();
63 * @brief Register a node for a viwe and its top view
65 * @param view The current view
66 * @param view The top view of current view
67 * @return #0 on success, else on failed
69 int setting_view_node_table_register(setting_view *view,
70 setting_view *topview);
73 * @brief callback invoked when pressed hard end key
77 int setting_view_cb_at_endKey(void *cb);
80 * @brief Get top view of certain view
82 * @param view The certain view
83 * @return #view's top view on success, else NULL on failed
85 setting_view *setting_view_get_topview(setting_view *view);
88 * @brief Replace top view of the certain view
90 * @param view The certain view
91 * @param topview The new top view
93 extern void setting_view_update_topview(setting_view *view, setting_view *topview);
96 * @brief Callback of view creating
98 * @param view The created view
99 * @param cb The view data passed between all callbacks
100 * @return #0 on success, else on failed
102 extern int setting_view_create(setting_view *view, void *cb);
105 * @brief Callback of view updating
107 * @param view The view being updated
108 * @param cb The view data passed between all callbacks
109 * @return #0 on success, else on failed
110 * @warning the function should be invoked on the view which will be toppest view
112 extern int setting_view_update(setting_view *view, void *cb);
115 * @brief Callback of view destroying
117 * @param view The view being destroyed
118 * @param cb The view data passed between all callbacks
119 * @return #0 on success, else on failed
121 extern int setting_view_destroy(setting_view *view, void *cb);
124 * @brief Callback of view cleanuping
126 * @param view The view being cleanuped
127 * @param cb The view data passed between all callbacks
128 * @return #0 on success, else on failed
129 * @warning the function should be invoked on the view which will be covered
131 extern int setting_view_cleanup(setting_view *view, void *cb);
134 * @brief Callback of view changing
136 * @param from_view The view being covered
137 * @param to_view The view go to cover
138 * @param cb The view data passed between all callbacks
139 * @return #0 on success, else on failed
140 * @warning the function should be invoked to change views
142 extern int setting_view_change(setting_view *from_view, setting_view *to_view,
145 #endif /* __SETTING_COMMON_VIEW_H__ */