home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C++ Games Programming
/
CPPGAMES.ISO
/
thx
/
include
/
msgfold.h
< prev
next >
Wrap
C/C++ Source or Header
|
1995-05-08
|
1KB
|
49 lines
// -------- msgfold.h
#ifndef MSGFOLD_H
#define MSGFOLD_H
#include "queue.h"
#include "folder.h"
#include "handler.h"
#include "debug.h"
class Hand;
class MessageFolder : public Folder {
EventHandler messagenumber[MAXMESSAGE];
Queue msgQ;
friend class MessageServer;
public:
MessageFolder() : Folder(messagenumber, MAXMESSAGE) { }
void add_message(Hand*,int rate,callback);
void del_message(Hand*,int rate,callback);
void reset();
void send(int,int,int);
void dispatch(int, int, int);
};
inline void MessageFolder::add_message(Hand* h,
int msg,callback cb)
{
Assert(msg >= 0 && msg < MAXMESSAGE);
messagenumber[msg].add(h,cb);
}
inline void MessageFolder::del_message(Hand* h,
int msg,callback cb)
{
Assert(msg >= 0 && msg < MAXMESSAGE);
messagenumber[msg].del(h,cb);
}
inline void MessageFolder::send(int msg,int data1, int data2)
{
Assert(msg >= 0 && msg < MAXMESSAGE);
msgQ.put(msg,data1,data2);
}
#endif