From: Keith F. <ven...@us...> - 2002-03-14 07:33:45
|
Update of /cvsroot/planeshift/planeshift/src/common/net In directory usw-pr-cvs1:/tmp/cvs-serv14921 Modified Files: netthread.cpp netbase.h msghandler.h msghandler.cpp Log Message: Added Broadcast (all) enum. Moved to NetBase to be accessible by all classes. Index: netthread.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/netthread.cpp,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** netthread.cpp 14 Mar 2002 00:20:11 -0000 1.32 --- netthread.cpp 14 Mar 2002 07:33:41 -0000 1.33 *************** *** 145,151 **** switch (scope) { ! case 1: { ! // send the message to each client except the client that originated it uint32_t originalclient = me->clientnum; --- 145,157 ---- switch (scope) { ! /** ! * not sure how to access these enums now, so hardcoding values ! * case BC_EVERYONE: ! * case BC_EVERYONEBUTSELF: ! */ ! case NetBase::BC_EVERYONE: ! case NetBase::BC_EVERYONEBUTSELF: { ! // send the message to each client (except perhaps the client that originated it) uint32_t originalclient = me->clientnum; *************** *** 157,170 **** // Message is copied again into packet sections, so we can reuse same one. ! clients.lock.enter(); BinaryTreeIterator<Client> *i = clients.GetIterator(); for (p = i->First(); p; p = i->Next()) { ! if (p->GetClientNum() != originalclient) ! { ! newmsg->clientnum = p->GetClientNum(); ! SendMessage (newmsg); ! } } clients.lock.leave(); --- 163,176 ---- // Message is copied again into packet sections, so we can reuse same one. ! clients.lock.enter(); BinaryTreeIterator<Client> *i = clients.GetIterator(); for (p = i->First(); p; p = i->Next()) { ! if (scope==NetBase::BC_EVERYONE || p->GetClientNum() != originalclient) ! { ! newmsg->clientnum = p->GetClientNum(); ! SendMessage (newmsg); ! } } clients.lock.leave(); Index: netbase.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/netbase.h,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** netbase.h 14 Mar 2002 00:08:57 -0000 1.27 --- netbase.h 14 Mar 2002 07:33:42 -0000 1.28 *************** *** 102,105 **** --- 102,115 ---- */ class Connection; + + enum broadcasttype + { + BC_EVERYONEBUTSELF = 1, + BC_GROUP = 2, + BC_GUILD = 3, + BC_SECTOR = 4, + BC_EVERYONE = 5 + }; + protected: /* the following protected stuff is thought of being used in the inherited Index: msghandler.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/msghandler.h,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** msghandler.h 12 Mar 2002 17:11:36 -0000 1.17 --- msghandler.h 14 Mar 2002 07:33:42 -0000 1.18 *************** *** 73,86 **** virtual void SendMessage(MsgEntry *msg); - enum broadcasttype - { - BC_EVERYONEBUTSELF = 1, - BC_GROUP = 2, - BC_GUILD = 3, - BC_SECTOR = 4 - }; - virtual void Broadcast(MsgEntry* msg, ! broadcasttype scope=BC_EVERYONEBUTSELF); protected: /** Distribute received messages to all subscribers */ --- 73,78 ---- virtual void SendMessage(MsgEntry *msg); virtual void Broadcast(MsgEntry* msg, ! NetBase::broadcasttype scope=NetBase::BC_EVERYONEBUTSELF); protected: /** Distribute received messages to all subscribers */ Index: msghandler.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/msghandler.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** msghandler.cpp 12 Mar 2002 17:11:35 -0000 1.17 --- msghandler.cpp 14 Mar 2002 07:33:42 -0000 1.18 *************** *** 54,58 **** } ! void MsgHandler::Broadcast (MsgEntry* me, broadcasttype scope) { netbase->Broadcast(me, scope); --- 54,58 ---- } ! void MsgHandler::Broadcast (MsgEntry* me, NetBase::broadcasttype scope) { netbase->Broadcast(me, scope); |