Couchbase C++ SDK
1.4.0 (rev. 59aa900)
Toggle main menu visibility
Loading...
Searching...
No Matches
ping_options.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2
/*
3
* Copyright 2023-Present Couchbase, Inc.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
18
#pragma once
19
20
#include <
couchbase/common_options.hxx
>
21
#include <
couchbase/ping_result.hxx
>
22
#include <
couchbase/service_type.hxx
>
23
24
#include <functional>
25
#include <memory>
26
#include <optional>
27
#include <set>
28
#include <string>
29
30
namespace
couchbase
31
{
32
struct
ping_options
:
public
common_options
<ping_options> {
43
auto
report_id
(std::string
report_id
) ->
ping_options
&
44
{
45
report_id_ = std::move(
report_id
);
46
return
self
();
47
}
48
55
auto
service_types
(std::set<service_type>
service_types
) ->
ping_options
&
56
{
57
service_types_ = std::move(
service_types
);
58
return
self
();
59
}
60
67
struct
built
:
public
common_options
<ping_options>
::built
{
68
std::optional<std::string>
report_id
;
69
std::set<service_type>
service_types
;
70
};
71
83
[[nodiscard]]
auto
build
() const ->
built
84
{
85
return
{
build_common_options
(), report_id_, service_types_ };
86
}
87
88
private
:
89
std::optional<std::string> report_id_{};
90
std::set<service_type> service_types_{};
91
};
92
93
using
ping_handler
= std::function<void(
error
,
ping_result
)>;
94
}
// namespace couchbase
couchbase::common_options
Common options that used by most operations.
Definition
common_options.hxx:38
couchbase::common_options< ping_options >::self
auto self() -> ping_options &
Definition
common_options.hxx:116
couchbase::common_options< ping_options >::build_common_options
auto build_common_options() const -> built
Definition
common_options.hxx:103
couchbase::error
Definition
error.hxx:31
couchbase::ping_result
Definition
ping_result.hxx:32
common_options.hxx
couchbase
Represents a single item from the result of scan().
Definition
allow_querying_search_index_options.hxx:28
couchbase::ping_handler
std::function< void(error, ping_result)> ping_handler
Definition
ping_options.hxx:93
ping_result.hxx
service_type.hxx
couchbase::ping_options::built
Immutable value object representing consistent options.
Definition
ping_options.hxx:67
couchbase::ping_options::built::report_id
std::optional< std::string > report_id
Definition
ping_options.hxx:68
couchbase::ping_options::built::service_types
std::set< service_type > service_types
Definition
ping_options.hxx:69
couchbase::ping_options
Definition
ping_options.hxx:32
couchbase::ping_options::service_types
auto service_types(std::set< service_type > service_types) -> ping_options &
Customizes the set of services to ping.
Definition
ping_options.hxx:55
couchbase::ping_options::build
auto build() const -> built
Validates the options and returns them as an immutable value.
Definition
ping_options.hxx:83
couchbase::ping_options::report_id
auto report_id(std::string report_id) -> ping_options &
Sets a custom report ID that will be used in the report.
Definition
ping_options.hxx:43
couchbase
ping_options.hxx
Generated by
1.17.0