diff options
Diffstat (limited to 'chromium/net/cert/cert_database.cc')
-rw-r--r-- | chromium/net/cert/cert_database.cc | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/chromium/net/cert/cert_database.cc b/chromium/net/cert/cert_database.cc new file mode 100644 index 00000000000..db54172d070 --- /dev/null +++ b/chromium/net/cert/cert_database.cc @@ -0,0 +1,39 @@ +// Copyright (c) 2012 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/cert_database.h" + +#include "base/memory/singleton.h" +#include "base/observer_list_threadsafe.h" + +namespace net { + +// static +CertDatabase* CertDatabase::GetInstance() { + return Singleton<CertDatabase>::get(); +} + +void CertDatabase::AddObserver(Observer* observer) { + observer_list_->AddObserver(observer); +} + +void CertDatabase::RemoveObserver(Observer* observer) { + observer_list_->RemoveObserver(observer); +} + +void CertDatabase::NotifyObserversOfCertAdded(const X509Certificate* cert) { + observer_list_->Notify(&Observer::OnCertAdded, make_scoped_refptr(cert)); +} + +void CertDatabase::NotifyObserversOfCertRemoved(const X509Certificate* cert) { + observer_list_->Notify(&Observer::OnCertRemoved, make_scoped_refptr(cert)); +} + +void CertDatabase::NotifyObserversOfCertTrustChanged( + const X509Certificate* cert) { + observer_list_->Notify( + &Observer::OnCertTrustChanged, make_scoped_refptr(cert)); +} + +} // namespace net |