#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 <windows.h>
|
#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
|
///////////////////////////////////////////////////////////////////////////////
|