#ifndef _SQIRC_COMMON_HPP_ #define _SQIRC_COMMON_HPP_ // ------------------------------------------------------------------------------------------------ #include "Base/Utility.hpp" // ------------------------------------------------------------------------------------------------ #include #include // ------------------------------------------------------------------------------------------------ namespace SqMod { /* ------------------------------------------------------------------------------------------------ * SOFTWARE INFORMATION */ #define SQIRC_NAME "Squirrel IRC Module" #define SQIRC_AUTHOR "Sandu Liviu Catalin (S.L.C)" #define SQIRC_COPYRIGHT "Copyright (C) 2017 Sandu Liviu Catalin" #define SQIRC_HOST_NAME "SqModIRCHost" #define SQIRC_VERSION 001 #define SQIRC_VERSION_STR "0.0.1" #define SQIRC_VERSION_MAJOR 0 #define SQIRC_VERSION_MINOR 0 #define SQIRC_VERSION_PATCH 1 /* ------------------------------------------------------------------------------------------------ * Types of events that the session emits. */ enum SessionEvent { SET_CONNECT = 0, SET_NICK, SET_QUIT, SET_JOIN, SET_PART, SET_MODE, SET_UMODE, SET_TOPIC, SET_KICK, SET_CHANNEL, SET_PRIVMSG, SET_NOTICE, SET_CHANNELNOTICE, SET_INVITE, SET_CTCPREQ, SET_CTCPREP, SET_CTCPACTION, SET_UNKNOWN, SET_NUMERIC, SET_DCCCHATREQ, SET_DCCSENDREQ, SET_MAX }; /* ------------------------------------------------------------------------------------------------ * Forward declarations. */ class Session; /* ------------------------------------------------------------------------------------------------ * Used by IRC as proxy to allocate memory if the requested size is larger than the common buffer. */ void * IrcAllocMem(size_t n); /* ------------------------------------------------------------------------------------------------ * Release memory previously allocated with IrcAllocMem, only if necessary. Nasty but we'll try. */ void IrcFreeMem(void * p); /* ------------------------------------------------------------------------------------------------ * Extract the name from the specified origin. */ SQInteger GetNick(HSQUIRRELVM vm); /* ------------------------------------------------------------------------------------------------ * Extract the host from the specified origin. */ SQInteger GetHost(HSQUIRRELVM vm); /* ------------------------------------------------------------------------------------------------ * Returns a new plain text message with stripped mIRC color codes. */ SQInteger StripColorFromMIRC(HSQUIRRELVM vm); /* ------------------------------------------------------------------------------------------------ * Returns a new message with converted mIRC color codes and format options. */ SQInteger ConvertColorFromMIRC(HSQUIRRELVM vm); /* ------------------------------------------------------------------------------------------------ * Returns a new message with converted color codes and format options. */ SQInteger ConvertColorToMIRC(HSQUIRRELVM vm); } // Namespace:: SqMod #endif // _SQIRC_COMMON_HPP_