src/nexus.h
author Tero Marttila <terom@fixme.fi>
Tue, 31 Mar 2009 22:09:53 +0300
changeset 98 f357f835f0d5
parent 93 42ade8285570
child 103 454aea1e4f11
permissions -rw-r--r--
add irc_client_defaults to apply default values for irc_client_add_net irc_net_info, implement --defaults cmd opt and lua_client_connect
#ifndef NEXUS_H
#define NEXUS_H

/**
 * @file
 *
 * A nexus is the central brain of the application; the place where the main() method is implemented
 */
struct nexus;

#include <event2/event.h>
#include "signals.h"
#include "console.h"
#include "lua_console.h"
#include "module.h"
#include "irc_client.h"

/**
 * The central brain, as created in the main() function.
 */
struct nexus {
    /** The libevent base */
    struct event_base *ev_base;

    /** Our signal handlers */
    struct signals *signals;

    /** Our console */
    struct console *console;

    /** Our lua console */
    struct lua_console *lua_console;

    /** Our loaded modules */
    struct modules *modules;

    /** The IRC client state */
    struct irc_client *client;
};

/**
 * The nexus main function, application entry point, etc.
 */
int main (int argc, char **argv);

#endif /* NEXUS_H */