📄 rec_base.h
字号:
/*
** Base class for PQDIF records; pure virtual.
** --------------------------------------------------------------------------
**
** File name: $Workfile: rec_base.h $
** Last modified: $Modtime: 2/05/98 1:53p $
** Last modified by: $Author: Rob $
**
** VCS archive path: $Archive: /Hank/DMM/FirmWare/Level3/ObDatMgr/rec_base.h $
** VCS revision: $Revision: 4 $
*/
// Forward-declare these items
class CPQDIF_StreamIO;
class CPQDIF_E_Collection;
class CPQDIF_E_Scalar;
class CPQDIF_E_Vector;
union PQDIFValue;
class CPQDIFRecord
{
public:
CPQDIFRecord() {}
virtual ~CPQDIFRecord() {}
// Operations
public:
virtual bool ReadHeader( CPQDIF_StreamIO * pstream ) = 0;
virtual bool ReadBody( CPQDIF_StreamIO * pstream ) = 0;
virtual bool WriteHeader( CPQDIF_StreamIO * pstream ) = 0;
virtual bool WriteBody( CPQDIF_StreamIO * pstream ) = 0;
// Attributes
public:
virtual bool HeaderGetPos( LINKABS4& pos ) const = 0;
virtual bool HeaderSetPos( LINKABS4 pos ) = 0;
virtual bool HeaderGetTag( GUID& tagRecord ) const = 0;
virtual bool HeaderSetTag( GUID tagRecord ) = 0;
virtual bool HeaderGetSize( SIZE4& sizeHeader, SIZE4& sizeBody ) const = 0;
virtual bool HeaderSetSize( SIZE4 sizeHeader, SIZE4 sizeBody ) = 0;
virtual bool HeaderGetChecksum( UINT& checksum ) const = 0;
virtual bool HeaderSetChecksum( UINT checksum ) = 0;
virtual bool HeaderGetPosNextRecord( LINKABS4& pos ) const = 0;
virtual bool HeaderSetPosNextRecord( LINKABS4 pos ) = 0;
virtual CPQDIF_E_Collection * GetMainCollection( void ) const = 0;
virtual bool SetMainCollection( CPQDIF_E_Collection * collMain ) = 0;
virtual bool GetChanged( void ) = 0;
virtual void SetChanged( bool changed ) = 0;
// Static functions (do not affect--or even require--an object)
public:
static CPQDIF_E_Collection * FindCollectionInCollection
(
CPQDIF_E_Collection * pcoll,
const GUID& tag
);
static CPQDIF_E_Scalar * FindScalarInCollection
(
CPQDIF_E_Collection * pcoll,
const GUID& tag
);
static bool GetScalarValueInCollection
(
CPQDIF_E_Collection * pcoll,
const GUID& tag,
UINT4 typePhysical,
PQDIFValue& value
);
static CPQDIF_E_Vector * FindVectorInCollection
(
CPQDIF_E_Collection * pcoll,
const GUID& tag
);
static CPQDIF_E_Scalar * FindOrCreateScalarInCollection
(
CPQDIF_E_Collection * pcoll,
const GUID& tag,
UINT4 typePhysical
);
static CPQDIF_E_Vector * FindOrCreateVectorInCollection
(
CPQDIF_E_Collection * pcoll,
const GUID& tag,
UINT4 typePhysical
);
// Implementation
protected:
// None; pure virtual base class.
// Member data
protected:
// None; pure virtual base class.
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -