306
307
case MoviePreview.RENDERER_NAME:
307
308
result_obj = Dee.Serializable.parse (data, typeof (MoviePreview));
310
case SocialPreview.RENDERER_NAME:
311
result_obj = Dee.Serializable.parse (data, typeof (SocialPreview));
309
313
case SeriesPreview.RENDERER_NAME:
310
314
result_obj = Dee.Serializable.parse (data, typeof (SeriesPreview));
587
public class SocialPreview : Preview
589
internal const string RENDERER_NAME = "preview-social";
591
public Icon avatar { get; set; }
592
public string content { get; set; }
593
public string sender { get; set; }
594
public CommentRaw[] comments;
595
private CommentRaw[] _comments = null;
597
public struct CommentRaw
600
public string display_name;
601
public string content;
605
public SocialPreview ()
610
internal override unowned string get_renderer_name ()
612
return RENDERER_NAME;
615
internal override void add_properties (HashTable<string, Variant> properties)
617
base.add_properties (properties);
619
if (_comments.length > 0)
620
properties["comments"] = _comments;
622
properties["avatar"] = avatar.to_string ();
624
properties["content"] = content;
626
properties["sender"] = sender;
631
Dee.Serializable.register_parser (typeof (SocialPreview),
632
new VariantType (PreviewRaw.SIGNATURE),
635
unowned string renderer = data.get_child_value (0).get_string ();
636
warn_if_fail (renderer == RENDERER_NAME);
638
HashTable<string, Variant> properties;
639
SocialPreview result = Preview.deserialize<SocialPreview> (
640
data, out properties);
642
Preview.checked_set (properties["avatar"],
643
(v) => { result.avatar = Preview.variant_to_icon (v); });
644
Preview.checked_set (properties["content"],
645
(v) => { result.content = v.get_string (); });
646
Preview.checked_set (properties["sender"],
647
(v) => { result.sender = v.get_string (); });
649
Preview.checked_set (properties["comments"], (v) =>
651
CommentRaw[] comments = (CommentRaw[]) v;
652
result._comments = (owned) comments;
659
public void add_comment (string id,
664
CommentRaw? comment = CommentRaw ();
666
comment.display_name = display_name;
667
comment.content = content;
670
_comments += (owned) comment;
673
public unowned CommentRaw[] get_comments ()
583
679
public struct SeriesItemRaw
585
681
public string uri;