Property::Property(boost::shared_ptr<zeitgeist::Leaf> leaf, ClassDescriptor descriptor, const QString& name, const QString& caption, Data* value, const QString& help) : mLeaf(leaf), mClass(descriptor), mName(name), mCaption(caption), mValue(value), mEditable(false), mValidator(0), mHelp(help), mParent(0), mUpdateFlag(UF_NONE), mValueSemaphore(1) { createStringValue(); }
// STRING LITERAL bool SuperastCPP::TraverseStringLiteral(clang::StringLiteral* lit) { std::string value = lit->getString().str(); rapidjson::Value stringValue = createStringValue(value); addId(stringValue); addPos(stringValue, lit); sonValue = stringValue;; return true; }
// Character literal bool SuperastCPP::TraverseCharacterLiteral(clang::CharacterLiteral* lit) { std::string value = std::string(1,char(lit->getValue())); rapidjson::Value stringValue = createStringValue(value); addId(stringValue); addPos(stringValue, lit); sonValue = stringValue;; return true; }
void Property::rejectTempValue() { if (mTempValue.get() == 0) { LOG_WARNING() << "Temp value is empty."; return; } if (mValueSemaphore.tryAcquire(1, 100)) { createStringValue(); mTempValue.reset(); mUpdateFlag = UF_NONE; mValueSemaphore.release(); notifyParent(); } else LOG_ERROR() << "Could not acquire value semaphore."; }