#pragma once #include "picopass.h" #include "picopass_worker.h" #include "picopass_device.h" #include #include #include #include #include #include #include #include #include #include #include #include #include enum PicopassCustomEvent { // Reserve first 100 events for button types and indexes, starting from 0 PicopassCustomEventReserved = 100, PicopassCustomEventViewExit, PicopassCustomEventWorkerExit, PicopassCustomEventByteInputDone, PicopassCustomEventTextInputDone, PicopassCustomEventDictAttackDone, }; typedef enum { EventTypeTick, EventTypeKey, } EventType; struct Picopass { PicopassWorker* worker; ViewDispatcher* view_dispatcher; Gui* gui; NotificationApp* notifications; SceneManager* scene_manager; PicopassDevice* dev; // Common Views Submenu* submenu; Popup* popup; Widget* widget; }; typedef enum { PicopassViewMenu, PicopassViewPopup, PicopassViewWidget, } PicopassView; Picopass* picopass_alloc(); void picopass_blink_start(Picopass* picopass); void picopass_blink_stop(Picopass* picopass);