void madara::knowledge::containers::NativeDoubleVector::set_name ( const std::string & var_name, Variables & knowledge, int size) { if (context_ != knowledge.get_context () || name_ != var_name) { context_ = knowledge.get_context (); ContextGuard context_guard (*context_); MADARA_GUARD_TYPE guard (mutex_); madara_logger_ptr_log (logger::global_logger.get (), logger::LOG_MAJOR, "NativeDoubleVector::set_name: setting name to %s\n", var_name.c_str ()); name_ = var_name; vector_ = knowledge.get_ref (var_name, settings_); if (size > 0) resize (size_t (size)); } }
madara::knowledge::containers::FlexMap::FlexMap(const std::string& name, Variables& knowledge, const KnowledgeUpdateSettings& settings, const std::string& delimiter) : BaseContainer(name, settings), context_(knowledge.get_context()), delimiter_(delimiter) { }
void madara::knowledge::containers::IntegerVector::set_name ( const std::string & var_name, Variables & knowledge, int size) { if (context_ != knowledge.get_context () || name_ != var_name) { context_ = knowledge.get_context (); ContextGuard context_guard (*context_); MADARA_GUARD_TYPE guard (mutex_); name_ = var_name; vector_.clear (); resize (size); } }
madara::knowledge::containers::IntegerVector::IntegerVector ( const std::string & name, Variables & knowledge, int size, bool delete_vars, const KnowledgeUpdateSettings & settings, const std::string & delimiter) : BaseContainer (name, settings), context_ (knowledge.get_context ()), delimiter_ (delimiter) { size_ = get_size_ref (); resize (size, delete_vars); }
void madara::knowledge::containers::FlexMap::set_name( const std::string& var_name, Variables& knowledge) { if (context_ != knowledge.get_context() || name_ != var_name) { context_ = knowledge.get_context(); ContextGuard context_guard(*context_); MADARA_GUARD_TYPE guard(mutex_); name_ = var_name; if (context_->exists(var_name, settings_)) { update_variable(); } else { // reset variable reference variable_ = VariableReference(); } } }
madara::knowledge::containers::NativeDoubleVectorStaged:: NativeDoubleVectorStaged(const std::string& name, Variables& knowledge, int size, const KnowledgeUpdateSettings& settings) : context_(knowledge.get_context()), has_changed_(false) { madara_logger_ptr_log(logger::global_logger.get(), logger::LOG_MAJOR, "NativeDoubleVectorStaged::constructor called for %s[%d]\n", name.c_str(), size); vector_ = knowledge.get_ref(name, settings); if (size >= 0) { resize(size); } }