23 #include "fvretriever_plugin.h"
24 #include "retriever_thread.h"
26 #include <core/exceptions/software.h>
30 using namespace fawkes;
31 using namespace firevision;
48 std::set<std::string> configs;
49 std::set<std::string> ignored_configs;
51 std::string prefix =
"/firevision/retriever/camera/";
56 std::string cfg_name = std::string(vi->
path()).substr(prefix.length());
57 cfg_name = cfg_name.substr(0, cfg_name.find(
"/"));
59 if ( (configs.find(cfg_name) == configs.end()) &&
60 (ignored_configs.find(cfg_name) == ignored_configs.end()) )
63 std::string cfg_prefix = prefix + cfg_name +
"/";
67 " argument strings, but got %s for %s",
73 active = config->
get_bool((cfg_prefix +
"active").c_str());
78 cfg_name, cfg_prefix));
79 configs.insert(cfg_name);
82 ignored_configs.insert(cfg_name);
90 throw Exception(
"No cameras have been set for fvretriever");
95 PLUGIN_DESCRIPTION(
"Reads images from cameras and stores them in shared memory")