#ifndef hAlbumContractTable #define hAlbumContractTable #include #include "PackedTable.h" struct _albumContract { private: long _album_contract_id; long _album_id; long _artist_contract_id; char _is_controlled_comp; char _is_ca_controlled_comp; char _status; char _cross_collateralized; public: long album_contract_id() { return _album_contract_id; } long album_id() { return _album_id; } long artist_contract_id() { return _artist_contract_id; } int is_controlled_comp() { return _is_controlled_comp; } int is_ca_controlled_comp(){ return _is_ca_controlled_comp; } int status() { return _status; } int cross_collateralized() { return _cross_collateralized; } friend class AlbumContractTable; }; class AlbumContractTable : public PackedTable { public: struct _albumContract* getIndexedData(const tIndex index) { return (struct _albumContract*)this->_getIndexedData(index); } protected: static const int kFieldAlbumContractID = 0; static const int kFieldAlbumID = 1; static const int kFieldArtistContractID = 2; static const int kFieldIsControlledComp = 3; static const int kFieldIsCAControlledComp = 4; static const int kFieldStatus = 5; static const int kFieldCrossCollateralized = 6; virtual tSize _dataFlatElementSize() { return sizeof(struct _albumContract); } virtual const char* _maxIDQueryString() { return "SELECT MAX(album_contract_id) FROM album_contract"; } virtual const char* _dataQueryString() { return "SELECT album_contract_id,album_id,artist_contract_id,is_controlled_comp,is_ca_controlled_comp,status,cross_collateralized FROM album_contract ORDER BY album_contract_id"; } virtual void _writeRowFlat(tIndex i, MYSQL_ROW row, void* data) { struct _albumContract* dataPtr = (struct _albumContract*)data; (*dataPtr)._album_contract_id = i; PackedTable::_ParseLong(row[kFieldAlbumID], &((*dataPtr)._album_id)); PackedTable::_ParseLong(row[kFieldArtistContractID], &((*dataPtr)._artist_contract_id)); PackedTable::_ParseByte(row[kFieldIsControlledComp], &((*dataPtr)._is_controlled_comp)); PackedTable::_ParseByte(row[kFieldIsCAControlledComp], &((*dataPtr)._is_ca_controlled_comp)); PackedTable::_ParseByte(row[kFieldStatus], &((*dataPtr)._status)); PackedTable::_ParseByte(row[kFieldCrossCollateralized], &((*dataPtr)._cross_collateralized)); } }; #endif