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
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
|
|
|