⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rec_base.h

📁 电能质量交换格式转换库
💻 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 + -