00001
00021 #include "urbi/uobject.hh"
00022
00023 namespace urbi
00024 {
00025
00027 UVar::UVar(const std::string& varname)
00028 : VAR_PROP_INIT
00029 {
00030 name = varname;
00031 __init();
00032 }
00033
00035 UVar::UVar(UObject& obj, const std::string& varname)
00036 : VAR_PROP_INIT
00037 {
00038 name = obj.__name + '.' + varname;
00039 __init();
00040 }
00041
00043 UVar::UVar(const std::string& objname, const std::string& varname)
00044 : VAR_PROP_INIT
00045 {
00046 name = objname + '.' + varname;
00047 __init();
00048 }
00049
00050
00052 void
00053 UVar::init(const std::string& objname, const std::string& varname)
00054 {
00055 name = objname + '.' + varname;
00056 __init();
00057 }
00058
00059 bool
00060 UVar::invariant () const
00061 {
00062 if (!vardata)
00063 {
00064 echo("Unable to locate variable %s in hashtable. "
00065 "Memory problem, report bug.\n",
00066 name.c_str());
00067 return false;
00068 }
00069 else
00070 return true;
00071 }
00072
00073 }