コード例 #1
0
ファイル: ns_game.cpp プロジェクト: jleclanche/darkdust-ctp2
ns_Game::ns_Game(NETFunc::Game * game)
:	ns_Object<NETFunc::Game, ns_Game>(game)
{
	list.push_back(Struct(ICON,		&m_launched));
	list.push_back(Struct(STRING,	&m_name));
	list.push_back(Struct(ICON,		&m_locked));
	list.push_back(Struct(ICON,		&m_closed));
	list.push_back(Struct(INT,		&m_players));
};
コード例 #2
0
ファイル: cursor.cpp プロジェクト: choenig/qt-creator
void f3()
{
    auto FindFunctionCaller = Struct();

    FindFunctionCaller.FinalVirtualMethod();
}
コード例 #3
0
ファイル: module1_constants.cpp プロジェクト: Bklyn/fbthrift
Struct const &module1_constants::c1() {
  static Struct const instance = Struct(
    ::apache::thrift::detail::wrap_argument<1>(201),
    ::apache::thrift::detail::wrap_argument<2>("module1_str"));
  return instance;
}
コード例 #4
0
ULXR_API_IMPL(bool) ValueParser::testEndElement(const XML_Char *name)
{
  ULXR_TRACE(ULXR_PCHAR("ValueParser::testEndElement(const XML_Char*)"));

  if (states.size() <= 1)
    throw RuntimeException(ApplicationError, ulxr_i18n(ULXR_PCHAR("abnormal program behaviour: ValueParser::testEndElement() had no states left")));

  std::auto_ptr<ValueState> curr(getTopValueState());
  states.pop();
/*
  ULXR_DOUT (ULXR_GET_STRING(name)
             << ULXR_PCHAR(" = cur-val: ")
             << std::hex << (void*) curr->getValue()
             << ULXR_PCHAR(" state: ")
             << std::hex << (void*) curr->getParserState()
             << ULXR_PCHAR(" prev state: ")
             << std::hex << (void*) curr->getPrevParserState()
             << std::dec);
*/
  states.top()->setPrevParserState(curr->getParserState());
  switch(curr->getParserState() )
  {
    case eBoolean:
      assertEndElement(name, "boolean");
      getTopValueState()->takeValue(new Value(Boolean(curr->getCharData())) );
    break;

    case eInt:
      assertEndElement(name, "int");
      getTopValueState()->takeValue(new Value(Integer(curr->getCharData())) );
    break;

    case eI4:
      assertEndElement(name, "i4");
      getTopValueState()->takeValue(new Value(Integer(curr->getCharData())) );
    break;

    case eDouble:
      assertEndElement(name, "double");
      getTopValueState()->takeValue(new Value(Double(curr->getCharData())) );
    break;

    case eString:
      assertEndElement(name, "string");
      getTopValueState()->takeValue(new Value(RpcString(curr->getCharData())) );
    break;

    case eBase64:
    {
      assertEndElement(name, "base64");
      Base64 b64;
      b64.setBase64(curr->getCharData()); // move raw data!
      getTopValueState()->takeValue(new Value(b64));
    }
    break;

    case eDate:
      assertEndElement(name , "dateTime.iso8601");
      getTopValueState()->takeValue(new Value(DateTime(curr->getCharData())) );
    break;

    case eMember:
      assertEndElement(name, "member");
      getTopValueState()->takeValue (curr->getValue());
    break;

    case eName:
      assertEndElement(name, "name");
      getTopValueState()->takeName((curr->getCharData()) );
    break;

    case eValue:
      assertEndElement(name, "value");
      if (curr->getValue() == 0)     // special case
      {
        if(curr->getPrevParserState() == eArray)            // not empty Array
           getTopValueState()->takeValue (new Value(Array()));

        else if (curr->getPrevParserState() == eStruct)     // not empty Struct
           getTopValueState()->takeValue (new Value(Struct()));

        else                                                // no type tag defaults to string
          getTopValueState()->takeValue (new Value(RpcString(curr->getCharData())));
      }
      else
        getTopValueState()->takeValue (curr->getValue());
    break;

    case eStruct:
      assertEndElement(name, "struct");
      getTopValueState()->takeValue (curr->getValue());
    break;

    case eArray:
      assertEndElement(name, "array");
      getTopValueState()->takeValue (curr->getValue());
    break;

    case eData:
      assertEndElement(name, "data");
      getTopValueState()->takeValue (curr->getValue());
    break;

    default:
      states.push(curr.release());
      return false;
  }

  return true;
}
コード例 #5
0
  ValueParser::testStartElement(const XML_Char* name, const XML_Char** /* atts */)
{
  ULXR_TRACE(ULXR_PCHAR("ValueParser::testStartElement(const XML_Char*, const char**)")
             << ULXR_PCHAR("\n  name: ")
             << ULXR_GET_STRING(name)
            );
  switch(getTopValueState()->getParserState() )
  {
    case eNone:
      if (strcmp(name, "value") == 0)
        states.push(new ValueState(eValue));
      else
        return false;
    break;

    case eValue:
      if (strcmp(name, "array") == 0)
        states.push(new ValueState(eArray));

      else if (strcmp(name, "struct") == 0)
        states.push(new ValueState(eStruct));

      else if (strcmp(name, "boolean") == 0)
        states.push(new ValueState(eBoolean));

      else if (strcmp(name, "int") == 0)
        states.push(new ValueState(eInt));

      else if (strcmp(name, "i4") == 0)
        states.push(new ValueState(eI4));

      else if (strcmp(name, "double") == 0)
        states.push(new ValueState(eDouble));

      else if (strcmp(name, "string") == 0)
        states.push(new ValueState(eString));

      else if (strcmp(name, "base64") == 0)
        states.push(new ValueState(eBase64));

      else if (strcmp(name, "dateTime.iso8601") == 0)
        states.push(new ValueState(eDate));

      else
        return false;
    break;

    case eStruct:
      if (strcmp(name, "member") == 0)
      {
        if (getTopValueState()->getValue() == 0)  // first closing member adds struct-item
          getTopValueState()->takeValue(new Value(Struct()), false);
        states.push(new MemberState(eMember, getTopValueState()->getValue()));
      }
      else
        return false;
    break;

    case eMember:
      if (strcmp(name, "name") == 0)
        states.push(new ValueState(eName));

      else if (strcmp(name, "value") == 0)
        states.push(new ValueState(eValue));

      else
        return false;

    break;

    case eArray:
      if (strcmp(name, "data") == 0)
        states.push(new ArrayState(eData));
      else
        return false;
    break;

    case eData:
      if (strcmp(name, "value") == 0)  // closing value adds data-items
        states.push(new ValueState(eValue));
      else
        return false;
    break;

    default:
        return false;
  }

  return true;
}