anastasis-gtk_dispatch.c (1298B)
1 /* 2 This file is part of anastasis-gtk. 3 Copyright (C) 2021 Anastasis SARL 4 5 Anastasis is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published 7 by the Free Software Foundation; either version 3, or (at your 8 option) any later version. 9 10 Anastasis is distributed in the hope that it will be useful, but 11 WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with Anastasis; see the file COPYING. If not, write to the 17 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 Boston, MA 02110-1301, USA. 19 */ 20 /** 21 * @file src/anastasis/anastasis-gtk_dispatch.c 22 * @brief Generic state dispatcher 23 * @author Christian Grothoff 24 */ 25 #include "anastasis-gtk_helper.h" 26 #include "anastasis-gtk_dispatch.h" 27 28 29 int 30 AG_dispatch (const struct DispatchItem *dt) 31 { 32 for (unsigned int i = 0; NULL != dt[i].state; i++) 33 { 34 if (! AG_check_state (AG_redux_state, 35 dt[i].state)) 36 continue; 37 dt[i].action (); 38 return GNUNET_OK; 39 } 40 return GNUNET_SYSERR; 41 }