⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 event.h

📁 Socketlib: 一个轻量级的C++ 封装Socket C API 网络编程框架。 它简化了Socket异步事件分派、进程间Socket通信的并发OO网络应用和服务的开发。 目前
💻 H
字号:
//**********************************************************************
//
// Copyright (C) 2005-2007 Zhang bao yuan(bolidezhang@gmail.com).
// All rights reserved.
//
// This copy of Socketlib is licensed to you under the terms described 
// in the LICENSE.txt file included in this distribution.
//
//**********************************************************************

#pragma once
#include "../config.h"

namespace SYNC
{

class SOCKETLIB_API CEvent
{
private:
	// = Prevent copying.
	CEvent (const CEvent& oEvent);
	CEvent &operator= (const CEvent &oEvent);
public:
	CEvent(void);
	virtual ~CEvent(void);

	CEvent(BOOL bManualReset, BOOL bInitialState);
	CEvent(LPSECURITY_ATTRIBUTES pSecurity, BOOL bManualReset, BOOL bInitialState, LPCTSTR pszName);

	// Create a new event
	bool  Create(LPSECURITY_ATTRIBUTES pSecurity, BOOL bManualReset, BOOL bInitialState, LPCTSTR pszName);
	// Open an existing named event
	bool  Open(DWORD dwAccess, BOOL bInheritHandle, LPCTSTR pszName);
	// Pulse the event (signals waiting objects, then resets)
	bool  Pulse();
	// Set the event to the non-signaled state
	bool  Reset();
	// Set the event to the signaled state
	bool  Signal();

	// Wait event
	DWORD Wait(DWORD nTimeOut);	

	// 锁
	bool  Lock(DWORD nTimeOut);
	bool  Lock();
	bool  UnLock();
	bool  TryLock();

	//取得句柄
	HANDLE GetHandle() const;

private:
	bool Clear();

protected:
	HANDLE	m_hEvent;

};

};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -