SecKeychainSearch.cpp [plain text]
#include <Security/SecKeychainSearch.h>
#include "SecBridge.h"
CFTypeID
SecKeychainSearchGetTypeID(void)
{
BEGIN_SECAPI
return gTypes().cursor.typeId;
END_SECAPI1(_kCFRuntimeNotATypeID)
}
OSStatus
SecKeychainSearchCreateFromAttributes(CFTypeRef keychainOrArray, SecItemClass itemClass, const SecKeychainAttributeList *attrList, SecKeychainSearchRef *searchRef)
{
BEGIN_SECAPI
Required(searchRef);
StorageManager::KeychainList keychains;
globals().storageManager.optionalSearchList(keychainOrArray, keychains);
KCCursor cursor(keychains, itemClass, attrList);
*searchRef = gTypes().cursor.handle(*cursor);
END_SECAPI
}
OSStatus
SecKeychainSearchCopyNext(SecKeychainSearchRef searchRef, SecKeychainItemRef *itemRef)
{
BEGIN_SECAPI
RequiredParam(itemRef);
Item item;
if (!gTypes().cursor.required(searchRef)->next(item))
return errSecItemNotFound;
*itemRef=gTypes().item.handle(*item);
END_SECAPI
}