mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-22 01:11:42 +00:00
[commands] Fix compose-while-scheduled issue and test all compositions (#5581)
This commit is contained in:
@@ -374,7 +374,7 @@ class CommandScheduler final : public wpi::Sendable,
|
||||
void OnCommandFinish(Action action);
|
||||
|
||||
/**
|
||||
* Requires that the specified command hasn't been already added to a
|
||||
* Requires that the specified command hasn't already been added to a
|
||||
* composition.
|
||||
*
|
||||
* @param command The command to check
|
||||
@@ -383,7 +383,7 @@ class CommandScheduler final : public wpi::Sendable,
|
||||
void RequireUngrouped(const Command* command);
|
||||
|
||||
/**
|
||||
* Requires that the specified commands not have been already added to a
|
||||
* Requires that the specified commands have not already been added to a
|
||||
* composition.
|
||||
*
|
||||
* @param commands The commands to check
|
||||
@@ -392,7 +392,7 @@ class CommandScheduler final : public wpi::Sendable,
|
||||
void RequireUngrouped(std::span<const std::unique_ptr<Command>> commands);
|
||||
|
||||
/**
|
||||
* Requires that the specified commands not have been already added to a
|
||||
* Requires that the specified commands have not already been added to a
|
||||
* composition.
|
||||
*
|
||||
* @param commands The commands to check
|
||||
@@ -401,6 +401,38 @@ class CommandScheduler final : public wpi::Sendable,
|
||||
*/
|
||||
void RequireUngrouped(std::initializer_list<const Command*> commands);
|
||||
|
||||
/**
|
||||
* Requires that the specified command has not already been added to a
|
||||
* composition and is not currently scheduled.
|
||||
*
|
||||
* @param command The command to check
|
||||
* @throws IllegalArgumentException if the given command has already been
|
||||
* composed or scheduled.
|
||||
*/
|
||||
void RequireUngroupedAndUnscheduled(const Command* command);
|
||||
|
||||
/**
|
||||
* Requires that the specified commands have not already been added to a
|
||||
* composition and are not currently scheduled.
|
||||
*
|
||||
* @param commands The commands to check
|
||||
* @throws IllegalArgumentException if the given commands have already been
|
||||
* composed.
|
||||
*/
|
||||
void RequireUngroupedAndUnscheduled(
|
||||
std::span<const std::unique_ptr<Command>> commands);
|
||||
|
||||
/**
|
||||
* Requires that the specified commands have not already been added to a
|
||||
* composition and are not currently scheduled.
|
||||
*
|
||||
* @param commands The commands to check
|
||||
* @throws IllegalArgumentException if the given commands have already been
|
||||
* composed or scheduled.
|
||||
*/
|
||||
void RequireUngroupedAndUnscheduled(
|
||||
std::initializer_list<const Command*> commands);
|
||||
|
||||
void InitSendable(wpi::SendableBuilder& builder) override;
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user