summaryrefslogtreecommitdiff
path: root/src/core/chatnets.h
blob: 2b78f64a7364d8d92c536e4d99527a697b7f9aa3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef __CHATNETS_H
#define __CHATNETS_H

#include "modules.h"

/* Returns CHATNET_REC if it's chatnet, NULL if it isn't. */
#define CHATNET(chatnet) \
	MODULE_CHECK_CAST(chatnet, CHATNET_REC, type, "CHATNET")

#define IS_CHATNET(chatnet) \
	(CHATNET(chatnet) ? TRUE : FALSE)

struct _CHATNET_REC {
#include "chatnet-rec.h"
};

extern GSList *chatnets; /* list of available chat networks */

/* add the chatnet to chat networks list */
void chatnet_create(CHATNET_REC *chatnet);
/* remove the chatnet from chat networks list */
void chatnet_remove(CHATNET_REC *chatnet);
/* destroy the chatnet structure. doesn't remove from config file */
void chatnet_destroy(CHATNET_REC *chatnet);

/* Find the chat network by name */
CHATNET_REC *chatnet_find(const char *name);

void chatnets_init(void);
void chatnets_deinit(void);

#endif