Mercurial > pidgin.yaz
annotate libpurple/theme-loader.h @ 27109:fdc0035bea5a
Change the way we parse messages on MySpace a little bit. This
fixes #8846: people using web myspaceIM can't respond to pidgin myspaceIM
For some reason IMs send using the myspace web site are sent so that
they won't become offline messages if the other person is offline.
I'm not really sure why that decision was made.
So now we treat messages with bm 1 the same as messages with bm 121. This means
we have to combine the function that parses out typing notification with
the function that parses IMs. And we check for typing notifications by
looking for %typing%. Which means if someone sends the IM "%typing%" with
no markup then we'll interpret it as a typing notification. And there's
nothing we can do to differentiate between the two. I asked.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 04 Jun 2009 05:19:49 +0000 |
parents | b1c8ffbd48f9 |
children | a444fe876e52 |
rev | line source |
---|---|
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
1 /** |
23459
c1cabd5eb625
Added skeleton (non-working) sound loader class
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23452
diff
changeset
|
2 * @file theme-loader.h Purple Theme Loader Abstact Class API |
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
3 */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
4 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
5 /* purple |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
6 * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
7 * Purple is the legal property of its developers, whose names are too numerous |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
8 * to list here. Please refer to the COPYRIGHT file distributed with this |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
9 * source distribution. |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
10 * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
11 * This program is free software; you can redistribute it and/or modify |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
12 * it under the terms of the GNU General Public License as published by |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
13 * the Free Software Foundation; either version 2 of the License, or |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
14 * (at your option) any later version. |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
15 * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
16 * This program is distributed in the hope that it will be useful, |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
19 * GNU General Public License for more details. |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
20 * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
21 * You should have received a copy of the GNU General Public License |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
22 * along with this program; if not, write to the Free Software |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
23 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
24 */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
25 |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
23701
diff
changeset
|
26 #ifndef PURPLE_THEME_LOADER_H |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
23701
diff
changeset
|
27 #define PURPLE_THEME_LOADER_H |
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
28 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
29 #include <glib.h> |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
30 #include <glib-object.h> |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
31 #include "theme.h" |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
32 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
33 /** |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
34 * A purple theme loader. |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
35 * This is an abstract class for Purple to use with the Purple theme manager. |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
36 * The loader is responsible for building each type of theme |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
37 * |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
38 * PurpleThemeLoader is a GObject. |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
39 */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
40 typedef struct _PurpleThemeLoader PurpleThemeLoader; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
41 typedef struct _PurpleThemeLoaderClass PurpleThemeLoaderClass; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
42 |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
23701
diff
changeset
|
43 #define PURPLE_TYPE_THEME_LOADER (purple_theme_loader_get_type()) |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
23701
diff
changeset
|
44 #define PURPLE_THEME_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_THEME_LOADER, PurpleThemeLoader)) |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
23701
diff
changeset
|
45 #define PURPLE_THEME_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_THEME_LOADER, PurpleThemeLoaderClass)) |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
23701
diff
changeset
|
46 #define PURPLE_IS_THEME_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_THEME_LOADER)) |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
23701
diff
changeset
|
47 #define PURPLE_IS_THEME_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_THEME_LOADER)) |
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
23701
diff
changeset
|
48 #define PURPLE_THEME_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_THEME_LOADER, PurpleThemeLoaderClass)) |
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
49 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
50 struct _PurpleThemeLoader |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
51 { |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
52 GObject parent; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
53 gpointer priv; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
54 }; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
55 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
56 struct _PurpleThemeLoaderClass |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
57 { |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
58 GObjectClass parent_class; |
23701
b37ccfd1697b
Changed PurpleTheme build function to only return PurpleTheme*
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23472
diff
changeset
|
59 PurpleTheme *((*purple_theme_loader_build)(const gchar*)); |
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
60 }; |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
61 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
62 /**************************************************************************/ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
63 /** @name Purple Theme-Loader API */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
64 /**************************************************************************/ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
65 G_BEGIN_DECLS |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
66 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
67 /** |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
68 * GObject foo. |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
69 * @internal. |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
70 */ |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
71 GType purple_theme_loader_get_type(void); |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
72 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
73 /** |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
74 * Returns the string represtenting the type of the theme loader |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
75 * |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
23701
diff
changeset
|
76 * @param self The theme loader |
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
77 * |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
23701
diff
changeset
|
78 * @returns The string represting this type |
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
79 */ |
23472
fbf72bbd1084
Fixed up a few typos, readability, leaks, and bugs, all minor and mostly in theme and theme loader classes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23463
diff
changeset
|
80 const gchar *purple_theme_loader_get_type_string(PurpleThemeLoader *self); |
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
81 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
82 /** |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
83 * Creates a new PurpleTheme |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
84 * |
26751
b1c8ffbd48f9
Fix more `make docs` warnings
Paul Aurich <paul@darkrain42.org>
parents:
25402
diff
changeset
|
85 * @param loader The theme loader |
b1c8ffbd48f9
Fix more `make docs` warnings
Paul Aurich <paul@darkrain42.org>
parents:
25402
diff
changeset
|
86 * @param dir The directory containing the theme |
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
87 * |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
23701
diff
changeset
|
88 * @returns A PurpleTheme containing the information from the directory |
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
89 */ |
23701
b37ccfd1697b
Changed PurpleTheme build function to only return PurpleTheme*
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
23472
diff
changeset
|
90 PurpleTheme *purple_theme_loader_build(PurpleThemeLoader *loader, const gchar *dir); |
23452
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
91 |
68b7691aa3ed
Added theme loader class abstract whose only (current/planned) function is to build themes
Justin Rodriguez <ffdragon@soc.pidgin.im>
parents:
diff
changeset
|
92 G_END_DECLS |
25402
0c7b74fc558e
Lots of minor whitespace and comment changes:
Mark Doliner <mark@kingant.net>
parents:
23701
diff
changeset
|
93 #endif /* PURPLE_THEME_LOADER_H */ |