00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #include "generaldata.h"
00015 #include "generalmaker.h"
00016
00017 #include <iostream>
00018
00019 using namespace std;
00020
00021 GeneralData::GeneralData()
00022 {}
00023
00024 void GeneralData::writeDom( QDomElement & elem )
00025 {
00026 elem.setAttribute("recno",m_recno);
00027 }
00028
00029 void GeneralData::readDom( QDomElement & elem )
00030 {
00031 Q_ASSERT( elem.hasAttribute( "recno" ));
00032 QString recnoStr = elem.attribute("recno");
00033 ulong recnoULong = recnoStr.toULong();
00034 m_recno = static_cast< db_recno_t > ( recnoULong );
00035 return;
00036 }
00037
00038 db_recno_t GeneralData::getRecno()
00039 {
00040 return m_recno;
00041 }
00042
00043 void GeneralData::copy(GeneralData* other)
00044 {
00045 if (this == other || this->uniqueName() != other->uniqueName()) {
00046 return;
00047 }
00048 QByteArray ar;
00049 QDataStream streamout( ar, IO_WriteOnly );
00050 other->writeStream(streamout);
00051 QDataStream streamin( ar, IO_ReadOnly );
00052 this->readStream(streamin);
00053
00054 this->setRecno( other->getRecno() );
00055 }
00056
00057
00058 void Database::setFromDbt( const Dbt * dbtData, GeneralData * general)
00059 {
00060 QByteArray ar;
00061 ar.setRawData( (const char* ) dbtData->get_data(), ( uint ) dbtData->get_size() );
00062 QDataStream stream( ar, IO_ReadOnly );
00063 general->readStream( stream );
00064 ar.resetRawData( ( const char * ) dbtData->get_data(), ( uint ) dbtData->get_size() );
00065 return;
00066 }