#ifndef BSP_Q7S_INITMISSION_H_
#define BSP_Q7S_INITMISSION_H_

#include <vector>

#include "fsfw/tasks/definitions.h"

class PeriodicTaskIF;
class TaskFactory;

namespace initmission {
void initMission();
void initTasks();

void createPstTasks(TaskFactory& factory, TaskDeadlineMissedFunction missedDeadlineFunc,
                    std::vector<PeriodicTaskIF*>& taskVec);
void createPusTasks(TaskFactory& factory, TaskDeadlineMissedFunction missedDeadlineFunc,
                    std::vector<PeriodicTaskIF*>& taskVec);
void createTestTasks(TaskFactory& factory, TaskDeadlineMissedFunction missedDeadlineFunc,
                     std::vector<PeriodicTaskIF*>& taskVec);
};  // namespace initmission

#endif /* BSP_Q7S_INITMISSION_H_ */