Class CAsyncSocket::
SimpleMessageMap()
Base ClassesData ItemsConstructorsDestructorsFunctionsCustom CodeGo to hierarchy chart    Prev page: SimpleMessageMapNext page: SimpleMessageMapKey    Show member index
Public Function Declared in:
AsyncSocket.h

'Declaration' icon -- Shortcut to top of page. Declaration

static void SimpleMessageMap(
    LPMapProc pProc,
    BOOL bStopWhenTRUE,
    DWORD dwSleep);

'Description' icon -- Shortcut to top of page. Description

Implement a message map Stop it when function has a result pProc - The proc to run bStopWhenTRUE - Stop when the proc is TRUE dwSleep - How much to sleep between idle calls

'Function Body' icon -- Shortcut to top of page. Function Body

try
{
    //Check if we have the proc
    if (!pProc)
    {
        //Report it
        ReportStaticError(CAsyncSocket_Class,"SimpleMessageMap","Recieved null proc!");

        //Exit
        return;
    }

    //If there is no message map, then receive won't work
    MSG msg;

    //Set the message map to zeros
    memset(&msg,
           0,
           sizeof(msg));

    //Stop flag
    BOOL bStop;
    bStop=FALSE;

    //Start the loop
    while (!bStop &&
           (*pProc)()!=bStopWhenTRUE)
    {
        while (!(bStop=(*pProc)()==bStopWhenTRUE) &&
               PeekMessage(&msg,
                           NULL,
                           0,
                           0,
                           PM_REMOVE))
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }

        //Do we need to sleep?
        if (!bStop)
            //No messages
            Sleep(dwSleep);
    }
}
ERROR_HANDLER_STATIC(CAsyncSocket_Class,"SimpleMessageMap")

'See Also' icon -- Shortcut to top of page. See Also

Class Overview Class Overview  |  Protected base class CSpoofBase  |  Hierarchy Chart Hierarchy Chart


Get Surveyor!This web site was generated using Surveyor V4.50.811.1.  Click here for more information. Site content copyright © 2003 Komodia LTD.. See the About page for additional notices. This page last updated: 24 Feb 2003.