edjr 0.1.2

Elite Dangerous Journal Reader
//! Journal event
use {crate::events::*, serde::Deserialize};

/// Journal Event.
///
/// Each variant represents journal event and contains its body.
#[derive(Debug, Deserialize)]
#[serde(tag = "event", rename_all_fields = "PascalCase")]
pub enum JournalEvent {
    AfmuRepairs(AfmuRepairsEvent),
    ApproachBody(ApproachBodyEvent),
    ApproachSettlement(ApproachSettlementEvent),
    Backpack(BackpackEvent),
    BackpackChange(BackpackChangeEvent),
    BookTaxi(BookTaxiEvent),
    Bounty(BountyEvent),
    BuyAmmo(BuyAmmoEvent),
    BuyDrones(BuyDronesEvent),
    BuyWeapon(BuyWeaponEvent),
    Cargo(CargoEvent),
    CargoDepot(CargoDepotEvent),
    CargoTransfer(CargoTransferEvent),
    CarrierJump(CarrierJumpEvent),
    ChangeCrewRole(ChangeCrewRoleEvent),
    ClearImpound(ClearImpoundEvent),
    CockpitBreached,
    CodexEntry(CodexEntryEvent),
    CollectCargo(CollectCargoEvent),
    CollectItems(CollectItemsEvent),
    ColonisationConstructionDepot(ColonisationConstructionDepotEvent),
    Commander(CommanderEvent),
    CommitCrime(CommitCrimeEvent),
    CommunityGoal(CommunityGoalEvent),
    CommunityGoalDiscard(CommunityGoalDiscardEvent),
    CommunityGoalJoin(CommunityGoalJoinEvent),
    CommunityGoalReward(CommunityGoalRewardEvent),
    CrewAssign(CrewAssignEvent),
    CrewLaunchFighter(CrewLaunchFighterEvent),
    CrewMemberJoins(CrewMemberJoinsEvent),
    CrewMemberQuits(CrewMemberQuitsEvent),
    CrewMemberRoleChange(CrewMemberRoleChangeEvent),
    CrimeVictim(CrimeVictimEvent),
    DataScanned(DataScannedEvent),
    DatalinkScan(DatalinkScanEvent),
    DatalinkVoucher(DatalinkVoucherEvent),
    Died(DiedEvent),
    Disembark(DisembarkEvent),
    DockFighter(DockFighterEvent),
    #[serde(alias = "DockSRV")]
    DockSrv(DockSrvEvent),
    Docked(DockedEvent),
    DockingCancelled(DockingCancelledEvent),
    DockingDenied(DockingDeniedEvent),
    DockingGranted(DockingGrantedEvent),
    DockingRequested(DockingRequestedEvent),
    DockingTimeout(DockingTimeoutEvent),
    EjectCargo(EjectCargoEvent),
    Embark(EmbarkEvent),
    EndCrewSession(EndCrewSessionEvent),
    EngineerContribution(EngineerContributionEvent),
    EngineerCraft(EngineerCraftEvent),
    EngineerProgress(EngineerProgressEvent),
    EscapeInterdiction(EscapeInterdictionEvent),
    #[serde(alias = "FCMaterials")]
    FcMaterials(FcMaterialsEvent),
    #[serde(alias = "FSDJump")]
    FsdJump(FsdJumpEvent),
    #[serde(alias = "FSDTarget")]
    FsdTarget(FsdTargetEvent),
    #[serde(alias = "FSSAllBodiesFound")]
    FssAllBodiesFound(FssAllBodiesFoundEvent),
    #[serde(alias = "FSSBodySignals")]
    FssBodySignals(FssBodySignalsEvent),
    #[serde(alias = "FSSDiscoveryScan")]
    FssDiscoveryScan(FssDiscoveryScanEvent),
    #[serde(alias = "FSSSignalDiscovered")]
    FssSignalDiscovered(FssSignalDiscoveredEvent),
    FactionKillBond(FactionKillBondEvent),
    FetchRemoteModule(FetchRemoteModuleEvent),
    FighterDestroyed(FighterDestroyedEvent),
    FighterRebuilt(FighterRebuiltEvent),
    Fileheader(FileheaderEvent),
    Friends(FriendsEvent),
    FuelScoop(FuelScoopEvent),
    HeatDamage,
    HeatWarning,
    HullDamage(HullDamageEvent),
    Interdicted(InterdictedEvent),
    Interdiction(InterdictionEvent),
    InvitedToSquadron(InvitedToSquadronEvent),
    JetConeBoost(JetConeBoostEvent),
    JetConeDamage(JetConeDamageEvent),
    JoinACrew(JoinACrewEvent),
    JoinedSquadron(JoinedSquadronEvent),
    LaunchDrone(LaunchDroneEvent),
    LaunchFighter(LaunchFighterEvent),
    #[serde(rename = "LaunchSRV")]
    LaunchSrv(LaunchSrvEvent),
    LeaveBody(LeaveBodyEvent),
    LeftSquadron(LeftSquadronEvent),
    Liftoff(LiftoffEvent),
    LoadGame(LoadGameEvent),
    Loadout(LoadoutEvent),
    Location(LocationEvent),
    Market(MarketEvent),
    MarketBuy(MarketBuyEvent),
    MarketSell(MarketSellEvent),
    MassModuleStore(MassModuleStoreEvent),
    MaterialCollected(MaterialCollectedEvent),
    MaterialDiscovered(MaterialDiscoveredEvent),
    MaterialTrade(MaterialTradeEvent),
    Materials(MaterialsEvent),
    MissionAbandoned(MissionAbandonedEvent),
    MissionAccepted(MissionAcceptedEvent),
    MissionCompleted(MissionCompletedEvent),
    MissionFailed(MissionFailedEvent),
    MissionRedirected(MissionRedirectedEvent),
    Missions(MissionsEvent),
    ModuleBuy(ModuleBuyEvent),
    ModuleBuyAndStore(ModuleBuyAndStoreEvent),
    ModuleInfo,
    ModuleRetrieve(ModuleRetrieveEvent),
    ModuleSell(ModuleSellEvent),
    ModuleSellRemote(ModuleSellRemoteEvent),
    ModuleStore(ModuleStoreEvent),
    ModuleSwap(ModuleSwapEvent),
    MultiSellExplorationData(MultiSellExplorationDataEvent),
    Music(MusicEvent),
    NavBeaconScan(NavBeaconScanEvent),
    NavRoute,
    NavRouteClear,
    NewCommander(NewCommanderEvent),
    NpcCrewPaidWage(NpcCrewPaidWageEvent),
    Outfitting(OutfittingEvent),
    #[serde(alias = "PVPKill")]
    PvpKill(PvpKillEvent),
    Passengers(PassengersEvent),
    PayBounties(PayBountiesEvent),
    PayFines(PayFinesEvent),
    Powerplay(PowerplayEvent),
    PowerplayCollect(PowerplayCollectEvent),
    PowerplayMerits(PowerplayMeritsEvent),
    PowerplayRank(PowerplayRankEvent),
    Progress(ProgressEvent),
    Promotion(PromotionEvent),
    QuitACrew(QuitACrewEvent),
    Rank(RankEvent),
    RebootRepair(RebootRepairEvent),
    ReceiveText(ReceiveTextEvent),
    RedeemVoucher(RedeemVoucherEvent),
    RefuelAll(RefuelAllEvent),
    RefuelPartial(RefuelPartialEvent),
    RequestPowerMicroResources(RequestPowerMicroResourcesEvent),
    Repair(RepairEvent),
    RepairAll(RepairAllEvent),
    RepairDrone(RepairDroneEvent),
    Reputation(ReputationEvent),
    RestockVehicle(RestockVehicleEvent),
    Resupply,
    Resurrect(ResurrectEvent),
    ReservoirReplenished(ReservoirReplenishedEvent),
    #[serde(alias = "SAAScanComplete")]
    SaaScanCompete(SaaScanCompleteEvent),
    #[serde(alias = "SAASignalsFound")]
    SaaSignalsFound(SaaSignalsFoundEvent),
    #[serde(alias = "SRVDestroyed")]
    SrvDestroyed(SrvDestroyedEvent),
    Scan(ScanEvent),
    ScanBaryCentre(ScanBaryCentreEvent),
    ScanOrganic(ScanOrganicEvent),
    Scanned(ScannedEvent),
    Screenshot(ScreenshotEvent),
    SearchAndRescue(SearchAndRescueEvent),
    SelfDestruct,
    SellDrones(SellDronesEvent),
    SellOrganicData(SellfOrganicDataEvent),
    SellWeapon(SellWeaponEvent),
    SendText(SendTextEvent),
    SetUserShipName(SetUserShipNameEvent),
    ShieldState(ShieldStateEvent),
    ShipLocker(ShipLockerEvent),
    ShipTargeted(ShipTargetedEvent),
    Shipyard(ShipyardEvent),
    ShipyardBuy(ShipyardBuyEvent),
    ShipyardNew(ShipyardNewEvent),
    ShipyardSell(ShipyardSellEvent),
    ShipyardSwap(ShipyardSwapEvent),
    ShipyardTransfer(ShipyardTransferEvent),
    Shutdown,
    SquadronCreated(SquadronCreatedEvent),
    SquadronStartup(SquadronStartupEvent),
    StartJump(StartJumpEvent),
    Statistics(StatisticsEvent),
    StoredModules(StoredModulesEvent),
    StoredShips(StoredShipsEvent),
    SuitLoadout(SuitLoadoutEvent),
    SupercruiseDestinationDrop(SupercruiseDestinationDropEvent),
    SupercruiseEntry(SupercruiseEntryEvent),
    SupercruiseExit(SupercruiseExitEvent),
    SwitchSuitLoadout(SwitchSuitLoadoutEvent),
    Synthesis(SynthesisEvent),
    SystemsShutdown,
    TechnologyBroker(TechnologyBrokerEvent),
    Touchdown(TouchdownEvent),
    #[serde(alias = "USSDrop")]
    UssDrop(UssDropEvent),
    UnderAttack(UnderAttackEvent),
    Undocked(UndockedEvent),
    UseConsumable(UseConsumableEvent),
    VehicleSwitch(VehicleSwitchEvent),
    WingAdd(WingAddEvent),
    WingInvite(WingInviteEvent),
    WingJoin(WingJoinEvent),
    WingLeave,
    #[serde(other)]
    Unknown,
}