Source code of Windows XP (NT5)
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.

62 lines
1.4 KiB

  1. /*
  2. *
  3. * REFERENCES:
  4. *
  5. * NOTES:
  6. *
  7. * REVISIONS:
  8. * sja05Nov92: Added a new constructor which allows the use of #defines's
  9. * for the value parameter
  10. * ane11Nov92: Removed !=, == members. They're in object now.
  11. *
  12. * ker20Nov92: Added SetValue function
  13. * pcy26Nov92: object.h changed to apcobj.h
  14. * pcy27Jan93: HashValue is no longer const
  15. * ane08Feb93: Added copy constructor
  16. * cad28Sep93: Made sure destructor(s) virtual
  17. * ntf03Jan96: added printMeOut and operator<< functions for Attribute class
  18. */
  19. #ifndef __ATTRIB_H
  20. #define __ATTRIB_H
  21. #if !defined( __APCOBJ_H )
  22. #include "apcobj.h"
  23. #endif
  24. _CLASSDEF(Attribute)
  25. #ifdef APCDEBUG
  26. class ostream;
  27. #endif
  28. class Attribute : public Obj {
  29. private:
  30. PCHAR theValue;
  31. INT theAttributeCode;
  32. protected:
  33. #ifdef APCDEBUG
  34. virtual ostream& printMeOut(ostream& os);
  35. #endif
  36. public:
  37. #ifdef APCDEBUG
  38. friend ostream& operator<< (ostream& os, Attribute &);
  39. #endif
  40. Attribute(INT, PCHAR);
  41. Attribute(INT, LONG);
  42. Attribute(const Attribute &anAttr);
  43. virtual ~Attribute();
  44. INT GetCode() const { return theAttributeCode; };
  45. const PCHAR GetValue();
  46. VOID SetCode(INT aCode);
  47. INT SetValue(const PCHAR);
  48. INT SetValue(LONG);
  49. virtual INT Equal( RObj ) const;
  50. virtual INT IsA() const { return ATTRIBUTE; };
  51. };
  52. #endif