コード例 #1
0
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();
}
コード例 #2
0
// 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;
}
コード例 #3
0
// 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;
}
コード例 #4
0
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.";
}