Moved exception list to plugin
[platform/core/connectivity/stc-manager.git] / include / stc-plugin.h
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
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 __STC_PLUGIN_H__
18 #define __STC_PLUGIN_H__
19
20 #include <glib.h>
21 #include "stc-error.h"
22 #include "stc-manager.h"
23
24 typedef stc_error_e (*stc_plugin_app_state_changed_cb)(stc_cmd_type_e cmd,
25                                                        pid_t pid,
26                                                        const gchar *app_id,
27                                                        const gchar *pkg_id,
28                                                        stc_app_type_e app_type);
29
30 typedef struct {
31         void (*initialize_plugin) (void);
32         void (*deinitialize_plugin) (void);
33
34         int (*send_restriction_message_to_net_popup) (const char *,
35                                                      const char *,
36                                                      const char *,
37                                                      const char *,
38                                                      const char *);
39         int (*send_warn_message_to_net_popup) (const char *,
40                                               const char *,
41                                               const char *,
42                                               const char *,
43                                               const char *);
44
45         int (*register_state_changed_cb) (stc_s *stc,
46                                           stc_plugin_app_state_changed_cb cb,
47                                           void *data);
48         int (*deregister_state_changed_cb) (stc_s *stc);
49
50         int (*fill_exception_list) (void);
51         int (*update_exception_list) (void);
52         int (*check_exception_by_cmdline) (char *cmdline);
53 } stc_plugin_s;
54
55 void stc_plugin_initialize(void);
56 void stc_plugin_deinitialize(void);
57 int stc_plugin_popup_send_warn_message(const char *content,
58                 const char *type, const char *app_id, const char *iftype, const char *limit);
59 int stc_plugin_popup_send_restriction_message(const char *content,
60                 const char *type, const char *app_id, const char *iftype, const char *limit);
61 int stc_plugin_appstatus_register_changed_cb(stc_s *stc,
62                 stc_plugin_app_state_changed_cb cb, void *data);
63 int stc_plugin_appstatus_deregister_changed_cb(stc_s *stc);
64 int stc_plugin_exception_init(void);
65 int stc_plugin_exception_deinit(void);
66 int stc_plugin_exception_fill_list(void);
67 int stc_plugin_exception_update_list(void);
68 int stc_plugin_exception_check_by_cmdline(char *cmdline);
69
70 #endif /* __STC_PLUGIN_H__ */