summaryrefslogtreecommitdiff
path: root/security/manager/ssl/nsIKeygenThread.idl
diff options
context:
space:
mode:
Diffstat (limited to 'security/manager/ssl/nsIKeygenThread.idl')
-rw-r--r--security/manager/ssl/nsIKeygenThread.idl48
1 files changed, 48 insertions, 0 deletions
diff --git a/security/manager/ssl/nsIKeygenThread.idl b/security/manager/ssl/nsIKeygenThread.idl
new file mode 100644
index 0000000000..85d619b97e
--- /dev/null
+++ b/security/manager/ssl/nsIKeygenThread.idl
@@ -0,0 +1,48 @@
+/* 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/. */
+
+// make sure to include all the required file headers
+
+#include "nsISupports.idl"
+
+interface nsIObserver;
+
+/**
+ * nsIKeygenThread
+ * This is used to communicate with the thread generating a key pair,
+ * to be used by the dialog displaying status information.
+ */
+[scriptable, uuid(8712a243-5539-447c-9f47-8653f40c3a09)]
+interface nsIKeygenThread : nsISupports
+{
+ /**
+ * startKeyGeneration - run the thread
+ * A user interface using this interface needs to
+ * call this method as soon as the status information
+ * is displaying. This will trigger key generation.
+ * To allow the closure of the status information,
+ * the thread needs a handle to an observer.
+ *
+ * observer will be called on the UI thread.
+ * When the key generation is done, the observe method will
+ * be called with a topic of "keygen-finished" and null data
+ * and subject.
+ */
+ void startKeyGeneration(in nsIObserver observer);
+
+ /**
+ * userCanceled - notify the thread
+ * If the user canceled, the thread is no longer allowed to
+ * close the dialog. However, if the thread already closed
+ * it, we are not allowed to close it.
+ */
+ void userCanceled(out boolean threadAlreadyClosedDialog);
+};
+
+%{ C++
+// {195763b8-1dd2-11b2-a843-eb44e44aaa37}
+#define NS_KEYGENTHREAD_CID \
+{ 0x195763b8, 0x1dd2, 0x11b2, { 0xa8, 0x43, 0xeb, 0x44, 0xe4, 0x4a, 0xaa, 0x37 } }
+#define NS_KEYGENTHREAD_CONTRACTID "@mozilla.org/security/keygenthread;1"
+%}