Skip to content
Snippets Groups Projects
Verified Commit 14d85440 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

STY: formatting

parent 06b0c7c8
Branches
Tags
No related merge requests found
Pipeline #9287 failed
...@@ -36,8 +36,16 @@ ...@@ -36,8 +36,16 @@
#include <grpcpp/create_channel.h> #include <grpcpp/create_channel.h>
#include <grpcpp/security/credentials.h> #include <grpcpp/security/credentials.h>
#include "caosdb/info/v1alpha1/main.grpc.pb.h" #include "caosdb/info/v1alpha1/main.grpc.pb.h"
namespace grpc { class ChannelCredentials; } namespace grpc {
namespace caosdb { namespace info { namespace v1alpha1 { class VersionInfo; } } } class ChannelCredentials;
}
namespace caosdb {
namespace info {
namespace v1alpha1 {
class VersionInfo;
}
} // namespace info
} // namespace caosdb
namespace caosdb { namespace caosdb {
using caosdb::info::v1alpha1::GeneralInfoService; using caosdb::info::v1alpha1::GeneralInfoService;
...@@ -52,6 +60,7 @@ public: ...@@ -52,6 +60,7 @@ public:
class PemFileCACertProvider : public CACertificateProvider { class PemFileCACertProvider : public CACertificateProvider {
private: private:
std::string cacert; std::string cacert;
public: public:
explicit PemFileCACertProvider(const std::string &path); explicit PemFileCACertProvider(const std::string &path);
[[nodiscard]] auto getCACertPem() const -> std::string override; [[nodiscard]] auto getCACertPem() const -> std::string override;
...@@ -60,6 +69,7 @@ public: ...@@ -60,6 +69,7 @@ public:
class PemCACertProvider : public CACertificateProvider { class PemCACertProvider : public CACertificateProvider {
private: private:
std::string cacert; std::string cacert;
public: public:
explicit PemCACertProvider(const std::string &cacert); explicit PemCACertProvider(const std::string &cacert);
[[nodiscard]] auto getCACertPem() const -> std::string override; [[nodiscard]] auto getCACertPem() const -> std::string override;
...@@ -82,15 +92,18 @@ public: ...@@ -82,15 +92,18 @@ public:
[[nodiscard]] auto virtual toString() const -> std::string = 0; [[nodiscard]] auto virtual toString() const -> std::string = 0;
[[nodiscard]] auto getHost() const -> std::string; [[nodiscard]] auto getHost() const -> std::string;
[[nodiscard]] auto getPort() const -> int; [[nodiscard]] auto getPort() const -> int;
[[nodiscard]] auto virtual getChannelCredentials() const -> std::shared_ptr<ChannelCredentials> = 0; [[nodiscard]] auto virtual getChannelCredentials() const
-> std::shared_ptr<ChannelCredentials> = 0;
}; };
class InsecureCaosDBConnectionConfig : public CaosDBConnectionConfig { class InsecureCaosDBConnectionConfig : public CaosDBConnectionConfig {
private: private:
std::shared_ptr<ChannelCredentials> credentials; std::shared_ptr<ChannelCredentials> credentials;
public: public:
InsecureCaosDBConnectionConfig(const std::string &host, int port); InsecureCaosDBConnectionConfig(const std::string &host, int port);
[[nodiscard]] auto getChannelCredentials() const -> std::shared_ptr<ChannelCredentials> override; [[nodiscard]] auto getChannelCredentials() const
-> std::shared_ptr<ChannelCredentials> override;
[[nodiscard]] auto toString() const -> std::string override; [[nodiscard]] auto toString() const -> std::string override;
}; };
...@@ -99,9 +112,11 @@ private: ...@@ -99,9 +112,11 @@ private:
std::shared_ptr<ChannelCredentials> credentials; std::shared_ptr<ChannelCredentials> credentials;
public: public:
SslCaosDBConnectionConfig(const std::string &host, int port, SslCaosDBConnectionConfig(
const std::shared_ptr<CACertificateProvider> &cacert); const std::string &host, int port,
[[nodiscard]] auto getChannelCredentials() const -> std::shared_ptr<ChannelCredentials> override; const std::shared_ptr<CACertificateProvider> &cacert);
[[nodiscard]] auto getChannelCredentials() const
-> std::shared_ptr<ChannelCredentials> override;
[[nodiscard]] auto toString() const -> std::string override; [[nodiscard]] auto toString() const -> std::string override;
}; };
......
...@@ -33,33 +33,33 @@ namespace caosdb::utils { ...@@ -33,33 +33,33 @@ namespace caosdb::utils {
* @todo use boost-filesystem's "load_string_file"! * @todo use boost-filesystem's "load_string_file"!
*/ */
inline auto load_string_file(const std::string &path) -> std::string { inline auto load_string_file(const std::string &path) -> std::string {
const auto path_view = std::string_view{path}; const auto path_view = std::string_view{path};
constexpr auto size = std::size_t{4096}; constexpr auto size = std::size_t{4096};
auto stream = std::ifstream{path_view.data()}; auto stream = std::ifstream{path_view.data()};
stream.exceptions(std::ios_base::badbit); stream.exceptions(std::ios_base::badbit);
auto result = std::string(); auto result = std::string();
auto buffer = std::string(size, '\0'); auto buffer = std::string(size, '\0');
while (stream.read(& buffer[0], size)) { while (stream.read(&buffer[0], size)) {
result.append(buffer, 0, stream.gcount());
}
result.append(buffer, 0, stream.gcount()); result.append(buffer, 0, stream.gcount());
return result; }
result.append(buffer, 0, stream.gcount());
return result;
} }
/** /**
* @brief Return the value of an environment variable or - if undefined - the * @brief Return the value of an environment variable or - if undefined - the
* fall_back value. * fall_back value.
*/ */
inline auto get_env_var(const std::string & key, const std::string & fall_back ) -> const std::string inline auto get_env_var(const std::string &key, const std::string &fall_back)
{ -> const std::string {
const char * val = getenv( key.c_str() ); const char *val = getenv(key.c_str());
if ( val == nullptr ) { if (val == nullptr) {
return fall_back; return fall_back;
} else { } else {
const auto result = std::string(val); const auto result = std::string(val);
return result; return result;
} }
} }
} // namespace caosdb::utils } // namespace caosdb::utils
......
...@@ -36,21 +36,25 @@ auto main() -> int { ...@@ -36,21 +36,25 @@ auto main() -> int {
<< caosdb::LIBCAOSDB_VERSION_PATCH << ")" << std::endl; << caosdb::LIBCAOSDB_VERSION_PATCH << ")" << std::endl;
std::cout << "We don't miss the H of caos." << std::endl; std::cout << "We don't miss the H of caos." << std::endl;
const auto pem_file_path = caosdb::utils::get_env_var("CAOSDB_SERVER_CA_PEM", std::string()); const auto pem_file_path =
caosdb::utils::get_env_var("CAOSDB_SERVER_CA_PEM", std::string());
std::string pem = caosdb::utils::load_string_file(pem_file_path); std::string pem = caosdb::utils::load_string_file(pem_file_path);
std::cout << "PEM" << pem << "\n"; std::cout << "PEM" << pem << "\n";
const std::string host = caosdb::utils::get_env_var("CAOSDB_SERVER_HOST", "localhost"); const std::string host =
const std::string port_str = caosdb::utils::get_env_var("CAOSDB_SERVER_PORT", "8000"); caosdb::utils::get_env_var("CAOSDB_SERVER_HOST", "localhost");
const std::string port_str =
caosdb::utils::get_env_var("CAOSDB_SERVER_PORT", "8000");
const int port = std::stoi(port_str); const int port = std::stoi(port_str);
auto cacert = std::make_shared<caosdb::PemCACertProvider>(pem); auto cacert = std::make_shared<caosdb::PemCACertProvider>(pem);
auto config = std::make_shared<caosdb::SslCaosDBConnectionConfig>(host, port, cacert); auto config =
std::make_shared<caosdb::SslCaosDBConnectionConfig>(host, port, cacert);
caosdb::CaosDBConnection connection(config); caosdb::CaosDBConnection connection(config);
std::cout << std::endl << connection << std::endl; std::cout << std::endl << connection << std::endl;
const auto &v_info = connection.getVersionInfo(); const auto &v_info = connection.getVersionInfo();
const auto &build = v_info.build(); const auto &build = v_info.build();
//std::cout << "BUILD(" << build[0] << ")" << std::endl; // std::cout << "BUILD(" << build[0] << ")" << std::endl;
std::cout << "VersionInfo(" << v_info.major() << "." << v_info.minor() << "." std::cout << "VersionInfo(" << v_info.major() << "." << v_info.minor() << "."
<< v_info.patch() << ")" << std::endl; << v_info.patch() << ")" << std::endl;
return 0; return 0;
......
...@@ -33,11 +33,11 @@ ...@@ -33,11 +33,11 @@
#include "caosdb/info/v1alpha1/main.pb.h" #include "caosdb/info/v1alpha1/main.pb.h"
namespace caosdb { namespace caosdb {
using caosdb::utils::load_string_file;
using caosdb::info::v1alpha1::GeneralInfoService; using caosdb::info::v1alpha1::GeneralInfoService;
using caosdb::info::v1alpha1::GetVersionInfoRequest; using caosdb::info::v1alpha1::GetVersionInfoRequest;
using caosdb::info::v1alpha1::GetVersionInfoResponse; using caosdb::info::v1alpha1::GetVersionInfoResponse;
using caosdb::info::v1alpha1::VersionInfo; using caosdb::info::v1alpha1::VersionInfo;
using caosdb::utils::load_string_file;
using grpc::InsecureChannelCredentials; using grpc::InsecureChannelCredentials;
using grpc::SslCredentials; using grpc::SslCredentials;
using grpc::SslCredentialsOptions; using grpc::SslCredentialsOptions;
...@@ -79,7 +79,7 @@ auto operator<<(std::ostream &out, const CaosDBConnectionConfig &config) ...@@ -79,7 +79,7 @@ auto operator<<(std::ostream &out, const CaosDBConnectionConfig &config)
InsecureCaosDBConnectionConfig::InsecureCaosDBConnectionConfig( InsecureCaosDBConnectionConfig::InsecureCaosDBConnectionConfig(
const std::string &host, int port) const std::string &host, int port)
: CaosDBConnectionConfig(host, port) { : CaosDBConnectionConfig(host, port) {
this->credentials = grpc::InsecureChannelCredentials(); this->credentials = grpc::InsecureChannelCredentials();
} }
auto InsecureCaosDBConnectionConfig::getChannelCredentials() const auto InsecureCaosDBConnectionConfig::getChannelCredentials() const
...@@ -93,7 +93,8 @@ auto InsecureCaosDBConnectionConfig::toString() const -> std::string { ...@@ -93,7 +93,8 @@ auto InsecureCaosDBConnectionConfig::toString() const -> std::string {
} }
SslCaosDBConnectionConfig::SslCaosDBConnectionConfig( SslCaosDBConnectionConfig::SslCaosDBConnectionConfig(
const std::string &host, int port, const std::shared_ptr<CACertificateProvider> &cacert) const std::string &host, int port,
const std::shared_ptr<CACertificateProvider> &cacert)
: CaosDBConnectionConfig(host, port) { : CaosDBConnectionConfig(host, port) {
SslCredentialsOptions options; SslCredentialsOptions options;
options.pem_root_certs = cacert->getCACertPem(); options.pem_root_certs = cacert->getCACertPem();
...@@ -110,11 +111,11 @@ auto SslCaosDBConnectionConfig::toString() const -> std::string { ...@@ -110,11 +111,11 @@ auto SslCaosDBConnectionConfig::toString() const -> std::string {
std::to_string(this->getPort()) + ")"; std::to_string(this->getPort()) + ")";
} }
CaosDBConnection::CaosDBConnection( CaosDBConnection::CaosDBConnection(
const std::shared_ptr<CaosDBConnectionConfig> &config) { const std::shared_ptr<CaosDBConnectionConfig> &config) {
this->config = config; this->config = config;
const std::string target = this->config->getHost() + ":" + std::to_string(this->config->getPort()); const std::string target =
this->config->getHost() + ":" + std::to_string(this->config->getPort());
const std::shared_ptr<grpc::Channel> &channel = const std::shared_ptr<grpc::Channel> &channel =
grpc::CreateChannel(target, this->config->getChannelCredentials()); grpc::CreateChannel(target, this->config->getChannelCredentials());
this->stub_ = GeneralInfoService::NewStub(channel); this->stub_ = GeneralInfoService::NewStub(channel);
...@@ -131,8 +132,7 @@ auto CaosDBConnection::getGeneralInfoService() const ...@@ -131,8 +132,7 @@ auto CaosDBConnection::getGeneralInfoService() const
return *stub_; return *stub_;
} }
[[nodiscard]] auto CaosDBConnection::getVersionInfo() const [[nodiscard]] auto CaosDBConnection::getVersionInfo() const -> VersionInfo {
-> VersionInfo {
const GetVersionInfoRequest request; const GetVersionInfoRequest request;
GetVersionInfoResponse response; GetVersionInfoResponse response;
grpc::ClientContext context; grpc::ClientContext context;
......
#include "utils.h" #include "utils.h"
namespace caosdb::utils { namespace caosdb::utils {} // namespace caosdb::utils
} // namespace caosdb::utils
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment