Changeset 5935 for trunk/src/user32/gen_object.h
- Timestamp:
- Jun 9, 2001, 4:50:26 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/gen_object.h
r2469 r5935 1 /* $Id: gen_object.h,v 1. 5 2000-01-18 20:08:09sandervl Exp $ */1 /* $Id: gen_object.h,v 1.6 2001-06-09 14:50:17 sandervl Exp $ */ 2 2 /* 3 3 * Generic Object Class for OS/2 … … 10 10 11 11 #include <heapshared.h> 12 13 #define OBJTYPE_WINDOW 0 14 #define OBJTYPE_DIALOG 1 15 #define OBJTYPE_CLASS 2 16 #define OBJTYPE_BITMAP 3 17 #define OBJTYPE_ICON 4 18 #define OBJTYPE_CURSOR 5 19 #define OBJTYPE_MENU 6 20 21 #define OBJTYPE_MAX 7 22 //...... 12 #ifdef OS2_INCLUDED 13 #include <win32api.h> 14 #endif 23 15 24 16 class GenericObject 25 17 { 26 18 public: 27 GenericObject(GenericObject **head, DWORD objType);19 GenericObject(GenericObject **head, CRITICAL_SECTION *pLock); 28 20 virtual ~GenericObject(); 29 30 DWORD getObjectType() { return objType; };31 void setObjectType(DWORD objType) { this->objType = objType; };32 21 33 22 GenericObject *GetHead() { return *head; }; 34 23 GenericObject *GetNext() { return next; }; 35 24 36 void enterMutex();37 void leaveMutex();25 void lock() { EnterCriticalSection(pLock); }; 26 void unlock() { LeaveCriticalSection(pLock); }; 38 27 39 static void enterMutex(DWORD objType); 40 static void leaveMutex(DWORD objType); 28 void link(); 29 void unlink(); 30 31 LONG addRef() { return InterlockedIncrement(&refCount); }; 32 LONG getRefCount() { return refCount; }; 33 LONG release(); 34 35 void markDeleted() { fDeletePending = TRUE; }; 36 37 static void lock(CRITICAL_SECTION *pLock) { EnterCriticalSection(pLock); }; 38 static void unlock(CRITICAL_SECTION *pLock) { LeaveCriticalSection(pLock); }; 41 39 42 40 static void DestroyAll(GenericObject *head); … … 64 62 private: 65 63 66 DWORD objType;67 68 64 protected: 69 65 70 GenericObject **head; 71 GenericObject *next; 66 CRITICAL_SECTION *pLock; 67 LONG refCount; 68 ULONG fLinked : 1, 69 fDeletePending : 1; 70 71 GenericObject **head; 72 GenericObject *next; 72 73 }; 73 74
Note:
See TracChangeset
for help on using the changeset viewer.