aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkOSFile_win.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ports/SkOSFile_win.cpp')
-rw-r--r--src/ports/SkOSFile_win.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/ports/SkOSFile_win.cpp b/src/ports/SkOSFile_win.cpp
index 7fec557987..a0848915ba 100644
--- a/src/ports/SkOSFile_win.cpp
+++ b/src/ports/SkOSFile_win.cpp
@@ -50,18 +50,16 @@ bool sk_fidentical(SkFILE* a, SkFILE* b) {
&& aID.fVolume == bID.fVolume;
}
-template <typename HandleType, HandleType InvalidValue, BOOL (WINAPI * Close)(HandleType)>
-class SkAutoTHandle : SkNoncopyable {
+class SkAutoNullKernelHandle : SkNoncopyable {
public:
- SkAutoTHandle(HandleType handle) : fHandle(handle) { }
- ~SkAutoTHandle() { Close(fHandle); }
- operator HandleType() { return fHandle; }
- bool isValid() { return InvalidValue != fHandle; }
+ SkAutoNullKernelHandle(const HANDLE handle) : fHandle(handle) { }
+ ~SkAutoNullKernelHandle() { CloseHandle(fHandle); }
+ operator HANDLE() const { return fHandle; }
+ bool isValid() const { return NULL != fHandle; }
private:
- HandleType fHandle;
+ HANDLE fHandle;
};
-typedef SkAutoTHandle<HANDLE, INVALID_HANDLE_VALUE, CloseHandle> SkAutoWinFile;
-typedef SkAutoTHandle<HANDLE, NULL, CloseHandle> SkAutoWinMMap;
+typedef SkAutoNullKernelHandle SkAutoWinMMap;
void sk_fmunmap(const void* addr, size_t) {
UnmapViewOfFile(addr);