Fawkes API
Fawkes Development Version
|
23 #ifndef _PLUGINS_MONGODB_LOG_MONGODB_LOG_IMAGE_THREAD_H_
24 #define _PLUGINS_MONGODB_LOG_MONGODB_LOG_IMAGE_THREAD_H_
26 #include <aspect/blocked_timing.h>
27 #include <aspect/clock.h>
28 #include <aspect/configurable.h>
29 #include <aspect/logging.h>
30 #include <aspect/pointcloud.h>
31 #include <core/threading/mutex.h>
32 #include <core/threading/thread.h>
33 #include <plugins/mongodb/aspect/mongodb.h>
36 #include <mongocxx/client.hpp>
37 #include <mongocxx/gridfs/bucket.hpp>
42 namespace firevision {
43 class SharedMemoryImageBuffer;
80 void get_sets(std::set<std::string> &missing_images, std::set<std::string> &unbacked_images);
86 std::string topic_name;
91 std::map<std::string, ImageInfo> imgs_;
95 mongocxx::client * mongodb_;
96 mongocxx::gridfs::bucket gridfs_;
97 std::string collection_;
98 std::string database_;
103 std::vector<std::string> includes_;
104 std::vector<std::string> excludes_;
106 unsigned int cfg_chunk_size_;
107 float cfg_storage_interval_;
Thread aspect to access MongoDB.
Mutex mutual exclusion lock.
virtual void loop()
Code to execute in the thread.
Thread to export Fawkes images to MongoDB.
Shared memory image buffer.
virtual void finalize()
Finalize the thread.
virtual void run()
Stub to see name in backtrace for easier debugging.
Fawkes library namespace.
Thread aspect to log output.
virtual ~MongoLogImagesThread()
Destructor.
virtual bool prepare_finalize_user()
Prepare finalization user implementation.
A class for handling time.
MongoLogImagesThread()
Constructor.
Thread class encapsulation of pthreads.
Thread aspect to access configuration data.
Thread aspect that allows to obtain the current time from the clock.
ImageInfo representation for JSON transfer.
virtual void init()
Initialize the thread.