|
3 | 3 | * https://github.com/shuvalov-mdb/xstate-cpp-generator , @author Andrew Shuvalov
|
4 | 4 | *
|
5 | 5 | * Please do not edit. If changes are needed, regenerate using the TypeScript template 'engineer.ts'.
|
6 |
| - * Generated at Fri Oct 30 2020 01:59:52 GMT+0000 (Coordinated Universal Time) from Xstate definition 'engineer.ts'. |
| 6 | + * Generated at Fri Oct 30 2020 16:38:31 GMT+0000 (Coordinated Universal Time) from Xstate definition 'engineer.ts'. |
7 | 7 | * The simplest command line to run the generation:
|
8 | 8 | * ts-node 'engineer.ts'
|
9 | 9 | */
|
@@ -315,19 +315,19 @@ class EngineerSM {
|
315 | 315 | * It is safe to call postEvent*() to trigger the next transition from this method.
|
316 | 316 | * @param payload ownership is transferred to the user.
|
317 | 317 | */
|
318 |
| - virtual void onEnteredStateWorkingOnTIMER(TimerPayload&& payload) { |
| 318 | + virtual void onEnteredStateWorkingOnTIMER(std::shared_ptr<TimerPayload> payload) { |
319 | 319 | std::lock_guard<std::mutex> lck(_lock);
|
320 | 320 | logTransition(EngineerSMTransitionPhase::ENTERED_STATE, _currentState.currentState, State::working);
|
321 | 321 | }
|
322 |
| - virtual void onEnteredStateEatingOnHUNGRY(HungryPayload&& payload) { |
| 322 | + virtual void onEnteredStateEatingOnHUNGRY(std::shared_ptr<HungryPayload> payload) { |
323 | 323 | std::lock_guard<std::mutex> lck(_lock);
|
324 | 324 | logTransition(EngineerSMTransitionPhase::ENTERED_STATE, _currentState.currentState, State::eating);
|
325 | 325 | }
|
326 |
| - virtual void onEnteredStateSleepingOnTIRED(TiredPayload&& payload) { |
| 326 | + virtual void onEnteredStateSleepingOnTIRED(std::shared_ptr<TiredPayload> payload) { |
327 | 327 | std::lock_guard<std::mutex> lck(_lock);
|
328 | 328 | logTransition(EngineerSMTransitionPhase::ENTERED_STATE, _currentState.currentState, State::sleeping);
|
329 | 329 | }
|
330 |
| - virtual void onEnteredStateWeekendOnENOUGH(EnoughPayload&& payload) { |
| 330 | + virtual void onEnteredStateWeekendOnENOUGH(std::shared_ptr<EnoughPayload> payload) { |
331 | 331 | std::lock_guard<std::mutex> lck(_lock);
|
332 | 332 | logTransition(EngineerSMTransitionPhase::ENTERED_STATE, _currentState.currentState, State::weekend);
|
333 | 333 | }
|
@@ -617,23 +617,23 @@ void EngineerSM<SMSpec>::_transitionActionsHelper(State fromState, Event event,
|
617 | 617 | template<typename SMSpec>
|
618 | 618 | void EngineerSM<SMSpec>::_enteredStateHelper(Event event, State newState, void* payload) {
|
619 | 619 | if (event == Event::TIMER && newState == State::working) {
|
620 |
| - TimerPayload* typedPayload = static_cast<TimerPayload*>(payload); |
621 |
| - onEnteredStateWorkingOnTIMER(std::move(*typedPayload)); |
| 620 | + std::shared_ptr<TimerPayload>* typedPayload = static_cast<std::shared_ptr<TimerPayload>*>(payload); |
| 621 | + onEnteredStateWorkingOnTIMER(*typedPayload); |
622 | 622 | return;
|
623 | 623 | }
|
624 | 624 | if (event == Event::HUNGRY && newState == State::eating) {
|
625 |
| - HungryPayload* typedPayload = static_cast<HungryPayload*>(payload); |
626 |
| - onEnteredStateEatingOnHUNGRY(std::move(*typedPayload)); |
| 625 | + std::shared_ptr<HungryPayload>* typedPayload = static_cast<std::shared_ptr<HungryPayload>*>(payload); |
| 626 | + onEnteredStateEatingOnHUNGRY(*typedPayload); |
627 | 627 | return;
|
628 | 628 | }
|
629 | 629 | if (event == Event::TIRED && newState == State::sleeping) {
|
630 |
| - TiredPayload* typedPayload = static_cast<TiredPayload*>(payload); |
631 |
| - onEnteredStateSleepingOnTIRED(std::move(*typedPayload)); |
| 630 | + std::shared_ptr<TiredPayload>* typedPayload = static_cast<std::shared_ptr<TiredPayload>*>(payload); |
| 631 | + onEnteredStateSleepingOnTIRED(*typedPayload); |
632 | 632 | return;
|
633 | 633 | }
|
634 | 634 | if (event == Event::ENOUGH && newState == State::weekend) {
|
635 |
| - EnoughPayload* typedPayload = static_cast<EnoughPayload*>(payload); |
636 |
| - onEnteredStateWeekendOnENOUGH(std::move(*typedPayload)); |
| 635 | + std::shared_ptr<EnoughPayload>* typedPayload = static_cast<std::shared_ptr<EnoughPayload>*>(payload); |
| 636 | + onEnteredStateWeekendOnENOUGH(*typedPayload); |
637 | 637 | return;
|
638 | 638 | }
|
639 | 639 | }
|
|
0 commit comments