Home | History | Annotate | Download | only in ocsp
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef NET_OCSP_NSS_OCSP_H_
      6 #define NET_OCSP_NSS_OCSP_H_
      7 
      8 #include "net/base/net_export.h"
      9 
     10 namespace net {
     11 
     12 class URLRequestContext;
     13 
     14 // Sets the MessageLoop for NSS's HTTP client functions (i.e. OCSP, CA
     15 // certificate and CRL fetches) to the current message loop.  This should be
     16 // called before EnsureNSSHttpIOInit() if you want to control the message loop.
     17 NET_EXPORT void SetMessageLoopForNSSHttpIO();
     18 
     19 // Initializes HTTP client functions for NSS.  This must be called before any
     20 // certificate verification functions.  This function is thread-safe, and HTTP
     21 // handlers will only ever be initialized once.  ShutdownNSSHttpIO() must be
     22 // called on shutdown.
     23 NET_EXPORT void EnsureNSSHttpIOInit();
     24 
     25 // This should be called once on shutdown to stop issuing URLRequests for NSS
     26 // related HTTP fetches.
     27 NET_EXPORT void ShutdownNSSHttpIO();
     28 
     29 // Can be called after a call to |ShutdownNSSHttpIO()| to reset internal state
     30 // and associate it with the current thread.
     31 NET_EXPORT void ResetNSSHttpIOForTesting();
     32 
     33 // Sets the URLRequestContext for HTTP requests issued by NSS.
     34 NET_EXPORT void SetURLRequestContextForNSSHttpIO(
     35     URLRequestContext* request_context);
     36 
     37 }  // namespace net
     38 
     39 #endif  // NET_OCSP_NSS_OCSP_H_
     40