[][src]Crate serde_mtproto_derive

This crate provides Serde MTProto's two derive macros.

#[derive(MtProtoIdentifiable, MtProtoSized)]

Examples

extern crate serde_mtproto;
#[macro_use]
extern crate serde_mtproto_derive;

#[derive(MtProtoIdentifiable, MtProtoSized)]
#[mtproto_identifiable(id = "0xbeefdead")]
struct Message {
    message_id: u32,
    user_id: u32,
    text: String,
    attachment: Attachment,
}

#[derive(MtProtoIdentifiable, MtProtoSized)]
enum Attachment {
    #[mtproto_identifiable(id = "0xdef19e00")]
    Nothing,
    #[mtproto_identifiable(id = "0xbadf00d0")]
    Link {
        url: String,
    },
    #[mtproto_identifiable(id = "0xdeafbeef")]
    Repost {
        message_id: u32,
    },
}

Derive Macros

MtProtoIdentifiable
MtProtoSized