src/irc_log.h
author Tero Marttila <terom@fixme.fi>
Tue, 10 Mar 2009 03:48:00 +0200
changeset 33 e5139b339b18
parent 26 aec062af155d
child 55 6f7f6ae729d0
permissions -rw-r--r--
add line_proto_callbacks.on_error, although irc_conn doesn't pass it up
23
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
#ifndef IRC_LOG_H
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
#define IRC_LOG_H
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
/**
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
 * @file
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
 *
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
 * Logging IRC events to an SQL database
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
 */
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
#include "error.h"
26
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    10
#include "irc_chan.h"
23
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
#include <event2/event.h>
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
/**
26
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    14
 * Configuration state for irc_log
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    15
 */
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    16
struct irc_log_info {
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    17
    /** Database connection string */
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    18
    const char *db_info;
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    19
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    20
    /** The channel to log */
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    21
    struct irc_chan *channel;
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    22
};
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    23
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    24
/**
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    25
 * Initialize the global irc_log module to use the given configuration
23
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
 *
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
 * XXX: db_info is still unused if not specified
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
 */
26
aec062af155d add irc_chan module
Tero Marttila <terom@fixme.fi>
parents: 23
diff changeset
    29
err_t irc_log_init (struct event_base *ev_base, const struct irc_log_info *info);
23
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    30
542c73d07d3c add a simple irc_log module (with evsql code) that joins a channel and log_info's PRIVMSGs
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    31
#endif