📄 task.h
字号:
class Handler;class Timer;class Task { public: char* name; double wcExecTime; double deadline; double assignedPriority; double priority; // dynamic priority (priority inheritance) int taskID; // Used for schedule bool isPreemptable; bool display; Handler* deadlineORhandler; Handler* exectimeORhandler; Job *currentJob; // job currently served List *jobQ; // list of queued jobs List *blockList; // To store options mexArrays for block system calls void *data; char* dataMATLAB; Timer* perTimer; // pointer to timer generating periodic jobs (if periodic) double (*codeFcn)(int, void*); // Code function written in C++ char* codeFcnMATLAB; // Name of m-file code function void (*released_hook)(Task*); void (*started_hook)(Task*); void (*suspended_hook)(Task*); void (*resumed_hook)(Task*); void (*finished_hook)(Task*); ~Task();};Task::~Task() { delete[] name; if (currentJob) delete currentJob; JobNode* jn = (JobNode*) jobQ->getFirst(); while (jn != NULL) { delete jn->getJob(); jn = (JobNode*) jn->getNext(); } delete jobQ; BlockdataNode* bn = (BlockdataNode*) blockList->getFirst(); while (bn != NULL) { delete bn->getBlockdata(); bn = (BlockdataNode*) bn->getNext(); } delete blockList;#ifdef KERNEL_MATLAB if (codeFcnMATLAB) delete[] codeFcnMATLAB; if (dataMATLAB) delete[] dataMATLAB;#endif}class TaskNode : public Node { Task* task; public: TaskNode(Task* t); Task *getTask(); void print();};TaskNode::TaskNode(Task* t) { task = t;}Task *TaskNode::getTask() { return task;}void TaskNode::print() { printf("%s", task->name);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -