Commit a05a935b authored by lw's avatar lw

Update attribute referenses at meta data updates

parent c46a9f2b
/** /**
* Proview $Id: co_time.c,v 1.10 2006-05-21 22:30:49 lw Exp $ * Proview $Id: co_time.c,v 1.11 2006-12-10 14:33:34 lw Exp $
* Copyright (C) 2005 SSAB Oxelsund AB. * Copyright (C) 2005 SSAB Oxelsund AB.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
...@@ -137,6 +137,26 @@ validateTm ( ...@@ -137,6 +137,26 @@ validateTm (
} }
return TIME__SUCCESS; return TIME__SUCCESS;
} }
//! Compare two timespecs.
/*! Returns \n
1 if t1 > t2 \n
0 if t1 == t2 \n
-1 if t1 < t2 \n
If argument 't2' is NULL the comparison will
be done as if t2 == 0.
*/
int
time_IsNull (
pwr_tTime *t1
)
{
assertAbs(t1);
return (t1->tv_sec == pwr_cNTime.tv_sec) && (t1->tv_nsec == pwr_cNTime.tv_nsec);
}
//! Add an absolute time and a delta time. //! Add an absolute time and a delta time.
/*! Add two timespecs, result = t + d, where: /*! Add two timespecs, result = t + d, where:
...@@ -170,7 +190,7 @@ time_Aadd ( ...@@ -170,7 +190,7 @@ time_Aadd (
return r; return r;
} }
//! Compare two timespecs. //! Compare two timespecs.
/*! Returns \n /*! Returns \n
1 if t1 > t2 \n 1 if t1 > t2 \n
......
/** /**
* Proview $Id: co_time.h,v 1.7 2006-05-21 22:30:49 lw Exp $ * Proview $Id: co_time.h,v 1.8 2006-12-10 14:33:34 lw Exp $
* Copyright (C) 2005 SSAB Oxelösund AB. * Copyright (C) 2005 SSAB Oxelösund AB.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
...@@ -92,6 +92,7 @@ typedef enum { ...@@ -92,6 +92,7 @@ typedef enum {
); );
#endif #endif
int time_IsNull (pwr_tTime *t1);
pwr_tTime * time_Aabs (pwr_tTime*, pwr_tTime*); pwr_tTime * time_Aabs (pwr_tTime*, pwr_tTime*);
pwr_tTime * time_Aadd (pwr_tTime*, pwr_tTime*, pwr_tDeltaTime*); pwr_tTime * time_Aadd (pwr_tTime*, pwr_tTime*, pwr_tDeltaTime*);
int time_Acomp (pwr_tTime*, pwr_tTime*); int time_Acomp (pwr_tTime*, pwr_tTime*);
......
/** /**
* Proview $Id: co_tree.c,v 1.3 2005-09-01 14:57:52 claes Exp $ * Proview $Id: co_tree.c,v 1.4 2006-12-10 14:33:34 lw Exp $
* Copyright (C) 2005 SSAB Oxelsund AB. * Copyright (C) 2005 SSAB Oxelsund AB.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
...@@ -849,6 +849,12 @@ buildTree(tree_sTable *tp, tree_sNode *fp, int count, int *hight, int *key) ...@@ -849,6 +849,12 @@ buildTree(tree_sTable *tp, tree_sNode *fp, int count, int *hight, int *key)
#endif #endif
int
tree_Cardinality(pwr_tStatus *sts, tree_sTable *tp)
{
return tp->nNode;
}
tree_sTable * tree_sTable *
tree_CloneTable(pwr_tStatus *sts, tree_sTable *tp) tree_CloneTable(pwr_tStatus *sts, tree_sTable *tp)
{ {
......
/** /**
* Proview $Id: co_tree.h,v 1.3 2005-09-01 14:57:52 claes Exp $ * Proview $Id: co_tree.h,v 1.4 2006-12-10 14:33:34 lw Exp $
* Copyright (C) 2005 SSAB Oxelsund AB. * Copyright (C) 2005 SSAB Oxelsund AB.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
...@@ -82,6 +82,9 @@ struct tree_s_Table { ...@@ -82,6 +82,9 @@ struct tree_s_Table {
Function prototypes to exported functions. Function prototypes to exported functions.
*/ */
int
tree_Cardinality(pwr_tStatus *sts, tree_sTable *tp);
tree_sTable * tree_sTable *
tree_CloneTable(pwr_tStatus *sts, tree_sTable *tp); tree_CloneTable(pwr_tStatus *sts, tree_sTable *tp);
......
/* /*
* Proview $Id: wb_bdrep.cpp,v 1.17 2005-09-06 10:43:30 claes Exp $ * Proview $Id: wb_bdrep.cpp,v 1.18 2006-12-10 14:34:13 lw Exp $
* Copyright (C) 2005 SSAB Oxelsund AB. * Copyright (C) 2005 SSAB Oxelsund AB.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
...@@ -249,6 +249,25 @@ size_t wb_bdrep::size() ...@@ -249,6 +249,25 @@ size_t wb_bdrep::size()
return body.Size; return body.Size;
} }
pwr_sAttrRef wb_bdrep::aref()
{
pwr_tStatus sts;
pwr_sObjBodyDef body;
m_orep->vrep()->readBody( &sts, m_orep, pwr_eBix_sys, (void *) &body);
if ( EVEN(sts)) throw wb_error(sts);
pwr_sAttrRef aref;
aref.Objid = pwr_cNOid;
aref.Body = cdh_oixToBix( m_orep->oid().oix);
aref.Offset = 0;
aref.Size = body.Size;
aref.Flags.m = 0; // ?? Is this right?
return aref;
}
int wb_bdrep::nAttribute() int wb_bdrep::nAttribute()
{ {
pwr_tStatus sts; pwr_tStatus sts;
......
/* /*
* Proview $Id: wb_bdrep.h,v 1.14 2005-09-06 10:43:30 claes Exp $ * Proview $Id: wb_bdrep.h,v 1.15 2006-12-10 14:34:13 lw Exp $
* Copyright (C) 2005 SSAB Oxelsund AB. * Copyright (C) 2005 SSAB Oxelsund AB.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
...@@ -42,7 +42,8 @@ public: ...@@ -42,7 +42,8 @@ public:
void unref(); void unref();
wb_bdrep *ref(); wb_bdrep *ref();
pwr_sAttrRef aref() { pwr_sAttrRef a; return a;} // Fix //pwr_sAttrRef aref() { pwr_sAttrRef a; return a;} // Fix
pwr_sAttrRef aref();
size_t size(); size_t size();
int nAttribute(); int nAttribute();
pwr_eBix bix(); pwr_eBix bix();
......
/* /*
* Proview $Id: wb_db.cpp,v 1.35 2006-05-26 11:57:28 lw Exp $ * Proview $Id: wb_db.cpp,v 1.36 2006-12-10 14:34:13 lw Exp $
* Copyright (C) 2005 SSAB Oxelösund AB. * Copyright (C) 2005 SSAB Oxelösund AB.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
...@@ -45,13 +45,6 @@ void wb_db_info::get(wb_db_txn *txn) ...@@ -45,13 +45,6 @@ void wb_db_info::get(wb_db_txn *txn)
{ {
int index = 1; int index = 1;
int ret; int ret;
#if 0
m_key.set_data(&index);
m_key.set_size(sizeof(index));
m_data.set_data(&m_volume);
m_data.set_ulen(sizeof(m_volume));
m_data.set_flags(DB_DBT_USERMEM);
#endif
Dbt key(&index, sizeof(index)); Dbt key(&index, sizeof(index));
Dbt data(&m_volume, sizeof(m_volume)); Dbt data(&m_volume, sizeof(m_volume));
data.set_ulen(sizeof(m_volume)); data.set_ulen(sizeof(m_volume));
...@@ -61,7 +54,7 @@ void wb_db_info::get(wb_db_txn *txn) ...@@ -61,7 +54,7 @@ void wb_db_info::get(wb_db_txn *txn)
ret = m_db->m_t_info->get(txn, &key, &data, 0); ret = m_db->m_t_info->get(txn, &key, &data, 0);
printf("info get: %d\n", ret); printf("info get: %d\n", ret);
} catch (DbException &e) { } catch (DbException &e) {
printf("Fel, %d\n", ret); printf("info get Error, %d\n", ret);
m_db->m_t_info->err(ret, "m_db->m_t_info->get(txn, &key, &data, 0)"); m_db->m_t_info->err(ret, "m_db->m_t_info->get(txn, &key, &data, 0)");
cout << e.what(); cout << e.what();
} }
...@@ -122,8 +115,6 @@ bool wb_db_class::succ(pwr_tOid oid) ...@@ -122,8 +115,6 @@ bool wb_db_class::succ(pwr_tOid oid)
memcpy( &m_k, *data, sizeof(m_k)); memcpy( &m_k, *data, sizeof(m_k));
} }
return ret == 0; return ret == 0;
// return false;
} }
bool wb_db_class::succClass(pwr_tCid cid) bool wb_db_class::succClass(pwr_tCid cid)
...@@ -168,10 +159,10 @@ int wb_db_class::del(wb_db_txn *txn) ...@@ -168,10 +159,10 @@ int wb_db_class::del(wb_db_txn *txn)
return m_db->m_t_class->del(txn, &m_key, 0); return m_db->m_t_class->del(txn, &m_key, 0);
} }
void wb_db_class::iter(void (*print)(pwr_tOid oid, pwr_tCid cid)) void wb_db_class::iter(void (*func)(pwr_tOid oid, pwr_tCid cid))
{ {
int rc = 0; int rc = 0;
m_db->m_t_class->cursor(m_db->m_txn, &m_dbc, 0); m_db->m_t_class->cursor(m_db->m_txn, &m_dbc, 0);
/* Initialize the key/data pair so the flags aren't set. */ /* Initialize the key/data pair so the flags aren't set. */
...@@ -181,20 +172,41 @@ void wb_db_class::iter(void (*print)(pwr_tOid oid, pwr_tCid cid)) ...@@ -181,20 +172,41 @@ void wb_db_class::iter(void (*print)(pwr_tOid oid, pwr_tCid cid))
m_key.set_ulen(sizeof(m_k)); m_key.set_ulen(sizeof(m_k));
m_key.set_flags(DB_DBT_USERMEM); m_key.set_flags(DB_DBT_USERMEM);
/* Walk through the database and print out the key/data pairs. */ /* Walk through the database. */
while ((rc = m_dbc->get(&m_key, &m_data, DB_NEXT)) == 0) { while ((rc = m_dbc->get(&m_key, &m_data, DB_NEXT)) == 0) {
print(m_k.oid, m_k.cid); func(m_k.oid, m_k.cid);
} }
m_dbc->close(); m_dbc->close();
m_dbc = 0;
} }
void wb_db_class::iter(wb_convert_volume *cp) wb_db_class::~wb_db_class()
{
if (m_dbc)
m_dbc->close();
}
wb_db_class_iterator::wb_db_class_iterator(wb_db *db) :
m_db(db), m_key(&m_k, sizeof(m_k)), m_data(0, 0), m_dbc(0), m_atEnd(false), m_rc(0)
{ {
int rc = 0; m_rc = m_db->m_t_class->cursor(m_db->m_txn, &m_dbc, 0);
m_db->m_t_class->cursor(m_db->m_txn, &m_dbc, 0); /* Initialize the key/data pair so the flags aren't set. */
memset(&m_k, 0, sizeof(m_k));
m_key.set_data(&m_k);
m_key.set_ulen(sizeof(m_k));
m_key.set_flags(DB_DBT_USERMEM);
m_atEnd = (m_rc != 0);
}
wb_db_class_iterator::wb_db_class_iterator(wb_db *db, pwr_tCid cid) :
m_db(db), m_key(&m_k, sizeof(m_k)), m_data(0, 0), m_dbc(0), m_atEnd(false), m_rc(0)
{
m_rc = m_db->m_t_class->cursor(m_db->m_txn, &m_dbc, 0);
/* Initialize the key/data pair so the flags aren't set. */ /* Initialize the key/data pair so the flags aren't set. */
memset(&m_k, 0, sizeof(m_k)); memset(&m_k, 0, sizeof(m_k));
...@@ -203,23 +215,78 @@ void wb_db_class::iter(wb_convert_volume *cp) ...@@ -203,23 +215,78 @@ void wb_db_class::iter(wb_convert_volume *cp)
m_key.set_ulen(sizeof(m_k)); m_key.set_ulen(sizeof(m_k));
m_key.set_flags(DB_DBT_USERMEM); m_key.set_flags(DB_DBT_USERMEM);
/* Walk through the database and print out the key/data pairs. */ m_atEnd = (m_rc != 0);
m_k.oid = pwr_cNOid;
m_k.cid = cid;
}
while ((rc = m_dbc->get(&m_key, &m_data, DB_NEXT)) == 0) { wb_db_class_iterator::wb_db_class_iterator(wb_db *db, pwr_tCid cid, pwr_tOid oid) :
if (cp->m_update) m_db(db), m_key(&m_k, sizeof(m_k)), m_data(0, 0), m_dbc(0), m_atEnd(false), m_rc(0)
cp->updateObject(m_k.oid, m_k.cid); {
else
cp->checkObject(m_k.oid, m_k.cid); m_rc = m_db->m_t_class->cursor(m_db->m_txn, &m_dbc, 0);
/* Initialize the key/data pair so the flags aren't set. */
memset(&m_k, 0, sizeof(m_k));
m_key.set_data(&m_k);
m_key.set_ulen(sizeof(m_k));
m_key.set_flags(DB_DBT_USERMEM);
m_atEnd = (m_rc != 0);
m_k.oid = oid;
m_k.cid = cid;
}
bool wb_db_class_iterator::first()
{
m_k.oid = pwr_cNOid;
m_k.cid = pwr_cNCid;
//m_rc = m_dbc->get(&m_key, 0, DB_FIRST);
m_rc = m_dbc->get(&m_key, &m_data, DB_FIRST);
m_atEnd = (m_rc != 0);
return !m_atEnd;
}
bool wb_db_class_iterator::succObject()
{
if (!m_atEnd) {
m_rc = m_dbc->get(&m_key, &m_data, DB_NEXT);
m_atEnd = (m_rc != 0);
} }
m_dbc->close(); return !m_atEnd;
m_dbc = 0;
} }
wb_db_class::~wb_db_class() bool wb_db_class_iterator::succClass()
{
m_k.oid = pwr_cNOid;
m_k.cid++;
m_rc = m_dbc->get(&m_key, &m_data, DB_SET_RANGE);
m_atEnd = (m_rc != 0);
return !m_atEnd;
}
bool wb_db_class_iterator::succClass(pwr_tCid cid)
{
m_k.oid = pwr_cNOid;
m_k.cid = cid + 1;
m_rc = m_dbc->get(&m_key, &m_data, DB_SET_RANGE);
m_atEnd = (m_rc != 0);
return !m_atEnd;
}
wb_db_class_iterator::~wb_db_class_iterator()
{ {
if (m_dbc) if (m_dbc)
m_dbc->close(); m_dbc->close();
m_dbc = 0;
} }
wb_db_name::wb_db_name(wb_db *db, wb_db_txn *txn) : wb_db_name::wb_db_name(wb_db *db, wb_db_txn *txn) :
...@@ -259,11 +326,6 @@ wb_db_name::wb_db_name(wb_db *db, wb_db_txn *txn, pwr_tOid poid, wb_name &name) ...@@ -259,11 +326,6 @@ wb_db_name::wb_db_name(wb_db *db, wb_db_txn *txn, pwr_tOid poid, wb_name &name)
m_d.oid = pwr_cNOid; m_d.oid = pwr_cNOid;
} }
//wb_db_name::wb_db_name(wb_db *db, pwr_tOid, char *name) :
// m_db(db), m_key(&m_k, sizeof(m_k)), m_data(&m_d, sizeof(m_d))
//{
//}
wb_db_name::wb_db_name(wb_db *db, pwr_tOid poid, const char *name) : wb_db_name::wb_db_name(wb_db *db, pwr_tOid poid, const char *name) :
m_db(db), m_key(&m_k, sizeof(m_k)), m_data(&m_d, sizeof(m_d)) m_db(db), m_key(&m_k, sizeof(m_k)), m_data(&m_d, sizeof(m_d))
{ {
...@@ -274,12 +336,6 @@ wb_db_name::wb_db_name(wb_db *db, pwr_tOid poid, const char *name) : ...@@ -274,12 +336,6 @@ wb_db_name::wb_db_name(wb_db *db, pwr_tOid poid, const char *name) :
strcpy(m_k.normname, name); strcpy(m_k.normname, name);
} }
//wb_db_name::wb_db_name(wb_db *db, wb_db_txn *txn, pwr_tOid poid, wb_name name) :
// m_db(db), m_key(&m_k, sizeof(m_k)), m_data(&m_d, sizeof(m_d))
//{
//}
int wb_db_name::get(wb_db_txn *txn) int wb_db_name::get(wb_db_txn *txn)
{ {
m_data.set_ulen(sizeof(m_d)); m_data.set_ulen(sizeof(m_d));
...@@ -304,7 +360,7 @@ void wb_db_name::name(wb_name &name) ...@@ -304,7 +360,7 @@ void wb_db_name::name(wb_name &name)
strcpy(m_k.normname, name.normName(cdh_mName_object)); strcpy(m_k.normname, name.normName(cdh_mName_object));
} }
void wb_db_name::iter(void (*print)(pwr_tOid poid, pwr_tObjName name, pwr_tOid oid)) void wb_db_name::iter(void (*func)(pwr_tOid poid, pwr_tObjName name, pwr_tOid oid))
{ {
int rc = 0; int rc = 0;
...@@ -314,9 +370,6 @@ void wb_db_name::iter(void (*print)(pwr_tOid poid, pwr_tObjName name, pwr_tOid o ...@@ -314,9 +370,6 @@ void wb_db_name::iter(void (*print)(pwr_tOid poid, pwr_tObjName name, pwr_tOid o
memset(&m_k, 0, sizeof(m_k)); memset(&m_k, 0, sizeof(m_k));
memset(&m_d, 0, sizeof(m_d)); memset(&m_d, 0, sizeof(m_d));
//printf("sizeof(m_k): %d\n", sizeof(m_k));
//printf("sizeof(m_d): %d\n", sizeof(m_d));
m_key.set_data(&m_k); m_key.set_data(&m_k);
m_key.set_ulen(sizeof(m_k)); m_key.set_ulen(sizeof(m_k));
m_key.set_flags(DB_DBT_USERMEM); m_key.set_flags(DB_DBT_USERMEM);
...@@ -327,15 +380,9 @@ void wb_db_name::iter(void (*print)(pwr_tOid poid, pwr_tObjName name, pwr_tOid o ...@@ -327,15 +380,9 @@ void wb_db_name::iter(void (*print)(pwr_tOid poid, pwr_tObjName name, pwr_tOid o
/* Walk through the database and print out the key/data pairs. */ /* Walk through the database and print out the key/data pairs. */
//int rc = m_dbc->get(&m_key, &m_data, DB_FIRST);
while ((rc = m_dbc->get(&m_key, &m_data, DB_NEXT)) == 0) { while ((rc = m_dbc->get(&m_key, &m_data, DB_NEXT)) == 0) {
//printf("k: %d, d: %d\n", (int)m_key.get_size(), (int)m_data.get_size()); func(m_k.poid, m_k.normname, m_d.oid);
//volatile int a = m_key.get_size();
//a = m_data.get_size();
print(m_k.poid, m_k.normname, m_d.oid);
} }
m_dbc->close(); m_dbc->close();
...@@ -459,7 +506,7 @@ void wb_db_ohead::clear() ...@@ -459,7 +506,7 @@ void wb_db_ohead::clear()
memset(&m_o, 0, sizeof(m_o)); memset(&m_o, 0, sizeof(m_o));
} }
void wb_db_ohead::iter(void (*print)(pwr_tOid oid, db_sObject *op)) void wb_db_ohead::iter(void (*func)(pwr_tOid oid, db_sObject *op))
{ {
int rc = 0; int rc = 0;
...@@ -481,7 +528,7 @@ void wb_db_ohead::iter(void (*print)(pwr_tOid oid, db_sObject *op)) ...@@ -481,7 +528,7 @@ void wb_db_ohead::iter(void (*print)(pwr_tOid oid, db_sObject *op))
/* Walk through the database and print out the key/data pairs. */ /* Walk through the database and print out the key/data pairs. */
while ((rc = m_dbc->get(&m_key, &m_data, DB_NEXT)) == 0) { while ((rc = m_dbc->get(&m_key, &m_data, DB_NEXT)) == 0) {
print(m_oid, &m_o); func(m_oid, &m_o);
} }
m_dbc->close(); m_dbc->close();
......
/* /*
* Proview $Id: wb_db.h,v 1.20 2006-05-21 22:30:50 lw Exp $ * Proview $Id: wb_db.h,v 1.21 2006-12-10 14:34:13 lw Exp $
* Copyright (C) 2005 SSAB Oxelösund AB. * Copyright (C) 2005 SSAB Oxelösund AB.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
...@@ -23,11 +23,8 @@ ...@@ -23,11 +23,8 @@
#include "pwr.h" #include "pwr.h"
#include "db_cxx.h" #include "db_cxx.h"
#include "wb_import.h" #include "wb_import.h"
#include "wb_convert_volume.h"
class wb_name; class wb_name;
class wb_convert_volume;
typedef struct { typedef struct {
pwr_tOid oid; /**< object identifier */ pwr_tOid oid; /**< object identifier */
...@@ -234,7 +231,7 @@ public: ...@@ -234,7 +231,7 @@ public:
void clear(); void clear();
void iter(void (*print)(pwr_tOid oid, db_sObject *op)); void iter(void (*func)(pwr_tOid oid, db_sObject *op));
void iter(wb_import &i); void iter(wb_import &i);
}; };
...@@ -307,8 +304,42 @@ public: ...@@ -307,8 +304,42 @@ public:
pwr_tCid cid() { return m_k.cid;} pwr_tCid cid() { return m_k.cid;}
pwr_tOid oid() { return m_k.oid;} pwr_tOid oid() { return m_k.oid;}
void iter(void (*print)(pwr_tOid oid, pwr_tCid cid)); void iter(void (*func)(pwr_tOid oid, pwr_tCid cid));
void iter(wb_convert_volume *cp); };
class wb_db_class_iterator
{
struct
{
pwr_tCid cid;
pwr_tOid oid;
} m_k;
wb_db *m_db;
Dbt m_key;
Dbt m_data;
Dbc *m_dbc;
bool m_atEnd;
int m_rc;
public:
wb_db_class_iterator(wb_db *db);
wb_db_class_iterator(wb_db *db, pwr_tCid cid);
wb_db_class_iterator(wb_db *db, pwr_tCid cid, pwr_tOid oid);
~wb_db_class_iterator();
bool atEnd() {return m_atEnd;}
bool first();
bool succObject();
bool succClass();
bool succClass(pwr_tCid cid);
pwr_tOid oid() {return m_k.oid;}
pwr_tCid cid() {return m_k.cid;}
void oid(pwr_tOid oid) {m_k.oid = oid;}
void cid(pwr_tCid cid) {m_k.cid = cid;}
}; };
class wb_db_dbody class wb_db_dbody
......
This diff is collapsed.
/* /*
* Proview $Id: wb_vrepdb.h,v 1.31 2006-05-26 11:57:28 lw Exp $ * Proview $Id: wb_vrepdb.h,v 1.32 2006-12-10 14:34:13 lw Exp $
* Copyright (C) 2005 SSAB Oxelsund AB. * Copyright (C) 2005 SSAB Oxelsund AB.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
#include "db_cxx.h" #include "db_cxx.h"
#include "co_tree.h" #include "co_tree.h"
class wb_vrepdb : public wb_vrep, public wb_convert_volume class wb_vrepdb : public wb_vrep
{ {
private: private:
bool deleteFamilyMember(pwr_tOid oid, wb_db_txn *txn); bool deleteFamilyMember(pwr_tOid oid, wb_db_txn *txn);
...@@ -67,19 +67,24 @@ private: ...@@ -67,19 +67,24 @@ private:
pwr_tOid loid; pwr_tOid loid;
} sDestination; } sDestination;
sDestination m_destination; sDestination m_destination;
protected: protected:
wb_erep *m_erep; wb_erep *m_erep;
wb_merep *m_merep; wb_merep *m_merep;
wb_merep *m_merepCheck; //wb_merep *m_merepCheck;
unsigned int m_nRef; unsigned int m_nRef;
char m_fileName[512]; char m_fileName[512];
public: char guard[500];
tree_sTable *m_attribute_th;
tree_sTable *m_aref_th;
tree_sTable *m_class_th;
public:
wb_db *m_db; wb_db *m_db;
wb_db_ohead m_ohead; wb_db_ohead m_ohead;
...@@ -184,6 +189,12 @@ public: ...@@ -184,6 +189,12 @@ public:
pwr_tStatus checkMeta(); pwr_tStatus checkMeta();
pwr_tStatus updateMeta(); pwr_tStatus updateMeta();
int updateArefs(pwr_tOid oid, pwr_tCid cid);
int checkClass(pwr_tCid cid);
void checkAttributes(pwr_tCid cid);
void checkSubClass(pwr_tCid cid, unsigned int o_offset, unsigned int n_offset);
//bool classIsChanged(pwr_tCid cid);
virtual bool exportVolume(wb_import &e); virtual bool exportVolume(wb_import &e);
...@@ -227,8 +238,8 @@ public: ...@@ -227,8 +238,8 @@ public:
// virtual void checkClassList(pwr_tOid oid, pwr_tCid cid, bool update); // virtual void checkClassList(pwr_tOid oid, pwr_tCid cid, bool update);
virtual pwr_tStatus updateObject(pwr_tOid oid, pwr_tCid cid); int updateObject(pwr_tOid oid, pwr_tCid cid);
virtual pwr_tStatus checkObject(pwr_tOid oid, pwr_tCid cid); //pwr_tStatus checkObject(pwr_tOid oid, pwr_tCid cid);
}; };
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment