-
Notifications
You must be signed in to change notification settings - Fork 345
/
jobutils.cpp
76 lines (65 loc) · 2.28 KB
/
jobutils.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// C++ includes
#include <iostream>
// libmyth* includes
#include "exitcodes.h"
#include "jobqueue.h"
#include "mythlogging.h"
// Local includes
#include "jobutils.h"
static int QueueJob(const MythUtilCommandLineParser &cmdline)
{
ProgramInfo pginfo;
if (!GetProgramInfo(cmdline, pginfo))
return GENERIC_EXIT_NO_RECORDING_DATA;
bool rebuildSeektable = false;
int jobType = JOB_NONE;
if (cmdline.toString("queuejob") == "transcode")
jobType = JOB_TRANSCODE;
else if (cmdline.toString("queuejob") == "commflag")
jobType = JOB_COMMFLAG;
else if (cmdline.toString("queuejob") == "rebuild")
{
jobType = JOB_COMMFLAG;
rebuildSeektable = true;
}
else if (cmdline.toString("queuejob") == "metadata")
jobType = JOB_METADATA;
else if (cmdline.toString("queuejob") == "userjob1")
jobType = JOB_USERJOB1;
else if (cmdline.toString("queuejob") == "userjob2")
jobType = JOB_USERJOB2;
else if (cmdline.toString("queuejob") == "userjob3")
jobType = JOB_USERJOB3;
else if (cmdline.toString("queuejob") == "userjob4")
jobType = JOB_USERJOB4;
else if (cmdline.toInt("queuejob") > 0)
jobType = cmdline.toInt("queuejob");
if (jobType == JOB_NONE)
{
LOG(VB_GENERAL, LOG_ERR,
"Error, invalid job type given with queuejob option");
return GENERIC_EXIT_INVALID_CMDLINE;
}
bool result = JobQueue::QueueJob(jobType,
pginfo.GetChanID(), pginfo.GetRecordingStartTime(), "", "", "",
rebuildSeektable, JOB_QUEUED, QDateTime());
if (result)
{
QString tmp = QString("%1 Job Queued for chanid %2 @ %3")
.arg(cmdline.toString("queuejob"))
.arg(pginfo.GetChanID())
.arg(pginfo.GetRecordingStartTime().toString());
cerr << tmp.toLocal8Bit().constData() << endl;
return GENERIC_EXIT_OK;
}
QString tmp = QString("Error queueing job for chanid %1 @ %2")
.arg(pginfo.GetChanID())
.arg(pginfo.GetRecordingStartTime().toString());
cerr << tmp.toLocal8Bit().constData() << endl;
return GENERIC_EXIT_DB_ERROR;
}
void registerJobUtils(UtilMap &utilMap)
{
utilMap["queuejob"] = &QueueJob;
}
/* vim: set expandtab tabstop=4 shiftwidth=4: */