xref: /aosp_15_r20/external/icing/icing/store/suggestion-result-checker.h (revision 8b6cd535a057e39b3b86660c4aa06c99747c2136)
1 // Copyright (C) 2021 Google LLC
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //      http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef ICING_STORE_SUGGESTION_RESULT_CHECKER_H_
16 #define ICING_STORE_SUGGESTION_RESULT_CHECKER_H_
17 
18 #include "icing/schema/section.h"
19 #include "icing/store/document-id.h"
20 
21 namespace icing {
22 namespace lib {
23 
24 class SuggestionResultChecker {
25  public:
26   virtual ~SuggestionResultChecker() = default;
27 
28   // Check whether the given document id is belongs to the target namespaces.
29   // Returns:
30   //   On success,
31   //     - true:  the given document id belongs to the target namespaces
32   //     - false: the given document id doesn't belong to the target namespaces
33   //   OUT_OF_RANGE if document_id is negative or exceeds previously seen
34   //                DocumentIds
35   //   NOT_FOUND if the document or the filter data is not found
36   //   INTERNAL_ERROR on all other errors
37   virtual bool BelongsToTargetResults(DocumentId document_id,
38                                       SectionId section_id) const = 0;
39 };
40 
41 }  // namespace lib
42 }  // namespace icing
43 
44 #endif  // ICING_STORE_SUGGESTION_RESULT_CHECKER_H_
45