//delete mAccessCred;
// XXX How do we delete these?
}
-
-#if 0
-CSSM_HANDLE
-DbContext::dataGetFirst(const DLQuery *inQuery,
- CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR inoutAttributes,
- CssmData *inoutData,
- CSSM_DB_UNIQUE_RECORD_PTR &outUniqueRecord)
-{
- auto_ptr<DbQuery> aQuery(mDatabase.makeQuery(const DLQuery *inQuery));
- try
- {
- mDatabase.dataGetNext(*aQuery, inoutAttributes, inoutData, outUniqueRecord);
-
- StLock<Mutex> _(mDbQuerySet);
- mDbQuerySet.insert(aQuery.get());
- }
- catch(...)
- {
- mDatabase.dataAbortQuery(*aQuery);
- throw;
- }
-
- return reinterpret_cast<CSSM_HANDLE>(aQuery.release());
-}
-
-void
-DbContext::dataGetNext(CSSM_HANDLE inResultsHandle,
- CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR inoutAttributes,
- CssmData *inoutData,
- CSSM_DB_UNIQUE_RECORD_PTR &outUniqueRecord)
-{
- DbQuery *aQuery = reinterpret_cast<DbQuery *>(inResultsHandle);
- {
- StLock<Mutex> _(mDbQuerySet);
- DbQuerySet::iterator it = mDbQuerySet.find(aQuery);
- if (it == mDbContextMap.end())
- CssmError::throwMe(CSSMERR_DL_INVALID_RESULTS_HANDLE);
- }
-
- try
- {
- mDatabase.dataGetNext(*aQuery, inoutAttributes, inoutData, outUniqueRecord);
- }
- catch(...)
- {
- {
- StLock<Mutex> _(mDbQuerySet);
- mDbQuerySet.erase(aQuery);
- }
- try
- {
- mDatabase.dataAbortQuery(*aQuery);
- }
- catch(...) {}
- delete aQuery;
- throw;
- }
-}
-
-void
-DbContext::dataAbortQuery(CSSM_HANDLE inResultsHandle)
-{
- DbQuery *aQuery = reinterpret_cast<DbQuery *>(inResultsHandle);
- {
- StLock<Mutex> _(mDbQuerySet);
- DbQuerySet::iterator it = mDbQuerySet.find(aQuery);
- if (it == mDbContextMap.end())
- CssmError::throwMe(CSSMERR_DL_INVALID_RESULTS_HANDLE);
- mDbContextMap.erase(it);
- }
-
- try
- {
- mDatabase.dataAbortQuery(*aQuery);
- }
- catch(...)
- {
- delete aQuery;
- throw;
- }
- delete aQuery;
-}
-#endif