Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Десерелизация обектов 
:(
    Опции темы
a1ien
Дата 23.4.2011, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 2.6.2008

Репутация: нет
Всего: нет



Нужно распарсить AMF.
С форматом проблем нету все понятно, но встает проблема как сохранять данные.
Щас использую вот такой класс для этого

Код

class AMFData
{
public:
    AMFData & operator[]( const QString & idx ) {
        return map[ idx ];
    }
    AMFData & operator=( const  QVariant& v ) {
        value = v;
        return *this;
    }
    QVariant val() {
        return value;
    }

    static int Type()
    {
        return qRegisterMetaType<AMFData>("AMFData");
    }

    typedef QMap< QString, AMFData > Map;
    Map map;
private:

    QVariant value;
};
Q_DECLARE_METATYPE(AMFData)



Тут есть небольшие проблемы описаны тут
Вот щас думаю, а не выход ли сделать класс в котором будет храниться мапа(QMap, или STL'ный аналог)
В котором будет имя переменной из AMF данных и ссылка на переменную в этом Мапе, тоесть в конструкторе нашего класса будет что-то типа.
mao.insert("name",(void*)&this->name);
mao.insert("varblabla",(void*)&this->varblabla);
И потом делаем функцию которая принимает имя переменной из AMF данный и сохраняет их в нужную переменную в классе.

А как бы вы реализовали дисереализацию Обектов из этого формата?

Это сообщение отредактировал(а) a1ien - 23.4.2011, 00:32
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0357 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.