Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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);
}
Ejemplo n.º 3
0
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);
}