atri_plugin 0.9.0

AtriPlugin
Documentation
use crate::loader::get_vtb;
use crate::message::{MessageElement, PushMessage};
use atri_ffi::ManagedCloneable;

#[derive(Clone)]
pub struct Image(pub(crate) ManagedCloneable);

impl Image {
    pub fn id(&self) -> &str {
        let rs = (get_vtb().image_get_id)(self.0.pointer);
        rs.as_str()
    }

    pub fn url(&self) -> String {
        let rs = (get_vtb().image_get_url)(self.0.pointer);
        rs.into()
    }
}

impl PushMessage for Image {
    fn push_to(self, v: &mut Vec<MessageElement>) {
        v.push(MessageElement::Image(self));
    }
}