author | Mikael Berthe <mikael@lilotux.net> |
Wed, 10 Nov 2010 11:25:08 +0100 | |
changeset 33 | 104ecab6a1d5 |
parent 32 | 14534d171215 |
permissions | -rw-r--r-- |
16
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
1 |
|
32
14534d171215
Update copyright data and API version
Mikael Berthe <mikael@lilotux.net>
parents:
25
diff
changeset
|
2 |
/* Copyright 2009,2010 Myhailo Danylenko |
16
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
3 |
* |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
4 |
* Service discovery requests |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
5 |
* |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
6 |
* This file is part of mcabber-disco |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
7 |
* |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
8 |
* mcabber-disco is free software: you can redistribute it and/or modify |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
9 |
* it under the terms of the GNU General Public License as published by |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
10 |
* the Free Software Foundation, either version 2 of the License, or |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
11 |
* (at your option) any later version. |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
12 |
* |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
13 |
* This program is distributed in the hope that it will be useful, |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
14 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
15 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
16 |
* GNU General Public License for more details. |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
17 |
* |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
18 |
* You should have received a copy of the GNU General Public License |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
19 |
* along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
20 |
|
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
21 |
#ifndef MCABBER_DISCO_H |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
22 |
#define MCABBER_DISCO_H |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
23 |
|
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
24 |
#include <glib.h> |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
25 |
|
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
26 |
typedef struct { |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
27 |
const gchar *category; |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
28 |
const gchar *type; |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
29 |
const gchar *reserved; // FIXME: look up in standard, what is fourth parameter |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
30 |
const gchar *name; |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
31 |
} disco_identity_t; |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
32 |
|
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
33 |
typedef const gchar *disco_feature_t; |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
34 |
|
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
35 |
typedef struct { |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
36 |
const gchar *jid; |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
37 |
const gchar *name; |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
38 |
const gchar *node; |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
39 |
} disco_item_t; |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
40 |
|
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
41 |
typedef void (*disco_info_handler_t) (GSList *identities, GSList *features, gpointer userdata); |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
42 |
typedef void (*disco_items_handler_t) (GSList *items, gpointer userdata); |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
43 |
|
25
05469ec9c2e0
Add disco_cancel_request
Myhailo Danylenko <isbear@ukrpost.net>
parents:
16
diff
changeset
|
44 |
gpointer disco_info_request (const gchar *jid, const gchar *node, disco_info_handler_t handler, gpointer userdata, GDestroyNotify notify); |
05469ec9c2e0
Add disco_cancel_request
Myhailo Danylenko <isbear@ukrpost.net>
parents:
16
diff
changeset
|
45 |
gpointer disco_items_request (const gchar *jid, const gchar *node, disco_items_handler_t handler, gpointer userdata, GDestroyNotify notify); |
05469ec9c2e0
Add disco_cancel_request
Myhailo Danylenko <isbear@ukrpost.net>
parents:
16
diff
changeset
|
46 |
void disco_cancel_request (gpointer id); |
16
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
47 |
|
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
48 |
#endif |
e903da874e63
Provide public interface to disco requests
Myhailo Danylenko <isbear@ukrpost.net>
parents:
diff
changeset
|
49 |