windows-nt/Source/XPSP1/NT/ds/netapi/svcdlls/upssvc/apcsmart/attrib.h
2020-09-26 16:20:57 +08:00

63 lines
1.4 KiB
C++

/*
*
* REFERENCES:
*
* NOTES:
*
* REVISIONS:
* sja05Nov92: Added a new constructor which allows the use of #defines's
* for the value parameter
* ane11Nov92: Removed !=, == members. They're in object now.
*
* ker20Nov92: Added SetValue function
* pcy26Nov92: object.h changed to apcobj.h
* pcy27Jan93: HashValue is no longer const
* ane08Feb93: Added copy constructor
* cad28Sep93: Made sure destructor(s) virtual
* ntf03Jan96: added printMeOut and operator<< functions for Attribute class
*/
#ifndef __ATTRIB_H
#define __ATTRIB_H
#if !defined( __APCOBJ_H )
#include "apcobj.h"
#endif
_CLASSDEF(Attribute)
#ifdef APCDEBUG
class ostream;
#endif
class Attribute : public Obj {
private:
PCHAR theValue;
INT theAttributeCode;
protected:
#ifdef APCDEBUG
virtual ostream& printMeOut(ostream& os);
#endif
public:
#ifdef APCDEBUG
friend ostream& operator<< (ostream& os, Attribute &);
#endif
Attribute(INT, PCHAR);
Attribute(INT, LONG);
Attribute(const Attribute &anAttr);
virtual ~Attribute();
INT GetCode() const { return theAttributeCode; };
const PCHAR GetValue();
VOID SetCode(INT aCode);
INT SetValue(const PCHAR);
INT SetValue(LONG);
virtual INT Equal( RObj ) const;
virtual INT IsA() const { return ATTRIBUTE; };
};
#endif