tizen 2.3.1 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_MONITOR_MODULE
27  * @{
28  */
29
30 typedef struct _minicontrol_h *minicontrol_h;
31
32 /**
33  * @brief Enumeration for describing type of events originated by a minicontrol provider.
34  */
35 typedef enum _minicontrol_action {
36         MINICONTROL_ACTION_START = 0,    /**< A minicontrol object is created */
37         MINICONTROL_ACTION_STOP,    /**< A minicontrol object is deleted */
38         MINICONTROL_ACTION_RESIZE,    /**< A minicontrol object is resized */
39         MINICONTROL_ACTION_REQUEST,    /**< the viewer of the minicontrol object is asked to do something */
40         MINICONTROL_ACTION_REALIZE,    /**< the viewer of the minicontrol object is realized */
41 } minicontrol_action_e;
42
43 /**
44  * @brief Enumeration for describing priority of a minicontrol provider.
45  */
46 typedef enum {
47         MINICONTROL_PRIORITY_TOP = 1000,    /**< Top priority */
48         MINICONTROL_PRIORITY_MIDDLE = 100,    /**< Middle priority */
49         MINICONTROL_PRIORITY_LOW = 1,    /**< Low priority */
50 }minicontrol_priority_e;
51
52 /**
53  * @brief Enumeration for describing type of actions.
54  */
55 typedef enum {
56         MINICONTROL_REQ_NONE = 0,/**< Request to viewer */
57
58         /*!
59          * request to viewer
60          */
61         MINICONTROL_REQ_HIDE_VIEWER = 100,    /**< Request to hide the minicontrol viewer */
62         MINICONTROL_REQ_FREEZE_SCROLL_VIEWER,    /**< Request to freeze scroll of the minicontrol viewer */
63         MINICONTROL_REQ_UNFREEZE_SCROLL_VIEWER,    /**< Request to unfreeze scroll of the minicontrol viewer */
64         MINICONTROL_REQ_REPORT_VIEWER_ANGLE,    /**< Request to report the current angle of the minicontrol viewer */
65         MINICONTROL_REQ_UPDATE_HANDLER,
66
67         /*!
68          * request to provider
69          */
70         MINICONTROL_REQ_ROTATE_PROVIDER = 200,  /**< Request to provider */
71         MINICONTROL_REQ_PROVIDER_PAUSE = 201,
72         MINICONTROL_REQ_PROVIDER_RESUME = 202,
73 }minicontrol_request_e;
74
75 /**
76  * @brief Enumeration for describing type of dbus.
77  */
78
79 enum _minictrl_PROC_DBUS_TYPE {
80         MINICONTROL_DBUS_PROC_EXCLUDE,    /**< Request to exclude from the unfreezing process list */
81         MINICONTROL_DBUS_PROC_INCLUDE,    /**< Request to include to the unfreezing process list */
82 };
83
84 /**
85  * @}
86  */
87
88 #endif /* _MINICTRL_TYPE_H_ */