AppleX509CLSession.cpp [plain text]
#include "AppleX509CLSession.h"
#include <security_utilities/debugging.h>
AppleX509CLSession::AppleX509CLSession(
CSSM_MODULE_HANDLE theHandle,
CssmPlugin &plug,
const CSSM_VERSION &version,
uint32 subserviceId,
CSSM_SERVICE_TYPE subserviceType,
CSSM_ATTACH_FLAGS attachFlags,
const CSSM_UPCALLS &upcalls)
: CLPluginSession(theHandle, plug, version, subserviceId,
subserviceType,attachFlags, upcalls)
{
}
AppleX509CLSession::~AppleX509CLSession()
{
CLCachedEntry *cachedCert = cacheMap.removeFirstEntry();
while(cachedCert != NULL) {
secdebug("clDetach", "CL detach: deleting a cached Cert\n");
delete cachedCert;
cachedCert = cacheMap.removeFirstEntry();
}
CLQuery *query = queryMap.removeFirstEntry();
while(query != NULL) {
secdebug("clDetach", "CL detach: deleting a cached query\n");
delete query;
query = queryMap.removeFirstEntry();
}
}
CLCachedCert *
AppleX509CLSession::lookupCachedCert(CSSM_HANDLE handle)
{
CLCachedEntry *entry = cacheMap.lookupEntry(handle);
if(entry != NULL) {
return dynamic_cast<CLCachedCert *>(entry);
}
else {
return NULL;
}
}
CLCachedCRL *
AppleX509CLSession::lookupCachedCRL(CSSM_HANDLE handle)
{
CLCachedEntry *entry = cacheMap.lookupEntry(handle);
if(entry != NULL) {
return dynamic_cast<CLCachedCRL *>(entry);
}
else {
return NULL;
}
}