Skip to content
Snippets Groups Projects
InstantKill.cpp 1.09 KiB
Newer Older

#include <cstdlib>
#include "InstantKill.h"

#include <thread>
#include <chrono>

namespace armarx::skills::provider
{

    InstantKillSkill::InstantKillSkill() : SimpleSkill(GetSkillDescription())
    {
    }

    SkillDescription
    InstantKillSkill::GetSkillDescription()
    {
        return SkillDescription{.skillId = armarx::skills::SkillID{.skillName = "InstantKill"},
                                .description =
                                    "This skill calls Timeout and instantly aboirts it.",
                                .timeout = armarx::core::time::Duration::MilliSeconds(50000)};
    }

    Skill::MainResult
    InstantKillSkill::main(const MainInput& in)
    {

      this->throwIfSkillShouldTerminate();

      SkillProxy prx(
          manager,
          skills::SkillID{.providerId = *getSkillId().providerId, .skillName = "Chaining"});
      for (unsigned int i = 0; i < 25; ++i)
      {
        auto id = callSubskillAsync(prx);
        prx.abortSkillAsync(id);
      }
      return {TerminatedSkillStatus::Succeeded, nullptr};
    }
} // namespace armarx::skills::provider