Files
envi-code/SourceCode/Code2026/inc/AdsXRx/DocAutoLock.h
T

31 lines
660 B
C++
Raw Normal View History

2026-10-04 00:04:20 +08:00
#ifndef __DOCLOCK_H
2026-09-28 15:28:50 +08:00
#define __DOCLOCK_H
#include "acdocman.h"
class DocAutoLock {
protected:
Acad::ErrorStatus m_esLock;
AcApDocument *m_pDoc;
public:
DocAutoLock(AcApDocument *pDoc=NULL, bool bPrompt=false):m_pDoc(pDoc)
{
if(!m_pDoc)
m_pDoc=curDoc();
m_esLock=acDocManager->lockDocument(m_pDoc, AcAp::kWrite, NULL, NULL, bPrompt);
}
~DocAutoLock()
{
if(m_pDoc && m_esLock==Acad::eOk)
{
Acad::ErrorStatus es=acDocManager->unlockDocument(m_pDoc);
ASSERT(es==Acad::eOk);
}
}
Acad::ErrorStatus LockStatus() const
{
return m_esLock;
}
};
#endif