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

STY: formatting

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