file dispatcher.hpp

Defines

Type Name
define EOSIO_DISPATCH_INTERNAL
define EOSIO_DISPATCH_HELPER
define EOSIO_DISPATCH

Defines Documentation

define EOSIO_DISPATCH_INTERNAL

#define EOSIO_DISPATCH_INTERNAL(r, OP, elem)\
case eosio::name( BOOST_PP_STRINGIZE(elem) ).value: \
       eosio::execute_action( eosio::name(receiver), eosio::name(code), &OP::elem ); \
       break;

define EOSIO_DISPATCH_HELPER

#define EOSIO_DISPATCH_HELPER(TYPE, MEMBERS) BOOST_PP_SEQ_FOR_EACH( EOSIO_DISPATCH_INTERNAL, TYPE, MEMBERS )

define EOSIO_DISPATCH

#define EOSIO_DISPATCH(TYPE, MEMBERS)\
extern "C" { \
   void apply( uint64_t receiver, uint64_t code, uint64_t action ) { \
      if( code == receiver ) { \
         switch( action ) { \
            EOSIO_DISPATCH_HELPER( TYPE, MEMBERS ) \
         } \
         /* does not allow destructor of thiscontract to run: eosio_exit(0); */ \
      } \
   } \
} \

The documentation for this class was generated from the following file: libraries/eosiolib/dispatcher.hpp