chromium/crypto/nss_crypto_module_delegate.h

// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CRYPTO_NSS_CRYPTO_MODULE_DELEGATE_H_
#define CRYPTO_NSS_CRYPTO_MODULE_DELEGATE_H_

#include <string>

#include "base/memory/ref_counted.h"

namespace crypto {

// PK11_SetPasswordFunc is a global setting.  An implementation of
// CryptoModuleBlockingPasswordDelegate should be passed using wincx() as the
// user data argument (|wincx|) to relevant NSS functions, which the global
// password handler will call to do the actual work. This delegate should only
// be used in NSS calls on worker threads due to the blocking nature.
class CryptoModuleBlockingPasswordDelegate
    : public base::RefCountedThreadSafe<CryptoModuleBlockingPasswordDelegate> {};

}  // namespace crypto

#endif  // CRYPTO_NSS_CRYPTO_MODULE_DELEGATE_H_