tizen 2.3 release
[apps/home/minicontrol.git] / include / minicontrol-provider.h
1 /*
2  * Copyright (c)  2013-2015 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 #ifndef _MINICTRL_PROVIDER_H_
18 #define _MINICTRL_PROVIDER_H_
19
20 #include <Evas.h>
21 #include "minicontrol-error.h"
22 #include "minicontrol-type.h"
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28
29 /**
30  * @file minicontrol-provider.h
31  * @brief This minicontrol provider library used to create evas socket window.
32  */
33
34 /**
35  * @addtogroup MINICONTROL_PROVIDER_MODULE
36  * @{
37  */
38
39 /**
40  * @brief Creates evas socket window.
41  * @param[in] name Name of socket window
42  * @return Evas object of socket window
43  */
44 Evas_Object *minicontrol_win_add(const char *name);
45
46 /**
47  * @brief This function create evas socket window with a minicontrol handler
48  *
49  * @remarks minicontrol service name should be set before call this function
50  * @param[in] handler handler of socket window
51  * @return evas object of socket window
52  */
53 Evas_Object *minicontrol_win_add_by_handler(minicontrol_h handler);
54
55 /**
56  * @brief Requests various actions to the viewer.
57  * @param[in] minicontrol Evas object of socket window
58  * @param[in] action Type of action
59  * @return Evas object of socket window
60  */
61 minicontrol_error_e minicontrol_request(Evas_Object *mincontrol, minicontrol_request_e request);
62
63 /**
64  * @remarks you don't have to destory handler, the handler will be referenced by minicontrol lib
65  * @brief This function gets a minicontrol handler from the minicontrol object
66  * @param[in] minicontrol evas object of socket window
67  * @param[in] handler handler of socket window
68  * @return minicontrol handler
69  */
70 minicontrol_error_e minicontrol_win_handler_get(Evas_Object *mincontrol, minicontrol_h *handler);
71
72 /**
73  * @brief This function send request for updating with the updaed minicontrol handler
74  * @param[in] minicontrol evas object of socket window
75  * @param[in] handler handler of socket window
76  * @return evas object of socket window
77  */
78 minicontrol_error_e minicontrol_win_handler_update(Evas_Object *mincontrol, minicontrol_h handler);
79
80 /**
81  * @}
82  */
83
84 #ifdef __cplusplus
85 }
86 #endif
87 #endif /* _MINICTRL_PROVIDER_H_ */
88