#ifndef _DBCONTEXT_H_
#define _DBCONTEXT_H_ 1
#include <Security/Database.h>
#include <Security/handleobject.h>
#ifdef _CPP_DBCONTEXT
# pragma export on
#endif
namespace Security
{
class DatabaseSession;
class DbContext : public HandleObject
{
NOCOPY(DbContext)
public:
Database &mDatabase;
DatabaseSession &mDatabaseSession;
DbContext(Database &inDatabase,
DatabaseSession &inDatabaseSession,
CSSM_DB_ACCESS_TYPE inAccessRequest,
const CSSM_ACCESS_CREDENTIALS *inAccessCred);
virtual ~DbContext();
CSSM_HANDLE
dataGetFirst(const DLQuery *inQuery,
CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR inoutAttributes,
CssmData *inoutData,
CSSM_DB_UNIQUE_RECORD_PTR &outUniqueRecord);
void
dataGetNext(CSSM_HANDLE inResultsHandle,
CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR inoutAttributes,
CssmData *inoutData,
CSSM_DB_UNIQUE_RECORD_PTR &outUniqueRecord);
void
dataAbortQuery(CSSM_HANDLE inResultsHandle);
private:
CSSM_DB_ACCESS_TYPE mAccessRequest;
CSSM_ACCESS_CREDENTIALS *mAccessCred;
};
}
#ifdef _CPP_DBCONTEXT
# pragma export off
#endif
#endif //_DBCONTEXT_H_