// // STOROS2.CPP // // Source file for ArchiveLib 2.0 // // Copyright (c) Greenleaf Software, Inc. 1994-1996 // All Rights Reserved // // CONTENTS // // ALStorage::YieldTime() // // REVISION HISTORY // // February 14, 1996 2.0A : New release #include "arclib.h" #if !defined( AL_IBM ) #pragma hdrstop #endif // // void ALStorage::YieldTime() // // ARGUMENTS: // // None. // // RETURNS // // Nothing. // // DESCRIPTION // // This function has two important things to do. It gets called // at a few different points in the process of reading or writing data // from storage objects. During normal reading and writing, it // will get called every time the buffer is loaded or flushed. // // Under OS/2, I try to give some time back to the system by // calling the WinPeekMsg() function. Does it do any good? // Who knows??? // // The second important function is that of calling the monitor function. // The user interface elements need to be updated regularly, and this // is done via this call. // // SEE ALSO // // ALStorage::LoadBuffer(), ALStorage::FlushBuffer() // // REVISION HISTORY // // February 14, 1996 2.0A : New release // void AL_PROTO ALStorage::YieldTime() { if ( mpMonitor ) mpMonitor->Progress( Tell(), *this ); QMSG qmsg; while ( WinPeekMsg( NULLHANDLE, &qmsg, NULLHANDLE, 0, 0, PM_REMOVE ) ) WinDispatchMsg( NULLHANDLE, &qmsg ); }