22 #include "clips-protobuf-thread.h"
24 #include <protobuf_clips/communicator.h>
27 using namespace protobuf_clips;
36 :
Thread(
"ClipsProtobufThread",
Thread::OPMODE_WAITFORWAKEUP),
50 cfg_proto_dirs_.clear();
53 for (
size_t i = 0; i < cfg_proto_dirs_.size(); ++i) {
54 std::string::size_type pos;
55 if ((pos = cfg_proto_dirs_[i].find(
"@BASEDIR@")) != std::string::npos) {
56 cfg_proto_dirs_[i].replace(pos, 9, BASEDIR);
58 if ((pos = cfg_proto_dirs_[i].find(
"@FAWKES_BASEDIR@")) != std::string::npos) {
59 cfg_proto_dirs_[i].replace(pos, 16, FAWKES_BASEDIR);
61 if ((pos = cfg_proto_dirs_[i].find(
"@RESDIR@")) != std::string::npos) {
62 cfg_proto_dirs_[i].replace(pos, 8, RESDIR);
64 if ((pos = cfg_proto_dirs_[i].find(
"@CONFDIR@")) != std::string::npos) {
65 cfg_proto_dirs_[i].replace(pos, 9, CONFDIR);
67 if (cfg_proto_dirs_[i][cfg_proto_dirs_.size() - 1] !=
'/') {
68 cfg_proto_dirs_[i] +=
"/";
81 for (
auto pb_comm : pb_comms_) {
82 delete pb_comm.second;
94 clips->batch_evaluate(SRCDIR
"/clips/protobuf.clp");
101 if (pb_comms_.find(env_name) != pb_comms_.end()) {
102 delete pb_comms_[env_name];
103 pb_comms_.erase(env_name);