Десерелизация обектов
От: a1ien.n3t  
Дата: 22.04.11 17:12
Оценка:
Нужно распарсить 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)

Тут есть небольшие проблемы описаны тут
Автор: a1ien.n3t
Дата: 05.04.11

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

А как бы вы реализовали дисереализацию Обектов из этого формата?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.