*/
#include <Security/SecKeychainSearch.h>
+#include <Security/KCCursor.h>
+#include <Security/Item.h>
#include "SecBridge.h"
{
BEGIN_SECAPI
- return gTypes().cursor.typeId;
+ secdebug("kcsearch", "SecKeychainSearchGetTypeID()");
+ return gTypes().KCCursorImpl.typeID;
END_SECAPI1(_kCFRuntimeNotATypeID)
}
{
BEGIN_SECAPI
+ secdebug("kcsearch", "SecKeychainSearchCreateFromAttributes(%p, %lu, %p, %p)",
+ keychainOrArray, itemClass, attrList, searchRef);
Required(searchRef); // Make sure that searchRef is an invalid SearchRef
StorageManager::KeychainList keychains;
globals().storageManager.optionalSearchList(keychainOrArray, keychains);
KCCursor cursor(keychains, itemClass, attrList);
- *searchRef = gTypes().cursor.handle(*cursor);
+ *searchRef = cursor->handle();
END_SECAPI
}
{
BEGIN_SECAPI
+ secdebug("kcsearch", "SecKeychainSearchCopyNext(%p, %p)", searchRef, itemRef);
RequiredParam(itemRef);
Item item;
- if (!gTypes().cursor.required(searchRef)->next(item))
+ if (!KCCursorImpl::required(searchRef)->next(item))
return errSecItemNotFound;
- *itemRef=gTypes().item.handle(*item);
+ *itemRef=item->handle();
END_SECAPI
}