Changeset 163
- Timestamp:
- 07/18/08 10:00:36 (6 months ago)
- Files:
-
- trunk/dba/dba/storeable.cpp (modified) (5 diffs)
- trunk/dba/dba/storeable.h (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/dba/dba/storeable.cpp
r156 r163 41 41 //==================== MemberEntryBase ================== 42 42 43 MemberEntryBase::MemberEntryBase( int pMemberTableIndex,const char* pMemberName, int pMemberOffset)43 MemberEntryBase::MemberEntryBase(const char* pMemberName, int pMemberOffset) 44 44 : mMemberName(pMemberName), 45 mMemberOffset(pMemberOffset), 46 mMemberTableIndex(pMemberTableIndex) 45 mMemberOffset(pMemberOffset) 47 46 {}; 48 47 … … 51 50 mMemberOffset = pNewOffset; 52 51 }; 53 54 void55 MemberEntryBase::setMemberTableIndex(int pIndex) {56 mMemberTableIndex = pIndex;57 };58 59 52 60 53 int … … 68 61 }; 69 62 //==================== StoreTableMember ================== 70 StoreTableMember::StoreTableMember( int pIndex,StoreTable* pOwner, const char* pMemberName, int pMemberOffset, StoreableFilterBase* pFilter, int pDatabaseType)71 : MemberEntryBase(p Index, pMemberName,pMemberOffset),63 StoreTableMember::StoreTableMember(StoreTable* pOwner, const char* pMemberName, int pMemberOffset, StoreableFilterBase* pFilter, int pDatabaseType) 64 : MemberEntryBase(pMemberName,pMemberOffset), 72 65 mFilter(pFilter), 73 66 mFilterOwner(true), … … 112 105 //==================== ColMemberEntry ================== 113 106 114 ColMemberEntry::ColMemberEntry( int pIndex,ColTable* pOwner, const char* pMemberName, int pMemberOffset, CollectionFilterBase* pFilter, const char* pFKeyName)115 : MemberEntryBase(p Index, pMemberName, pMemberOffset),107 ColMemberEntry::ColMemberEntry(ColTable* pOwner, const char* pMemberName, int pMemberOffset, CollectionFilterBase* pFilter, const char* pFKeyName) 108 : MemberEntryBase(pMemberName, pMemberOffset), 116 109 mTableName(NULL), 117 110 mFKeyName(pFKeyName), … … 123 116 }; 124 117 125 ColMemberEntry::ColMemberEntry( int pIndex,ColTable* pOwner, const char* pMemberName, int pMemberOffset, CollectionFilterBase* pFilter, const char* pFKeyName, const char* pTableName, id pRelationId)126 : MemberEntryBase(p Index, pMemberName, pMemberOffset),118 ColMemberEntry::ColMemberEntry(ColTable* pOwner, const char* pMemberName, int pMemberOffset, CollectionFilterBase* pFilter, const char* pFKeyName, const char* pTableName, id pRelationId) 119 : MemberEntryBase(pMemberName, pMemberOffset), 127 120 mTableName(pTableName), 128 121 mFKeyName(pFKeyName), trunk/dba/dba/storeable.h
r156 r163 30 30 @param pMemberOffset number of bytes from 'this' to first byte of member field in class 31 31 */ 32 MemberEntryBase( int pMemberTableIndex,const char* pMemberName, int pMemberOffset);32 MemberEntryBase(const char* pMemberName, int pMemberOffset); 33 33 /**@internal 34 34 Get number of bytes from this to first byte of member field … … 36 36 int getMemberOffset() const; 37 37 /** 38 Get index of member in store table39 */40 int getMemberTableIndex() const;41 /**42 38 Get name of relation where class member is stored 43 39 */ … … 47 43 */ 48 44 void setMemberOffset(int pNewOffset); 49 /**@internal50 set in BIND_* macros - for internal use only51 */52 void setMemberTableIndex(int pIndex);53 45 private: 54 46 const char* mMemberName; 55 47 int mMemberOffset; 56 int mMemberTableIndex;57 48 }; 58 49 … … 92 83 @param pDatabaseType type of archive data (Database::StoreType enum value) 93 84 */ 94 StoreTableMember( int pIndex,StoreTable* pOwner, const char* pMemberName, int pMemberOffset, StoreableFilterBase* pFilter, int pDatabaseType);85 StoreTableMember(StoreTable* pOwner, const char* pMemberName, int pMemberOffset, StoreableFilterBase* pFilter, int pDatabaseType); 95 86 /**@internal 96 87 used by BIND_* macros - for internal use only … … 152 143 class dbaDLLEXPORT ColMemberEntry : public MemberEntryBase { 153 144 public: 154 ColMemberEntry( int pIndex,ColTable* pOwner, const char* pMemberName, int pMemberOffset, CollectionFilterBase* pFilter, const char* pFKeyName);155 ColMemberEntry( int pIndex,ColTable* pOwner, const char* pMemberName, int pMemberOffset, CollectionFilterBase* pFilter, const char* pFKeyName, const char* pTableName, id pRelationName);145 ColMemberEntry(ColTable* pOwner, const char* pMemberName, int pMemberOffset, CollectionFilterBase* pFilter, const char* pFKeyName); 146 ColMemberEntry(ColTable* pOwner, const char* pMemberName, int pMemberOffset, CollectionFilterBase* pFilter, const char* pFKeyName, const char* pTableName, id pRelationName); 156 147 const char* getTableName() const; 157 148 const char* getFKeyName() const; … … 230 221 void \ 231 222 Class::st_createTables() { \ 232 int index = 0; \233 223 st_table = new dba::StoreTable(table); \ 234 224 st_table->setClassOffset( (char*)(Class*)dba::Storeable::dba_pointer_place - (char*)dba_pointer_place ); \ … … 238 228 st_ColTable->setClassOffset( (char*)(Class*)dba::Storeable::dba_pointer_place - (char*)dba_pointer_place ); \ 239 229 st_ColTable->setNextTable(parent::st_getColTable()); \ 240 sStoreTableList.mColTables.insert(st_ColTable); 230 sStoreTableList.mColTables.insert(st_ColTable); 241 231 242 232 /** … … 248 238 */ 249 239 #define BIND_STR(member,filter_class,field) \ 250 new dba::StoreTableMember( index++,st_table,field,(char*)&(member) - (char*)this,new filter_class(member),dba::Database::STRING);240 new dba::StoreTableMember(st_table,field,(char*)&(member) - (char*)this,new filter_class(member),dba::Database::STRING); 251 241 252 242 /** … … 258 248 */ 259 249 #define BIND_INT(member,filter_class,field) \ 260 new dba::StoreTableMember( index++,st_table,field,(char*)&(member) - (char*)this,new filter_class(member),dba::Database::INTEGER);250 new dba::StoreTableMember(st_table,field,(char*)&(member) - (char*)this,new filter_class(member),dba::Database::INTEGER); 261 251 262 252 /** … … 268 258 */ 269 259 #define BIND_FLT(member,filter_class,field) \ 270 new dba::StoreTableMember( index++,st_table,field,(char*)&(member) - (char*)this,new filter_class(member),dba::Database::FLOAT);260 new dba::StoreTableMember(st_table,field,(char*)&(member) - (char*)this,new filter_class(member),dba::Database::FLOAT); 271 261 272 262 /** … … 278 268 */ 279 269 #define BIND_DAT(member,filter_class,field) \ 280 new dba::StoreTableMember( index++,st_table,field,(char*)&(member) - (char*)this,new filter_class(member),dba::Database::DATE);270 new dba::StoreTableMember(st_table,field,(char*)&(member) - (char*)this,new filter_class(member),dba::Database::DATE); 281 271 282 272 /** … … 289 279 */ 290 280 #define BIND_COL(member,filter_class,fkname) \ 291 new dba::ColMemberEntry( index++,st_ColTable,NULL,(char*)&(member) - (char*)this,new filter_class(member),fkname);281 new dba::ColMemberEntry(st_ColTable,NULL,(char*)&(member) - (char*)this,new filter_class(member),fkname); 292 282 293 283 /** … … 304 294 */ 305 295 #define BIND_CLA(member,filter_class,fkname,coll_id,table_name) \ 306 new dba::ColMemberEntry( index++,st_ColTable,NULL,(char*)&(member) - (char*)this,new filter_class(member),fkname,table_name,coll_id);296 new dba::ColMemberEntry(st_ColTable,NULL,(char*)&(member) - (char*)this,new filter_class(member),fkname,table_name,coll_id); 307 297 308 298 /** … … 320 310 tmp->setFilterOwner(false); \ 321 311 tmp->setMemberOffset(tmp->getMemberOffset() + ((char*)&(member) - (char*)this)); \ 322 tmp->setMemberTableIndex(index++); \323 312 st_table->addMember(tmp); \ 324 313 entry = entry->getNextMember(); \
