home *** CD-ROM | disk | FTP | other *** search
- // -------- 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
-
-