aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/commander.cpp16
-rw-r--r--src/commander.hpp5
-rw-r--r--src/control_connection.cpp1
-rw-r--r--src/environment.cpp1
-rw-r--r--src/message.cpp2
-rw-r--r--src/wallpaper.cpp8
-rw-r--r--src/wallpaper.hpp8
-rw-r--r--src/wandac.cpp9
-rw-r--r--src/wandad.cpp1
9 files changed, 27 insertions, 24 deletions
diff --git a/src/commander.cpp b/src/commander.cpp
index bf6d0d2..6cb1996 100644
--- a/src/commander.cpp
+++ b/src/commander.cpp
@@ -1,27 +1,28 @@
#include "commander.hpp"
#include "message.hpp"
-#include <iostream>
+#include <spdlog/fmt/ostr.h>
namespace wanda
{
-commander::commander(asio::io_service &service, std::filesystem::path socket)
+commander::commander(asio::io_service &service, std::filesystem::path socket, std::shared_ptr<spdlog::logger> logger)
: m_service{service},
m_endpoint{socket.string()},
- m_socket{service}
+ m_socket{service},
+ m_logger{logger}
{
}
void commander::start()
{
- std::clog << "[commander::start] Starting commander on socket '" << m_endpoint.path() << "'\n";
m_socket.async_connect(m_endpoint, [&](auto const &error) {
if (error)
{
- std::cerr << "[commander::start] error occured: " << error.message() << '\n';
+ m_logger->error("error while connecting to control interface: '{}'", error.message());
}
else
{
+ m_logger->info("establishing connection to wanda deamon");
m_connection = wanda::make_control_connection(std::move(m_socket));
m_connection->add(this);
m_connection->start();
@@ -32,18 +33,19 @@ void commander::start()
void commander::on_error(control_connection::pointer connection, std::error_code error)
{
- std::cerr << "[commander::on_error] error occured: " << error.message() << '\n';
+ m_logger->error("control interface communication error: '{}'", error.message());
}
void commander::on_received(wanda::control_connection::pointer connection, message message)
{
if (auto state = connection->current_state(); message.command == "HELLO" && state == control_connection::state::fresh)
{
+ m_logger->info("connection to wanda deamon successfully established");
connection->update(control_connection::state::established);
}
else
{
- std::cerr << "[commander::on_receive] unexpected message: " << message << '\n';
+ m_logger->error("unexpected message: '{}'", message);
}
}
diff --git a/src/commander.hpp b/src/commander.hpp
index 6337f08..e7d68af 100644
--- a/src/commander.hpp
+++ b/src/commander.hpp
@@ -5,8 +5,10 @@
#include "message.hpp"
#include <asio.hpp>
+#include <spdlog/logger.h>
#include <filesystem>
+#include <memory>
#include <string>
namespace wanda
@@ -14,7 +16,7 @@ namespace wanda
struct commander : wanda::control_connection::listener
{
- commander(asio::io_service &service, std::filesystem::path socket);
+ commander(asio::io_service &service, std::filesystem::path socket, std::shared_ptr<spdlog::logger> logger);
void start();
@@ -26,6 +28,7 @@ private:
wanda::control_connection::protocol::endpoint m_endpoint;
wanda::control_connection::protocol::socket m_socket;
wanda::control_connection::pointer m_connection;
+ std::shared_ptr<spdlog::logger> m_logger;
};
} // namespace wanda
diff --git a/src/control_connection.cpp b/src/control_connection.cpp
index 2ac302c..1061f44 100644
--- a/src/control_connection.cpp
+++ b/src/control_connection.cpp
@@ -1,6 +1,5 @@
#include "control_connection.hpp"
-#include <iostream>
#include <limits>
namespace wanda
diff --git a/src/environment.cpp b/src/environment.cpp
index 2051573..e5c8c6d 100644
--- a/src/environment.cpp
+++ b/src/environment.cpp
@@ -1,6 +1,5 @@
#include "environment.hpp"
-#include <iostream>
#include <string>
namespace wanda
diff --git a/src/message.cpp b/src/message.cpp
index 9900939..47a4414 100644
--- a/src/message.cpp
+++ b/src/message.cpp
@@ -4,8 +4,6 @@
#include <ios>
#include <sstream>
-#include <iostream>
-
namespace wanda
{
diff --git a/src/wallpaper.cpp b/src/wallpaper.cpp
index 39abb60..8f8e8c8 100644
--- a/src/wallpaper.cpp
+++ b/src/wallpaper.cpp
@@ -2,12 +2,10 @@
#include "setting.hpp"
#include "wallpaper.hpp"
-#include <iostream>
-
namespace wanda
{
-void set_wallpaper(std::filesystem::path wallpaper)
+void set_wallpaper(std::filesystem::path wallpaper, std::shared_ptr<spdlog::logger> logger)
{
using namespace wanda::literals;
using namespace wanda::std_ext;
@@ -16,8 +14,8 @@ void set_wallpaper(std::filesystem::path wallpaper)
with("org.gnome.desktop.background"_setting, [&](auto &setting) {
with(setting["picture-uri"_key], [&](auto &value) {
value = "file://" + wallpaper.native();
- }) || [] { std::cerr << "No such key!\n"; };
- }) || [] { std::cerr << "No such setting!\n"; };
+ }) || [&] { logger->error("invalid settings key"); };
+ }) || [&] { logger->error("invalid setting"); };
}
} // namespace wanda \ No newline at end of file
diff --git a/src/wallpaper.hpp b/src/wallpaper.hpp
index 6222557..5dbd5d0 100644
--- a/src/wallpaper.hpp
+++ b/src/wallpaper.hpp
@@ -1,12 +1,16 @@
#ifndef WANDA_WALLPAPER_HPP
#define WANDA_WALLPAPER_HPP
+#include <spdlog/spdlog.h>
+#include <spdlog/sinks/null_sink.h>
+
#include <filesystem>
+#include <memory>
namespace wanda
{
-
-void set_wallpaper(std::filesystem::path wallpaper);
+
+void set_wallpaper(std::filesystem::path wallpaper, std::shared_ptr<spdlog::logger> logger = spdlog::create<spdlog::sinks::null_sink_st>("null"));
} // wanda
diff --git a/src/wandac.cpp b/src/wandac.cpp
index 6b218c4..24b529e 100644
--- a/src/wandac.cpp
+++ b/src/wandac.cpp
@@ -3,20 +3,21 @@
#include "xdg.hpp"
#include <asio.hpp>
+#include <spdlog/spdlog.h>
+#include <spdlog/sinks/stdout_color_sinks.h>
#include <filesystem>
-#include <iostream>
#include <memory>
int main()
{
auto environment = wanda::environment{};
+ auto log = spdlog::stdout_color_mt("wandac");
auto interface = wanda::xdg_path_for(wanda::xdg_directory::runtime_dir, environment) / ".wanda_interface";
auto service = asio::io_service{};
+ auto commander = wanda::commander{service, interface, log};
- std::clog << "[wandac::main] Initializing commander for socket '" << interface.native() << "'\n";
- auto commander = wanda::commander{service, interface};
-
+ log->info("trying to connect to wanda control interface on '{}'", interface.native());
commander.start();
service.run();
diff --git a/src/wandad.cpp b/src/wandad.cpp
index c0c2517..af2e3f2 100644
--- a/src/wandad.cpp
+++ b/src/wandad.cpp
@@ -12,7 +12,6 @@
#include <spdlog/sinks/stdout_color_sinks.h>
#include <csignal>
-#include <iostream>
#include <set>
#include <string>