equal
deleted
inserted
replaced
77 // Open a database |
77 // Open a database |
78 // --------------------------------------------------------------------------- |
78 // --------------------------------------------------------------------------- |
79 // |
79 // |
80 TInt CMPXHarvesterDB::OpenL() |
80 TInt CMPXHarvesterDB::OpenL() |
81 { |
81 { |
82 MPX_FUNC("CMPXHarvesterDB::OpenL"); |
82 MPX_DEBUG1("-->CMPXHarvesterDB::OpenL"); |
83 |
83 |
84 // There is no need to re-open if it was already open |
84 // There is no need to re-open if it was already open |
85 if( iDBOpen ) |
85 if( iDBOpen ) |
86 { |
86 { |
|
87 MPX_DEBUG1("<--CMPXHarvesterDB::OpenL rtn=0 (already open)"); |
87 return KErrNone; |
88 return KErrNone; |
88 } |
89 } |
89 |
90 |
90 TInt rtn( KErrNone ); |
91 TInt rtn( KErrNone ); |
91 TFileName fileName = GenerateDbName(); |
92 TFileName fileName = GenerateDbName(); |
129 TUint uniqueId(0); |
130 TUint uniqueId(0); |
130 TRAPD( idErr, uniqueId = UniqueIdL() ); |
131 TRAPD( idErr, uniqueId = UniqueIdL() ); |
131 if( idErr != KErrNone ) |
132 if( idErr != KErrNone ) |
132 { |
133 { |
133 // Delete the database because this is not readable |
134 // Delete the database because this is not readable |
|
135 MPX_DEBUG2("CMPXHarvesterDB::OpenL -- Deleting unreadable DB %i", idErr); |
134 Close(); |
136 Close(); |
135 User::LeaveIfError(DeleteDatabase()); |
137 User::LeaveIfError(DeleteDatabase()); |
136 rtn = KErrCorrupt; |
138 rtn = KErrCorrupt; |
137 } |
139 } |
138 else if( volId != uniqueId ) |
140 else if( volId != uniqueId ) |
142 MPX_DEBUG1("CMPXHarvesterDB::OpenL unmatched unique ID"); |
144 MPX_DEBUG1("CMPXHarvesterDB::OpenL unmatched unique ID"); |
143 Close(); |
145 Close(); |
144 User::LeaveIfError(DeleteDatabase()); |
146 User::LeaveIfError(DeleteDatabase()); |
145 rtn = OpenL(); |
147 rtn = OpenL(); |
146 } |
148 } |
147 |
149 |
|
150 MPX_DEBUG2("<--CMPXHarvesterDB::OpenL rtn=%d", rtn); |
148 return rtn; |
151 return rtn; |
149 } |
152 } |
150 |
153 |
151 // --------------------------------------------------------------------------- |
154 // --------------------------------------------------------------------------- |
152 // Close a database |
155 // Close a database |
292 // Unable to open db, so try to re-create |
295 // Unable to open db, so try to re-create |
293 // |
296 // |
294 TRAPD(err, iDatabase->OpenL( iStore, iStore->Root() ) ); |
297 TRAPD(err, iDatabase->OpenL( iStore, iStore->Root() ) ); |
295 if( err != KErrNone ) |
298 if( err != KErrNone ) |
296 { |
299 { |
|
300 MPX_DEBUG2("CMPXHarvesterDB::OpenDBL RDbStoreDatabase::OpenL error %d", err); |
297 delete iDatabase; |
301 delete iDatabase; |
298 iDatabase = NULL; |
302 iDatabase = NULL; |
299 CreateDBL(); |
303 CreateDBL(); |
300 rtn = KErrCorrupt; |
304 rtn = KErrCorrupt; |
301 } |
305 } |