meanwhile
1.0.2
Main Page
Related Pages
Data Structures
Files
File List
Globals
src
meanwhile-1.0.2
src
mw_srvc_im.h
Go to the documentation of this file.
1
2
/*
3
Meanwhile - Unofficial Lotus Sametime Community Client Library
4
Copyright (C) 2004 Christopher (siege) O'Brien
5
6
This library is free software; you can redistribute it and/or
7
modify it under the terms of the GNU Library General Public
8
License as published by the Free Software Foundation; either
9
version 2 of the License, or (at your option) any later version.
10
11
This library is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
Library General Public License for more details.
15
16
You should have received a copy of the GNU Library General Public
17
License along with this library; if not, write to the Free
18
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
*/
20
21
#ifndef _MW_SRVC_IM_H
22
#define _MW_SRVC_IM_H
23
24
36
#include <glib.h>
37
#include "
mw_common.h
"
38
39
40
#ifdef __cplusplus
41
extern
"C"
{
42
#endif
43
44
45
/* identifier for the IM service */
46
#define mwService_IM 0x00001000
47
48
53
struct
mwServiceIm
;
54
55
59
struct
mwConversation
;
60
61
62
enum
mwImClientType
{
63
mwImClient_PLAIN
= 0x00000001,
64
mwImClient_NOTESBUDDY
= 0x00033453,
65
mwImClient_PRECONF
= 0x00000019,
66
mwImClient_UNKNOWN
= 0xffffffff,
67
};
68
69
84
enum
mwImSendType
{
85
mwImSend_PLAIN
,
86
mwImSend_TYPING
,
87
mwImSend_HTML
,
88
mwImSend_SUBJECT
,
89
mwImSend_MIME
,
90
mwImSend_TIMESTAMP
,
91
};
92
93
94
96
enum
mwConversationState
{
97
mwConversation_CLOSED
,
98
mwConversation_PENDING
,
99
mwConversation_OPEN
,
100
mwConversation_UNKNOWN
,
101
};
102
103
104
#define mwConversation_isState(conv, state) \
105
(mwConversation_getState(conv) == (state))
106
107
#define mwConversation_isClosed(conv) \
108
mwConversation_isState((conv), mwConversation_CLOSED)
109
110
#define mwConversation_isPending(conv) \
111
mwConversation_isState((conv), mwConversation_PENDING)
112
113
#define mwConversation_isOpen(conv) \
114
mwConversation_isState((conv), mwConversation_OPEN)
115
116
117
120
struct
mwImHandler
{
121
123
void (*
conversation_opened
)(
struct
mwConversation
*conv);
124
126
void (*
conversation_closed
)(
struct
mwConversation
*conv, guint32 err);
127
129
void (*
conversation_recv
)(
struct
mwConversation
*conv,
130
enum
mwImSendType
type, gconstpointer msg);
131
134
void (*
place_invite
)(
struct
mwConversation
*conv,
135
const
char
*message,
136
const
char
*title,
const
char
*name);
137
139
void (*
clear
)(
struct
mwServiceIm
*srvc);
140
};
141
142
143
struct
mwServiceIm
*
mwServiceIm_new
(
struct
mwSession
*
session
,
144
struct
mwImHandler
*handler);
145
146
147
struct
mwImHandler
*
mwServiceIm_getHandler
(
struct
mwServiceIm
*srvc);
148
149
152
struct
mwConversation
*
mwServiceIm_getConversation
(
struct
mwServiceIm
*srvc,
153
struct
mwIdBlock
*target);
154
155
157
struct
mwConversation
*
mwServiceIm_findConversation
(
struct
mwServiceIm
*srvc,
158
struct
mwIdBlock
*target);
159
160
163
gboolean
mwServiceIm_supports
(
struct
mwServiceIm
*srvc,
164
enum
mwImSendType
type);
165
166
174
void
mwServiceIm_setClientType
(
struct
mwServiceIm
*srvc,
175
enum
mwImClientType
type);
176
177
178
enum
mwImClientType
mwServiceIm_getClientType
(
struct
mwServiceIm
*srvc);
179
180
186
void
mwConversation_open
(
struct
mwConversation
*conv);
187
188
191
void
mwConversation_close
(
struct
mwConversation
*conv, guint32 err);
192
193
195
gboolean
mwConversation_supports
(
struct
mwConversation
*conv,
196
enum
mwImSendType
type);
197
198
199
enum
mwImClientType
mwConversation_getClientType
(
struct
mwConversation
*conv);
200
201
208
enum
mwConversationState
mwConversation_getState
(
struct
mwConversation
*conv);
209
210
212
int
mwConversation_send
(
struct
mwConversation
*conv,
213
enum
mwImSendType
type, gconstpointer send);
214
215
217
struct
mwServiceIm
*
mwConversation_getService
(
struct
mwConversation
*conv);
218
219
222
struct
mwLoginInfo
*
mwConversation_getTargetInfo
(
struct
mwConversation
*conv);
223
224
226
struct
mwIdBlock
*
mwConversation_getTarget
(
struct
mwConversation
*conv);
227
228
231
void
mwConversation_setEncrypted
(
struct
mwConversation
*conv,
232
gboolean useCipher);
233
234
236
gboolean
mwConversation_isEncrypted
(
struct
mwConversation
*conv);
237
238
245
void
mwConversation_setClientData
(
struct
mwConversation
*conv,
246
gpointer data, GDestroyNotify clean);
247
248
254
gpointer
mwConversation_getClientData
(
struct
mwConversation
*conv);
255
256
263
void
mwConversation_removeClientData
(
struct
mwConversation
*conv);
264
265
268
void
mwConversation_free
(
struct
mwConversation
*conv);
269
270
271
#ifdef __cplusplus
272
}
273
#endif
274
275
276
#endif
/* _MW_SRVC_IM_H */
Generated on Fri Aug 30 2013 00:01:47 for meanwhile by
1.8.4