source: trunk/src/user32/gen_object.h@ 5087

Last change on this file since 5087 was 2469, checked in by sandervl, 26 years ago

* empty log message *

File size: 1.4 KB
Line 
1/* $Id: gen_object.h,v 1.5 2000-01-18 20:08:09 sandervl Exp $ */
2/*
3 * Generic Object Class for OS/2
4 *
5 * Copyright 1999 Sander van Leeuwen (sandervl@xs4all.nl)
6 *
7 */
8#ifndef __GEN_OBJECT_H__
9#define __GEN_OBJECT_H__
10
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//......
23
24class GenericObject
25{
26public:
27 GenericObject(GenericObject **head, DWORD objType);
28virtual ~GenericObject();
29
30 DWORD getObjectType() { return objType; };
31 void setObjectType(DWORD objType) { this->objType = objType; };
32
33GenericObject *GetHead() { return *head; };
34GenericObject *GetNext() { return next; };
35
36 void enterMutex();
37 void leaveMutex();
38
39static void enterMutex(DWORD objType);
40static void leaveMutex(DWORD objType);
41
42static void DestroyAll(GenericObject *head);
43
44#ifdef __DEBUG_ALLOC__
45 void *operator new(size_t size, const char *filename, size_t lineno)
46 {
47 return _smalloc(size);
48 }
49 void operator delete(void *location, const char *filename, size_t lineno)
50 {
51 free(location);
52 }
53#else
54 void *operator new(size_t size)
55 {
56 return _smalloc(size);
57 }
58 void operator delete(void *location)
59 {
60 free(location);
61 }
62#endif
63
64private:
65
66 DWORD objType;
67
68protected:
69
70 GenericObject **head;
71 GenericObject *next;
72};
73
74#endif
Note: See TracBrowser for help on using the repository browser.