libpurple/purpleprotocol.c

Tue, 12 Dec 2023 03:51:53 -0600

author
Elliott Sales de Andrade <quantum.analyst@gmail.com>
date
Tue, 12 Dec 2023 03:51:53 -0600
changeset 42548
04a97e6730d2
parent 42303
52c26807d91a
child 42557
e868bfcc092a
permissions
-rw-r--r--

Fix typos on Since tags

These tags are not sentences.

Testing Done:
Built docs.

Reviewed at https://reviews.imfreedom.org/r/2878/

36560
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
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
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
4 *
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
5 * Purple is the legal property of its developers, whose names are too numerous
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
6 * to list here. Please refer to the COPYRIGHT file distributed with this
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
7 * source distribution.
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
8 *
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
9 * This program is free software; you can redistribute it and/or modify
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
10 * it under the terms of the GNU General Public License as published by
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
12 * (at your option) any later version.
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
13 *
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
14 * This program is distributed in the hope that it will be useful,
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
17 * GNU General Public License for more details.
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
18 *
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
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
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
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
59acaa1605f4 Added protocol.c and protocols.h
Ankit Vani <a@nevitus.org>
parents:
diff changeset
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
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
148 /******************************************************************************
41869
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
149 * PurpleProtocol Implementation
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
150 *****************************************************************************/
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
151 static PurpleConnection *
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
152 purple_protocol_default_create_connection(PurpleProtocol *protocol,
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
153 PurpleAccount *account,
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
154 const char *password,
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
155 G_GNUC_UNUSED GError **error)
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
156 {
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
157 return g_object_new(
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
158 PURPLE_TYPE_CONNECTION,
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
159 "protocol", protocol,
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
160 "account", account,
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
161 "password", password,
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
162 NULL);
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
163 }
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
164
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
165 /******************************************************************************
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
166 * GObject Implementation
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
167 *****************************************************************************/
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
168 static void
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
169 purple_protocol_get_property(GObject *obj, guint param_id, GValue *value,
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
170 GParamSpec *pspec)
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
171 {
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
172 PurpleProtocol *protocol = PURPLE_PROTOCOL(obj);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
173
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
174 switch(param_id) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
175 case PROP_ID:
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
176 g_value_set_string(value, purple_protocol_get_id(protocol));
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
177 break;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
178 case PROP_NAME:
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
179 g_value_set_string(value, purple_protocol_get_name(protocol));
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
180 break;
40985
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
181 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
182 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
183 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
184 break;
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
185 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
186 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
187 break;
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
188 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
189 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
190 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
191 break;
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
192 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
193 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
194 purple_protocol_get_icon_resource_path(protocol));
40985
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
195 break;
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
196 case PROP_OPTIONS:
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
197 g_value_set_flags(value, purple_protocol_get_options(protocol));
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
198 break;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
199 default:
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
200 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
201 break;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
202 }
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
203 }
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
204
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
205 static void
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
206 purple_protocol_set_property(GObject *obj, guint param_id, const GValue *value,
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
207 GParamSpec *pspec)
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
208 {
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
209 PurpleProtocol *protocol = PURPLE_PROTOCOL(obj);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
210
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
211 switch(param_id) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
212 case PROP_ID:
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
213 purple_protocol_set_id(protocol, g_value_get_string(value));
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
214 break;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
215 case PROP_NAME:
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
216 purple_protocol_set_name(protocol, g_value_get_string(value));
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
217 break;
40985
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
218 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
219 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
220 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
221 break;
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
222 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
223 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
224 break;
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
225 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
226 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
227 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
228 break;
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
229 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
230 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
231 g_value_get_string(value));
40985
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
232 break;
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
233 case PROP_OPTIONS:
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
234 purple_protocol_set_options(protocol, g_value_get_flags(value));
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
235 break;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
236 default:
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
237 G_OBJECT_WARN_INVALID_PROPERTY_ID(obj, param_id, pspec);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
238 break;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
239 }
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
240 }
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 static void
41960
c8a4853205e3 Bump C standard to C99 for libpurple files and fix warnings
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 41884
diff changeset
243 purple_protocol_init(G_GNUC_UNUSED PurpleProtocol *protocol) {
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
244 }
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
245
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
246 static void
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
247 purple_protocol_finalize(GObject *object) {
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
248 PurpleProtocol *protocol = PURPLE_PROTOCOL(object);
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
249 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
250
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
251 priv = purple_protocol_get_instance_private(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
252
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
253 g_clear_pointer(&priv->id, g_free);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
254 g_clear_pointer(&priv->name, g_free);
40985
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
255 g_clear_pointer(&priv->description, g_free);
41149
c357390f7c22 Fix a number of memory leaks
Gary Kramlich <grim@reaperworld.com>
parents: 41137
diff changeset
256 g_clear_pointer(&priv->icon_name, g_free);
c357390f7c22 Fix a number of memory leaks
Gary Kramlich <grim@reaperworld.com>
parents: 41137
diff changeset
257 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
258 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
259
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
260 /* 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
261 * 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
262 */
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
263 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
264 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
265
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
266 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
267 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
268
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
269 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
270
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
271 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
272 }
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
273
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
274 static void
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
275 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
276 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
277
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
278 obj_class->get_property = purple_protocol_get_property;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
279 obj_class->set_property = purple_protocol_set_property;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
280 obj_class->finalize = purple_protocol_finalize;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
281
41869
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
282 klass->create_connection = purple_protocol_default_create_connection;
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
283
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
284 /**
42303
52c26807d91a Fix a number of issues with the documentation for properties
Gary Kramlich <grim@reaperworld.com>
parents: 42290
diff changeset
285 * PurpleProtocol:id:
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
286 *
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
287 * 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
288 *
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
289 * Since: 3.0.0
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
290 */
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
291 properties[PROP_ID] = g_param_spec_string(
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
292 "id", "id",
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
293 "The identifier for the protocol",
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
294 NULL,
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
295 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
296
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
297 /**
42303
52c26807d91a Fix a number of issues with the documentation for properties
Gary Kramlich <grim@reaperworld.com>
parents: 42290
diff changeset
298 * PurpleProtocol:name:
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
299 *
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
300 * 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
301 *
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
302 * Since: 3.0.0
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
303 */
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
304 properties[PROP_NAME] = g_param_spec_string(
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
305 "name", "name",
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
306 "The name of the protocol to show in the user interface",
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
307 NULL,
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
308 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
309
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
310 /**
42303
52c26807d91a Fix a number of issues with the documentation for properties
Gary Kramlich <grim@reaperworld.com>
parents: 42290
diff changeset
311 * PurpleProtocol:description:
40985
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
312 *
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
313 * 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
314 *
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
315 * Since: 3.0.0
40985
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
316 */
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
317 properties[PROP_DESCRIPTION] = g_param_spec_string(
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
318 "description", "description",
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
319 "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
320 NULL,
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
321 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
322
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
323 /**
42303
52c26807d91a Fix a number of issues with the documentation for properties
Gary Kramlich <grim@reaperworld.com>
parents: 42290
diff changeset
324 * PurpleProtocol:icon-name:
41037
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
325 *
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
326 * 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
327 * 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
328 * 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
329 *
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
330 * 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
331 */
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
332 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
333 "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
334 "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
335 NULL,
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
336 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
337
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
338 /**
42303
52c26807d91a Fix a number of issues with the documentation for properties
Gary Kramlich <grim@reaperworld.com>
parents: 42290
diff changeset
339 * PurpleProtocol:icon-search-path:
41037
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
340 *
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
341 * 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
342 * 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
343 * information.
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
344 *
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
345 * 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
346 */
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
347 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
348 "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
349 "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
350 NULL,
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
351 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
352
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
353 /**
42303
52c26807d91a Fix a number of issues with the documentation for properties
Gary Kramlich <grim@reaperworld.com>
parents: 42290
diff changeset
354 * PurpleProtocol:icon-resource-path:
41037
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
355 *
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
356 * 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
357 * 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
358 *
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
359 * 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
360 */
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
361 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
362 "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
363 "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
364 NULL,
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
365 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
366
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
367 /**
42303
52c26807d91a Fix a number of issues with the documentation for properties
Gary Kramlich <grim@reaperworld.com>
parents: 42290
diff changeset
368 * PurpleProtocol:options:
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
369 *
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
370 * 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
371 *
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
372 * Since: 3.0.0
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
373 */
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
374 properties[PROP_OPTIONS] = g_param_spec_flags(
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
375 "options", "options",
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
376 "The options for the protocol",
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
377 PURPLE_TYPE_PROTOCOL_OPTIONS,
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
378 0,
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
379 G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
380
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
381 g_object_class_install_properties(obj_class, N_PROPERTIES, properties);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
382 }
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
383
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
384 /******************************************************************************
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
385 * Public API
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
386 *****************************************************************************/
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
387 const gchar *
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
388 purple_protocol_get_id(PurpleProtocol *protocol) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
389 PurpleProtocolPrivate *priv = NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
390
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
391 g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
392
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
393 priv = purple_protocol_get_instance_private(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
394
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
395 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
396 }
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
397
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
398 const gchar *
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
399 purple_protocol_get_name(PurpleProtocol *protocol) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
400 PurpleProtocolPrivate *priv = NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
401
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
402 g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
403
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
404 priv = purple_protocol_get_instance_private(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
405
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
406 return priv->name;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
407 }
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
408
40985
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
409 const gchar *
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
410 purple_protocol_get_description(PurpleProtocol *protocol) {
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
411 PurpleProtocolPrivate *priv = NULL;
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
412
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
413 g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL);
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
414
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
415 priv = purple_protocol_get_instance_private(protocol);
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
416
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
417 return priv->description;
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
418 }
ddc26be7f597 Add description to PurpleProtocol
Prateek Pardeshi <prateekpardeshi6@gmail.com>
parents: 40813
diff changeset
419
41037
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
420 const gchar *
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
421 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
422 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
423
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
424 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
425
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
426 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
427
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
428 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
429 }
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 const gchar *
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
432 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
433 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
434
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
435 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
436
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
437 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
438
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
439 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
440 }
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 const gchar *
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
443 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
444 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
445
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
446 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
447
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
448 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
449
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
450 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
451 }
c2043b9692f6 Add icon-name, icon-search-path, and icon-resource-path to PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 41007
diff changeset
452
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
453 PurpleProtocolOptions
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
454 purple_protocol_get_options(PurpleProtocol *protocol) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
455 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
456
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
457 g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), 0);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
458
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
459 priv = purple_protocol_get_instance_private(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
460
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
461 return priv->options;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
462 }
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
463
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
464 GList *
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
465 purple_protocol_get_user_splits(PurpleProtocol *protocol) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
466 PurpleProtocolClass *klass = NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
467
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
468 g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
469
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
470 klass = PURPLE_PROTOCOL_GET_CLASS(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
471 if(klass != NULL && klass->get_user_splits != NULL) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
472 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
473 }
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
474
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
475 return NULL;
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
476 }
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
477
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
478 GList *
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
479 purple_protocol_get_account_options(PurpleProtocol *protocol) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
480 PurpleProtocolClass *klass = NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
481
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
482 g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
483
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
484 klass = PURPLE_PROTOCOL_GET_CLASS(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
485 if(klass != NULL && klass->get_account_options != NULL) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
486 return klass->get_account_options(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
487 }
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 return NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
490 }
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
491
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
492 PurpleBuddyIconSpec *
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
493 purple_protocol_get_icon_spec(PurpleProtocol *protocol) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
494 PurpleProtocolClass *klass = 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 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
497
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
498 klass = PURPLE_PROTOCOL_GET_CLASS(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
499 if(klass != NULL && klass->get_buddy_icon_spec != NULL) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
500 return klass->get_buddy_icon_spec(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
501 }
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
502
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
503 return NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
504 }
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
505
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
506 PurpleWhiteboardOps *
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
507 purple_protocol_get_whiteboard_ops(PurpleProtocol *protocol) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
508 PurpleProtocolClass *klass = NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
509
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
510 g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
511
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
512 klass = PURPLE_PROTOCOL_GET_CLASS(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
513 if(klass != NULL && klass->get_whiteboard_ops != NULL) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
514 return klass->get_whiteboard_ops(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
515 }
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 return NULL;
36617
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
518 }
be16459a68e9 Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents: 36560
diff changeset
519
41814
f8940ebd4eee Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents: 41799
diff changeset
520 void
f8940ebd4eee Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents: 41799
diff changeset
521 purple_protocol_login(PurpleProtocol *protocol, PurpleAccount *account) {
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
522 PurpleProtocolClass *klass = NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
523
41814
f8940ebd4eee Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents: 41799
diff changeset
524 g_return_if_fail(PURPLE_IS_PROTOCOL(protocol));
f8940ebd4eee Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents: 41799
diff changeset
525 g_return_if_fail(PURPLE_IS_ACCOUNT(account));
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
526
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
527 klass = PURPLE_PROTOCOL_GET_CLASS(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
528 if(klass != NULL && klass->login != NULL) {
41814
f8940ebd4eee Back out the PurpleProtocol->login change that returned a PurpleConnection
Gary Kramlich <grim@reaperworld.com>
parents: 41799
diff changeset
529 klass->login(protocol, account);
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
530 }
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
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
533 void
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
534 purple_protocol_close(PurpleProtocol *protocol, PurpleConnection *gc) {
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
535 PurpleProtocolClass *klass = NULL;
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 g_return_if_fail(PURPLE_IS_PROTOCOL(protocol));
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
538 g_return_if_fail(PURPLE_IS_CONNECTION(gc));
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
539
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
540 klass = PURPLE_PROTOCOL_GET_CLASS(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
541 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
542 klass->close(protocol, gc);
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
543 }
36722
49872e1ec30e Defined the new interface functions
Ankit Vani <a@nevitus.org>
parents: 36719
diff changeset
544 }
49872e1ec30e Defined the new interface functions
Ankit Vani <a@nevitus.org>
parents: 36719
diff changeset
545
41884
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
546 void
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
547 purple_protocol_can_connect_async(PurpleProtocol *protocol,
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
548 PurpleAccount *account,
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
549 GCancellable *cancellable,
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
550 GAsyncReadyCallback callback,
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
551 gpointer data)
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
552 {
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
553 PurpleProtocolClass *klass = NULL;
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
554
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
555 g_return_if_fail(PURPLE_IS_PROTOCOL(protocol));
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
556 g_return_if_fail(PURPLE_IS_ACCOUNT(account));
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
557
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
558 klass = PURPLE_PROTOCOL_GET_CLASS(protocol);
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
559 if(klass != NULL && klass->can_connect_async != NULL) {
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
560 klass->can_connect_async(protocol, account, cancellable, callback,
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
561 data);
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
562 }
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
563 }
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
564
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
565 gboolean
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
566 purple_protocol_can_connect_finish(PurpleProtocol *protocol,
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
567 GAsyncResult *result,
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
568 GError **error)
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
569 {
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
570 PurpleProtocolClass *klass = NULL;
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
571
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
572 g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), FALSE);
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
573
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
574 klass = PURPLE_PROTOCOL_GET_CLASS(protocol);
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
575 if(klass != NULL && klass->can_connect_finish != NULL) {
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
576 return klass->can_connect_finish(protocol, result, error);
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
577 }
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
578
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
579 return FALSE;
36684da1e60d Add async function to PurpleProtocol for testing whether or not connections are possible
Gary Kramlich <grim@reaperworld.com>
parents: 41869
diff changeset
580 }
41869
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
581
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
582 PurpleConnection *
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
583 purple_protocol_create_connection(PurpleProtocol *protocol,
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
584 PurpleAccount *account,
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
585 const char *password,
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
586 GError **error)
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
587 {
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
588 PurpleProtocolClass *klass = NULL;
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
589
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
590 g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL);
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
591 g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), NULL);
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
592
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
593 klass = PURPLE_PROTOCOL_GET_CLASS(protocol);
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
594 if(klass != NULL && klass->create_connection != NULL) {
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
595 return klass->create_connection(protocol, account, password, error);
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
596 }
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
597
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
598 g_set_error(error, PURPLE_CONNECTION_ERROR, 0,
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
599 "Protocol %s did not implement create_connection",
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
600 purple_protocol_get_name(protocol));
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
601
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
602 return NULL;
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
603 }
7bd5bff547b4 Change the way accounts connect while keeping backwards compatibility
Gary Kramlich <grim@reaperworld.com>
parents: 41814
diff changeset
604
36722
49872e1ec30e Defined the new interface functions
Ankit Vani <a@nevitus.org>
parents: 36719
diff changeset
605 GList *
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
606 purple_protocol_get_status_types(PurpleProtocol *protocol,
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
607 PurpleAccount *account)
36722
49872e1ec30e Defined the new interface functions
Ankit Vani <a@nevitus.org>
parents: 36719
diff changeset
608 {
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
609 PurpleProtocolClass *klass = NULL;
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
610
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
611 g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
612 g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), NULL);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
613
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
614 klass = PURPLE_PROTOCOL_GET_CLASS(protocol);
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
615 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
616 return klass->status_types(protocol, account);
40813
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
617 }
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
618
71305a7d7423 Modernize PurpleProtocol
Gary Kramlich <grim@reaperworld.com>
parents: 40708
diff changeset
619 return NULL;
36722
49872e1ec30e Defined the new interface functions
Ankit Vani <a@nevitus.org>
parents: 36719
diff changeset
620 }

mercurial