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.
 
 
 
 
 
 

139 lines
2.6 KiB

//
// Copyright (c) 1997-2001 Microsoft Corporation, All Rights Reserved
//
#ifndef OBJECT_IDENTITY
#define OBJECT_IDENTITY
/*
* This class models the OBJECT-IDENTITY macro
*/
class SIMCObjectIdentityType : public SIMCType
{
public:
// Symbols for the STATUS clause
enum StatusType
{
STATUS_INVALID, // Not used,
STATUS_CURRENT,
STATUS_DEPRECATED,
STATUS_OBSOLETE
};
private:
// Various clauses of the OBJECT-IDENTITY macro
StatusType _status;
long _statusLine, _statusColumn;
char *_description;
long _descriptionLine, _descriptionColumn;
char *_reference;
long _referenceLine, _referenceColumn;
public:
SIMCObjectIdentityType( StatusType status,
long statusLine, long statusColumn,
char *description,
long descriptionLine, long descriptionColumn,
char *reference,
long referenceLine, long referenceColumn);
virtual ~SIMCObjectIdentityType();
/*
*
* And a whole lotta functions to set/get the various clauses
*
*/
void SetStatus(StatusType s)
{
_status = s;
}
StatusType GetStatus() const
{
return _status;
}
static StatusType StringToStatusType (const char * const s);
long GetStatusLine() const
{
return _statusLine;
}
void SetStatusLine(long x)
{
_statusLine = x;
}
long GetStatusColumn() const
{
return _statusColumn;
}
void SetStatusColumn(long x)
{
_statusColumn = x;
}
void SetDescription( const char * const s)
{
if( _description)
delete [] _description;
_description = NewString(s);
}
const char * GetDescription() const
{
return _description;
}
long GetDescriptionLine() const
{
return _descriptionLine;
}
long GetDescriptionColumn() const
{
return _descriptionColumn;
}
void SetDescriptionLine(long x)
{
_descriptionLine = x;
}
void SetDescriptionColumn(long x)
{
_descriptionColumn = x;
}
void SetReference( const char * const s)
{
if( _reference)
delete [] _reference;
_reference = NewString(s);
}
const char * GetReference() const
{
return _reference;
}
long GetReferenceLine() const
{
return _referenceLine;
}
long GetReferenceColumn() const
{
return _referenceColumn;
}
void SetReferenceLine(long x)
{
_referenceLine = x;
}
void SetReferenceColumn(long x)
{
_referenceColumn = x;
}
// A debugging function
void WriteType(ostream &outStream) const;
};
#endif