Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
1.3 KiB

  1. /*
  2. *
  3. * NOTES:
  4. *
  5. * REVISIONS:
  6. * pcy13Jan93: Implemented an object status member to return constructor errors.
  7. * pcy27Jan93: HashValue is no longer const
  8. * cad09Jul93: Added memory leak probes
  9. * pcy14Sep93: Removed HashValue, and got rid of pure virtuals to help size
  10. * pcy18Sep93: Implemented Equals
  11. * ash08Aug96: Added new handler
  12. * poc17Sep96: Modified so that the new handler code will not be included on Unix.
  13. *
  14. */
  15. #ifndef __APCOBJ_H
  16. #define __APCOBJ_H
  17. #include "_defs.h"
  18. #include "apc.h"
  19. #include "isa.h"
  20. #include "err.h"
  21. extern "C" {
  22. #include <string.h>
  23. }
  24. _CLASSDEF(Obj)
  25. #ifdef MCHK
  26. #define MCHKINIT strcpy(memCheck, "APCID"); strncat(memCheck, IsA(), 25)
  27. #else
  28. #define MCHKINIT
  29. #endif
  30. class Obj {
  31. protected:
  32. #ifdef MCHK
  33. CHAR memCheck[38];
  34. #endif
  35. Obj();
  36. INT theObjectStatus;
  37. public:
  38. #ifdef APCDEBUG
  39. INT theDebugFlag;
  40. #endif
  41. virtual ~Obj();
  42. virtual INT IsA() const;
  43. virtual INT Equal( RObj anObj) const;
  44. INT operator == ( RObj cmp) const { return Equal(cmp); };
  45. INT operator != ( RObj cmp) const { return !Equal(cmp); };
  46. INT GetObjectStatus() { return theObjectStatus; };
  47. VOID SetObjectStatus(INT aStatus) { theObjectStatus = aStatus; };
  48. };
  49. #endif