/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */ /* * Copyright 2022-Present Couchbase, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF * ANY KIND, either express or implied. See the License for the specific language governing * permissions and limitations under the License. */ #pragma once #include "utils/movable_function.hxx" #include #include #include #include #include #include #include namespace couchbase { class retry_strategy; namespace tracing { class request_span; } // namespace tracing } // namespace couchbase namespace couchbase::core { class search_query_options { public: std::string index_name{}; std::vector payload{}; std::shared_ptr retry_strategy{}; std::chrono::milliseconds timeout{}; std::shared_ptr parent_span{}; struct { std::string user{}; } internal{}; }; class search_query_row_reader_impl; class search_query_row_reader { public: search_query_row_reader(); auto next_row() -> std::vector; auto error() -> std::error_code; auto meta_data() -> std::optional>; auto close() -> std::error_code; private: std::shared_ptr impl_; }; using search_query_callback = utils::movable_function; } // namespace couchbase::core