summaryrefslogtreecommitdiffstats
path: root/comm/mailnews/addrbook/public/nsIAbAutoCompleteResult.idl
diff options
context:
space:
mode:
Diffstat (limited to 'comm/mailnews/addrbook/public/nsIAbAutoCompleteResult.idl')
-rw-r--r--comm/mailnews/addrbook/public/nsIAbAutoCompleteResult.idl51
1 files changed, 51 insertions, 0 deletions
diff --git a/comm/mailnews/addrbook/public/nsIAbAutoCompleteResult.idl b/comm/mailnews/addrbook/public/nsIAbAutoCompleteResult.idl
new file mode 100644
index 0000000000..ceeeeefe67
--- /dev/null
+++ b/comm/mailnews/addrbook/public/nsIAbAutoCompleteResult.idl
@@ -0,0 +1,51 @@
+/* -*- 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/. */
+
+#include "nsIAutoCompleteResult.idl"
+
+interface nsIAbCard;
+interface nsIAbDirectory;
+
+/**
+ * This interface is used to extend the nsIAutoCompleteResult interface to
+ * provide extra facilities for obtaining more details of the results of
+ * an address book search.
+ */
+[scriptable, uuid(c0d35623-f719-4e43-ae24-573e393f87f9)]
+interface nsIAbAutoCompleteResult : nsIAutoCompleteResult {
+ /**
+ * Get the card from the result at the given index
+ */
+ nsIAbCard getCardAt(in long index);
+
+ /**
+ * Gets the email to use for the card within the result at the given index.
+ * This is the email that was matched against for the card where there are
+ * multiple email addresses on a card.
+ *
+ * @param index Index of the autocomplete result to return the value for.
+ * @result The email address to use from the card.
+ */
+ AString getEmailToUse(in long index);
+
+ /**
+ * Indicates whether the source that returned this result returned a
+ * complete result for the query. If true, refining the search will not
+ * trigger a new query, instead simply filtering the previous results.
+ * If false, the directory will be present in asyncDirectories.
+ */
+ bool isCompleteResult(in long index);
+
+ /**
+ * The template used to build the query for this search. Optional.
+ */
+ attribute AString modelQuery;
+
+ /**
+ * Asynchronous address books that were unable to return full results.
+ * This means that they need to be required rather than simply filtered.
+ */
+ attribute Array<nsIAbDirectory> asyncDirectories;
+};