navigo_structs.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #include <datetime.h>
  2. #include <stdbool.h>
  3. #include <furi.h>
  4. typedef struct {
  5. int transport_type;
  6. int transition;
  7. int service_provider;
  8. int station_group_id;
  9. int station_id;
  10. int location_gate;
  11. bool location_gate_available;
  12. int device;
  13. int door;
  14. int side;
  15. bool device_available;
  16. int route_number;
  17. bool route_number_available;
  18. int mission;
  19. bool mission_available;
  20. int vehicle_id;
  21. bool vehicle_id_available;
  22. int used_contract;
  23. bool used_contract_available;
  24. DateTime date;
  25. } NavigoCardEvent;
  26. typedef struct {
  27. int app_version;
  28. int country_num;
  29. int network_num;
  30. DateTime end_dt;
  31. } NavigoCardEnv;
  32. typedef struct {
  33. int card_status;
  34. int commercial_id;
  35. } NavigoCardHolder;
  36. typedef struct {
  37. int tariff;
  38. int serial_number;
  39. bool serial_number_available;
  40. int pay_method;
  41. bool pay_method_available;
  42. double price_amount;
  43. bool price_amount_available;
  44. DateTime start_date;
  45. DateTime end_date;
  46. bool end_date_available;
  47. int zones[5];
  48. bool zones_available;
  49. DateTime sale_date;
  50. int sale_agent;
  51. int sale_device;
  52. int status;
  53. int authenticator;
  54. } NavigoCardContract;
  55. typedef struct {
  56. NavigoCardEnv environment;
  57. NavigoCardHolder holder;
  58. NavigoCardContract contracts[2];
  59. NavigoCardEvent events[3];
  60. int ticket_count;
  61. } NavigoCardData;
  62. typedef struct {
  63. NavigoCardData* card;
  64. int page_id;
  65. // mutex
  66. FuriMutex* mutex;
  67. } NavigoContext;