run once and run periodic example work

Dependencies:   JobScheduler

source/main.cpp

Committer:
sgnezdov
Date:
2017-07-11
Revision:
5:79cbf6d8b5f0
Parent:
3:dd0e559a9ff7
Child:
6:b0bca03d9f3a

File content as of revision 5:79cbf6d8b5f0:

#include "mbed.h"
#include "scheduler.h"
#include "LinkedList.h"
#include "jobService.h"
#include "schedules.h"

void job1()
{
    printf("Job 1\n");
}

void runScheduler() 
{
    JobScheduler::JobService js;
    JobScheduler::Scheduler scheduler(&js);
    
    js.Register(1, job1);
    
    scheduler.Start();

    time_t nowSecs = time(NULL);
    JobScheduler::Response<JobScheduler::JobID> res = scheduler.JobAdd(1, new JobScheduler::RunOnceSchedule(nowSecs + 5), NULL);
    printf("job add response error: %d, jobID: %d\n", res.error, res.data);
    wait(10);
    scheduler.Stop();
    scheduler.WaitToStop();
}

int main()
{
    printf("\nJob Scheduler Demo\n");
    runScheduler();
    printf("done\n");
 
    exit(0);
}