using Dino.Entities; namespace Dino.Util { public static Message.Type get_message_type_for_conversation(Conversation conversation) { switch (conversation.type_) { case Conversation.Type.CHAT: return Entities.Message.Type.CHAT; case Conversation.Type.GROUPCHAT: return Entities.Message.Type.GROUPCHAT; case Conversation.Type.GROUPCHAT_PM: return Entities.Message.Type.GROUPCHAT_PM; default: assert_not_reached(); } } public static Conversation.Type get_conversation_type_for_message(Message message) { switch (message.type_) { case Entities.Message.Type.CHAT: return Conversation.Type.CHAT; case Entities.Message.Type.GROUPCHAT: return Conversation.Type.GROUPCHAT; case Entities.Message.Type.GROUPCHAT_PM: return Conversation.Type.GROUPCHAT_PM; default: assert_not_reached(); } } public static bool is_pixbuf_supported_content_type(Xmpp.FileContentType? content_type) { if (content_type == null) return false; string mime_type = content_type.get_mime_type(); foreach (Gdk.PixbufFormat pixbuf_format in Gdk.Pixbuf.get_formats()) { foreach (string pixbuf_mime in pixbuf_format.get_mime_types()) { if (pixbuf_mime == mime_type) return true; } } return false; } public static Gee.List get_local_ip_addresses() { Gee.List result = new Gee.ArrayList(); foreach (string ip_address in Nice.interfaces_get_local_ips(false)) { result.add(ip_address); } return result; } }