summaryrefslogtreecommitdiff
path: root/src/libcamera/include/log.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcamera/include/log.h')
-rw-r--r--src/libcamera/include/log.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/libcamera/include/log.h b/src/libcamera/include/log.h
new file mode 100644
index 00000000..76acd152
--- /dev/null
+++ b/src/libcamera/include/log.h
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) 2018, Google Inc.
+ *
+ * log.h - Logging infrastructure
+ */
+#ifndef __LIBCAMERA_LOG_H__
+#define __LIBCAMERA_LOG_H__
+
+#include <sstream>
+
+namespace libcamera {
+
+enum LogSeverity {
+ LogInfo,
+ LogWarning,
+ LogError,
+};
+
+class LogMessage
+{
+public:
+ LogMessage(const char *fileName, unsigned int line,
+ LogSeverity severity);
+ LogMessage(const LogMessage&) = delete;
+ ~LogMessage();
+
+ std::ostream& stream() { return msgStream; }
+
+private:
+ std::ostringstream msgStream;
+};
+
+#define LOG(severity) LogMessage(__FILE__, __LINE__, Log##severity).stream()
+
+};
+
+#endif /* __LIBCAMERA_LOG_H__ */