11218
|
1 #ifndef __CRAZYCHAT_H__
|
|
2 #define __CRAZYCHAT_H__
|
|
3
|
|
4 #include <glib.h>
|
|
5 #include <sys/types.h>
|
|
6 #include <sys/socket.h>
|
|
7 #include <netinet/in.h>
|
|
8 #include <gtk/gtk.h>
|
|
9 #include "filter.h"
|
|
10
|
|
11 struct crazychat;
|
|
12
|
|
13 /* --- type definitions --- */
|
|
14
|
|
15 typedef enum { INVITE = 0, ACCEPT, ACCEPTED, CONNECTED } CC_STATE;
|
|
16
|
|
17 /**
|
|
18 * Finds the CrazyChat session with the handle.
|
|
19 * @param cc global crazychat data structure
|
|
20 * @param handle the peer name
|
|
21 * @return the cc_session if found, or NULL
|
|
22 */
|
|
23 struct cc_session *cc_find_session(struct crazychat *cc, char *handle);
|
|
24
|
|
25 /**
|
|
26 * Adds a new session with a peer, unless a peer session already exists.
|
|
27 * Makes a deep copy of the handle.
|
|
28 * @param cc global crazychat data structure
|
|
29 * @param handle the peer name
|
|
30 * @return the new/old cc_session
|
|
31 */
|
|
32 struct cc_session *cc_add_session(struct crazychat *cc, char *handle);
|
|
33
|
|
34 /**
|
|
35 * Removes a crazychat session with a peer.
|
|
36 * @param cc global crazychat data structure
|
|
37 * @param session the cc_session to remove
|
|
38 */
|
|
39 void cc_remove_session(struct crazychat *cc, struct cc_session *session);
|
|
40
|
|
41 #endif /* __CRAZYCHAT_H__ */
|