Merge commit '9983e31ac159356438f940406f2d9a74a92b4ee7' into seasocks_update
Took the opertunity to refactor seasocks_logger since it wouldn't
compile.
Change-Id: I087b70bf4758377ba43b709a8e9bbdcad49c190e
diff --git a/aos/seasocks/BUILD b/aos/seasocks/BUILD
index d4411f1..ae8d402 100644
--- a/aos/seasocks/BUILD
+++ b/aos/seasocks/BUILD
@@ -1,7 +1,18 @@
py_binary(
- name = 'gen_embedded',
- visibility = ['//visibility:public'],
- srcs = [
- 'gen_embedded.py',
- ],
+ name = "gen_embedded",
+ srcs = [
+ "gen_embedded.py",
+ ],
+ visibility = ["//visibility:public"],
+)
+
+cc_library(
+ name = "seasocks_logger",
+ srcs = ["seasocks_logger.cc"],
+ hdrs = ["seasocks_logger.h"],
+ visibility = ["//visibility:public"],
+ deps = [
+ "//aos/logging",
+ "//third_party/seasocks",
+ ],
)
diff --git a/aos/seasocks/seasocks_logger.cc b/aos/seasocks/seasocks_logger.cc
new file mode 100644
index 0000000..dad9970
--- /dev/null
+++ b/aos/seasocks/seasocks_logger.cc
@@ -0,0 +1,33 @@
+#include "aos/seasocks/seasocks_logger.h"
+
+#include "aos/logging/logging.h"
+#include "seasocks/PrintfLogger.h"
+
+namespace aos {
+namespace seasocks {
+
+void SeasocksLogger::log(::seasocks::Logger::Level level, const char *message) {
+ // Convert Seasocks error codes to AOS.
+ log_level aos_level;
+ switch (level) {
+ case ::seasocks::Logger::Level::Info:
+ aos_level = INFO;
+ break;
+ case ::seasocks::Logger::Level::Warning:
+ aos_level = WARNING;
+ break;
+ case ::seasocks::Logger::Level::Error:
+ case ::seasocks::Logger::Level::Severe:
+ aos_level = ERROR;
+ break;
+ case ::seasocks::Logger::Level::Debug:
+ case ::seasocks::Logger::Level::Access:
+ default:
+ aos_level = DEBUG;
+ break;
+ }
+ LOG(aos_level, "Seasocks: %s\n", message);
+}
+
+} // namespace seasocks
+} // namespace aos
diff --git a/aos/seasocks/seasocks_logger.h b/aos/seasocks/seasocks_logger.h
new file mode 100644
index 0000000..64f13fa
--- /dev/null
+++ b/aos/seasocks/seasocks_logger.h
@@ -0,0 +1,19 @@
+#ifndef AOS_SEASOCKS_SEASOCKS_LOGGER_H_
+#define AOS_SEASOCKS_SEASOCKS_LOGGER_H_
+
+#include "seasocks/PrintfLogger.h"
+
+namespace aos {
+namespace seasocks {
+
+class SeasocksLogger : public ::seasocks::PrintfLogger {
+ public:
+ SeasocksLogger(::seasocks::Logger::Level min_level_to_log)
+ : PrintfLogger(min_level_to_log) {}
+ void log(::seasocks::Logger::Level level, const char *message) override;
+};
+
+} // namespace seasocks
+} // namespace aos
+
+#endif // AOS_SEASOCKS_SEASOCKS_LOGGER_H_