Line data Source code
1 : /* This Source Code Form is subject to the terms of the Mozilla Public
2 : * License, v. 2.0. If a copy of the MPL was not distributed with this
3 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 :
5 : #ifndef __nsAutoCompleteSimpleResult__
6 : #define __nsAutoCompleteSimpleResult__
7 :
8 : #include "nsIAutoCompleteResult.h"
9 : #include "nsIAutoCompleteSimpleResult.h"
10 :
11 : #include "nsString.h"
12 : #include "nsCOMPtr.h"
13 : #include "nsTArray.h"
14 : #include "mozilla/Attributes.h"
15 :
16 : struct AutoCompleteSimpleResultMatch;
17 :
18 : class nsAutoCompleteSimpleResult final : public nsIAutoCompleteSimpleResult
19 : {
20 : public:
21 : nsAutoCompleteSimpleResult();
22 :
23 : NS_DECL_ISUPPORTS
24 : NS_DECL_NSIAUTOCOMPLETERESULT
25 : NS_DECL_NSIAUTOCOMPLETESIMPLERESULT
26 :
27 : nsresult AppendResult(nsIAutoCompleteResult* aResult);
28 :
29 : private:
30 0 : ~nsAutoCompleteSimpleResult() {}
31 :
32 : protected:
33 : typedef nsTArray<AutoCompleteSimpleResultMatch> MatchesArray;
34 : MatchesArray mMatches;
35 :
36 : nsString mSearchString;
37 : nsString mErrorDescription;
38 : int32_t mDefaultIndex;
39 : uint32_t mSearchResult;
40 :
41 : nsCOMPtr<nsIAutoCompleteSimpleResultListener> mListener;
42 : };
43 :
44 : #endif // __nsAutoCompleteSimpleResult__
|