Mon, 03 Oct 2022 21:54:51 -0500
Pass the PurpleProtocol objects to all methods of the class
Previously login, close, and status_types weren't passed the PurpleProtocol
object, this fixes that so that these methods fit the normal pattern for
GObjects and it might handy in the future for other protocols.
Testing Done:
Compiled
Reviewed at https://reviews.imfreedom.org/r/1883/
| 36560 | 1 | /* |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
2 | * Purple - Internet Messaging Library |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
3 | * Copyright (C) Pidgin Developers <devel@pidgin.im> |
| 36560 | 4 | * |
| 5 | * Purple is the legal property of its developers, whose names are too numerous | |
| 6 | * to list here. Please refer to the COPYRIGHT file distributed with this | |
| 7 | * source distribution. | |
| 8 | * | |
| 9 | * This program is free software; you can redistribute it and/or modify | |
| 10 | * it under the terms of the GNU General Public License as published by | |
| 11 | * the Free Software Foundation; either version 2 of the License, or | |
| 12 | * (at your option) any later version. | |
| 13 | * | |
| 14 | * This program is distributed in the hope that it will be useful, | |
| 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 17 | * GNU General Public License for more details. | |
| 18 | * | |
| 19 | * You should have received a copy of the GNU General Public License | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
20 | * along with this program; if not, see <https://www.gnu.org/licenses/>. |
| 36560 | 21 | */ |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
22 | |
|
41155
922c9e70900c
Rename protocol.[ch] to purpleprotocol.[ch]
Gary Kramlich <grim@reaperworld.com>
parents:
41149
diff
changeset
|
23 | #include "purpleprotocol.h" |
| 36560 | 24 | |
|
41181
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
25 | #include "purpleaccountmanager.h" |
|
41007
90d2dee9b3dc
Fix the includes for the purpleenums rename
Gary Kramlich <grim@reaperworld.com>
parents:
40985
diff
changeset
|
26 | #include "purpleenums.h" |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
27 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
28 | enum { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
29 | PROP_0, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
30 | PROP_ID, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
31 | PROP_NAME, |
|
40985
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
32 | PROP_DESCRIPTION, |
|
41037
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
33 | PROP_ICON_NAME, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
34 | PROP_ICON_SEARCH_PATH, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
35 | PROP_ICON_RESOURCE_PATH, |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
36 | PROP_OPTIONS, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
37 | N_PROPERTIES, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
38 | }; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
39 | static GParamSpec *properties[N_PROPERTIES] = { NULL, }; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
40 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
41 | typedef struct { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
42 | gchar *id; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
43 | gchar *name; |
|
40985
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
44 | gchar *description; |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
45 | |
|
41037
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
46 | gchar *icon_name; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
47 | gchar *icon_search_path; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
48 | gchar *icon_resource_path; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
49 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
50 | PurpleProtocolOptions options; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
51 | } PurpleProtocolPrivate; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
52 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
53 | G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE(PurpleProtocol, purple_protocol, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
54 | G_TYPE_OBJECT) |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
55 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
56 | /****************************************************************************** |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
57 | * Helpers |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
58 | *****************************************************************************/ |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
59 | static void |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
60 | purple_protocol_set_id(PurpleProtocol *protocol, const gchar *id) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
61 | PurpleProtocolPrivate *priv = NULL; |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
62 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
63 | priv = purple_protocol_get_instance_private(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
64 | g_free(priv->id); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
65 | priv->id = g_strdup(id); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
66 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
67 | g_object_notify_by_pspec(G_OBJECT(protocol), properties[PROP_ID]); |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
68 | } |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
69 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
70 | static void |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
71 | purple_protocol_set_name(PurpleProtocol *protocol, const gchar *name) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
72 | PurpleProtocolPrivate *priv = NULL; |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
73 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
74 | priv = purple_protocol_get_instance_private(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
75 | g_free(priv->name); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
76 | priv->name = g_strdup(name); |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
77 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
78 | g_object_notify_by_pspec(G_OBJECT(protocol), properties[PROP_NAME]); |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
79 | } |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
80 | |
|
36686
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36681
diff
changeset
|
81 | static void |
|
40985
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
82 | purple_protocol_set_description(PurpleProtocol *protocol, const gchar *description) { |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
83 | PurpleProtocolPrivate *priv = NULL; |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
84 | |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
85 | priv = purple_protocol_get_instance_private(protocol); |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
86 | g_free(priv->description); |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
87 | priv->description = g_strdup(description); |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
88 | |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
89 | g_object_notify_by_pspec(G_OBJECT(protocol), properties[PROP_DESCRIPTION]); |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
90 | } |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
91 | |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
92 | static void |
|
41037
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
93 | purple_protocol_set_icon_name(PurpleProtocol *protocol, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
94 | const gchar *icon_name) |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
95 | { |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
96 | PurpleProtocolPrivate *priv = NULL; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
97 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
98 | priv = purple_protocol_get_instance_private(protocol); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
99 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
100 | g_free(priv->icon_name); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
101 | priv->icon_name = g_strdup(icon_name); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
102 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
103 | g_object_notify_by_pspec(G_OBJECT(protocol), properties[PROP_ICON_NAME]); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
104 | } |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
105 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
106 | static void |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
107 | purple_protocol_set_icon_search_path(PurpleProtocol *protocol, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
108 | const gchar *path) |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
109 | { |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
110 | PurpleProtocolPrivate *priv = NULL; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
111 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
112 | priv = purple_protocol_get_instance_private(protocol); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
113 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
114 | g_free(priv->icon_search_path); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
115 | priv->icon_search_path = g_strdup(path); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
116 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
117 | g_object_notify_by_pspec(G_OBJECT(protocol), |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
118 | properties[PROP_ICON_SEARCH_PATH]); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
119 | } |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
120 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
121 | static void |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
122 | purple_protocol_set_icon_resource_path(PurpleProtocol *protocol, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
123 | const gchar *path) |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
124 | { |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
125 | PurpleProtocolPrivate *priv = NULL; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
126 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
127 | priv = purple_protocol_get_instance_private(protocol); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
128 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
129 | g_free(priv->icon_resource_path); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
130 | priv->icon_resource_path = g_strdup(path); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
131 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
132 | g_object_notify_by_pspec(G_OBJECT(protocol), |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
133 | properties[PROP_ICON_RESOURCE_PATH]); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
134 | } |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
135 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
136 | static void |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
137 | purple_protocol_set_options(PurpleProtocol *protocol, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
138 | PurpleProtocolOptions options) |
|
36686
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36681
diff
changeset
|
139 | { |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
140 | PurpleProtocolPrivate *priv = NULL; |
|
36686
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36681
diff
changeset
|
141 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
142 | priv = purple_protocol_get_instance_private(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
143 | priv->options = options; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
144 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
145 | g_object_notify_by_pspec(G_OBJECT(protocol), properties[PROP_OPTIONS]); |
|
36686
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36681
diff
changeset
|
146 | } |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36681
diff
changeset
|
147 | |
|
41181
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
148 | static void |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
149 | purple_protocol_foreach_account_disconnect(PurpleAccount *account, |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
150 | gpointer data) |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
151 | { |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
152 | const gchar *protocol_id = (const gchar *)data; |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
153 | |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
154 | /* I'm not sure that we can finalize a protocol plugin if an account is |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
155 | * still using it.. Right now accounts don't ref protocols, but maybe |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
156 | * they should? |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
157 | */ |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
158 | if(purple_account_is_disconnected(account)) { |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
159 | return; |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
160 | } |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
161 | |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
162 | if(purple_strequal(protocol_id, purple_account_get_protocol_id(account))) { |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
163 | purple_account_disconnect(account); |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
164 | } |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
165 | } |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
166 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
167 | /****************************************************************************** |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
168 | * GObject Implementation |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
169 | *****************************************************************************/ |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
170 | static void |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
171 | purple_protocol_get_property(GObject *obj, guint param_id, GValue *value, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
172 | GParamSpec *pspec) |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
173 | { |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
174 | PurpleProtocol *protocol = PURPLE_PROTOCOL(obj); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
175 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
176 | switch(param_id) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
177 | case PROP_ID: |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
178 | g_value_set_string(value, purple_protocol_get_id(protocol)); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
179 | break; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
180 | case PROP_NAME: |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
181 | g_value_set_string(value, purple_protocol_get_name(protocol)); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
182 | break; |
|
40985
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
183 | case PROP_DESCRIPTION: |
|
41037
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
184 | g_value_set_string(value, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
185 | purple_protocol_get_description(protocol)); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
186 | break; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
187 | case PROP_ICON_NAME: |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
188 | g_value_set_string(value, purple_protocol_get_icon_name(protocol)); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
189 | break; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
190 | case PROP_ICON_SEARCH_PATH: |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
191 | g_value_set_string(value, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
192 | purple_protocol_get_icon_search_path(protocol)); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
193 | break; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
194 | case PROP_ICON_RESOURCE_PATH: |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
195 | g_value_set_string(value, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
196 | purple_protocol_get_icon_resource_path(protocol)); |
|
40985
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
197 | break; |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
198 | case PROP_OPTIONS: |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
199 | g_value_set_flags(value, purple_protocol_get_options(protocol)); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
200 | break; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
201 | default: |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
202 | G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
203 | break; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
204 | } |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
205 | } |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
206 | |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
207 | static void |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
208 | purple_protocol_set_property(GObject *obj, guint param_id, const GValue *value, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
209 | GParamSpec *pspec) |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
210 | { |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
211 | PurpleProtocol *protocol = PURPLE_PROTOCOL(obj); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
212 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
213 | switch(param_id) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
214 | case PROP_ID: |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
215 | purple_protocol_set_id(protocol, g_value_get_string(value)); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
216 | break; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
217 | case PROP_NAME: |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
218 | purple_protocol_set_name(protocol, g_value_get_string(value)); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
219 | break; |
|
40985
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
220 | case PROP_DESCRIPTION: |
|
41037
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
221 | purple_protocol_set_description(protocol, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
222 | g_value_get_string(value)); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
223 | break; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
224 | case PROP_ICON_NAME: |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
225 | purple_protocol_set_icon_name(protocol, g_value_get_string(value)); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
226 | break; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
227 | case PROP_ICON_SEARCH_PATH: |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
228 | purple_protocol_set_icon_search_path(protocol, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
229 | g_value_get_string(value)); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
230 | break; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
231 | case PROP_ICON_RESOURCE_PATH: |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
232 | purple_protocol_set_icon_resource_path(protocol, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
233 | g_value_get_string(value)); |
|
40985
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
234 | break; |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
235 | case PROP_OPTIONS: |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
236 | purple_protocol_set_options(protocol, g_value_get_flags(value)); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
237 | break; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
238 | default: |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
239 | G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
240 | break; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
241 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
242 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
243 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
244 | static void |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
245 | purple_protocol_init(PurpleProtocol *protocol) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
246 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
247 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
248 | static void |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
249 | purple_protocol_finalize(GObject *object) { |
|
41181
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
250 | PurpleAccountManager *manager = purple_account_manager_get_default(); |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
251 | PurpleProtocol *protocol = PURPLE_PROTOCOL(object); |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
252 | PurpleProtocolPrivate *priv = NULL; |
|
36681
9c38716c8eb7
Moved protocol class members to instance. Protocol definitions now require *_init, *_class_init instead of *_base_init.
Ankit Vani <a@nevitus.org>
parents:
36637
diff
changeset
|
253 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
254 | priv = purple_protocol_get_instance_private(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
255 | |
|
41181
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
256 | purple_account_manager_foreach(manager, |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
257 | purple_protocol_foreach_account_disconnect, |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
258 | priv->id); |
|
e859c41d8996
Create the PurpleAccountManager API
Gary Kramlich <grim@reaperworld.com>
parents:
41155
diff
changeset
|
259 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
260 | g_clear_pointer(&priv->id, g_free); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
261 | g_clear_pointer(&priv->name, g_free); |
|
40985
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
262 | g_clear_pointer(&priv->description, g_free); |
|
41149
c357390f7c22
Fix a number of memory leaks
Gary Kramlich <grim@reaperworld.com>
parents:
41137
diff
changeset
|
263 | g_clear_pointer(&priv->icon_name, g_free); |
|
c357390f7c22
Fix a number of memory leaks
Gary Kramlich <grim@reaperworld.com>
parents:
41137
diff
changeset
|
264 | g_clear_pointer(&priv->icon_search_path, g_free); |
|
c357390f7c22
Fix a number of memory leaks
Gary Kramlich <grim@reaperworld.com>
parents:
41137
diff
changeset
|
265 | g_clear_pointer(&priv->icon_resource_path, g_free); |
|
c357390f7c22
Fix a number of memory leaks
Gary Kramlich <grim@reaperworld.com>
parents:
41137
diff
changeset
|
266 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
267 | /* these seem to be fallbacks if the subclass protocol doesn't do it's own |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
268 | * clean up? I kind of want to delete them... - gk 2021-03-03 |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
269 | */ |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
270 | purple_request_close_with_handle(protocol); |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
271 | purple_notify_close_with_handle(protocol); |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
272 | |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
273 | purple_signals_disconnect_by_handle(protocol); |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
274 | purple_signals_unregister_by_instance(protocol); |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
275 | |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
276 | purple_prefs_disconnect_by_handle(protocol); |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
277 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
278 | G_OBJECT_CLASS(purple_protocol_parent_class)->finalize(object); |
|
36681
9c38716c8eb7
Moved protocol class members to instance. Protocol definitions now require *_init, *_class_init instead of *_base_init.
Ankit Vani <a@nevitus.org>
parents:
36637
diff
changeset
|
279 | } |
|
9c38716c8eb7
Moved protocol class members to instance. Protocol definitions now require *_init, *_class_init instead of *_base_init.
Ankit Vani <a@nevitus.org>
parents:
36637
diff
changeset
|
280 | |
|
9c38716c8eb7
Moved protocol class members to instance. Protocol definitions now require *_init, *_class_init instead of *_base_init.
Ankit Vani <a@nevitus.org>
parents:
36637
diff
changeset
|
281 | static void |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
282 | purple_protocol_class_init(PurpleProtocolClass *klass) { |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
283 | GObjectClass *obj_class = G_OBJECT_CLASS(klass); |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
284 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
285 | obj_class->get_property = purple_protocol_get_property; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
286 | obj_class->set_property = purple_protocol_set_property; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
287 | obj_class->finalize = purple_protocol_finalize; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
288 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
289 | /** |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
290 | * PurpleProtocol::id: |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
291 | * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
292 | * The identifier for the protocol. |
|
41037
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
293 | * |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
294 | * Since: 3.0.0 |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
295 | */ |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
296 | properties[PROP_ID] = g_param_spec_string( |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
297 | "id", "id", |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
298 | "The identifier for the protocol", |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
299 | NULL, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
300 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
301 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
302 | /** |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
303 | * PurpleProtocol::name: |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
304 | * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
305 | * The name to show in user interface for the protocol. |
|
41037
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
306 | * |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
307 | * Since: 3.0.0 |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
308 | */ |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
309 | properties[PROP_NAME] = g_param_spec_string( |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
310 | "name", "name", |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
311 | "The name of the protocol to show in the user interface", |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
312 | NULL, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
313 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
314 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
315 | /** |
|
40985
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
316 | * PurpleProtocol::description: |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
317 | * |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
318 | * The description to show in user interface for the protocol. |
|
41037
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
319 | * |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
320 | * Since: 3.0.0 |
|
40985
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
321 | */ |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
322 | properties[PROP_DESCRIPTION] = g_param_spec_string( |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
323 | "description", "description", |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
324 | "The description of the protocol to show in the user interface", |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
325 | NULL, |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
326 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
327 | |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
328 | /** |
|
41037
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
329 | * PurpleProtocol::icon-name: |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
330 | * |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
331 | * The name of an icon that has been installed to either the path specified |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
332 | * via PurpleProtocol::icon-search-path or |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
333 | * PurpleProtocol::icon-resource-path. |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
334 | * |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
335 | * Since: 3.0.0 |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
336 | */ |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
337 | properties[PROP_ICON_NAME] = g_param_spec_string( |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
338 | "icon-name", "icon-name", |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
339 | "The name of the XDG icon.", |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
340 | NULL, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
341 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
342 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
343 | /** |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
344 | * PurpleProtocol::icon-search-path: |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
345 | * |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
346 | * The path to an XDG Icon Theme directory which contains the icons for the |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
347 | * protocol. See purple_protocol_get_icon_search_path() for more |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
348 | * information. |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
349 | * |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
350 | * Since: 3.0.0 |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
351 | */ |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
352 | properties[PROP_ICON_SEARCH_PATH] = g_param_spec_string( |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
353 | "icon-search-path", "icon-search-path", |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
354 | "The path to an XDG Icon Theme directory.", |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
355 | NULL, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
356 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
357 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
358 | /** |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
359 | * PurpleProtocol::icon-resource-path: |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
360 | * |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
361 | * A #GResource path which contains the icons for the protocol. See |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
362 | * purple_protocol_get_icon_resource_path() for more information. |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
363 | * |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
364 | * Since: 3.0.0 |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
365 | */ |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
366 | properties[PROP_ICON_RESOURCE_PATH] = g_param_spec_string( |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
367 | "icon-resource-path", "icon-resource-path", |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
368 | "The GResource path to the icons.", |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
369 | NULL, |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
370 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
371 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
372 | /** |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
373 | * PurpleProtocol::options: |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
374 | * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
375 | * The #PurpleProtocolOptions for the protocol. |
|
41037
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
376 | * |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
377 | * Since: 3.0.0 |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
378 | */ |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
379 | properties[PROP_OPTIONS] = g_param_spec_flags( |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
380 | "options", "options", |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
381 | "The options for the protocol", |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
382 | PURPLE_TYPE_PROTOCOL_OPTIONS, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
383 | 0, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
384 | G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
385 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
386 | g_object_class_install_properties(obj_class, N_PROPERTIES, properties); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
387 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
388 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
389 | /****************************************************************************** |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
390 | * Public API |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
391 | *****************************************************************************/ |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
392 | const gchar * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
393 | purple_protocol_get_id(PurpleProtocol *protocol) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
394 | PurpleProtocolPrivate *priv = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
395 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
396 | g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
397 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
398 | priv = purple_protocol_get_instance_private(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
399 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
400 | return priv->id; |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
401 | } |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
402 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
403 | const gchar * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
404 | purple_protocol_get_name(PurpleProtocol *protocol) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
405 | PurpleProtocolPrivate *priv = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
406 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
407 | g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
408 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
409 | priv = purple_protocol_get_instance_private(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
410 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
411 | return priv->name; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
412 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
413 | |
|
40985
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
414 | const gchar * |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
415 | purple_protocol_get_description(PurpleProtocol *protocol) { |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
416 | PurpleProtocolPrivate *priv = NULL; |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
417 | |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
418 | g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL); |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
419 | |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
420 | priv = purple_protocol_get_instance_private(protocol); |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
421 | |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
422 | return priv->description; |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
423 | } |
|
ddc26be7f597
Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents:
40813
diff
changeset
|
424 | |
|
41037
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
425 | const gchar * |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
426 | purple_protocol_get_icon_name(PurpleProtocol *protocol) { |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
427 | PurpleProtocolPrivate *priv = NULL; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
428 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
429 | g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
430 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
431 | priv = purple_protocol_get_instance_private(protocol); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
432 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
433 | return priv->icon_name; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
434 | } |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
435 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
436 | const gchar * |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
437 | purple_protocol_get_icon_search_path(PurpleProtocol *protocol) { |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
438 | PurpleProtocolPrivate *priv = NULL; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
439 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
440 | g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
441 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
442 | priv = purple_protocol_get_instance_private(protocol); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
443 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
444 | return priv->icon_search_path; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
445 | } |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
446 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
447 | const gchar * |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
448 | purple_protocol_get_icon_resource_path(PurpleProtocol *protocol) { |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
449 | PurpleProtocolPrivate *priv = NULL; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
450 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
451 | g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
452 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
453 | priv = purple_protocol_get_instance_private(protocol); |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
454 | |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
455 | return priv->icon_resource_path; |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
456 | } |
|
c2043b9692f6
Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
41007
diff
changeset
|
457 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
458 | PurpleProtocolOptions |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
459 | purple_protocol_get_options(PurpleProtocol *protocol) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
460 | PurpleProtocolPrivate *priv = NULL; |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
461 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
462 | g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), 0); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
463 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
464 | priv = purple_protocol_get_instance_private(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
465 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
466 | return priv->options; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
467 | } |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
468 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
469 | GList * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
470 | purple_protocol_get_user_splits(PurpleProtocol *protocol) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
471 | PurpleProtocolClass *klass = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
472 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
473 | g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
474 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
475 | klass = PURPLE_PROTOCOL_GET_CLASS(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
476 | if(klass != NULL && klass->get_user_splits != NULL) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
477 | return klass->get_user_splits(protocol); |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
478 | } |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
479 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
480 | return NULL; |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
481 | } |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
482 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
483 | GList * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
484 | purple_protocol_get_account_options(PurpleProtocol *protocol) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
485 | PurpleProtocolClass *klass = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
486 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
487 | g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
488 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
489 | klass = PURPLE_PROTOCOL_GET_CLASS(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
490 | if(klass != NULL && klass->get_account_options != NULL) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
491 | return klass->get_account_options(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
492 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
493 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
494 | return NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
495 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
496 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
497 | PurpleBuddyIconSpec * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
498 | purple_protocol_get_icon_spec(PurpleProtocol *protocol) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
499 | PurpleProtocolClass *klass = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
500 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
501 | g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL); |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
502 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
503 | klass = PURPLE_PROTOCOL_GET_CLASS(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
504 | if(klass != NULL && klass->get_buddy_icon_spec != NULL) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
505 | return klass->get_buddy_icon_spec(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
506 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
507 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
508 | return NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
509 | } |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
510 | |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
511 | PurpleWhiteboardOps * |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
512 | purple_protocol_get_whiteboard_ops(PurpleProtocol *protocol) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
513 | PurpleProtocolClass *klass = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
514 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
515 | g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
516 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
517 | klass = PURPLE_PROTOCOL_GET_CLASS(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
518 | if(klass != NULL && klass->get_whiteboard_ops != NULL) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
519 | return klass->get_whiteboard_ops(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
520 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
521 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
522 | return NULL; |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
523 | } |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
524 | |
|
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36560
diff
changeset
|
525 | void |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
526 | purple_protocol_login(PurpleProtocol *protocol, PurpleAccount *account) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
527 | PurpleProtocolClass *klass = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
528 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
529 | g_return_if_fail(PURPLE_IS_PROTOCOL(protocol)); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
530 | g_return_if_fail(PURPLE_IS_ACCOUNT(account)); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
531 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
532 | klass = PURPLE_PROTOCOL_GET_CLASS(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
533 | if(klass != NULL && klass->login != NULL) { |
|
41775
82c861678f39
Pass the PurpleProtocol objects to all methods of the class
Gary Kramlich <grim@reaperworld.com>
parents:
41679
diff
changeset
|
534 | klass->login(protocol, account); |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
535 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
536 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
537 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
538 | void |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
539 | purple_protocol_close(PurpleProtocol *protocol, PurpleConnection *gc) { |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
540 | PurpleProtocolClass *klass = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
541 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
542 | g_return_if_fail(PURPLE_IS_PROTOCOL(protocol)); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
543 | g_return_if_fail(PURPLE_IS_CONNECTION(gc)); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
544 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
545 | klass = PURPLE_PROTOCOL_GET_CLASS(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
546 | if(klass != NULL && klass->close != NULL) { |
|
41775
82c861678f39
Pass the PurpleProtocol objects to all methods of the class
Gary Kramlich <grim@reaperworld.com>
parents:
41679
diff
changeset
|
547 | klass->close(protocol, gc); |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
548 | } |
|
36722
49872e1ec30e
Defined the new interface functions
Ankit Vani <a@nevitus.org>
parents:
36719
diff
changeset
|
549 | } |
|
49872e1ec30e
Defined the new interface functions
Ankit Vani <a@nevitus.org>
parents:
36719
diff
changeset
|
550 | |
|
49872e1ec30e
Defined the new interface functions
Ankit Vani <a@nevitus.org>
parents:
36719
diff
changeset
|
551 | GList * |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
552 | purple_protocol_get_status_types(PurpleProtocol *protocol, |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
553 | PurpleAccount *account) |
|
36722
49872e1ec30e
Defined the new interface functions
Ankit Vani <a@nevitus.org>
parents:
36719
diff
changeset
|
554 | { |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
555 | PurpleProtocolClass *klass = NULL; |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
556 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
557 | g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
558 | g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), NULL); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
559 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
560 | klass = PURPLE_PROTOCOL_GET_CLASS(protocol); |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
561 | if(klass != NULL && klass->status_types != NULL) { |
|
41775
82c861678f39
Pass the PurpleProtocol objects to all methods of the class
Gary Kramlich <grim@reaperworld.com>
parents:
41679
diff
changeset
|
562 | return klass->status_types(protocol, account); |
|
40813
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
563 | } |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
564 | |
|
71305a7d7423
Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents:
40708
diff
changeset
|
565 | return NULL; |
|
36722
49872e1ec30e
Defined the new interface functions
Ankit Vani <a@nevitus.org>
parents:
36719
diff
changeset
|
566 | } |