2 * Copyright 2012 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.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
8 * http://www.tizenopensource.org/license
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.
18 #ifndef __SS_QUEUE_H__
19 #define __SS_QUEUE_H__
21 #include "ss_sysnoti.h"
23 struct ss_action_entry {
28 int (*predefine_action) ();
29 int (*ui_viewable) ();
30 int (*is_accessable) (int caller_pid);
39 struct ss_run_queue_entry {
40 enum ss_run_state state;
41 struct ss_action_entry *action_entry;
44 char *argv[SYSMAN_MAXARG];
47 int ss_action_entry_add_internal(char *type,
48 int (*predefine_action) (),
49 int (*ui_viewable) (),
50 int (*is_accessable) (int));
51 int ss_action_entry_add(struct sysnoti *msg);
52 int ss_action_entry_call_internal(char *type, int argc, ...);
53 int ss_action_entry_call(struct sysnoti *msg, int argc, char **argv);
55 int ss_run_queue_run(enum ss_run_state state,
56 int (*run_func) (void *, struct ss_run_queue_entry *),
59 struct ss_run_queue_entry *ss_run_queue_find_bypid(int pid);
60 int ss_run_queue_add(struct ss_action_entry *act_entry, int argc, char **argv);
61 int ss_run_queue_del(struct ss_run_queue_entry *entry);
62 int ss_run_queue_del_bypid(int pid);
66 #endif /* __SS_QUEUE_H__ */