var_object.cpp 624 B

12345678910111213141516171819202122232425
  1. #include "rt_var_object.h"
  2. namespace aFunrt {
  3. Var::Var(Object *data_, aFuncore::Inter &inter) : Object("Var", inter), env{inter.getEnvironment()}, data{data_}{
  4. }
  5. Var::Var(Object *data_, aFuncore::Environment &env_) : Object("Var", env_), env{env_}, data{data_}{
  6. }
  7. void Var::linkObject(std::queue<aFuncore::Object *> &queue) {
  8. queue.push(getData());
  9. }
  10. aFuncore::Object *Var::getData() {
  11. std::unique_lock<std::mutex> mutex{lock};
  12. return data;
  13. }
  14. void Var::setData(Object *data_) {
  15. std::unique_lock<std::mutex> mutex{lock};
  16. data = data_;
  17. }
  18. }