tizen 2.4 release
[apps/home/minicontrol.git] / include / minicontrol-type.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_TYPE_H_
18 #define _MINICTRL_TYPE_H_
19
20 /**
21  * @file minicontrol-type.h
22  * @brief Minicontrol library type.
23  */
24
25 /**
26  * @addtogroup MINICONTROL_LIBRARY
27  * @{
28  */
29
30 #ifndef DEPRECATED
31 #define DEPRECATED                        __attribute__((deprecated))
32 #endif /* DEPRECATED */
33
34 /**
35 @section MINICONTROL_LIBRARY_EVENTS Events
36
37 <TABLE>
38 <TR>
39 <TD>Event Type</TD><TD>Originated by</TD>
40 <TD>Argument 1 Key</TD><TD>Argument 1 Type</TD>
41 <TD>Argument 2 Key</TD><TD>Argument 2 Type</TD>
42 <TD>Argument 3 Key</TD><TD>Argument 3 Type</TD>
43 </TR>
44 <TR>
45 <TD>MINICONTROL_EVENT_START</TD><TD>provider</TD>
46 <TD>minicontrol_name</TD><TD>string</TD>
47 <TD>width</TD><TD>integer</TD>
48 <TD>height</TD><TD>integer</TD>
49 </TR>
50 <TR>
51 <TD>MINICONTROL_EVENT_STOP</TD><TD>provider</TD>
52 <TD></TD><TD></TD>
53 <TD></TD><TD></TD>
54 <TD></TD><TD></TD>
55 </TR>
56 <TR>
57 <TD>MINICONTROL_EVENT_RESIZE</TD><TD>provider</TD>
58 <TD>minicontrol_name</TD><TD>string</TD>
59 <TD>width</TD><TD>integer</TD>
60 <TD>height</TD><TD>integer</TD>
61 </TR>
62 <TR>
63 <TD>MINICONTROL_EVENT_REQUEST_HIDE</TD><TD>provider</TD>
64 <TD></TD><TD></TD>
65 <TD></TD><TD></TD>
66 <TD></TD><TD></TD>
67 </TR>
68 <TR>
69 <TD>MINICONTROL_EVENT_REQUEST_ANGLE</TD><TD>provider</TD>
70 <TD></TD><TD></TD>
71 <TD></TD><TD></TD>
72 <TD></TD><TD></TD>
73 </TR>
74 <TR>
75 <TD>MINICONTROL_EVENT_REPORT_ANGLE</TD><TD>viewer</TD>
76 <TD>angle</TD><TD>string</TD>
77 <TD></TD><TD></TD>
78 <TD></TD><TD></TD>
79 </TR>
80 <TR>
81 <TD>MINICONTROL_VIEWER_EVENT_SHOW</TD><TD>viewer</TD>
82 <TD></TD><TD></TD>
83 <TD></TD><TD></TD>
84 <TD></TD><TD></TD>
85 </TR>
86 <TR>
87 <TD>MINICONTROL_VIEWER_EVENT_HIDE</TD><TD>viewer</TD>
88 <TD></TD><TD></TD>
89 <TD></TD><TD></TD>
90 <TD></TD><TD></TD>
91 </TR>
92 </TABLE>
93 */
94
95 /**
96  * @brief Enumerations for describing types of events originated by a minicontrol provider.
97  * @since_tizen 2.4
98  */
99 typedef enum {
100         MINICONTROL_EVENT_START,               /**< A minicontrol object is created */
101         MINICONTROL_EVENT_STOP,                /**< A minicontrol object is deleted */
102         MINICONTROL_EVENT_RESIZE,              /**< A minicontrol object is resized */
103         MINICONTROL_EVENT_REQUEST_HIDE  = 100, /**< Requests that the minicontrol viewer(s) close the provider's minicontrol */
104         MINICONTROL_EVENT_REQUEST_ANGLE = 103, /**< Requests the current angle of the minicontrol viewer */
105         MINICONTROL_EVENT_REPORT_ANGLE  = 200, /**< Reports the current angle of the minicontrol viewer */
106 } minicontrol_event_e;
107
108 /**
109  * @brief Enumerations for types of events which will be sent by minicontrol_send_event.
110  * @since_tizen 2.4
111  */
112 typedef enum {
113         MINICONTROL_PROVIDER_EVENT_REQUEST_HIDE  = MINICONTROL_EVENT_REQUEST_HIDE,  /**< Requests that the minicontrol viewer(s) close the provider's minicontrol. Required bundle argument : NULL. */
114         MINICONTROL_PROVIDER_EVENT_REQUEST_ANGLE = MINICONTROL_EVENT_REQUEST_ANGLE, /**< Requests the current angle of the minicontrol viewer. Required bundle argument : NULL. */
115 } minicontrol_provider_event_e;
116
117 /**
118  * @brief Enumerations for types of events which will be sent by minicontrol_viewer_send_event.
119  * @since_tizen 2.4
120  */
121 typedef enum {
122         MINICONTROL_VIEWER_EVENT_REPORT_ANGLE    = MINICONTROL_EVENT_REPORT_ANGLE,  /**< Reports the current angle of the minicontrol viewer. Required argument : Angle of minicontrol viewer, Bundle Key : "angle", Bundle Value Type : string.*/
123         MINICONTROL_VIEWER_EVENT_SHOW            = 201, /**< The minicontrol viewer is shown. Required argument : NULL.*/
124         MINICONTROL_VIEWER_EVENT_HIDE            = 202, /**< The minicontrol viewer is hidden. Required argument : NULL.*/
125 } minicontrol_viewer_event_e;
126
127 /**
128  * @brief Enumerations for selecting target viewers.
129  * @since_tizen 2.4
130  */
131 typedef enum {
132         MINICONTROL_TARGET_VIEWER_QUICK_PANEL             = 0x0001,   /**< Request to place the minicontrol on the quickpanel */
133         MINICONTROL_TARGET_VIEWER_STOCK_LOCK_SCREEN       = 0x0002,   /**< Request to place the minicontrol on the stock lock screen */
134         MINICONTROL_TARGET_VIEWER_CUSTOM_LOCK_SCREEN      = 0x0004,   /**< Request to place the minicontrol on a lock screen replacement application */
135 } minicontrol_target_viewer_e;
136
137 /**
138  * @}
139  */
140
141 #endif /* _MINICTRL_TYPE_H_ */