csvzall 0.4.0
CSV command-line tool and emerging C++ library
Loading...
Searching...
No Matches
credentials.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <optional>
4#include <string>
5#include <vector>
6
7namespace csvzall {
8
10 std::string host = "localhost";
11 int port = 5432;
12 std::string database;
13 std::string user;
14};
15
17 public:
18 [[nodiscard]] bool available() const;
19 [[nodiscard]] std::string unavailable_reason() const;
20
21 [[nodiscard]] std::string target_name(const CredentialTarget& target) const;
22 [[nodiscard]] std::optional<std::string> get_password(const CredentialTarget& target,
23 std::string* error_message = nullptr) const;
24 [[nodiscard]] bool save_password(const CredentialTarget& target,
25 const std::string& password,
26 std::string* error_message = nullptr) const;
27 [[nodiscard]] bool forget_password(const CredentialTarget& target,
28 std::string* error_message = nullptr) const;
29 [[nodiscard]] std::size_t forget_all_postgres(std::string* error_message = nullptr) const;
30
31 private:
32 [[nodiscard]] std::vector<std::string> read_index(std::string* error_message = nullptr) const;
33 [[nodiscard]] bool write_index(const std::vector<std::string>& targets,
34 std::string* error_message = nullptr) const;
35};
36
37} // namespace csvzall
Definition credentials.hpp:16
bool available() const
Definition credentials.cpp:62
bool forget_password(const CredentialTarget &target, std::string *error_message=nullptr) const
Definition credentials.cpp:136
std::size_t forget_all_postgres(std::string *error_message=nullptr) const
Definition credentials.cpp:162
std::string unavailable_reason() const
Definition credentials.cpp:70
bool save_password(const CredentialTarget &target, const std::string &password, std::string *error_message=nullptr) const
Definition credentials.cpp:105
std::optional< std::string > get_password(const CredentialTarget &target, std::string *error_message=nullptr) const
Definition credentials.cpp:83
std::string target_name(const CredentialTarget &target) const
Definition credentials.cpp:78
Definition bar.cpp:11
Definition credentials.hpp:9
std::string database
Definition credentials.hpp:12
std::string host
Definition credentials.hpp:10
int port
Definition credentials.hpp:11
std::string user
Definition credentials.hpp:13