projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Basic support for emailing a report of a problem (#43).
[dcpomatic.git]
/
src
/
lib
/
log.h
diff --git
a/src/lib/log.h
b/src/lib/log.h
index 2ba273b44dd09e2e254c3a914ce16d2829959cee..f20b0a14866b5aedda0b3b4de883e7b40d3cc7c3 100644
(file)
--- a/
src/lib/log.h
+++ b/
src/lib/log.h
@@
-27,6
+27,7
@@
#include <string>
#include <boost/thread/mutex.hpp>
#include <boost/filesystem.hpp>
#include <string>
#include <boost/thread/mutex.hpp>
#include <boost/filesystem.hpp>
+#include <boost/signals2.hpp>
/** @class Log
* @brief A very simple logging class.
/** @class Log
* @brief A very simple logging class.
@@
-47,9
+48,12
@@
public:
void set_types (int types);
void set_types (int types);
-protected:
+ virtual std::string head_and_tail () const = 0;
+
+protected:
+
/** mutex to protect the log */
/** mutex to protect the log */
- boost::mutex _mutex;
+
mutable
boost::mutex _mutex;
private:
virtual void do_log (std::string m) = 0;
private:
virtual void do_log (std::string m) = 0;
@@
-57,6
+61,7
@@
private:
/** bit-field of log types which should be put into the log (others are ignored) */
int _types;
/** bit-field of log types which should be put into the log (others are ignored) */
int _types;
+ boost::signals2::scoped_connection _config_connection;
};
class FileLog : public Log
};
class FileLog : public Log
@@
-64,6
+69,8
@@
class FileLog : public Log
public:
FileLog (boost::filesystem::path file);
public:
FileLog (boost::filesystem::path file);
+ std::string head_and_tail () const;
+
private:
void do_log (std::string m);
/** filename to write to */
private:
void do_log (std::string m);
/** filename to write to */
@@
-73,6
+80,9
@@
private:
class NullLog : public Log
{
public:
class NullLog : public Log
{
public:
+ std::string head_and_tail () const {
+ return "";
+ }
private:
void do_log (std::string) {}
private:
void do_log (std::string) {}