summaryrefslogtreecommitdiffstats
path: root/security/manager/ssl/nsNSSHelper.h
diff options
context:
space:
mode:
Diffstat (limited to 'security/manager/ssl/nsNSSHelper.h')
-rw-r--r--security/manager/ssl/nsNSSHelper.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/security/manager/ssl/nsNSSHelper.h b/security/manager/ssl/nsNSSHelper.h
new file mode 100644
index 000000000..005076099
--- /dev/null
+++ b/security/manager/ssl/nsNSSHelper.h
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#ifndef NSS_HELPER_
+#define NSS_HELPER_
+
+#include "nsIInterfaceRequestor.h"
+#include "nsIInterfaceRequestorUtils.h"
+#include "nsNSSShutDown.h"
+#include "pk11func.h"
+
+//
+// Implementation of an nsIInterfaceRequestor for use
+// as context for NSS calls
+//
+class PipUIContext : public nsIInterfaceRequestor
+{
+public:
+ NS_DECL_THREADSAFE_ISUPPORTS
+ NS_DECL_NSIINTERFACEREQUESTOR
+
+ PipUIContext();
+
+protected:
+ virtual ~PipUIContext();
+};
+
+//
+// Function to get the implementor for a certain set of NSS
+// specific dialogs.
+//
+
+nsresult
+getNSSDialogs(void **_result, REFNSIID aIID, const char *contract);
+
+extern "C" {
+// a "fake" unicode conversion function
+PRBool
+pip_ucs2_ascii_conversion_fn(PRBool toUnicode,
+ unsigned char *inBuf,
+ unsigned int inBufLen,
+ unsigned char *outBuf,
+ unsigned int maxOutBufLen,
+ unsigned int *outBufLen,
+ PRBool swapBytes);
+}
+
+//
+// A function that sets the password on an unitialized slot.
+//
+nsresult
+setPassword(PK11SlotInfo* slot, nsIInterfaceRequestor* ctx,
+ nsNSSShutDownPreventionLock& /*proofOfLock*/);
+
+#endif