📄 classwgui_1_1cmessageserver.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>wGui::CMessageServer class Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Data Structures</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Data Fields</a> </center><hr><h1>wGui::CMessageServer Class Reference</h1>A server which queues and dispatches messages. <a href="#_details">More...</a><p><code>#include <<a class="el" href="wg__message__server_8h-source.html">wg_message_server.h</a>></code><p><h2>Public Types</h2><ul><li>enum <a class="el" href="classwGui_1_1CMessageServer.html#s5">EClientPriority</a> { <br> <a class="el" href="classwGui_1_1CMessageServer.html#s5s0">PRIORITY_LAST</a> = 0, <a class="el" href="classwGui_1_1CMessageServer.html#s5s1">PRIORITY_LOW</a> = 50, <a class="el" href="classwGui_1_1CMessageServer.html#s5s2">PRIORITY_NORMAL</a> = 100, <a class="el" href="classwGui_1_1CMessageServer.html#s5s3">PRIORITY_HIGH</a> = 150, <br> <a class="el" href="classwGui_1_1CMessageServer.html#s5s4">PRIORITY_FIRST</a> = 255<br> }<dl class="el"><dd><font size=-1><em>Used for marking the priority of registered message clients, where the higher priority clients will get messages first.</em> <a href="#s5">More...</a><em><br><br></em></font></dl></ul><h2>Public Methods</h2><ul><li>void <a class="el" href="classwGui_1_1CMessageServer.html#a0">RegisterMessageClient</a> (<a class="el" href="classwGui_1_1CMessageClient.html">CMessageClient</a> *pClient, <a class="el" href="classwGui_1_1CMessage.html#s16">CMessage::EMessageType</a> eMessageType, unsigned char Priority=PRIORITY_NORMAL)<li>void <a class="el" href="classwGui_1_1CMessageServer.html#a1">DeregisterMessageClient</a> (<a class="el" href="classwGui_1_1CMessageClient.html">CMessageClient</a> *pClient, <a class="el" href="classwGui_1_1CMessage.html#s16">CMessage::EMessageType</a> eMessageType)<li>void <a class="el" href="classwGui_1_1CMessageServer.html#a2">DeregisterMessageClient</a> (<a class="el" href="classwGui_1_1CMessageClient.html">CMessageClient</a> *pClient)<li><a name="a3" doxytag="wGui::CMessageServer::DeliverMessage"></a>void <a class="el" href="classwGui_1_1CMessageServer.html#a3">DeliverMessage</a> (void)<dl class="el"><dd><font size=-1><em>Takes the next message in the queue and dispatches it to any registered clients in priority order.<br><br></em></font></dl><li>void <a class="el" href="classwGui_1_1CMessageServer.html#a4">QueueMessage</a> (<a class="el" href="classwGui_1_1CMessage.html">CMessage</a> *pMessage)<li><a name="a5" doxytag="wGui::CMessageServer::MessageAvailable"></a>bool <a class="el" href="classwGui_1_1CMessageServer.html#a5">MessageAvailable</a> (void)<dl class="el"><dd><font size=-1><em><dl compact><dt><b>Returns: </b></dt><dd>true if there's a message available in the queue</dl><br><br></em></font></dl></ul><h2>Static Public Methods</h2><ul><li><a name="d0" doxytag="wGui::CMessageServer::Instance"></a>CMessageServer & <a class="el" href="classwGui_1_1CMessageServer.html#d0">Instance</a> (void)<dl class="el"><dd><font size=-1><em><dl compact><dt><b>Returns: </b></dt><dd>The single valid instance of the message server, or create one if it doesn't already exist</dl><br><br></em></font></dl></ul><h2>Protected Methods</h2><ul><li><a name="b0" doxytag="wGui::CMessageServer::CMessageServer"></a><a class="el" href="classwGui_1_1CMessageServer.html#b0">CMessageServer</a> (void)<dl class="el"><dd><font size=-1><em>The <a class="el" href="classwGui_1_1CMessageServer.html">CMessageServer</a> class cannot be directly instantiated, it must be access through <a class="el" href="classwGui_1_1CMessageServer.html#d0">Instance()</a>.<br><br></em></font></dl><li><a name="b1" doxytag="wGui::CMessageServer::~CMessageServer"></a>virtual <a class="el" href="classwGui_1_1CMessageServer.html#b1">~CMessageServer</a> (void)<dl class="el"><dd><font size=-1><em>Standard constructor.<br><br></em></font></dl></ul><h2>Protected Attributes</h2><ul><li><a name="n0" doxytag="wGui::CMessageServer::m_MessageQueue"></a>std::deque< <a class="el" href="classwGui_1_1CMessage.html">CMessage</a> * > <a class="el" href="classwGui_1_1CMessageServer.html#n0">m_MessageQueue</a><dl class="el"><dd><font size=-1><em>The message queue.<br><br></em></font></dl><li><a name="n1" doxytag="wGui::CMessageServer::m_MessageClients"></a>t_MessageClientMap <a class="el" href="classwGui_1_1CMessageServer.html#n1">m_MessageClients</a><dl class="el"><dd><font size=-1><em>A map of all the registered clients.<br><br></em></font></dl><li><a name="n2" doxytag="wGui::CMessageServer::m_pSemaphore"></a>SDL_sem * <a class="el" href="classwGui_1_1CMessageServer.html#n2">m_pSemaphore</a><dl class="el"><dd><font size=-1><em>A semaphore indicating how many messages are in the queue.<br><br></em></font></dl></ul><h2>Static Protected Attributes</h2><ul><li><a name="q0" doxytag="wGui::CMessageServer::m_pInstance"></a>CMessageServer * <a class="el" href="classwGui_1_1CMessageServer.html#q0">m_pInstance</a> = 0<dl class="el"><dd><font size=-1><em>A pointer to the single instande of the message server.<br><br></em></font></dl></ul><hr><a name="_details"></a><h2>Detailed Description</h2>A server which queues and dispatches messages.<p><a class="el" href="classwGui_1_1CMessageServer.html">CMessageServer</a> is a singeton (only one instance of it is allowed to exist at any time) Clients must register to get messages sent to them <dl compact><dt><b>See also: </b></dt><dd><a class="el" href="classwGui_1_1CMessage.html">CMessage</a> <a class="el" href="classwGui_1_1CMessageClient.html">CMessageClient</a> </dl><p><p>Definition at line <a class="el" href="wg__message__server_8h-source.html#l00056">56</a> of file <a class="el" href="wg__message__server_8h-source.html">wg_message_server.h</a>.<hr><h2>Member Enumeration Documentation</h2><a name="s5" doxytag="wGui::CMessageServer::EClientPriority"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> enum wGui::CMessageServer::EClientPriority </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Used for marking the priority of registered message clients, where the higher priority clients will get messages first.<p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a name="s5s0" doxytag="PRIORITY_LAST"></a><em>PRIORITY_LAST</em></em> </td><td>The absolute lowest priority available.</td></tr><tr><td valign=top><em><a name="s5s1" doxytag="PRIORITY_LOW"></a><em>PRIORITY_LOW</em></em> </td><td>Low priority.</td></tr><tr><td valign=top><em><a name="s5s2" doxytag="PRIORITY_NORMAL"></a><em>PRIORITY_NORMAL</em></em> </td><td>Standard priority.</td></tr><tr><td valign=top><em><a name="s5s3" doxytag="PRIORITY_HIGH"></a><em>PRIORITY_HIGH</em></em> </td><td>High priority.</td></tr><tr><td valign=top><em><a name="s5s4" doxytag="PRIORITY_FIRST"></a><em>PRIORITY_FIRST</em></em> </td><td>The absolute highest priority available.</td></tr></table></dl><p>Definition at line <a class="el" href="wg__message__server_8h-source.html#l00068">68</a> of file <a class="el" href="wg__message__server_8h-source.html">wg_message_server.h</a>. </td> </tr></table><hr><h2>Member Function Documentation</h2><a name="a2" doxytag="wGui::CMessageServer::DeregisterMessageClient"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="md"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> void wGui::CMessageServer::DeregisterMessageClient </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="classwGui_1_1CMessageClient.html">CMessageClient</a> * </td> <td class="mdname1" valign="top" nowrap> <em>pClient</em> </td> <td class="md" valign="top">) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Deregister a client for all message types <dl compact><dt><b>Parameters: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em>pClient</em> </td><td>A pointer to the message client to be deregistered </td></tr></table></dl><p>Definition at line <a class="el" href="wg__message__server_8cpp-source.html#l00091">91</a> of file <a class="el" href="wg__message__server_8cpp-source.html">wg_message_server.cpp</a>.<p>References <a class="el" href="wg__message__server_8h-source.html#l00109">m_MessageClients</a>. </td> </tr></table><a name="a1" doxytag="wGui::CMessageServer::DeregisterMessageClient"></a><p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -