PrevUpHomeNext

Class timepiece_test_player

fd::timepiece_test_player — A test player for a single timepiece.

Synopsis

// In header: <fd/timepiece_test_player.h>


class timepiece_test_player {
public:
  // types
  typedef void(const schedule_timepoint &, zeitgeber_timepoint_type) callback_signature;
  typedef std::function< callback_signature >                        callback_type;     

  // member classes/structs/unions

  struct parameters {

    // private static functions
    template<bool = true> static scheduling_purpose default_purpose() noexcept;

    // public data members
    scheduling_purpose purpose;
    schedule_timepoint now;
    int nSets;    // How many repetitions the player should cycle through [note: these are not cycles]. 
    bool suppress_contiguously_up_or_down;
  };

  struct State {

    // public member functions
    bool force_handler_call() const;
    bool test_limit_reached() const noexcept;

    // public data members
    const timepiece_test_player::parameters & params;
    schedule_timepiece & schedule;
    const timepiece_test_player::callback_type f;
    const scheduling_purpose purpose;
    const int nMaxReps;
    const int nInitialReps;
    const bool beganWithinInterval;
    schedule_timepoint now;
  };

  // public member functions
  timepiece_test_player(parameters, timepiece_settings, 
                        interval_schedule_definition);
  const schedule_timepiece & get_schedule() const;
  const parameters & get_parameters() const;
  void play(callback_type);

  // private member functions
  void play_task_execution(callback_type);
  void play_app_restart(callback_type);
  void play_app_uptime(callback_type);
  void play_app_downtime(callback_type);
};

Description

timepiece_test_player public member functions

  1. timepiece_test_player(parameters params, timepiece_settings settings, 
                          interval_schedule_definition def);
    Construct the test player.

    Requires:

    Given schedule must be active.

  2. const schedule_timepiece & get_schedule() const;
  3. const parameters & get_parameters() const;
  4. void play(callback_type f);

timepiece_test_player private member functions

  1. void play_task_execution(callback_type f);
  2. void play_app_restart(callback_type f);
  3. void play_app_uptime(callback_type f);
  4. void play_app_downtime(callback_type f);

PrevUpHomeNext