progressindicator.h (1441B)
1 /* 2 * Claws Mail -- a GTK based, lightweight, and fast e-mail client 3 * Copyright (C) 1999-2012 Hiroyuki Yamamoto and the Claws Mail team 4 * 5 * This program 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 * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 */ 19 20 #ifndef PROCESSINDICATOR_H 21 #define PROCESSINDICATOR_H 22 23 #include <glib.h> 24 25 #define PROGRESSINDICATOR_HOOKLIST "progressindicator_hooklist" 26 27 typedef struct _ProgressData ProgressData; 28 29 typedef enum { 30 PROGRESS_COMMAND_START, 31 PROGRESS_COMMAND_SET_PERCENTAGE, 32 PROGRESS_COMMAND_STOP, 33 } ProgressCommand; 34 35 typedef enum { 36 PROGRESS_TYPE_NETWORK, 37 } ProgressType; 38 39 struct _ProgressData { 40 ProgressCommand cmd; 41 ProgressType type; 42 gfloat value; 43 }; 44 45 void progressindicator_start(ProgressType type); 46 void progressindicator_set_percentage(ProgressType type, gfloat percent); 47 void progressindicator_stop(ProgressType type); 48 49 #endif /* PROCESSINDICATOR_H */