#if defined (_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif #ifndef JETBYTE_TOOLS_WIN32_QLEVENT_INCLUDED__ #define JETBYTE_TOOLS_WIN32_QLEVENT_INCLUDED__ /////////////////////////////////////////////////////////////////////////////// // // File : $Workfile: Event.h $ // Version : $Revision: 4 $ // Function : // // Author : $Author: Len $ // Date : $Date: 20/05/02 23:17 $ // // Notes : // // Modifications : // // $Log: /Clients/PayPoint/e-Voucher/JetByteTools/Win32Tools/Event.h $ // // 4 20/05/02 23:17 Len // Updated copyright and disclaimers. // // 3 20/05/02 10:34 Len // Exposed Pulse functionality // // 2 10/05/02 19:25 Len // Lint options and code cleaning. // // 1 9/05/02 18:47 Len // /////////////////////////////////////////////////////////////////////////////// // // Copyright 1997 - 2002 JetByte Limited. // // JetByte Limited grants you ("Licensee") a non-exclusive, royalty free, // licence to use, modify and redistribute this software in source and binary // code form, provided that i) this copyright notice and licence appear on all // copies of the software; and ii) Licensee does not utilize the software in a // manner which is disparaging to JetByte Limited. // // This software is provided "as is" without a warranty of any kind. All // express or implied conditions, representations and warranties, including // any implied warranty of merchantability, fitness for a particular purpose // or non-infringement, are hereby excluded. JetByte Limited and its licensors // shall not be liable for any damages suffered by licensee as a result of // using, modifying or distributing the software or its derivatives. In no // event will JetByte Limited be liable for any lost revenue, profit or data, // or for direct, indirect, special, consequential, incidental or punitive // damages, however caused and regardless of the theory of liability, arising // out of the use of or inability to use software, even if JetByte Limited // has been advised of the possibility of such damages. // // This software is not designed or intended for use in on-line control of // aircraft, air traffic, aircraft navigation or aircraft communications; or in // the design, construction, operation or maintenance of any nuclear // facility. Licensee represents and warrants that it will not use or // redistribute the Software for such purposes. // /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Lint options // //lint -save // // Private copy constructor //lint -esym(1704, CEvent::CEvent) // // No default constructor //lint -esym(1712, CEvent) // /////////////////////////////////////////////////////////////////////////////// #ifndef _WINDOWS_ #define WIN32_LEAN_AND_MEAN #include #undef WIN32_LEAN_AND_MEAN #endif /////////////////////////////////////////////////////////////////////////////// // CEvent /////////////////////////////////////////////////////////////////////////////// class AFX_EXT_CLASS CQLEvent { public : CQLEvent( LPSECURITY_ATTRIBUTES lpSecurityAttributes, bool manualReset, bool initialState); CQLEvent( LPSECURITY_ATTRIBUTES lpSecurityAttributes, bool manualReset, bool initialState, const CString &name); virtual ~CQLEvent(); HANDLE GetEvent() const; void Wait() const; bool Wait( DWORD timeoutMillis) const; void Reset(); void Set(); void Pulse(); private : HANDLE m_hEvent; // No copies do not implement // CEvent(const CEvent &rhs); // CEvent &operator=(const CEvent &rhs); }; /////////////////////////////////////////////////////////////////////////////// // CQLManualResetEvent /////////////////////////////////////////////////////////////////////////////// class AFX_EXT_CLASS CQLManualResetEvent : public CQLEvent { public : CQLManualResetEvent( bool initialState = false); CQLManualResetEvent( const CString &name, bool initialState = false); private : // No copies do not implement CQLManualResetEvent(const CQLManualResetEvent &rhs); CQLManualResetEvent &operator=(const CQLManualResetEvent &rhs); }; /////////////////////////////////////////////////////////////////////////////// // Lint options // //lint -restore // #endif // JETBYTE_TOOLS_WIN32_QLEVENT_INCLUDED__ /////////////////////////////////////////////////////////////////////////////// // End of file ///////////////////////////////////////////////////////////////////////////////