home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
CLASS.ZIP
/
OBJECT.H
< prev
next >
Wrap
Text File
|
1993-01-31
|
2KB
|
67 lines
#ifndef OBJECT_H
#define OBJECT_H
#ifndef DEBUG
#define NDEBUG
#endif /* !DEBUG */
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#define INCL_DOSSEMAPHORES
#include <os2.h>
typedef unsigned int Boolean;
#ifdef DEBUG
#define printFileLine() fprintf(stderr, "%s:%u\n", __FILE__, __LINE__)
#else
#define printFileLine() (void)1
#endif
class object
{ public:
Boolean bSuccessfullConstructed;
HMTX hMtxAccess;
/*
inline int objectSuccessfullConstructed(void)
{ return successfullConstructed;
};
inline int setObjectUnsuccessfullConstructed(void)
{ successfullConstructed = 0;
};
*/
/*inline void constructionFailed(void); */
object(void);
virtual ~object(void);
void *operator new(unsigned int iSize);
void operator delete(void *pObject);
inline Boolean getExclusivAccess(void)
{ return !DosRequestMutexSem(hMtxAccess, (unsigned int)SEM_INDEFINITE_WAIT);
}
inline void freeExclusivAccess(void)
{ DosReleaseMutexSem(hMtxAccess);
}
};
class construct:virtual public object
{ public:
virtual void run(void);
virtual void doSomething(void);
virtual Boolean init(void);
virtual Boolean initPre(void);
virtual Boolean create(void);
virtual Boolean initPost(void);
virtual void destructPost(void);
virtual void destructPre(void);
virtual void destruct(void);
virtual void destructAll(void);
};
#endif /* !OBJECT_H */