ADAPT / lib / include / executor.h
executor.h
Raw
#include "execution_command.h"
#include <stdbool.h>


#ifndef EXECUTOR_H
#define EXECUTOR_H

#define NUM_EXECUTION_CMDS_INIT 8

struct mape_k;

struct executor
{    
    struct exec_cmd **cmds;
    size_t num_cmds;
    size_t max_cmds;
    /* Only make the pointer known */
    struct mape_k *mape_k;
};


void executor_init(struct executor *exec, struct mape_k *mape_k);
void executor_destroy(struct executor *exec);

void executor_add_command(struct executor *exec, struct exec_cmd *cmd);
void executor_rem_command_idx(struct executor *exec, size_t idx);
void executor_rem_command(struct executor *exec, struct exec_cmd *cmd);
void executor_run(struct executor *exec); //best name ever :D
bool executor_all_cmds_done(struct executor *exec);

#endif