12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // Copyright 2016 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "net/cert/test_keychain_search_list_mac.h"
- #include "base/memory/ptr_util.h"
- namespace net {
- namespace {
- TestKeychainSearchList* g_test_keychain_search_list = nullptr;
- } // namespace
- TestKeychainSearchList::TestKeychainSearchList() {
- g_test_keychain_search_list = this;
- scoped_keychain_search_list.reset(
- CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks));
- }
- TestKeychainSearchList::~TestKeychainSearchList() {
- g_test_keychain_search_list = nullptr;
- }
- // static
- std::unique_ptr<TestKeychainSearchList> TestKeychainSearchList::Create() {
- if (g_test_keychain_search_list)
- return nullptr;
- return base::WrapUnique(new TestKeychainSearchList);
- }
- // static
- bool TestKeychainSearchList::HasInstance() {
- return !!g_test_keychain_search_list;
- }
- // static
- TestKeychainSearchList* TestKeychainSearchList::GetInstance() {
- return g_test_keychain_search_list;
- }
- OSStatus TestKeychainSearchList::CopySearchList(
- CFArrayRef* keychain_search_list) const {
- *keychain_search_list =
- CFArrayCreateCopy(kCFAllocatorDefault, scoped_keychain_search_list.get());
- return *keychain_search_list ? 0 : errSecAllocate;
- }
- void TestKeychainSearchList::AddKeychain(SecKeychainRef keychain) {
- CFArrayAppendValue(scoped_keychain_search_list.get(), keychain);
- }
- } // namespace net
|