comparison libpurple/purple-client-example.c @ 15885:c6e563dfaa7a

More s/gaim/pidgin/ and s/gaim/purple/ and make the RPM spec file work a bit
author Stu Tomlinson <stu@nosnilmot.com>
date Sat, 24 Mar 2007 17:51:05 +0000
parents
children 48d09d62912e
comparison
equal deleted inserted replaced
15884:bfa907029bfc 15885:c6e563dfaa7a
1 #define DBUS_API_SUBJECT_TO_CHANGE
2
3 #include <stdio.h>
4 #include <stdlib.h>
5
6 #include "purple-client.h"
7
8 /*
9 This example demonstrates how to use libpurple-client to communicate
10 with purple. The names and signatures of functions provided by
11 libpurple-client are the same as those in purple. However, all
12 structures (such as PurpleAccount) are opaque, that is, you can only
13 use pointer to them. In fact, these pointers DO NOT actually point
14 to anything, they are just integer identifiers of assigned to these
15 structures by purple. So NEVER try to dereference these pointers.
16 Integer ids as disguised as pointers to provide type checking and
17 prevent mistakes such as passing an id of PurpleAccount when an id of
18 PurpleBuddy is expected. According to glib manual, this technique is
19 portable.
20 */
21
22 int main (int argc, char **argv)
23 {
24 GList *alist, *node;
25
26 purple_init();
27
28 alist = purple_accounts_get_all();
29 for (node = alist; node != NULL; node = node->next)
30 {
31 PurpleAccount *account = (PurpleAccount*) node->data;
32 char *name = purple_account_get_username(account);
33 g_print("Name: %s\n", name);
34 g_free(name);
35 }
36 g_list_free(alist);
37
38 return 0;
39 }