1 /* 2 * This file is part of GNOME Twitch - 'Enjoy Twitch on your GNU/Linux desktop' 3 * Copyright © 2017 Vincent Szolnoky <vinszent@vinszent.com> 4 * 5 * GNOME Twitch is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * GNOME Twitch is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with GNOME Twitch. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 #ifndef GT_FOLLOWS_MANAGER_H 20 #define GT_FOLLOWS_MANAGER_H 21 22 #include <gtk/gtk.h> 23 24 #include "gt-channel.h" 25 26 G_BEGIN_DECLS 27 28 #define GT_TYPE_FOLLOWS_MANAGER (gt_follows_manager_get_type()) 29 30 G_DECLARE_FINAL_TYPE(GtFollowsManager, gt_follows_manager, GT, FOLLOWS_MANAGER, GObject); 31 32 typedef struct _GtFollowsManagerPrivate GtFollowsManagerPrivate; 33 34 struct _GtFollowsManager 35 { 36 GObject parent_instance; 37 38 GList* follow_channels; 39 }; 40 41 GtFollowsManager* gt_follows_manager_new(void); 42 void gt_follows_manager_load_from_file(GtFollowsManager* self); 43 void gt_follows_manager_load_from_twitch(GtFollowsManager* self); 44 void gt_follows_manager_save(GtFollowsManager* self); 45 gboolean gt_follows_manager_is_channel_followed(GtFollowsManager* self, GtChannel* chan); 46 gboolean gt_follows_manager_is_loading_follows(GtFollowsManager* self); 47 void gt_follows_manager_attach_to_channel(GtFollowsManager* self, GtChannel* chan); 48 void gt_follows_manager_refresh(GtFollowsManager* self); 49 50 G_END_DECLS 51 52 #endif 53