source: trunk/src/kernel32/hmevent.cpp@ 1570

Last change on this file since 1570 was 1461, checked in by phaller, 26 years ago

Fix: bugfix for events, mutexes and semaphores

File size: 5.8 KB
Line 
1/* $Id: hmevent.cpp,v 1.2 1999-10-26 22:35:24 phaller Exp $ */
2
3/*
4 * Project Odin Software License can be found in LICENSE.TXT
5 * Win32 Unified Handle Manager for OS/2
6 * Copyright 1999 Patrick Haller (haller@zebra.fh-weingarten.de)
7 */
8
9#undef DEBUG_LOCAL
10//#define DEBUG_LOCAL
11
12
13/*****************************************************************************
14 * Remark *
15 *****************************************************************************
16
17 */
18
19
20/*****************************************************************************
21 * Includes *
22 *****************************************************************************/
23
24#include <os2win.h>
25#include <stdlib.h>
26#include <string.h>
27#include "unicode.h"
28#include "misc.h"
29
30#include "HandleManager.H"
31#include "HMEvent.h"
32
33
34/*****************************************************************************
35 * Defines *
36 *****************************************************************************/
37
38/*****************************************************************************
39 * Structures *
40 *****************************************************************************/
41
42/*****************************************************************************
43 * Local Prototypes *
44 *****************************************************************************/
45
46
47/*****************************************************************************
48 * Name : HMCreateEvent
49 * Purpose : router function for CreateEvent
50 * Parameters:
51 * Variables :
52 * Result :
53 * Remark :
54 * Status :
55 *
56 * Author : Patrick Haller [Tue, 1999/07/06 20:44]
57 *****************************************************************************/
58
59DWORD HMDeviceEventClass::CreateEvent(PHMHANDLEDATA pHMHandleData,
60 LPSECURITY_ATTRIBUTES lpsa,
61 BOOL fManualReset,
62 BOOL fInitialState,
63 LPCTSTR lpszEventName)
64{
65 HANDLE hOpen32;
66
67 dprintf(("KERNEL32: HandleManager::Event::CreateEvent(%08xh,%08xh,%08xh,%08xh,%s)\n",
68 pHMHandleData,
69 lpsa,
70 fManualReset,
71 fInitialState,
72 lpszEventName));
73
74 hOpen32 = O32_CreateEvent(lpsa, // call Open32
75 fManualReset,
76 fInitialState,
77 lpszEventName);
78
79 if (0 != hOpen32) // check success
80 {
81 pHMHandleData->hHMHandle = hOpen32; // save handle
82 return (NO_ERROR);
83 }
84 else
85 return (O32_GetLastError());
86}
87
88
89/*****************************************************************************
90 * Name : HMOpenEvent
91 * Purpose : router function for OpenEvent
92 * Parameters:
93 * Variables :
94 * Result :
95 * Remark :
96 * Status :
97 *
98 * Author : Patrick Haller [Tue, 1999/07/06 20:44]
99 *****************************************************************************/
100
101DWORD HMDeviceEventClass::OpenEvent(PHMHANDLEDATA pHMHandleData,
102 BOOL fInheritHandle,
103 LPCTSTR lpszEventName)
104{
105 HANDLE hOpen32;
106
107 dprintf(("KERNEL32: HandleManager::Event::OpenEvent(%08xh,%08xh,%s)\n",
108 pHMHandleData,
109 fInheritHandle,
110 lpszEventName));
111
112 hOpen32 = O32_OpenEvent(pHMHandleData->dwAccess, // call Open32
113 fInheritHandle,
114 lpszEventName);
115
116 if (0 != hOpen32) // check success
117 {
118 pHMHandleData->hHMHandle = hOpen32; // save handle
119 return (NO_ERROR);
120 }
121 else
122 return (O32_GetLastError());
123}
124
125
126/*****************************************************************************
127 * Name : HMSetEvent
128 * Purpose : router function for SetEvent
129 * Parameters:
130 * Variables :
131 * Result :
132 * Remark :
133 * Status :
134 *
135 * Author : Patrick Haller [Tue, 1999/07/06 20:44]
136 *****************************************************************************/
137
138BOOL HMDeviceEventClass::SetEvent(PHMHANDLEDATA pHMHandleData)
139{
140 dprintf(("KERNEL32: HandleManager::Event::SetEvent(%08xh)\n",
141 pHMHandleData->hHMHandle));
142
143 return (O32_SetEvent(pHMHandleData->hHMHandle));
144}
145
146
147/*****************************************************************************
148 * Name : HMPulseEvent
149 * Purpose : router function for PulseEvent
150 * Parameters:
151 * Variables :
152 * Result :
153 * Remark :
154 * Status :
155 *
156 * Author : Patrick Haller [Tue, 1999/07/06 20:44]
157 *****************************************************************************/
158
159BOOL HMDeviceEventClass::PulseEvent(PHMHANDLEDATA pHMHandleData)
160{
161 dprintf(("KERNEL32: HandleManager::Event::PulseEvent(%08xh)\n",
162 pHMHandleData->hHMHandle));
163
164 return (O32_PulseEvent(pHMHandleData->hHMHandle));
165}
166
167
168/*****************************************************************************
169 * Name : HMResetEvent
170 * Purpose : router function for ResetEvent
171 * Parameters:
172 * Variables :
173 * Result :
174 * Remark :
175 * Status :
176 *
177 * Author : Patrick Haller [Tue, 1999/07/06 20:44]
178 *****************************************************************************/
179
180BOOL HMDeviceEventClass::ResetEvent(PHMHANDLEDATA pHMHandleData)
181{
182 dprintf(("KERNEL32: HandleManager::Event::ResetEvent(%08xh)\n",
183 pHMHandleData->hHMHandle));
184
185 return (O32_ResetEvent(pHMHandleData->hHMHandle));
186}
187
Note: See TracBrowser for help on using the repository browser.