PlotterHMI/datafile/dxf/dxflib/PDSMath/PDSUID.h

107 lines
2.4 KiB
C
Raw Normal View History

/********************************************************************
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:2018<EFBFBD><EFBFBD>6<EFBFBD><EFBFBD>9<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>:PDSUID.h
ԭʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD>:ΨһID<EFBFBD><EFBFBD>
<EFBFBD>޸ļ<EFBFBD>¼:
<EFBFBD><EFBFBD><EFBFBD> <EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>޸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*********************************************************************/
#ifndef _PDS_UID_H_
#define _PDS_UID_H_
#include <afxwin.h>
//ΨһID
class CPDSUID : public CObject
{
public:
GUID guid;
public:
CPDSUID(void);
CPDSUID(const CPDSUID& rhs);
virtual ~CPDSUID();
CPDSUID& operator=(const CPDSUID& rhs);
BOOL operator==(const CPDSUID& rhs) const;
//<2F><>ʼ<EFBFBD><CABC>
//<2F>ر<EFBFBD>˵<EFBFBD><CBB5>:
// <20><>guid<69><64>ÿһ<C3BF><D2BB><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0
void Initial(void);
//<2F><><EFBFBD><EFBFBD>UID,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>guid<69><64>(ÿ<>ε<EFBFBD><CEB5>ö<EFBFBD><C3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD>ͬ<EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>)
void CreateUID(void);
//<2F>ж<EFBFBD>this<69>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA>
//<2F><><EFBFBD><EFBFBD>ֵ:
// =true Ϊ<><CEAA>,guid<69><64>ÿһ<C3BF><D2BB><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,=false <20>ǿ<EFBFBD>
BOOL IsNULL(void);
//<2F>ж<EFBFBD>this<69>Ƿ<EFBFBD><C7B7><EFBFBD>Ч
//<2F><><EFBFBD><EFBFBD>ֵ:
// =true <20><>Ч,=false <20><>Ч,<2C><>IsNULL
BOOL IsValid(void);
//<2F><>this<69><73>ʽ<EFBFBD><CABD>Ϊ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֵ:
// 38λ<38>ַ<EFBFBD><D6B7><EFBFBD>,<2C><><EFBFBD><EFBFBD>{77046E66-C274-42CE-85AD-5DCFA5B4D2A5}
CString GetString(void);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>guid
void ParseString(CString strGUID);
//<2F><>id<69><64>ֵ<EFBFBD><D6B5>this
void SetUID(GUID id);
BOOL Read(CArchive& ar);
BOOL Write(CArchive& ar);
};
CArchive& AFXAPI operator>>(CArchive& ar, CPDSUID& uid);
CArchive& AFXAPI operator<<(CArchive& ar, CPDSUID& uid);
//ΨһID<49><44>Map
class CPDSUIDMap : public CMap <CPDSUID,CPDSUID&,int,int&>
{
public: //<2F><>չ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
public: //<2F><>չ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
};
//ΨһID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
class CPDSUIDList : public CList<CPDSUID,CPDSUID&>
{
public: //<2F><>չ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
public: //<2F><>չ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
CPDSUIDList& operator=(CPDSUIDList& rhs); //<2F><>ֵ
CPDSUID& operator[](int iIndex); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD>
void Read(CArchive& ar);
void Write(CArchive& ar);
};
CArchive& AFXAPI operator>>(CArchive& ar, CPDSUIDList& listUID);
CArchive& AFXAPI operator<<(CArchive& ar, CPDSUIDList& listUID);
//ΨһID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
class CPDSUIDListArray : public CArray<CPDSUIDList,CPDSUIDList>
{
public: //<2F><>չ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
public: //<2F><>չ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
CPDSUIDListArray& operator=(CPDSUIDListArray& rhs); //<2F><>ֵ
void Read(CArchive& ar);
void Write(CArchive& ar);
};
CArchive& AFXAPI operator>>(CArchive& ar, CPDSUIDListArray& alUID);
CArchive& AFXAPI operator<<(CArchive& ar, CPDSUIDListArray& alUID);
template<>
AFX_INLINE UINT AFXAPI HashKey(CPDSUID& key)
{
return HashKey(key.guid.Data1); // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>unsigned long<6E><67><EFBFBD><EFBFBD>
}
#endif // _PDS_UID_H_