2019-03-11 15:14:37 +01:00
|
|
|
public class Tootle.API.Mention : GLib.Object {
|
2018-04-28 18:27:10 +02:00
|
|
|
|
|
|
|
public int64 id;
|
|
|
|
public string username;
|
|
|
|
public string acct;
|
|
|
|
public string url;
|
|
|
|
|
2018-10-23 12:05:24 +02:00
|
|
|
public Mention (int64 _id){
|
|
|
|
id = _id;
|
2018-04-28 18:27:10 +02:00
|
|
|
}
|
2019-03-11 15:14:37 +01:00
|
|
|
|
2018-10-23 12:05:24 +02:00
|
|
|
public Mention.from_account (Account account){
|
|
|
|
id = account.id;
|
|
|
|
username = account.username;
|
|
|
|
acct = account.acct;
|
|
|
|
url = account.url;
|
2018-04-28 18:27:10 +02:00
|
|
|
}
|
2019-03-11 15:14:37 +01:00
|
|
|
|
2018-04-28 18:27:10 +02:00
|
|
|
public static Mention parse (Json.Object obj){
|
|
|
|
var id = int64.parse (obj.get_string_member ("id"));
|
|
|
|
var mention = new Mention (id);
|
2019-03-11 15:14:37 +01:00
|
|
|
|
2018-04-28 18:27:10 +02:00
|
|
|
mention.username = obj.get_string_member ("username");
|
|
|
|
mention.acct = obj.get_string_member ("acct");
|
|
|
|
mention.url = obj.get_string_member ("url");
|
2019-03-11 15:14:37 +01:00
|
|
|
|
2018-04-28 18:27:10 +02:00
|
|
|
return mention;
|
|
|
|
}
|
2019-03-11 15:14:37 +01:00
|
|
|
|
2018-10-30 16:57:37 +01:00
|
|
|
public Json.Node? serialize () {
|
|
|
|
var builder = new Json.Builder ();
|
|
|
|
builder.begin_object ();
|
|
|
|
builder.set_member_name ("id");
|
|
|
|
builder.add_string_value (id.to_string ());
|
|
|
|
builder.set_member_name ("username");
|
|
|
|
builder.add_string_value (username);
|
|
|
|
builder.set_member_name ("acct");
|
|
|
|
builder.add_string_value (acct);
|
|
|
|
builder.set_member_name ("url");
|
|
|
|
builder.add_string_value (url);
|
|
|
|
builder.end_object ();
|
|
|
|
return builder.get_root ();
|
|
|
|
}
|
2018-04-28 18:27:10 +02:00
|
|
|
|
|
|
|
}
|