bool wb_vrepdbs::exportTreeObject( wb_treeimport& i, dbs_sObject* op, bool isRoot) { pwr_tStatus sts; dbs_sObject* before = dbs_Before(&sts, dbsenv(), op); dbs_sObject* parent = dbs_Parent(&sts, dbsenv(), op); dbs_sObject* first = dbs_First(&sts, dbsenv(), op); dbs_sObject* after = dbs_After(&sts, dbsenv(), op); pwr_tOid parentoid = pwr_cNOid; pwr_tOid beforeoid = pwr_cNOid; void* rbody = 0; void* dbody = 0; if (parent && !isRoot) parentoid = parent->oid; if (before && !isRoot) beforeoid = before->oid; if (op->rbody.size) rbody = dbs_Body(&sts, dbsenv(), op, pwr_eBix_rt); if (op->dbody.size) dbody = dbs_Body(&sts, dbsenv(), op, pwr_eBix_dev); i.importTreeObject(m_merep, op->oid, op->cid, parentoid, beforeoid, op->name, op->ohFlags, op->rbody.size, op->dbody.size, rbody, dbody); if (first) exportTreeObject(i, first, false); if (!isRoot && after) exportTreeObject(i, after, false); return true; }
dbs_sObject * dbs_Object(pwr_tStatus *sts, const dbs_sVenv *vep) { dbs_sObject *op = dbs_VolumeObject(sts, vep); if (op == NULL) return NULL; return dbs_First(sts, vep, op); }
wb_orep* wb_vrepdbs::first(pwr_tStatus* sts, const wb_orep* o) { *sts = LDH__SUCCESS; dbs_sObject* op = dbs_First(sts, dbsenv(), ((wb_orepdbs*)o)->o()); if (op == 0) { *sts = LDH__NOSUCHOBJ; return 0; } return new (this) wb_orepdbs(op); }