19 #include <bsoncxx/document/view_or_value.hpp>
20 #include <bsoncxx/stdx/optional.hpp>
21 #include <mongocxx/stdx.hpp>
23 #include <mongocxx/config/prelude.hpp>
26 MONGOCXX_INLINE_NAMESPACE_BEGIN
29 class client_encryption;
59 const stdx::optional<mongocxx::client*>& key_vault_client()
const;
77 using ns_pair = std::pair<std::string, std::string>;
87 const stdx::optional<ns_pair>& key_vault_namespace()
const;
138 const stdx::optional<bsoncxx::document::view_or_value>& kms_providers()
const;
168 const stdx::optional<bsoncxx::document::view_or_value>& tls_opts()
const;
173 MONGOCXX_PRIVATE
void* convert()
const;
175 stdx::optional<mongocxx::client*> _key_vault_client;
176 stdx::optional<ns_pair> _key_vault_namespace;
177 stdx::optional<bsoncxx::document::view_or_value> _kms_providers;
178 stdx::optional<bsoncxx::document::view_or_value> _tls_opts;
182 MONGOCXX_INLINE_NAMESPACE_END
185 #include <mongocxx/config/postlude.hpp>