Acad::ErrorStatus RegisterApp(AcDbDatabase* pDb, const TCHAR * pAppName)
{
AcDbRegAppTable* pAppTable;
Acad::ErrorStatus es;
// get the RegAppTable
if((es = pDb->getRegAppTable(pAppTable,AcDb::kForWrite)) != Acad::eOk)
return es;
// if RegAppTable has application already – fine
if(pAppTable->has(pAppName))
{
pAppTable->close();
return Acad::eOk;
}
AcDbRegAppTableRecord* pAppTableRecord = new AcDbRegAppTableRecord();
pAppTableRecord->setName(pAppName);
if((es = pAppTable->add(pAppTableRecord)) != Acad::eOk)
{
delete pAppTableRecord;
pAppTable->close();
return es;
}
pAppTableRecord->close();
pAppTable->close();
return es;
}