Files
envi-code/SourceCode/Code2026/inc/AdsXRx/XDocAutoLock.h
T
2026-09-28 15:28:50 +08:00

28 lines
657 B
C++

#ifndef __TDOCLOCK_H
#define __TDOCLOCK_H
#include "acdocman.h"
class XDocAutoLock {
protected:
Acad::ErrorStatus m_esLock;
AcApDocument *m_pDoc;
public:
XDocAutoLock(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);
}
~XDocAutoLock() {
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