pidgin/gtkidle.c

Sun, 09 Jul 2017 15:45:21 -0500

author
Mike Ruprecht <cmaiku@gmail.com>
date
Sun, 09 Jul 2017 15:45:21 -0500
changeset 38580
775bba9b53df
parent 38578
c81f0a8301fe
child 38581
4a451e6f3c66
permissions
-rw-r--r--

gtkidle: Add parentheses around defined preprocessor macro argument

This patch adds parentheses around the argument of the defined
preprocessor macro as is conventional.

11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
1 /*
15931
716b5fac1895 Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
2 * pidgin
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
3 *
15931
716b5fac1895 Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents: 15884
diff changeset
4 * Pidgin is the legal property of its developers, whose names are too numerous
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
5 * to list here. Please refer to the COPYRIGHT file distributed with this
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
6 * source distribution.
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
7 *
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
8 * This program is free software; you can redistribute it and/or modify
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
11 * (at your option) any later version.
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
12 *
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful,
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
16 * GNU General Public License for more details.
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
17 *
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
19 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 17129
diff changeset
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
21 *
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
22 */
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
23 #include "internal.h"
12410
98d8abd3db98 [gaim-migrate @ 14717]
Richard Laager <rlaager@pidgin.im>
parents: 12278
diff changeset
24 #include "gtkidle.h"
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
25
13324
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
26 #ifdef HAVE_IOKIT
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
27 # include <CoreFoundation/CoreFoundation.h>
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
28 # include <IOKit/IOKitLib.h>
38580
775bba9b53df gtkidle: Add parentheses around defined preprocessor macro argument
Mike Ruprecht <cmaiku@gmail.com>
parents: 38578
diff changeset
29 #elif defined (_WIN32)
38578
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
30 # include "gtkwin32dep.h"
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
31 #endif
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
32
12272
4eee92ead973 [gaim-migrate @ 14574]
Mark Doliner <markdoliner@pidgin.im>
parents: 12252
diff changeset
33 #include "idle.h"
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
34
38578
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
35 #if !defined(HAVE_IOKIT) && !defined(_WIN32)
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
36 typedef struct {
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
37 gchar *bus_name;
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
38 gchar *object_path;
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
39 gchar *iface_name;
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
40 } PidginDBusScreenSaverInfo;
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
41
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
42 static const PidginDBusScreenSaverInfo screensavers[] = {
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
43 {
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
44 "org.freedesktop.ScreenSaver",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
45 "/org/freedesktop/ScreenSaver",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
46 "org.freedesktop.ScreenSaver"
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
47 }, {
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
48 "org.gnome.ScreenSaver",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
49 "/org/gnome/ScreenSaver",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
50 "org.gnome.ScreenSaver"
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
51 }, {
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
52 "org.kde.ScreenSaver",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
53 "/org/kde/ScreenSaver",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
54 "org.kde.ScreenSaver"
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
55 },
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
56 { NULL, NULL, NULL}
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
57 };
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
58 #endif /* !HAVE_IOKIT && !_WIN32 */
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
59
35455
216a37403c5b Fix a bunch of gtk-doc warnings in pidgin
Ankit Vani <a@nevitus.org>
parents: 32917
diff changeset
60 /*
216a37403c5b Fix a bunch of gtk-doc warnings in pidgin
Ankit Vani <a@nevitus.org>
parents: 32917
diff changeset
61 * pidgin_get_time_idle:
216a37403c5b Fix a bunch of gtk-doc warnings in pidgin
Ankit Vani <a@nevitus.org>
parents: 32917
diff changeset
62 *
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
63 * Get the number of seconds the user has been idle. In Unix-world
38578
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
64 * this is based on the DBus ScreenSaver interfaces. In MS Windows this
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
65 * is based on keyboard/mouse usage information obtained from the OS.
13324
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
66 * In MacOS X, this is based on keyboard/mouse usage information
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
67 * obtained from the OS, if configure detected IOKit. Otherwise,
38578
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
68 * MacOS X is handled as a case of Unix.
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
69 *
35455
216a37403c5b Fix a bunch of gtk-doc warnings in pidgin
Ankit Vani <a@nevitus.org>
parents: 32917
diff changeset
70 * Returns: The number of seconds the user has been idle.
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
71 */
12272
4eee92ead973 [gaim-migrate @ 14574]
Mark Doliner <markdoliner@pidgin.im>
parents: 12252
diff changeset
72 static time_t
22104
56970903b8e9 Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents: 19859
diff changeset
73 pidgin_get_time_idle(void)
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
74 {
13324
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
75 # ifdef HAVE_IOKIT
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
76 /* Query the IOKit API */
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
77
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
78 static io_service_t macIOsrvc = NULL;
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
79 CFTypeRef property;
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
80 uint64_t idle_time = 0; /* nanoseconds */
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
81
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
82 if (macIOsrvc == NULL)
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
83 {
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
84 mach_port_t master;
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
85 IOMasterPort(MACH_PORT_NULL, &master);
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
86 macIOsrvc = IOServiceGetMatchingService(master,
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
87 IOServiceMatching("IOHIDSystem"));
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
88 }
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
89
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
90 property = IORegistryEntryCreateCFProperty(macIOsrvc, CFSTR("HIDIdleTime"),
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
91 kCFAllocatorDefault, 0);
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
92 CFNumberGetValue((CFNumberRef)property,
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
93 kCFNumberSInt64Type, &idle_time);
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
94 CFRelease(property);
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
95
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
96 /* convert nanoseconds to seconds */
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
97 return idle_time / 1000000000;
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
98 # else
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
99 # ifdef _WIN32
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
100 /* Query Windows */
15574
18d9d1c05994 Win32 de-gaimification of pidgin
Daniel Atallah <datallah@pidgin.im>
parents: 15562
diff changeset
101 return (GetTickCount() - winpidgin_get_lastactive()) / 1000;
13324
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
102 # else
38578
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
103 static const PidginDBusScreenSaverInfo *info = screensavers;
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
104 GApplication *app;
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
105 GDBusConnection *conn;
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
106 GVariant *reply = NULL;
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
107 guint32 active_time = 0;
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
108 GError *error = NULL;
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
109
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
110 app = g_application_get_default();
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
111
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
112 if (app == NULL) {
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
113 purple_debug_error("gtkidle",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
114 "Unable to retrieve GApplication");
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
115 return 0;
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
116 }
13324
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
117
38578
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
118 conn = g_application_get_dbus_connection(app);
17129
0d4fb3e148bb Part of a patch from:
Richard Laager <rlaager@pidgin.im>
parents: 16752
diff changeset
119
38578
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
120 if (conn == NULL) {
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
121 purple_debug_misc("gtkidle",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
122 "GApplication lacking DBus connection. "
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
123 "Skip checking ScreenSaver interface");
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
124 return 0;
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
125 }
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
126
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
127 while (reply == NULL && info->bus_name != NULL) {
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
128 reply = g_dbus_connection_call_sync(conn,
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
129 info->bus_name, info->object_path,
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
130 info->iface_name, "GetActiveTime",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
131 NULL, G_VARIANT_TYPE("(u)"),
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
132 G_DBUS_CALL_FLAGS_NO_AUTO_START, 1000,
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
133 NULL, &error);
17129
0d4fb3e148bb Part of a patch from:
Richard Laager <rlaager@pidgin.im>
parents: 16752
diff changeset
134
38578
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
135 if (reply != NULL) {
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
136 break;
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
137 }
17129
0d4fb3e148bb Part of a patch from:
Richard Laager <rlaager@pidgin.im>
parents: 16752
diff changeset
138
38578
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
139 if (g_error_matches(error, G_DBUS_ERROR,
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
140 G_DBUS_ERROR_NOT_SUPPORTED)) {
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
141 purple_debug_info("gtkidle",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
142 "Querying idle time on '%s' "
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
143 "unsupported. Trying the next one",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
144 info->bus_name);
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
145 } else if (g_error_matches(error, G_DBUS_ERROR,
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
146 G_DBUS_ERROR_NAME_HAS_NO_OWNER)) {
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
147 purple_debug_info("gtkidle",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
148 "Querying idle time on '%s' "
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
149 "not found. Trying the next one",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
150 info->bus_name);
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
151 } else {
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
152 purple_debug_error("gtkidle",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
153 "Querying idle time on '%s' "
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
154 "error: %s", info->bus_name,
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
155 error->message);
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
156 }
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
157
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
158 g_clear_error(&error);
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
159 ++info;
17129
0d4fb3e148bb Part of a patch from:
Richard Laager <rlaager@pidgin.im>
parents: 16752
diff changeset
160 }
38578
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
161
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
162 if (reply == NULL) {
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
163 purple_debug_warning("gtkidle",
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
164 "Failed to query ScreenSaver active time: "
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
165 "No working ScreenSaver interfaces");
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
166 return 0;
38578
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
167 }
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
168
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
169 g_variant_get(reply, "(u)", &active_time);
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
170 g_variant_unref(reply);
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
171
c81f0a8301fe gtkidle: Port XScreensaver to DBus ScreenSaver interfaces
Mike Ruprecht <cmaiku@gmail.com>
parents: 35455
diff changeset
172 return active_time;
13324
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
173 # endif /* !_WIN32 */
8ff1c408ef3e [gaim-migrate @ 15693]
Richard Laager <rlaager@pidgin.im>
parents: 12410
diff changeset
174 # endif /* !HAVE_IOKIT */
12278
21bcbadf956d [gaim-migrate @ 14582]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12272
diff changeset
175 }
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
176
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15574
diff changeset
177 static PurpleIdleUiOps ui_ops =
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
178 {
16752
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 15931
diff changeset
179 pidgin_get_time_idle,
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 15931
diff changeset
180 NULL,
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 15931
diff changeset
181 NULL,
e6bcb1628c57 Patch from John 'rekkanoryo' Bailey to add the padding struct members in pidgin
Gary Kramlich <grim@reaperworld.com>
parents: 15931
diff changeset
182 NULL,
12278
21bcbadf956d [gaim-migrate @ 14582]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12272
diff changeset
183 NULL
12272
4eee92ead973 [gaim-migrate @ 14574]
Mark Doliner <markdoliner@pidgin.im>
parents: 12252
diff changeset
184 };
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
185
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15574
diff changeset
186 PurpleIdleUiOps *
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15435
diff changeset
187 pidgin_idle_get_ui_ops()
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
188 {
12272
4eee92ead973 [gaim-migrate @ 14574]
Mark Doliner <markdoliner@pidgin.im>
parents: 12252
diff changeset
189 return &ui_ops;
11907
de3ea77afe3c [gaim-migrate @ 14198]
Evan Schoenberg <evands@pidgin.im>
parents:
diff changeset
190 }

mercurial