Avoid any protocol (CAN, GPS, GPIO, etc) and wallet references inside Access Core API (access directory). This API must be agnostic and modular, containing only PxP core functionality. All protocol and wallet references must reside in the plugin context. That was the main purpose of https://github.com/iotaledger/access/pull/107
the plugins directory must follow this organization for the PxP plugins: https://rentry.co/ehetq
keep calls to pep_register_callback() and pip_register_callback() inside access.c and not inside main.c. Otherwise the Access Core API is leaking out of the scope of Access Actor.
keep the choice of which PxP plugins are chosen as code inside main.c, pep_plugin.h or pip_plugin.h, but not on access.{c,h}, pep.{c,h} or pip.{c,h}.
Requirements
access
directory). This API must be agnostic and modular, containing only PxP core functionality. All protocol and wallet references must reside in the plugin context. That was the main purpose of https://github.com/iotaledger/access/pull/107plugins
directory must follow this organization for the PxP plugins: https://rentry.co/ehetqpep_register_callback()
andpip_register_callback()
insideaccess.c
and not insidemain.c
. Otherwise the Access Core API is leaking out of the scope of Access Actor.main.c
,pep_plugin.h
orpip_plugin.h
, but not onaccess.{c,h}
,pep.{c,h}
orpip.{c,h}
.