tizen 2.3 release
[kernel/api/system-resource.git] / src / common / notifier.h
1 /*
2  * resourced
3  *
4  * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19
20
21 #ifndef __NOTIFIER_H__
22 #define __NOTIFIER_H__
23
24 enum notifier_type {
25         RESOURCED_NOTIFIER_APP_LAUNCH,
26         RESOURCED_NOTIFIER_APP_RESUME,
27         RESOURCED_NOTIFIER_APP_FOREGRD,
28         RESOURCED_NOTIFIER_APP_BACKGRD,
29         RESOURCED_NOTIFIER_SERVICE_LAUNCH,
30         RESOURCED_NOTIFIER_APP_ACTIVE,
31         RESOURCED_NOTIFIER_APP_INACTIVE,
32         RESOURCED_NOTIFIER_APP_TERMINATE,
33         RESOURCED_NOTIFIER_SWAP_SET_CANDIDATE_PID,
34         RESOURCED_NOTIFIER_SWAP_START,
35         RESOURCED_NOTIFIER_SWAP_RESTART,
36         RESOURCED_NOTIFIER_SWAP_MOVE_CGROUP,
37         RESOURCED_NOTIFIER_LCD_ON,
38         RESOURCED_NOTIFIER_LCD_OFF,
39         RESOURCED_NOTIFIER_MAX,
40 };
41
42 /*
43  * This is for internal callback method.
44  */
45 int register_notifier(enum notifier_type status, int (*func)(void *data));
46 int unregister_notifier(enum notifier_type status, int (*func)(void *data));
47 void resourced_notify(enum notifier_type status, void *value);
48
49 #endif /* __NOTIFIER_H__ */