libpurple/purplescheduler.h

Sat, 09 Aug 2025 17:37:27 +0800

author
Gong Zhile <gongzl@stu.hebust.edu.cn>
date
Sat, 09 Aug 2025 17:37:27 +0800
branch
bird-header-fix
changeset 43304
2599d35e9750
parent 43293
f5d33dbc18a9
permissions
-rw-r--r--

Fix the birb header path

The birb header referred would only work with birb provided by wrap casuing
build to fail because of system-installed birb dependency. The commit points
it to the correct path <birb.h>.

See: https://keep.imfreedom.org/birb/birb/file/5bf00c7d7f80/birb/meson.build#l77

43293
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
1 /*
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
2 * Purple - Internet Messaging Library
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
3 * Copyright (C) Pidgin Developers <devel@pidgin.im>
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
4 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
7 * source distribution.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
8 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
9 * This library is free software; you can redistribute it and/or modify it
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
10 * under the terms of the GNU General Public License as published by the Free
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
11 * Software Foundation; either version 2 of the License, or (at your option)
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
12 * any later version.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
13 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
14 * This library is distributed in the hope that it will be useful, but WITHOUT
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
16 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
17 * more details.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
18 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
19 * You should have received a copy of the GNU General Public License along with
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
20 * this library; if not, see <https://www.gnu.org/licenses/>.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
21 */
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
22
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
23 #if !defined(PURPLE_GLOBAL_HEADER_INSIDE) && !defined(PURPLE_COMPILATION)
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
24 # error "only <purple.h> may be included directly"
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
25 #endif
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
26
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
27 #ifndef PURPLE_SCHEDULER_H
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
28 #define PURPLE_SCHEDULER_H
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
29
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
30 #include <glib.h>
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
31 #include <glib-object.h>
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
32
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
33 #include "purplescheduledtask.h"
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
34 #include "purpleversion.h"
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
35
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
36 G_BEGIN_DECLS
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
37
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
38 #define PURPLE_SCHEDULER_ERROR purple_scheduler_error_quark()
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
39
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
40 /**
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
41 * PurpleSchedulerError:
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
42 * @PURPLE_SCHEDULER_ERROR_TASK_EXISTS: the task has already been added to the
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
43 * scheduler
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
44 * @PURPLE_SCHEDULER_ERROR_FAILED_TO_SCHEDULE: the task failed to schedule for
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
45 * an unknown reason
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
46 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
47 * Error codes returned by the scheduler.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
48 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
49 * Since: 3.0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
50 */
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
51 typedef enum {
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
52 PURPLE_SCHEDULER_ERROR_TASK_EXISTS PURPLE_AVAILABLE_ENUMERATOR_IN_3_0,
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
53 PURPLE_SCHEDULER_ERROR_FAILED_TO_SCHEDULE PURPLE_AVAILABLE_ENUMERATOR_IN_3_0,
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
54 } PurpleSchedulerError;
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
55
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
56 /**
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
57 * purple_scheduler_error_quark:
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
58 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
59 * The error domain to identify errors with the scheduler.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
60 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
61 * Returns: The error domain.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
62 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
63 * Since: 3.0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
64 */
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
65 PURPLE_AVAILABLE_IN_3_0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
66 GQuark purple_scheduler_error_quark(void);
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
67
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
68 /**
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
69 * PurpleScheduler:
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
70 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
71 * An object that manages a collection of [class@ScheduledTask].
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
72 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
73 * Since: 3.0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
74 */
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
75
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
76 #define PURPLE_TYPE_SCHEDULER (purple_scheduler_get_type())
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
77
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
78 PURPLE_AVAILABLE_IN_3_0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
79 G_DECLARE_FINAL_TYPE(PurpleScheduler, purple_scheduler, PURPLE, SCHEDULER,
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
80 GObject)
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
81
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
82 /**
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
83 * purple_scheduler_add_task:
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
84 * @task: (transfer none): the task to add
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
85 * @execute_at: (transfer none): the date time for when the task should be
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
86 * executed.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
87 * @error: (out) (nullable): a return address for a #GError
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
88 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
89 * Adds a new task to the scheduler.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
90 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
91 * If the task has already been added, false will be returned and @error will
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
92 * be set.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
93 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
94 * If @task is already scheduled, it will be rescheduled to run at @execute_at.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
95 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
96 * Returns: true if the task was added successfully.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
97 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
98 * Since: 3.0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
99 */
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
100 PURPLE_AVAILABLE_IN_3_0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
101 gboolean purple_scheduler_add_task(PurpleScheduler *scheduler, PurpleScheduledTask *task, GDateTime *execute_at, GError **error);
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
102
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
103 /**
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
104 * purple_scheduler_add_task_relative:
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
105 * @task: (transfer none): the task to add
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
106 * @when: the relative time from now to execute the task
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
107 * @error: (out) (nullable): a return address for a #GError
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
108 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
109 * Adds a new task to the scheduler.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
110 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
111 * If the task has already been added, false will be returned and @error will
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
112 * be set.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
113 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
114 * If @task is already scheduled, it will be rescheduled to run at @when.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
115 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
116 * This is a wrapper around [method@Scheduler.add_task] that will add @when to
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
117 * the current time for you.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
118 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
119 * Returns: true if the task was added successfully.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
120 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
121 * Since: 3.0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
122 */
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
123 PURPLE_AVAILABLE_IN_3_0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
124 gboolean purple_scheduler_add_task_relative(PurpleScheduler *scheduler, PurpleScheduledTask *task, GTimeSpan when, GError **error);
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
125
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
126 /**
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
127 * purple_scheduler_get_default:
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
128 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
129 * Gets the default scheduler.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
130 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
131 * This can return %NULL if libpurple has not been initialized.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
132 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
133 * Returns: (transfer none) (nullable): The default scheduler.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
134 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
135 * Since: 3.0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
136 */
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
137 PURPLE_AVAILABLE_IN_3_0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
138 PurpleScheduler *purple_scheduler_get_default(void);
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
139
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
140 /**
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
141 * purple_scheduler_get_default_as_model:
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
142 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
143 * Gets the default scheduler cast to a [iface@Gio.ListModel].
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
144 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
145 * This can return %NULL if libpurple has not been initialized.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
146 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
147 * Returns: (transfer none) (nullable): The default scheduler as a list model.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
148 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
149 * Since: 3.0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
150 */
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
151 PURPLE_AVAILABLE_IN_3_0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
152 GListModel *purple_scheduler_get_default_as_model(void);
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
153
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
154 /**
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
155 * purple_scheduler_new:
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
156 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
157 * Creates a new scheduler.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
158 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
159 * This is typically only used internally but may be useful to others.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
160 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
161 * Returns: (transfer full): The new instance.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
162 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
163 * Since: 3.0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
164 */
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
165 PURPLE_AVAILABLE_IN_3_0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
166 PurpleScheduler *purple_scheduler_new(void);
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
167
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
168 /**
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
169 * purple_scheduler_remove_task:
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
170 * @id: the id of the task
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
171 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
172 * Removes a task from the scheduler.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
173 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
174 * If the task is found and currently scheduled, it will be cancelled.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
175 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
176 * Returns: true if the task was found and removed.
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
177 *
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
178 * Since: 3.0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
179 */
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
180 PURPLE_AVAILABLE_IN_3_0
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
181 gboolean purple_scheduler_remove_task(PurpleScheduler *scheduler, const char *id);
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
182
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
183 G_END_DECLS
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
184
f5d33dbc18a9 Create Purple.Scheduler
Gary Kramlich <grim@reaperworld.com>
parents:
diff changeset
185 #endif /* PURPLE_SCHEDULER_H */

mercurial