navigo_structs.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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 count;
  38. int relative_first_stamp_15mn;
  39. int struct_number;
  40. } NavigoCardContractCounter;
  41. typedef struct {
  42. int tariff;
  43. int serial_number;
  44. bool serial_number_available;
  45. int pay_method;
  46. bool pay_method_available;
  47. double price_amount;
  48. bool price_amount_available;
  49. DateTime start_date;
  50. DateTime end_date;
  51. bool end_date_available;
  52. int zones[5];
  53. bool zones_available;
  54. DateTime sale_date;
  55. int sale_agent;
  56. int sale_device;
  57. int status;
  58. int authenticator;
  59. NavigoCardContractCounter counter;
  60. bool present;
  61. } NavigoCardContract;
  62. typedef struct {
  63. NavigoCardEnv environment;
  64. NavigoCardHolder holder;
  65. NavigoCardContract contracts[4];
  66. NavigoCardEvent events[3];
  67. unsigned int card_number;
  68. } NavigoCardData;
  69. typedef struct {
  70. NavigoCardData* card;
  71. int page_id;
  72. // mutex
  73. FuriMutex* mutex;
  74. } NavigoContext;