Sun, 15 Sep 2013 19:14:28 +0530
Renamed close_connection back to close
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1 | /** |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
2 | * @file protocol.h Protocol object and interfaces API |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
3 | * @ingroup core |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
4 | */ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
5 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
6 | /* purple |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
7 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
8 | * Purple is the legal property of its developers, whose names are too numerous |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
9 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
10 | * source distribution. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
11 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
12 | * This program is free software; you can redistribute it and/or modify |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
13 | * it under the terms of the GNU General Public License as published by |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
14 | * the Free Software Foundation; either version 2 of the License, or |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
15 | * (at your option) any later version. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
16 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
17 | * This program is distributed in the hope that it will be useful, |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
20 | * GNU General Public License for more details. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
21 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
22 | * You should have received a copy of the GNU General Public License |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
23 | * along with this program; if not, write to the Free Software |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
24 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
25 | */ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
26 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
27 | #ifndef _PURPLE_PROTOCOL_H_ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
28 | #define _PURPLE_PROTOCOL_H_ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
29 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
30 | #define PURPLE_TYPE_PROTOCOL (purple_protocol_get_type()) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
31 | #define PURPLE_PROTOCOL(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), PURPLE_TYPE_PROTOCOL, PurpleProtocol)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
32 | #define PURPLE_PROTOCOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), PURPLE_TYPE_PROTOCOL, PurpleProtocolClass)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
33 | #define PURPLE_IS_PROTOCOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
34 | #define PURPLE_IS_PROTOCOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), PURPLE_TYPE_PROTOCOL)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
35 | #define PURPLE_PROTOCOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), PURPLE_TYPE_PROTOCOL, PurpleProtocolClass)) |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
36 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
37 | /** @copydoc _PurpleProtocol */ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
38 | typedef struct _PurpleProtocol PurpleProtocol; |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
39 | /** @copydoc _PurpleProtocolClass */ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
40 | typedef struct _PurpleProtocolClass PurpleProtocolClass; |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
41 | |
| 36569 | 42 | #include "account.h" |
|
36581
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
43 | #include "accountopt.h" |
|
36624
38043ecaf4a6
Finished implementing functions for protocols.[ch].
Ankit Vani <a@nevitus.org>
parents:
36621
diff
changeset
|
44 | #include "buddyicon.h" |
| 36569 | 45 | #include "buddylist.h" |
| 46 | #include "connection.h" | |
| 47 | #include "conversations.h" | |
|
36613
0e96218aa13a
Refactored the protocols to use the new macros, to allow for static or dynamic loading of types as configured
Ankit Vani <a@nevitus.org>
parents:
36611
diff
changeset
|
48 | #include "debug.h" |
|
36688
e49025233301
Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents:
36686
diff
changeset
|
49 | #include "xfer.h" |
|
36581
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
50 | #include "imgstore.h" |
|
36609
637155f87448
Refactored the protocols to use purple_buddy_icon_spec_new()
Ankit Vani <a@nevitus.org>
parents:
36608
diff
changeset
|
51 | #include "media.h" |
|
36610
3d99b9c0bf90
Refactored account, blist, buddyicon, connection, conversation, presence to use the new protocol API
Ankit Vani <a@nevitus.org>
parents:
36609
diff
changeset
|
52 | #include "notify.h" |
|
36613
0e96218aa13a
Refactored the protocols to use the new macros, to allow for static or dynamic loading of types as configured
Ankit Vani <a@nevitus.org>
parents:
36611
diff
changeset
|
53 | #include "plugins.h" |
| 36569 | 54 | #include "roomlist.h" |
| 36587 | 55 | #include "status.h" |
| 36569 | 56 | #include "whiteboard.h" |
| 57 | ||
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
58 | /** |
|
36686
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
59 | * Flags to indicate what base protocol's data a derived protocol wants to |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
60 | * override. |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
61 | * |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
62 | * @see purple_protocol_override() |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
63 | */ |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
64 | typedef enum /*< flags >*/ |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
65 | { |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
66 | PURPLE_PROTOCOL_OVERRIDE_USER_SPLITS = 1 << 1, |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
67 | PURPLE_PROTOCOL_OVERRIDE_PROTOCOL_OPTIONS = 1 << 2, |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
68 | PURPLE_PROTOCOL_OVERRIDE_ICON_SPEC = 1 << 3, |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
69 | } PurpleProtocolOverrideFlags; |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
70 | |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
71 | /** |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
72 | * Represents an instance of a protocol registered with the protocols |
|
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:
36680
diff
changeset
|
73 | * subsystem. Protocols must initialize the members to appropriate values. |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
74 | */ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
75 | struct _PurpleProtocol |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
76 | { |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
77 | /*< private >*/ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
78 | GObject gparent; |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
79 | |
|
36608
bb8dbeba5bed
Changed icon spec member of a protocol to a pointer. Use purple_buddy_icon_spec_new() to create an icon spec instance
Ankit Vani <a@nevitus.org>
parents:
36605
diff
changeset
|
80 | const char *id; /**< Protocol ID */ |
|
bb8dbeba5bed
Changed icon spec member of a protocol to a pointer. Use purple_buddy_icon_spec_new() to create an icon spec instance
Ankit Vani <a@nevitus.org>
parents:
36605
diff
changeset
|
81 | const char *name; /**< Translated name of the protocol */ |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
82 | |
|
36608
bb8dbeba5bed
Changed icon spec member of a protocol to a pointer. Use purple_buddy_icon_spec_new() to create an icon spec instance
Ankit Vani <a@nevitus.org>
parents:
36605
diff
changeset
|
83 | PurpleProtocolOptions options; /**< Protocol options */ |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
84 | |
|
36608
bb8dbeba5bed
Changed icon spec member of a protocol to a pointer. Use purple_buddy_icon_spec_new() to create an icon spec instance
Ankit Vani <a@nevitus.org>
parents:
36605
diff
changeset
|
85 | GList *user_splits; /**< A GList of PurpleAccountUserSplit */ |
|
bb8dbeba5bed
Changed icon spec member of a protocol to a pointer. Use purple_buddy_icon_spec_new() to create an icon spec instance
Ankit Vani <a@nevitus.org>
parents:
36605
diff
changeset
|
86 | GList *protocol_options; /**< A GList of PurpleAccountOption */ |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
87 | |
|
36608
bb8dbeba5bed
Changed icon spec member of a protocol to a pointer. Use purple_buddy_icon_spec_new() to create an icon spec instance
Ankit Vani <a@nevitus.org>
parents:
36605
diff
changeset
|
88 | PurpleBuddyIconSpec *icon_spec; /**< The icon spec. */ |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
89 | |
|
36680
298b7a202252
Document whiteboard_ops in PurpleProtocolClass
Ankit Vani <a@nevitus.org>
parents:
36678
diff
changeset
|
90 | PurpleWhiteboardOps *whiteboard_ops; /**< Whiteboard operations */ |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
91 | |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
92 | void (*_purple_reserved1)(void); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
93 | void (*_purple_reserved2)(void); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
94 | void (*_purple_reserved3)(void); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
95 | void (*_purple_reserved4)(void); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
96 | }; |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
97 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
98 | /** |
|
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:
36680
diff
changeset
|
99 | * The base class for all protocols. |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
100 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
101 | * All protocol types must implement the methods in this class. |
|
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:
36680
diff
changeset
|
102 | */ |
|
9c38716c8eb7
Moved protocol class members to instance. Protocol definitions now require *_init, *_class_init instead of *_base_init.
Ankit Vani <a@nevitus.org>
parents:
36680
diff
changeset
|
103 | struct _PurpleProtocolClass |
|
9c38716c8eb7
Moved protocol class members to instance. Protocol definitions now require *_init, *_class_init instead of *_base_init.
Ankit Vani <a@nevitus.org>
parents:
36680
diff
changeset
|
104 | { |
|
9c38716c8eb7
Moved protocol class members to instance. Protocol definitions now require *_init, *_class_init instead of *_base_init.
Ankit Vani <a@nevitus.org>
parents:
36680
diff
changeset
|
105 | /*< private >*/ |
|
9c38716c8eb7
Moved protocol class members to instance. Protocol definitions now require *_init, *_class_init instead of *_base_init.
Ankit Vani <a@nevitus.org>
parents:
36680
diff
changeset
|
106 | GObjectClass parent_class; |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
107 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
108 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
109 | * Log in to the server. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
110 | */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
111 | void (*login)(PurpleAccount *); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
112 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
113 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
114 | * Close connection with the server. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
115 | */ |
|
36731
38de3f22e864
Renamed close_connection back to close
Ankit Vani <a@nevitus.org>
parents:
36722
diff
changeset
|
116 | void (*close)(PurpleConnection *); |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
117 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
118 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
119 | * Returns a list of #PurpleStatusType which exist for this account; |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
120 | * and must add at least the offline and online states. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
121 | */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
122 | GList *(*status_types)(PurpleAccount *account); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
123 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
124 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
125 | * Returns the base icon name for the given buddy and account. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
126 | * If buddy is NULL and the account is non-NULL, it will return the |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
127 | * name to use for the account's icon. If both are NULL, it will |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
128 | * return the name to use for the protocol's icon. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
129 | */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
130 | const char *(*list_icon)(PurpleAccount *account, PurpleBuddy *buddy); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
131 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
132 | void (*_purple_reserved1)(void); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
133 | void (*_purple_reserved2)(void); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
134 | void (*_purple_reserved3)(void); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
135 | void (*_purple_reserved4)(void); |
|
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:
36680
diff
changeset
|
136 | }; |
|
9c38716c8eb7
Moved protocol class members to instance. Protocol definitions now require *_init, *_class_init instead of *_base_init.
Ankit Vani <a@nevitus.org>
parents:
36680
diff
changeset
|
137 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
138 | #define PURPLE_TYPE_PROTOCOL_CLIENT_IFACE (purple_protocol_client_iface_get_type()) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
139 | #define PURPLE_PROTOCOL_HAS_CLIENT_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_CLIENT_IFACE)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
140 | #define PURPLE_PROTOCOL_GET_CLIENT_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_CLIENT_IFACE, \ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
141 | PurpleProtocolClientIface)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
142 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
143 | /** @copydoc _PurpleProtocolClientIface */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
144 | typedef struct _PurpleProtocolClientIface PurpleProtocolClientIface; |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
145 | |
|
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:
36680
diff
changeset
|
146 | /** |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
147 | * The protocol client interface. |
|
36682
cf89caae5d1e
List the required protocol implementations in PurpleProtocolInterface's documentation
Ankit Vani <a@nevitus.org>
parents:
36681
diff
changeset
|
148 | * |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
149 | * This interface provides a gateway between purple and the protocol. |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
150 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
151 | struct _PurpleProtocolClientIface |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
152 | { |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
153 | /*< private >*/ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
154 | GTypeInterface parent_iface; |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
155 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
156 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
157 | * Returns the actions the protocol can perform. These will show up in the |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
158 | * Accounts menu, under a submenu with the name of the account. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
159 | */ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
160 | GList *(*get_actions)(PurpleConnection *); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
161 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
162 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
163 | * Fills the four char**'s with string identifiers for "emblems" |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
164 | * that the UI will interpret and display as relevant |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
165 | */ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
166 | const char *(*list_emblem)(PurpleBuddy *buddy); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
167 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
168 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
169 | * Gets a short string representing this buddy's status. This will |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
170 | * be shown on the buddy list. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
171 | */ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
172 | char *(*status_text)(PurpleBuddy *buddy); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
173 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
174 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
175 | * Allows the protocol to add text to a buddy's tooltip. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
176 | */ |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
177 | void (*tooltip_text)(PurpleBuddy *buddy, PurpleNotifyUserInfo *user_info, |
|
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
178 | gboolean full); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
179 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
180 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
181 | * Returns a list of #PurpleMenuAction structs, which represent extra |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
182 | * actions to be shown in (for example) the right-click menu for @a |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
183 | * node. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
184 | */ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
185 | GList *(*blist_node_menu)(PurpleBlistNode *node); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
186 | |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
187 | void (*buddy_free)(PurpleBuddy *); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
188 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
189 | void (*convo_closed)(PurpleConnection *, const char *who); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
190 | |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
191 | /** |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
192 | * Convert the username @a who to its canonical form. Also checks for |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
193 | * validity. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
194 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
195 | * For example, AIM treats "fOo BaR" and "foobar" as the same user; this |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
196 | * function should return the same normalized string for both of those. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
197 | * On the other hand, both of these are invalid for protocols with |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
198 | * number-based usernames, so function should return NULL in such case. |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
199 | * |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
200 | * @param account The account the username is related to. Can |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
201 | * be NULL. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
202 | * @param who The username to convert. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
203 | * @return Normalized username, or NULL, if it's invalid. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
204 | */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
205 | const char *(*normalize)(const PurpleAccount *account, const char *who); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
206 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
207 | PurpleChat *(*find_blist_chat)(PurpleAccount *account, const char *name); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
208 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
209 | /** Checks whether offline messages to @a buddy are supported. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
210 | * @return @c TRUE if @a buddy can be sent messages while they are |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
211 | * offline, or @c FALSE if not. |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
212 | */ |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
213 | gboolean (*offline_message)(const PurpleBuddy *buddy); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
214 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
215 | /** This allows protocols to specify additional strings to be used for |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
216 | * various purposes. The idea is to stuff a bunch of strings in this hash |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
217 | * table instead of expanding the struct for every addition. This hash |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
218 | * table is allocated every call and MUST be unrefed by the caller. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
219 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
220 | * @param account The account to specify. This can be NULL. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
221 | * @return The protocol's string hash table. The hash table should be |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
222 | * destroyed by the caller when it's no longer needed. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
223 | */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
224 | GHashTable *(*get_account_text_table)(PurpleAccount *account); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
225 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
226 | /** |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
227 | * Returns an array of "PurpleMood"s, with the last one having |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
228 | * "mood" set to @c NULL. |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
229 | */ |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
230 | PurpleMood *(*get_moods)(PurpleAccount *account); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
231 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
232 | /** |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
233 | * Gets the maximum message size in bytes for the conversation. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
234 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
235 | * It may depend on connection-specific or conversation-specific |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
236 | * variables, like channel or buddy's name length. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
237 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
238 | * This value is intended for plaintext message, the exact value may be |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
239 | * lower because of: |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
240 | * - used newlines (some protocols count them as more than one byte), |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
241 | * - formatting, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
242 | * - used special characters. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
243 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
244 | * @param conv The conversation to query, or NULL to get safe minimum |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
245 | * for the protocol. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
246 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
247 | * @return Maximum message size, 0 if unspecified, -1 for infinite. |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
248 | */ |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
249 | gssize (*get_max_message_size)(PurpleConversation *conv); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
250 | }; |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
251 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
252 | #define PURPLE_TYPE_PROTOCOL_SERVER_IFACE (purple_protocol_server_iface_get_type()) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
253 | #define PURPLE_PROTOCOL_HAS_SERVER_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_SERVER_IFACE)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
254 | #define PURPLE_PROTOCOL_GET_SERVER_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_SERVER_IFACE, \ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
255 | PurpleProtocolServerIface)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
256 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
257 | /** @copydoc _PurpleProtocolServerIface */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
258 | typedef struct _PurpleProtocolServerIface PurpleProtocolServerIface; |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
259 | |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
260 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
261 | * The protocol server interface. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
262 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
263 | * This interface provides a gateway between purple and the protocol's server. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
264 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
265 | struct _PurpleProtocolServerIface |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
266 | { |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
267 | /*< private >*/ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
268 | GTypeInterface parent_iface; |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
269 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
270 | /** new user registration */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
271 | void (*register_user)(PurpleAccount *); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
272 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
273 | /** Remove the user from the server. The account can either be |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
274 | * connected or disconnected. After the removal is finished, the |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
275 | * connection will stay open and has to be closed! |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
276 | */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
277 | void (*unregister_user)(PurpleAccount *, PurpleAccountUnregistrationCb cb, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
278 | void *user_data); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
279 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
280 | void (*set_info)(PurpleConnection *, const char *info); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
281 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
282 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
283 | * Should arrange for purple_notify_userinfo() to be called with |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
284 | * @a who's user info. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
285 | */ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
286 | void (*get_info)(PurpleConnection *, const char *who); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
287 | void (*set_status)(PurpleAccount *account, PurpleStatus *status); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
288 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
289 | void (*set_idle)(PurpleConnection *, int idletime); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
290 | void (*change_passwd)(PurpleConnection *, const char *old_pass, |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
291 | const char *new_pass); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
292 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
293 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
294 | * Add a buddy to a group on the server. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
295 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
296 | * This protocol function may be called in situations in which the buddy is |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
297 | * already in the specified group. If the protocol supports |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
298 | * authorization and the user is not already authorized to see the |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
299 | * status of \a buddy, \a add_buddy should request authorization. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
300 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
301 | * If authorization is required, then use the supplied invite message. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
302 | */ |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
303 | void (*add_buddy)(PurpleConnection *pc, PurpleBuddy *buddy, |
|
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
304 | PurpleGroup *group, const char *message); |
|
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
305 | void (*add_buddies)(PurpleConnection *pc, GList *buddies, GList *groups, |
|
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
306 | const char *message); |
|
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
307 | void (*remove_buddy)(PurpleConnection *, PurpleBuddy *buddy, |
|
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
308 | PurpleGroup *group); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
309 | void (*remove_buddies)(PurpleConnection *, GList *buddies, GList *groups); |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
310 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
311 | /** If implemented, this will be called regularly for this protocol's |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
312 | * active connections. You'd want to do this if you need to repeatedly |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
313 | * send some kind of keepalive packet to the server to avoid being |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
314 | * disconnected. ("Regularly" is defined by |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
315 | * <code>KEEPALIVE_INTERVAL</code> in <tt>libpurple/connection.c</tt>.) |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
316 | */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
317 | void (*keepalive)(PurpleConnection *); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
318 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
319 | /** save/store buddy's alias on server list/roster */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
320 | void (*alias_buddy)(PurpleConnection *, const char *who, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
321 | const char *alias); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
322 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
323 | /** change a buddy's group on a server list/roster */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
324 | void (*group_buddy)(PurpleConnection *, const char *who, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
325 | const char *old_group, const char *new_group); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
326 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
327 | /** rename a group on a server list/roster */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
328 | void (*rename_group)(PurpleConnection *, const char *old_name, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
329 | PurpleGroup *group, GList *moved_buddies); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
330 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
331 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
332 | * Set the buddy icon for the given connection to @a img. The protocol |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
333 | * does NOT own a reference to @a img; if it needs one, it must |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
334 | * #purple_imgstore_ref(@a img) itself. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
335 | */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
336 | void (*set_buddy_icon)(PurpleConnection *, PurpleStoredImage *img); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
337 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
338 | void (*remove_group)(PurpleConnection *gc, PurpleGroup *group); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
339 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
340 | /** For use in plugins that may understand the underlying protocol */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
341 | int (*send_raw)(PurpleConnection *gc, const char *buf, int len); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
342 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
343 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
344 | * Set the user's "friendly name" (or alias or nickname or |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
345 | * whatever term you want to call it) on the server. The |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
346 | * protocol should call success_cb or failure_cb |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
347 | * *asynchronously* (if it knows immediately that the set will fail, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
348 | * call one of the callbacks from an idle/0-second timeout) depending |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
349 | * on if the nickname is set successfully. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
350 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
351 | * @param gc The connection for which to set an alias |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
352 | * @param alias The new server-side alias/nickname for this account, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
353 | * or NULL to unset the alias/nickname (or return it to |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
354 | * a protocol-specific "default"). |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
355 | * @param success_cb Callback to be called if the public alias is set |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
356 | * @param failure_cb Callback to be called if setting the public alias |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
357 | * fails |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
358 | * @see purple_account_set_public_alias |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
359 | */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
360 | void (*set_public_alias)(PurpleConnection *gc, const char *alias, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
361 | PurpleSetPublicAliasSuccessCallback success_cb, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
362 | PurpleSetPublicAliasFailureCallback failure_cb); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
363 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
364 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
365 | * Retrieve the user's "friendly name" as set on the server. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
366 | * The protocol should call success_cb or failure_cb |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
367 | * *asynchronously* (even if it knows immediately that the get will fail, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
368 | * call one of the callbacks from an idle/0-second timeout) depending |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
369 | * on if the nickname is retrieved. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
370 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
371 | * @param gc The connection for which to retireve the alias |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
372 | * @param success_cb Callback to be called with the retrieved alias |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
373 | * @param failure_cb Callback to be called if the protocol is unable to |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
374 | * retrieve the alias |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
375 | * @see purple_account_get_public_alias |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
376 | */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
377 | void (*get_public_alias)(PurpleConnection *gc, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
378 | PurpleGetPublicAliasSuccessCallback success_cb, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
379 | PurpleGetPublicAliasFailureCallback failure_cb); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
380 | }; |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
381 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
382 | #define PURPLE_TYPE_PROTOCOL_IM_IFACE (purple_protocol_im_iface_get_type()) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
383 | #define PURPLE_PROTOCOL_HAS_IM_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_IM_IFACE)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
384 | #define PURPLE_PROTOCOL_GET_IM_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_IM_IFACE, \ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
385 | PurpleProtocolIMIface)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
386 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
387 | /** @copydoc _PurpleProtocolIMIface */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
388 | typedef struct _PurpleProtocolIMIface PurpleProtocolIMIface; |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
389 | |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
390 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
391 | * The protocol IM interface. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
392 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
393 | * This interface provides callbacks needed by protocols that implement IMs. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
394 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
395 | struct _PurpleProtocolIMIface |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
396 | { |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
397 | /*< private >*/ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
398 | GTypeInterface parent_iface; |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
399 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
400 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
401 | * This protocol function should return a positive value on success. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
402 | * If the message is too big to be sent, return -E2BIG. If |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
403 | * the account is not connected, return -ENOTCONN. If the |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
404 | * protocol is unable to send the message for another reason, return |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
405 | * some other negative value. You can use one of the valid |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
406 | * errno values, or just big something. If the message should |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
407 | * not be echoed to the conversation window, return 0. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
408 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
409 | int (*send)(PurpleConnection *, const char *who, |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
410 | const char *message, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
411 | PurpleMessageFlags flags); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
412 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
413 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
414 | * @return If this protocol requires the PURPLE_IM_TYPING message to |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
415 | * be sent repeatedly to signify that the user is still |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
416 | * typing, then the protocol should return the number of |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
417 | * seconds to wait before sending a subsequent notification. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
418 | * Otherwise the protocol should return 0. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
419 | */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
420 | unsigned int (*send_typing)(PurpleConnection *, const char *name, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
421 | PurpleIMTypingState state); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
422 | }; |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
423 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
424 | #define PURPLE_TYPE_PROTOCOL_CHAT_IFACE (purple_protocol_chat_iface_get_type()) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
425 | #define PURPLE_PROTOCOL_HAS_CHAT_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_CHAT_IFACE)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
426 | #define PURPLE_PROTOCOL_GET_CHAT_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_CHAT_IFACE, \ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
427 | PurpleProtocolChatIface)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
428 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
429 | /** @copydoc _PurpleProtocolChatIface */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
430 | typedef struct _PurpleProtocolChatIface PurpleProtocolChatIface; |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
431 | |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
432 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
433 | * The protocol chat interface. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
434 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
435 | * This interface provides callbacks needed by protocols that implement chats. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
436 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
437 | struct _PurpleProtocolChatIface |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
438 | { |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
439 | /*< private >*/ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
440 | GTypeInterface parent_iface; |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
441 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
442 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
443 | * Returns a list of #PurpleProtocolChatEntry structs, which represent |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
444 | * information required by the protocol to join a chat. libpurple will |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
445 | * call join_chat along with the information filled by the user. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
446 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
447 | * @return A list of #PurpleProtocolChatEntry structs |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
448 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
449 | GList *(*info)(PurpleConnection *); |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
450 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
451 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
452 | * Returns a hashtable which maps #PurpleProtocolChatEntry struct |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
453 | * identifiers to default options as strings based on chat_name. The |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
454 | * resulting hashtable should be created with |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
455 | * g_hash_table_new_full(g_str_hash, g_str_equal, NULL, g_free);. Use |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
456 | * #get_chat_name if you instead need to extract a chat name from a |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
457 | * hashtable. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
458 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
459 | * @param chat_name The chat name to be turned into components |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
460 | * @return Hashtable containing the information extracted from chat_name |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
461 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
462 | GHashTable *(*info_defaults)(PurpleConnection *, |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
463 | const char *chat_name); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
464 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
465 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
466 | * Called when the user requests joining a chat. Should arrange for |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
467 | * #serv_got_joined_chat to be called. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
468 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
469 | * @param components A hashtable containing information required to |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
470 | * join the chat as described by the entries returned |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
471 | * by #chat_info. It may also be called when accepting |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
472 | * an invitation, in which case this matches the |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
473 | * data parameter passed to #serv_got_chat_invite. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
474 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
475 | void (*join)(PurpleConnection *, GHashTable *components); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
476 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
477 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
478 | * Called when the user refuses a chat invitation. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
479 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
480 | * @param components A hashtable containing information required to |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
481 | * join the chat as passed to #serv_got_chat_invite. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
482 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
483 | void (*reject)(PurpleConnection *, GHashTable *components); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
484 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
485 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
486 | * Returns a chat name based on the information in components. Use |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
487 | * #chat_info_defaults if you instead need to generate a hashtable |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
488 | * from a chat name. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
489 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
490 | * @param components A hashtable containing information about the chat. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
491 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
492 | char *(*get_name)(GHashTable *components); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
493 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
494 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
495 | * Invite a user to join a chat. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
496 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
497 | * @param id The id of the chat to invite the user to. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
498 | * @param message A message displayed to the user when the invitation |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
499 | * is received. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
500 | * @param who The name of the user to send the invation to. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
501 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
502 | void (*invite)(PurpleConnection *, int id, |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
503 | const char *message, const char *who); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
504 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
505 | * Called when the user requests leaving a chat. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
506 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
507 | * @param id The id of the chat to leave |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
508 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
509 | void (*leave)(PurpleConnection *, int id); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
510 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
511 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
512 | * Send a whisper to a user in a chat. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
513 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
514 | * @param id The id of the chat. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
515 | * @param who The name of the user to send the whisper to. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
516 | * @param message The message of the whisper. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
517 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
518 | void (*whisper)(PurpleConnection *, int id, |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
519 | const char *who, const char *message); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
520 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
521 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
522 | * Send a message to a chat. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
523 | * This protocol function should return a positive value on success. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
524 | * If the message is too big to be sent, return -E2BIG. If |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
525 | * the account is not connected, return -ENOTCONN. If the |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
526 | * protocol is unable to send the message for another reason, return |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
527 | * some other negative value. You can use one of the valid |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
528 | * errno values, or just big something. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
529 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
530 | * @param id The id of the chat to send the message to. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
531 | * @param message The message to send to the chat. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
532 | * @param flags A bitwise OR of #PurpleMessageFlags representing |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
533 | * message flags. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
534 | * @return A positive number or 0 in case of success, |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
535 | * a negative error number in case of failure. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
536 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
537 | int (*send)(PurpleConnection *, int id, const char *message, |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
538 | PurpleMessageFlags flags); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
539 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
540 | /** Gets the real name of a participant in a chat. For example, on |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
541 | * XMPP this turns a chat room nick <tt>foo</tt> into |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
542 | * <tt>room\@server/foo</tt> |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
543 | * @param gc the connection on which the room is. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
544 | * @param id the ID of the chat room. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
545 | * @param who the nickname of the chat participant. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
546 | * @return the real name of the participant. This string must be |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
547 | * freed by the caller. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
548 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
549 | char *(*get_user_real_name)(PurpleConnection *gc, int id, const char *who); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
550 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
551 | void (*set_topic)(PurpleConnection *gc, int id, const char *topic); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
552 | }; |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
553 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
554 | #define PURPLE_TYPE_PROTOCOL_PRIVACY_IFACE (purple_protocol_privacy_iface_get_type()) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
555 | #define PURPLE_PROTOCOL_HAS_PRIVACY_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_PRIVACY_IFACE)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
556 | #define PURPLE_PROTOCOL_GET_PRIVACY_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_PRIVACY_IFACE, \ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
557 | PurpleProtocolPrivacyIface)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
558 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
559 | /** @copydoc _PurpleProtocolPrivacyIface */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
560 | typedef struct _PurpleProtocolPrivacyIface PurpleProtocolPrivacyIface; |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
561 | |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
562 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
563 | * The protocol privacy interface. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
564 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
565 | * This interface provides privacy callbacks such as to permit/deny users. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
566 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
567 | struct _PurpleProtocolPrivacyIface |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
568 | { |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
569 | /*< private >*/ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
570 | GTypeInterface parent_iface; |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
571 | |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
572 | void (*add_permit)(PurpleConnection *, const char *name); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
573 | void (*add_deny)(PurpleConnection *, const char *name); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
574 | void (*rem_permit)(PurpleConnection *, const char *name); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
575 | void (*rem_deny)(PurpleConnection *, const char *name); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
576 | void (*set_permit_deny)(PurpleConnection *); |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
577 | }; |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
578 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
579 | #define PURPLE_TYPE_PROTOCOL_XFER_IFACE (purple_protocol_xfer_iface_get_type()) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
580 | #define PURPLE_PROTOCOL_HAS_XFER_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_XFER_IFACE)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
581 | #define PURPLE_PROTOCOL_GET_XFER_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_XFER_IFACE, \ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
582 | PurpleProtocolXferIface)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
583 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
584 | /** @copydoc _PurpleProtocolXferIface */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
585 | typedef struct _PurpleProtocolXferIface PurpleProtocolXferIface; |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
586 | |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
587 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
588 | * The protocol file transfer interface. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
589 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
590 | * This interface provides file transfer callbacks for the protocol. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
591 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
592 | struct _PurpleProtocolXferIface |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
593 | { |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
594 | /*< private >*/ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
595 | GTypeInterface parent_iface; |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
596 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
597 | gboolean (*can_receive)(PurpleConnection *, const char *who); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
598 | void (*send)(PurpleConnection *, const char *who, |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
599 | const char *filename); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
600 | PurpleXfer *(*new_xfer)(PurpleConnection *, const char *who); |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
601 | }; |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
602 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
603 | #define PURPLE_TYPE_PROTOCOL_ROOMLIST_IFACE (purple_protocol_roomlist_iface_get_type()) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
604 | #define PURPLE_PROTOCOL_HAS_ROOMLIST_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_ROOMLIST_IFACE)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
605 | #define PURPLE_PROTOCOL_GET_ROOMLIST_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_ROOMLIST_IFACE, \ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
606 | PurpleProtocolRoomlistIface)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
607 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
608 | /** @copydoc _PurpleProtocolRoomlistIface */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
609 | typedef struct _PurpleProtocolRoomlistIface PurpleProtocolRoomlistIface; |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
610 | |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
611 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
612 | * The protocol roomlist interface. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
613 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
614 | * This interface provides callbacks for room listing. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
615 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
616 | struct _PurpleProtocolRoomlistIface |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
617 | { |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
618 | /*< private >*/ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
619 | GTypeInterface parent_iface; |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
620 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
621 | PurpleRoomlist *(*get_list)(PurpleConnection *gc); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
622 | void (*cancel)(PurpleRoomlist *list); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
623 | void (*expand_category)(PurpleRoomlist *list, |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
624 | PurpleRoomlistRoom *category); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
625 | /* room list serialize */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
626 | char *(*room_serialize)(PurpleRoomlistRoom *room); |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
627 | }; |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
628 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
629 | #define PURPLE_TYPE_PROTOCOL_ATTENTION_IFACE (purple_protocol_attention_iface_get_type()) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
630 | #define PURPLE_PROTOCOL_HAS_ATTENTION_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_ATTENTION_IFACE)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
631 | #define PURPLE_PROTOCOL_GET_ATTENTION_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_ATTENTION_IFACE, \ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
632 | PurpleProtocolAttentionIface)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
633 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
634 | /** @copydoc _PurpleProtocolAttentionIface */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
635 | typedef struct _PurpleProtocolAttentionIface PurpleProtocolAttentionIface; |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
636 | |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
637 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
638 | * The protocol attention interface. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
639 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
640 | * This interface provides attention API for sending and receiving |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
641 | * zaps/nudges/buzzes etc. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
642 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
643 | struct _PurpleProtocolAttentionIface |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
644 | { |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
645 | /*< private >*/ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
646 | GTypeInterface parent_iface; |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
647 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
648 | gboolean (*send)(PurpleConnection *gc, const char *username, |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
649 | guint type); |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
650 | GList *(*get_types)(PurpleAccount *acct); |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
651 | }; |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
652 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
653 | #define PURPLE_TYPE_PROTOCOL_MEDIA_IFACE (purple_protocol_media_iface_get_type()) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
654 | #define PURPLE_PROTOCOL_HAS_MEDIA_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_MEDIA_IFACE)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
655 | #define PURPLE_PROTOCOL_GET_MEDIA_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_MEDIA_IFACE, \ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
656 | PurpleProtocolMediaIface)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
657 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
658 | /** @copydoc _PurpleProtocolMediaIface */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
659 | typedef struct _PurpleProtocolMediaIface PurpleProtocolMediaIface; |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
660 | |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
661 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
662 | * The protocol media interface. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
663 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
664 | * This interface provides callbacks for media sessions on the protocol. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
665 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
666 | struct _PurpleProtocolMediaIface |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
667 | { |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
668 | /*< private >*/ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
669 | GTypeInterface parent_iface; |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
670 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
671 | /** |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
672 | * Initiate a media session with the given contact. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
673 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
674 | * @param account The account to initiate the media session on. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
675 | * @param who The remote user to initiate the session with. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
676 | * @param type The type of media session to initiate. |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
677 | * @return TRUE if the call succeeded else FALSE. (Doesn't imply the media |
|
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
678 | * session or stream will be successfully created) |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
679 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
680 | gboolean (*initiate_session)(PurpleAccount *account, const char *who, |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
681 | PurpleMediaSessionType type); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
682 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
683 | /** |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
684 | * Checks to see if the given contact supports the given type of media |
|
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
685 | * session. |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
686 | * |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
687 | * @param account The account the contact is on. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
688 | * @param who The remote user to check for media capability with. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
689 | * @return The media caps the contact supports. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
690 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
691 | PurpleMediaCaps (*get_caps)(PurpleAccount *account, |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
692 | const char *who); |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
693 | }; |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
694 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
695 | #define PURPLE_TYPE_PROTOCOL_FACTORY_IFACE (purple_protocol_factory_iface_get_type()) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
696 | #define PURPLE_PROTOCOL_HAS_FACTORY_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), PURPLE_TYPE_PROTOCOL_FACTORY_IFACE)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
697 | #define PURPLE_PROTOCOL_GET_FACTORY_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj), PURPLE_TYPE_PROTOCOL_FACTORY_IFACE, \ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
698 | PurpleProtocolFactoryIface)) |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
699 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
700 | /** @copydoc _PurpleProtocolFactoryIface */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
701 | typedef struct _PurpleProtocolFactoryIface PurpleProtocolFactoryIface; |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
702 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
703 | /** |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
704 | * The protocol factory interface. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
705 | * |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
706 | * This interface provides callbacks for construction of protocol-specific |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
707 | * subclasses of some purple objects. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
708 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
709 | struct _PurpleProtocolFactoryIface |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
710 | { |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
711 | /*< private >*/ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
712 | GTypeInterface parent_iface; |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
713 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
714 | /** |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
715 | * Creates a new protocol-specific connection object that inherits |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
716 | * PurpleConnection. |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
717 | */ |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
718 | PurpleConnection *(*connection_new)(PurpleProtocol *protocol, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
719 | PurpleAccount *account, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
720 | const char *password); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
721 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
722 | /** |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
723 | * Creates a new protocol-specific room list object that inherits |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
724 | * PurpleRoomlist. |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
725 | */ |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
726 | PurpleRoomlist *(*roomlist_new)(PurpleAccount *account); |
|
36583
0582190c9382
Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents:
36581
diff
changeset
|
727 | |
|
0582190c9382
Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents:
36581
diff
changeset
|
728 | /** |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
729 | * Creates a new protocol-specific whiteboard object that inherits |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
730 | * PurpleWhiteboard. |
|
36583
0582190c9382
Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents:
36581
diff
changeset
|
731 | */ |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
732 | PurpleWhiteboard *(*whiteboard_new)(PurpleAccount *account, |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
733 | const char *who, int state); |
|
36717
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
734 | |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
735 | /** |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
736 | * Creates a new protocol-specific file transfer object that inherits |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
737 | * PurpleXfer. |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
738 | */ |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
739 | PurpleXfer *(*xfer_new)(PurpleAccount *account, PurpleXferType type, |
|
6c4736862534
Split up PurpleProtocolInterface into 10 smaller interfaces
Ankit Vani <a@nevitus.org>
parents:
36716
diff
changeset
|
740 | const char *who); |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
741 | }; |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
742 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
743 | /** |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
744 | * Returns TRUE if a protocol implements a function in an interface, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
745 | * FALSE otherwise. |
|
36620
c76013b145f4
Added PURPLE_PROTOCOL_IMPLEMENTS(protocol,func) to check if a protocol implements a function
Ankit Vani <a@nevitus.org>
parents:
36618
diff
changeset
|
746 | */ |
|
36720
465f02116328
Refactored account, blistnodetypes, buddylist, connection to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents:
36718
diff
changeset
|
747 | #define PURPLE_PROTOCOL_IMPLEMENTS(protocol, IFACE, func) \ |
|
465f02116328
Refactored account, blistnodetypes, buddylist, connection to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents:
36718
diff
changeset
|
748 | (PURPLE_PROTOCOL_HAS_##IFACE(protocol) && \ |
|
465f02116328
Refactored account, blistnodetypes, buddylist, connection to use the new protocol interfaces
Ankit Vani <a@nevitus.org>
parents:
36718
diff
changeset
|
749 | PURPLE_PROTOCOL_GET_##IFACE(protocol)->func != NULL) |
|
36620
c76013b145f4
Added PURPLE_PROTOCOL_IMPLEMENTS(protocol,func) to check if a protocol implements a function
Ankit Vani <a@nevitus.org>
parents:
36618
diff
changeset
|
750 | |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
751 | G_BEGIN_DECLS |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
752 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
753 | /**************************************************************************/ |
|
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:
36680
diff
changeset
|
754 | /** @name Protocol Object API */ |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
755 | /**************************************************************************/ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
756 | /*@{*/ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
757 | |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36613
diff
changeset
|
758 | /** |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
759 | * Returns the GType for #PurpleProtocol. |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
760 | */ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
761 | GType purple_protocol_get_type(void); |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
762 | |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36613
diff
changeset
|
763 | /** |
|
36581
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
764 | * Returns the ID of a protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
765 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
766 | * @param protocol The protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
767 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
768 | * @return The ID of the protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
769 | */ |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
770 | const char *purple_protocol_get_id(const PurpleProtocol *protocol); |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
771 | |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36613
diff
changeset
|
772 | /** |
|
36581
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
773 | * Returns the translated name of a protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
774 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
775 | * @param protocol The protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
776 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
777 | * @return The translated name of the protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
778 | */ |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
779 | const char *purple_protocol_get_name(const PurpleProtocol *protocol); |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
780 | |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36613
diff
changeset
|
781 | /** |
|
36581
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
782 | * Returns the options of a protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
783 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
784 | * @param protocol The protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
785 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
786 | * @return The options of the protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
787 | */ |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
788 | PurpleProtocolOptions purple_protocol_get_options(const PurpleProtocol *protocol); |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
789 | |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36613
diff
changeset
|
790 | /** |
|
36581
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
791 | * Returns the user splits of a protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
792 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
793 | * @param protocol The protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
794 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
795 | * @return The user splits of the protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
796 | */ |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
797 | GList *purple_protocol_get_user_splits(const PurpleProtocol *protocol); |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
798 | |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36613
diff
changeset
|
799 | /** |
|
36581
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
800 | * Returns the protocol options of a protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
801 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
802 | * @param protocol The protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
803 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
804 | * @return The protocol options of the protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
805 | */ |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
806 | GList *purple_protocol_get_protocol_options(const PurpleProtocol *protocol); |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
807 | |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36613
diff
changeset
|
808 | /** |
|
36581
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
809 | * Returns the icon spec of a protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
810 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
811 | * @param protocol The protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
812 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
813 | * @return The icon spec of the protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
814 | */ |
|
36608
bb8dbeba5bed
Changed icon spec member of a protocol to a pointer. Use purple_buddy_icon_spec_new() to create an icon spec instance
Ankit Vani <a@nevitus.org>
parents:
36605
diff
changeset
|
815 | PurpleBuddyIconSpec *purple_protocol_get_icon_spec(const PurpleProtocol *protocol); |
|
36581
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
816 | |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36613
diff
changeset
|
817 | /** |
|
36581
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
818 | * Returns the whiteboard ops of a protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
819 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
820 | * @param protocol The protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
821 | * |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
822 | * @return The whiteboard ops of the protocol. |
|
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
823 | */ |
|
36637
9b0109ae118d
Renamed some prpl stuff to protocol stuff.
Ankit Vani <a@nevitus.org>
parents:
36624
diff
changeset
|
824 | PurpleWhiteboardOps *purple_protocol_get_whiteboard_ops(const PurpleProtocol *protocol); |
|
36581
09d5842255a2
Added missing includes and functions to headers
Ankit Vani <a@nevitus.org>
parents:
36580
diff
changeset
|
825 | |
|
36686
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
826 | /** |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
827 | * Lets derived protocol types override the base type's instance data, such as |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
828 | * protocol options, user splits, icon spec, etc. |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
829 | * This function is called in the *_init() function of your derived protocol, |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
830 | * to delete the parent type's data so you can define your own. |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
831 | * |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
832 | * @param protocol The protocol instance. |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
833 | * @param flags What instance data to delete. |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
834 | */ |
|
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
835 | void purple_protocol_override(PurpleProtocol *protocol, |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
836 | PurpleProtocolOverrideFlags flags); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
837 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
838 | /*@}*/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
839 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
840 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
841 | /** @name Protocol Class API */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
842 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
843 | /*@{*/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
844 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
845 | /** @copydoc _PurpleProtocolClass::login */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
846 | void purple_protocol_class_login(PurpleProtocol *, PurpleAccount *); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
847 | |
|
36731
38de3f22e864
Renamed close_connection back to close
Ankit Vani <a@nevitus.org>
parents:
36722
diff
changeset
|
848 | /** @copydoc _PurpleProtocolClass::close */ |
|
38de3f22e864
Renamed close_connection back to close
Ankit Vani <a@nevitus.org>
parents:
36722
diff
changeset
|
849 | void purple_protocol_class_close(PurpleProtocol *, PurpleConnection *); |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
850 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
851 | /** @copydoc _PurpleProtocolClass::status_types */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
852 | GList *purple_protocol_class_status_types(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
853 | PurpleAccount *account); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
854 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
855 | /** @copydoc _PurpleProtocolClass::list_icon */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
856 | const char *purple_protocol_class_list_icon(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
857 | PurpleAccount *account, PurpleBuddy *buddy); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
858 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
859 | /*@}*/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
860 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
861 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
862 | /** @name Protocol Client Interface API */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
863 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
864 | /*@{*/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
865 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
866 | /** |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
867 | * Returns the GType for the protocol client interface. |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
868 | */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
869 | GType purple_protocol_client_iface_get_type(void); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
870 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
871 | /** @copydoc _PurpleProtocolClientInterface::get_actions */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
872 | GList *purple_protocol_client_iface_get_actions(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
873 | PurpleConnection *); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
874 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
875 | /** @copydoc _PurpleProtocolClientInterface::list_emblem */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
876 | const char *purple_protocol_client_iface_list_emblem(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
877 | PurpleBuddy *buddy); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
878 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
879 | /** @copydoc _PurpleProtocolClientInterface::status_text */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
880 | char *purple_protocol_client_iface_status_text(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
881 | PurpleBuddy *buddy); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
882 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
883 | /** @copydoc _PurpleProtocolClientInterface::tooltip_text */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
884 | void purple_protocol_client_iface_tooltip_text(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
885 | PurpleBuddy *buddy, PurpleNotifyUserInfo *user_info, gboolean full); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
886 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
887 | /** @copydoc _PurpleProtocolClientInterface::blist_node_menu */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
888 | GList *purple_protocol_client_iface_blist_node_menu(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
889 | PurpleBlistNode *node); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
890 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
891 | /** @copydoc _PurpleProtocolClientInterface::buddy_free */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
892 | void purple_protocol_client_iface_buddy_free(PurpleProtocol *, PurpleBuddy *); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
893 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
894 | /** @copydoc _PurpleProtocolClientInterface::convo_closed */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
895 | void purple_protocol_client_iface_convo_closed(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
896 | PurpleConnection *, const char *who); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
897 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
898 | /** @copydoc _PurpleProtocolClientInterface::normalize */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
899 | const char *purple_protocol_client_iface_normalize(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
900 | const PurpleAccount *account, const char *who); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
901 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
902 | /** @copydoc _PurpleProtocolClientInterface::find_blist_chat */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
903 | PurpleChat *purple_protocol_client_iface_find_blist_chat(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
904 | PurpleAccount *account, const char *name); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
905 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
906 | /** @copydoc _PurpleProtocolClientInterface::offline_message */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
907 | gboolean purple_protocol_client_iface_offline_message(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
908 | const PurpleBuddy *buddy); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
909 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
910 | /** @copydoc _PurpleProtocolClientInterface::get_account_text_table */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
911 | GHashTable *purple_protocol_client_iface_get_account_text_table(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
912 | PurpleAccount *account); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
913 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
914 | /** @copydoc _PurpleProtocolClientInterface::get_moods */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
915 | PurpleMood *purple_protocol_client_iface_get_moods(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
916 | PurpleAccount *account); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
917 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
918 | /** @copydoc _PurpleProtocolClientInterface::get_max_message_size */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
919 | gssize purple_protocol_client_iface_get_max_message_size(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
920 | PurpleConversation *conv); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
921 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
922 | /*@}*/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
923 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
924 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
925 | /** @name Protocol Server Interface API */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
926 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
927 | /*@{*/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
928 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
929 | /** |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
930 | * Returns the GType for the protocol server interface. |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
931 | */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
932 | GType purple_protocol_server_iface_get_type(void); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
933 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
934 | /** @copydoc _PurpleProtocolServerInterface::register_user */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
935 | void purple_protocol_server_iface_register_user(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
936 | PurpleAccount *); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
937 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
938 | /** @copydoc _PurpleProtocolServerInterface::unregister_user */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
939 | void purple_protocol_server_iface_unregister_user(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
940 | PurpleAccount *, PurpleAccountUnregistrationCb cb, void *user_data); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
941 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
942 | /** @copydoc _PurpleProtocolServerInterface::set_info */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
943 | void purple_protocol_server_iface_set_info(PurpleProtocol *, PurpleConnection *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
944 | const char *info); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
945 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
946 | /** @copydoc _PurpleProtocolServerInterface::get_info */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
947 | void purple_protocol_server_iface_get_info(PurpleProtocol *, PurpleConnection *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
948 | const char *who); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
949 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
950 | /** @copydoc _PurpleProtocolServerInterface::set_status */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
951 | void purple_protocol_server_iface_set_status(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
952 | PurpleAccount *account, PurpleStatus *status); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
953 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
954 | /** @copydoc _PurpleProtocolServerInterface::set_idle */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
955 | void purple_protocol_server_iface_set_idle(PurpleProtocol *, PurpleConnection *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
956 | int idletime); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
957 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
958 | /** @copydoc _PurpleProtocolServerInterface::change_passwd */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
959 | void purple_protocol_server_iface_change_passwd(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
960 | PurpleConnection *, const char *old_pass, const char *new_pass); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
961 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
962 | /** @copydoc _PurpleProtocolServerInterface::add_buddy */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
963 | void purple_protocol_server_iface_add_buddy(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
964 | PurpleConnection *pc, PurpleBuddy *buddy, PurpleGroup *group, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
965 | const char *message); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
966 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
967 | /** @copydoc _PurpleProtocolServerInterface::add_buddies */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
968 | void purple_protocol_server_iface_add_buddies(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
969 | PurpleConnection *pc, GList *buddies, GList *groups, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
970 | const char *message); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
971 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
972 | /** @copydoc _PurpleProtocolServerInterface::remove_buddy */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
973 | void purple_protocol_server_iface_remove_buddy(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
974 | PurpleConnection *, PurpleBuddy *buddy, PurpleGroup *group); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
975 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
976 | /** @copydoc _PurpleProtocolServerInterface::remove_buddies */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
977 | void purple_protocol_server_iface_remove_buddies(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
978 | PurpleConnection *, GList *buddies, GList *groups); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
979 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
980 | /** @copydoc _PurpleProtocolServerInterface::keepalive */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
981 | void purple_protocol_server_iface_keepalive(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
982 | PurpleConnection *); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
983 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
984 | /** @copydoc _PurpleProtocolServerInterface::alias_buddy */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
985 | void purple_protocol_server_iface_alias_buddy(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
986 | PurpleConnection *, const char *who, const char *alias); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
987 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
988 | /** @copydoc _PurpleProtocolServerInterface::group_buddy */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
989 | void purple_protocol_server_iface_group_buddy(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
990 | PurpleConnection *, const char *who, const char *old_group, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
991 | const char *new_group); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
992 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
993 | /** @copydoc _PurpleProtocolServerInterface::rename_group */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
994 | void purple_protocol_server_iface_rename_group(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
995 | PurpleConnection *, const char *old_name, PurpleGroup *group, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
996 | GList *moved_buddies); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
997 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
998 | /** @copydoc _PurpleProtocolServerInterface::set_buddy_icon */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
999 | void purple_protocol_server_iface_set_buddy_icon(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1000 | PurpleConnection *, PurpleStoredImage *img); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1001 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1002 | /** @copydoc _PurpleProtocolServerInterface::remove_group */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1003 | void purple_protocol_server_iface_remove_group(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1004 | PurpleConnection *gc, PurpleGroup *group); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1005 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1006 | /** @copydoc _PurpleProtocolServerInterface::send_raw */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1007 | int purple_protocol_server_iface_send_raw(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1008 | PurpleConnection *gc, const char *buf, int len); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1009 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1010 | /** @copydoc _PurpleProtocolServerInterface::set_public_alias */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1011 | void purple_protocol_server_iface_set_public_alias(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1012 | PurpleConnection *gc, const char *alias, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1013 | PurpleSetPublicAliasSuccessCallback success_cb, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1014 | PurpleSetPublicAliasFailureCallback failure_cb); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1015 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1016 | /** @copydoc _PurpleProtocolServerInterface::get_public_alias */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1017 | void purple_protocol_server_iface_get_public_alias(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1018 | PurpleConnection *gc, PurpleGetPublicAliasSuccessCallback success_cb, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1019 | PurpleGetPublicAliasFailureCallback failure_cb); |
|
36686
9807e4acf281
Added PurpleProtocolOverrideFlags and purple_protocol_override()
Ankit Vani <a@nevitus.org>
parents:
36682
diff
changeset
|
1020 | |
|
36566
029a5f652427
Moved all of protocol API to protocol.h
Ankit Vani <a@nevitus.org>
parents:
36564
diff
changeset
|
1021 | /*@}*/ |
|
029a5f652427
Moved all of protocol API to protocol.h
Ankit Vani <a@nevitus.org>
parents:
36564
diff
changeset
|
1022 | |
|
029a5f652427
Moved all of protocol API to protocol.h
Ankit Vani <a@nevitus.org>
parents:
36564
diff
changeset
|
1023 | /**************************************************************************/ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1024 | /** @name Protocol IM Interface API */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1025 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1026 | /*@{*/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1027 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1028 | /** |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1029 | * Returns the GType for the protocol IM interface. |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1030 | */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1031 | GType purple_protocol_im_iface_get_type(void); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1032 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1033 | /** @copydoc _PurpleProtocolIMInterface::send */ |
|
36722
49872e1ec30e
Defined the new interface functions
Ankit Vani <a@nevitus.org>
parents:
36720
diff
changeset
|
1034 | int purple_protocol_im_iface_send(PurpleProtocol *, PurpleConnection *, |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1035 | const char *who, const char *message, PurpleMessageFlags flags); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1036 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1037 | /** @copydoc _PurpleProtocolIMInterface::send_typing */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1038 | unsigned int purple_protocol_im_iface_send_typing(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1039 | PurpleConnection *, const char *name, PurpleIMTypingState state); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1040 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1041 | /*@}*/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1042 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1043 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1044 | /** @name Protocol Chat Interface API */ |
|
36566
029a5f652427
Moved all of protocol API to protocol.h
Ankit Vani <a@nevitus.org>
parents:
36564
diff
changeset
|
1045 | /**************************************************************************/ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1046 | /*@{*/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1047 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1048 | /** |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1049 | * Returns the GType for the protocol chat interface. |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1050 | */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1051 | GType purple_protocol_chat_iface_get_type(void); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1052 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1053 | /** @copydoc _PurpleProtocolChatInterface::info */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1054 | GList *purple_protocol_chat_iface_info(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1055 | PurpleConnection *); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1056 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1057 | /** @copydoc _PurpleProtocolChatInterface::info_defaults */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1058 | GHashTable *purple_protocol_chat_iface_info_defaults(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1059 | PurpleConnection *, const char *chat_name); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1060 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1061 | /** @copydoc _PurpleProtocolChatInterface::join */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1062 | void purple_protocol_chat_iface_join(PurpleProtocol *, PurpleConnection *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1063 | GHashTable *components); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1064 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1065 | /** @copydoc _PurpleProtocolChatInterface::reject */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1066 | void purple_protocol_chat_iface_reject(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1067 | PurpleConnection *, GHashTable *components); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1068 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1069 | /** @copydoc _PurpleProtocolChatInterface::get_name */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1070 | char *purple_protocol_chat_iface_get_name(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1071 | GHashTable *components); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1072 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1073 | /** @copydoc _PurpleProtocolChatInterface::invite */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1074 | void purple_protocol_chat_iface_invite(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1075 | PurpleConnection *, int id, const char *message, const char *who); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1076 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1077 | /** @copydoc _PurpleProtocolChatInterface::leave */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1078 | void purple_protocol_chat_iface_leave(PurpleProtocol *, PurpleConnection *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1079 | int id); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1080 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1081 | /** @copydoc _PurpleProtocolChatInterface::whisper */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1082 | void purple_protocol_chat_iface_whisper(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1083 | PurpleConnection *, int id, const char *who, const char *message); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1084 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1085 | /** @copydoc _PurpleProtocolChatInterface::send */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1086 | int purple_protocol_chat_iface_send(PurpleProtocol *, PurpleConnection *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1087 | int id, const char *message, PurpleMessageFlags flags); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1088 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1089 | /** @copydoc _PurpleProtocolChatInterface::get_user_real_name */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1090 | char *purple_protocol_chat_iface_get_user_real_name(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1091 | PurpleConnection *gc, int id, const char *who); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1092 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1093 | /** @copydoc _PurpleProtocolChatInterface::set_topic */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1094 | void purple_protocol_chat_iface_set_topic(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1095 | PurpleConnection *gc, int id, const char *topic); |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1096 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1097 | /*@}*/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1098 | |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1099 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1100 | /** @name Protocol Privacy Interface API */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1101 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1102 | /*@{*/ |
|
36566
029a5f652427
Moved all of protocol API to protocol.h
Ankit Vani <a@nevitus.org>
parents:
36564
diff
changeset
|
1103 | |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36613
diff
changeset
|
1104 | /** |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1105 | * Returns the GType for the protocol privacy interface. |
|
36617
be16459a68e9
Finished implementation of protocol object and interface stuff in protocol.[ch].
Ankit Vani <a@nevitus.org>
parents:
36613
diff
changeset
|
1106 | */ |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1107 | GType purple_protocol_privacy_iface_get_type(void); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1108 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1109 | /** @copydoc _PurpleProtocolPrivacyInterface::add_permit */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1110 | void purple_protocol_privacy_iface_add_permit(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1111 | PurpleConnection *, const char *name); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1112 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1113 | /** @copydoc _PurpleProtocolPrivacyInterface::add_deny */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1114 | void purple_protocol_privacy_iface_add_deny(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1115 | PurpleConnection *, const char *name); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1116 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1117 | /** @copydoc _PurpleProtocolPrivacyInterface::rem_permit */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1118 | void purple_protocol_privacy_iface_rem_permit(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1119 | PurpleConnection *, const char *name); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1120 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1121 | /** @copydoc _PurpleProtocolPrivacyInterface::rem_deny */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1122 | void purple_protocol_privacy_iface_rem_deny(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1123 | PurpleConnection *, const char *name); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1124 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1125 | /** @copydoc _PurpleProtocolPrivacyInterface::set_permit_deny */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1126 | void purple_protocol_privacy_iface_set_permit_deny(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1127 | PurpleConnection *); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1128 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1129 | /*@}*/ |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1130 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1131 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1132 | /** @name Protocol Xfer Interface API */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1133 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1134 | /*@{*/ |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1135 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1136 | /** |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1137 | * Returns the GType for the protocol xfer interface. |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1138 | */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1139 | GType purple_protocol_xfer_iface_get_type(void); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1140 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1141 | /** @copydoc _PurpleProtocolXferInterface::can_receive */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1142 | gboolean purple_protocol_xfer_iface_can_receive(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1143 | PurpleConnection *, const char *who); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1144 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1145 | /** @copydoc _PurpleProtocolXferInterface::send */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1146 | void purple_protocol_xfer_iface_send(PurpleProtocol *, PurpleConnection *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1147 | const char *who, const char *filename); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1148 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1149 | /** @copydoc _PurpleProtocolXferInterface::new_xfer */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1150 | PurpleXfer *purple_protocol_xfer_iface_new_xfer(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1151 | PurpleConnection *, const char *who); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1152 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1153 | /*@}*/ |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1154 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1155 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1156 | /** @name Protocol Roomlist Interface API */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1157 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1158 | /*@{*/ |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1159 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1160 | /** |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1161 | * Returns the GType for the protocol roomlist interface. |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1162 | */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1163 | GType purple_protocol_roomlist_iface_get_type(void); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1164 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1165 | /** @copydoc _PurpleProtocolRoomlistInterface::get_list */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1166 | PurpleRoomlist *purple_protocol_roomlist_iface_get_list(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1167 | PurpleConnection *gc); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1168 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1169 | /** @copydoc _PurpleProtocolRoomlistInterface::cancel */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1170 | void purple_protocol_roomlist_iface_cancel(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1171 | PurpleRoomlist *list); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1172 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1173 | /** @copydoc _PurpleProtocolRoomlistInterface::expand_category */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1174 | void purple_protocol_roomlist_iface_expand_category(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1175 | PurpleRoomlist *list, PurpleRoomlistRoom *category); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1176 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1177 | /** @copydoc _PurpleProtocolRoomlistInterface::room_serialize */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1178 | char *purple_protocol_roomlist_iface_room_serialize(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1179 | PurpleRoomlistRoom *room); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1180 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1181 | /*@}*/ |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1182 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1183 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1184 | /** @name Protocol Attention Interface API */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1185 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1186 | /*@{*/ |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1187 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1188 | /** |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1189 | * Returns the GType for the protocol attention interface. |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1190 | */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1191 | GType purple_protocol_attention_iface_get_type(void); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1192 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1193 | /** @copydoc _PurpleProtocolAttentionInterface::send */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1194 | gboolean purple_protocol_attention_iface_send(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1195 | PurpleConnection *gc, const char *username, guint type); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1196 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1197 | /** @copydoc _PurpleProtocolAttentionInterface::get_types */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1198 | GList *purple_protocol_attention_iface_get_types(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1199 | PurpleAccount *acct); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1200 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1201 | /*@}*/ |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1202 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1203 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1204 | /** @name Protocol Media Interface API */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1205 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1206 | /*@{*/ |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1207 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1208 | /** |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1209 | * Returns the GType for the protocol media interface. |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1210 | */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1211 | GType purple_protocol_media_iface_get_type(void); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1212 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1213 | /** @copydoc _PurpleProtocolMediaInterface::initiate_session */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1214 | gboolean purple_protocol_media_iface_initiate_session(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1215 | PurpleAccount *account, const char *who, PurpleMediaSessionType type); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1216 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1217 | /** @copydoc _PurpleProtocolMediaInterface::get_caps */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1218 | PurpleMediaCaps purple_protocol_media_iface_get_caps(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1219 | PurpleAccount *account, const char *who); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1220 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1221 | /*@}*/ |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1222 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1223 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1224 | /** @name Protocol Factory Interface API */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1225 | /**************************************************************************/ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1226 | /*@{*/ |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1227 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1228 | /** |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1229 | * Returns the GType for the protocol factory interface. |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1230 | */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1231 | GType purple_protocol_factory_iface_get_type(void); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1232 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1233 | /** @copydoc _PurpleProtocolFactoryInterface::connection_new */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1234 | PurpleConnection *purple_protocol_factory_iface_connection_new(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1235 | PurpleAccount *account, const char *password); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1236 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1237 | /** @copydoc _PurpleProtocolFactoryInterface::roomlist_new */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1238 | PurpleRoomlist *purple_protocol_factory_iface_roomlist_new(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1239 | PurpleAccount *account); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1240 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1241 | /** @copydoc _PurpleProtocolFactoryInterface::whiteboard_new */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1242 | PurpleWhiteboard *purple_protocol_factory_iface_whiteboard_new(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1243 | PurpleAccount *account, const char *who, int state); |
|
36564
2d423b459d4b
Declared functions to call interface methods from PurpleProtocol * objects
Ankit Vani <a@nevitus.org>
parents:
36563
diff
changeset
|
1244 | |
|
36718
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1245 | /** @copydoc _PurpleProtocolFactoryInterface::xfer_new */ |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1246 | PurpleXfer *purple_protocol_factory_iface_xfer_new(PurpleProtocol *, |
|
24f9c085897a
Finished splitting up the protocol interface
Ankit Vani <a@nevitus.org>
parents:
36717
diff
changeset
|
1247 | PurpleAccount *account, PurpleXferType type, const char *who); |
|
36583
0582190c9382
Merged soc.2013.gobjectification branch
Ankit Vani <a@nevitus.org>
parents:
36581
diff
changeset
|
1248 | |
|
36563
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1249 | /*@}*/ |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1250 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1251 | G_END_DECLS |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1252 | |
|
5ecb9a6c4611
Added protocol.[ch] and moved PurpleProtocol and PurpleProtocolInterface to it
Ankit Vani <a@nevitus.org>
parents:
diff
changeset
|
1253 | #endif /* _PROTOCOL_H_ */ |