/*
* Code from: Philipp Meinen
* Copyright (C): 2003-2004 Philipp Meinen
*
* Email: lancelot@lancelot2k.dyndns.org
* Homepage: http://lancelot2k.dyndns.org
* License: GPL
* */
#ifndef _MESSAGES_H_
#define _MESSAGES_H_ 1
#include "config.h"
#include "classes.h"
#include "functions.h"
class Messages {
private:
/* every element of the channel_messages array will be
* allocated when a message comes in */
char * channel_messages[CHANNELS_MAX][NUM_LINES];
unsigned short has_format_chars[CHANNELS_MAX][NUM_LINES]; /* 1 = there are format chars; 0 = there are no format chars */
bool has_changed[CHANNELS_MAX]; /* no new messages on this channel since messages has been added to the buffer */
/* which_start_message tells us, which element of the array
* channel_messages the last one is (bottom) */
int which_start_message[CHANNELS_MAX];
int how_many_entrys[CHANNELS_MAX];
void SetMessage(int channel_num, char * new_message);
int check_for_format_chars(char * string); /* ret: 1 = there are format chars; 0 = there are no format chars */
public:
Messages(void);
~Messages(void);
void SetIrcChatMessage(int channel_num, char * nickname, char * message);
/* Position 0 is the newest entry
* ret NULL = no entry for this position and channel */
char * GetMessage(int channel_num, int position);
int GetFormatOptions(int channel_num, int position); /* 1 = there are format chars; 0 = there are no format chars */
int GetLinesNum(int channel_num);
void EmptyMessages(int channel_num); /* deletes every message */
void SetChange(int tmp_channel, bool value); /* manualy set this to force a screen redraw */
bool GetChange(int tmp_channel);
};
#endif
syntax highlighted by Code2HTML, v. 0.9.1