anastasis-gtk

Demonstrator GUI for Anastasis
Log | Files | Refs | README | LICENSE

anastasis-gtk_dispatch.h (1486B)


      1 /*
      2      This file is part of anastasis-gtk.
      3      Copyright (C) 2020 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.h
     22  * @brief Generic state dispatcher
     23  * @author Christian Grothoff
     24  * @author Dennis Neufeld
     25  */
     26 #ifndef ANASTASIS_GTK_DISPATCH_H
     27 #define ANASTASIS_GTK_DISPATCH_H
     28 
     29 /**
     30  * Dispatch table item.
     31  */
     32 struct DispatchItem
     33 {
     34   /**
     35    * State in which to run @a action.
     36    */
     37   const char *state;
     38 
     39   /**
     40    * The action function to execute.
     41    */
     42   void (*action)(void);
     43 };
     44 
     45 
     46 /**
     47  * Run actions as per the given dispatch table based on the
     48  * current #AG_redux_state.
     49  *
     50  * @param dt dispatching table
     51  * @return #GNUNET_OK if an action was run from @a dt
     52  */
     53 int
     54 AG_dispatch (const struct DispatchItem *dt);
     55 
     56 #endif