Packet PacketFactory::ModifyContact (quint32 cid, ContactOpFlags flags, quint32 group, const QString& email, const QString& name, const QString& phone) { const QByteArray& data = ToMRIM (cid, static_cast<quint32> (flags), group, email, ToMRIM16 (name), phone); return HalfPacket { Header (Packets::ModifyContact, Seq_++), data }; }
Packet PacketFactory::AddContact (ContactOpFlags flags, quint32 group, const QString& email, const QString& name) { const QByteArray& data = ToMRIM (static_cast<quint32> (flags), group, email, ToMRIM16 (name), QString (" "), QString (" "), 0); return HalfPacket { Header (Packets::Contact, Seq_++), data }; }
Packet PacketFactory::SetStatus (quint32 state, const QString& status) { const QByteArray& data = ToMRIM (state, QByteArray (), QByteArray (), ToMRIM16 (status)); return HalfPacket { Header (Packets::ChangeStatus, Seq_++), data }; }
Packet PacketFactory::Login (const QString& login, const QString& pass, quint32 state, const QString& status, const QString& ua) { const QByteArray& data = ToMRIM (ToMRIM1251 (login), QCryptographicHash::hash (ToMRIM1251 (pass), QCryptographicHash::Md5), state, QByteArray (), QByteArray (), ToMRIM16 (status), static_cast<quint32> (FeatureFlag::BaseSmiles | FeatureFlag::Wakeup), ToMRIM1251 (ua), QByteArray ("ru"), 0, 0, QByteArray ("vader")); return HalfPacket { Header (Packets::Login2, Seq_++), data }; }
Packet PacketFactory::Message (MsgFlags flags, const QString& to, const QString& msg) { const QByteArray& data = ToMRIM (static_cast<quint32> (flags), to, ToMRIM16 (msg), ToMRIM1251 (" ")); return HalfPacket { Header (Packets::Msg, Seq_++), data }; }
Packet PacketFactory::AddGroup (const QString& name, int numGroups) { const QByteArray& data = ToMRIM (static_cast<quint32> (ContactOpFlag::Group | (numGroups << 24)), 0, QString (), ToMRIM16 (name), QString (), 0, 0); return HalfPacket { Header (Packets::Contact, Seq_++), data }; }
Packet PacketFactory::SMS (const QString& to, const QString& text) { const QByteArray& data = ToMRIM (0, to, ToMRIM16 (text)); return HalfPacket { Header (Packets::SMS, Seq_++), data }; }
Packet PacketFactory::Microblog (BlogStatus st, const QString& text) { const QByteArray& data = ToMRIM (static_cast<quint32> (st), ToMRIM16 (text)); return HalfPacket { Header (Packets::MicroblogPost, Seq_++), data }; }