MythTV  master
jobutils.cpp
Go to the documentation of this file.
1 // C++ includes
2 #include <iostream>
3 
4 // libmyth* includes
7 #include "libmythtv/jobqueue.h"
8 
9 // Local includes
10 #include "jobutils.h"
11 
13 {
14  ProgramInfo pginfo;
15  if (!GetProgramInfo(cmdline, pginfo))
17 
18  bool rebuildSeektable = false;
19  int jobType = JOB_NONE;
20 
21  if (cmdline.toString("queuejob") == "transcode")
22  jobType = JOB_TRANSCODE;
23  else if (cmdline.toString("queuejob") == "commflag")
24  jobType = JOB_COMMFLAG;
25  else if (cmdline.toString("queuejob") == "rebuild")
26  {
27  jobType = JOB_COMMFLAG;
28  rebuildSeektable = true;
29  }
30  else if (cmdline.toString("queuejob") == "metadata")
31  {
32  jobType = JOB_METADATA;
33  }
34  else if (cmdline.toString("queuejob") == "userjob1")
35  {
36  jobType = JOB_USERJOB1;
37  }
38  else if (cmdline.toString("queuejob") == "userjob2")
39  {
40  jobType = JOB_USERJOB2;
41  }
42  else if (cmdline.toString("queuejob") == "userjob3")
43  {
44  jobType = JOB_USERJOB3;
45  }
46  else if (cmdline.toString("queuejob") == "userjob4")
47  {
48  jobType = JOB_USERJOB4;
49  }
50  else if (cmdline.toInt("queuejob") > 0)
51  {
52  jobType = cmdline.toInt("queuejob");
53  }
54 
55  if (jobType == JOB_NONE)
56  {
57  LOG(VB_GENERAL, LOG_ERR,
58  "Error, invalid job type given with queuejob option");
60  }
61 
62  bool result = JobQueue::QueueJob(jobType,
63  pginfo.GetChanID(), pginfo.GetRecordingStartTime(), "", "", "",
64  static_cast<int>(rebuildSeektable), JOB_QUEUED, QDateTime());
65 
66  if (result)
67  {
68  QString tmp = QString("%1 Job Queued for chanid %2 @ %3")
69  .arg(cmdline.toString("queuejob"))
70  .arg(pginfo.GetChanID())
71  .arg(pginfo.GetRecordingStartTime().toString());
72  std::cerr << tmp.toLocal8Bit().constData() << std::endl;
73  return GENERIC_EXIT_OK;
74  }
75 
76  QString tmp = QString("Error queueing job for chanid %1 @ %2")
77  .arg(pginfo.GetChanID())
78  .arg(pginfo.GetRecordingStartTime().toString());
79  std::cerr << tmp.toLocal8Bit().constData() << std::endl;
80  return GENERIC_EXIT_DB_ERROR;
81 }
82 
83 void registerJobUtils(UtilMap &utilMap)
84 {
85  utilMap["queuejob"] = &QueueJob;
86 }
87 
88 /* vim: set expandtab tabstop=4 shiftwidth=4: */
QueueJob
static int QueueJob(const MythUtilCommandLineParser &cmdline)
Definition: jobutils.cpp:12
JobQueue::QueueJob
static bool QueueJob(int jobType, uint chanid, const QDateTime &recstartts, const QString &args="", const QString &comment="", QString host="", int flags=0, int status=JOB_QUEUED, QDateTime schedruntime=QDateTime())
Definition: jobqueue.cpp:507
cmdline
MythCommFlagCommandLineParser cmdline
Definition: mythcommflag.cpp:72
LOG
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
Definition: mythlogging.h:39
jobutils.h
MythUtilCommandLineParser
Definition: mythutil_commandlineparser.h:8
GetProgramInfo
bool GetProgramInfo(const MythUtilCommandLineParser &cmdline, ProgramInfo &pginfo)
Definition: mythutil.cpp:32
GENERIC_EXIT_NO_RECORDING_DATA
@ GENERIC_EXIT_NO_RECORDING_DATA
No program/recording data.
Definition: exitcodes.h:32
ProgramInfo::GetRecordingStartTime
QDateTime GetRecordingStartTime(void) const
Approximate time the recording started.
Definition: programinfo.h:405
tmp
static guint32 * tmp
Definition: goom_core.cpp:26
GENERIC_EXIT_INVALID_CMDLINE
@ GENERIC_EXIT_INVALID_CMDLINE
Command line parse error.
Definition: exitcodes.h:18
mythlogging.h
JOB_USERJOB3
@ JOB_USERJOB3
Definition: jobqueue.h:86
JOB_METADATA
@ JOB_METADATA
Definition: jobqueue.h:80
GENERIC_EXIT_OK
@ GENERIC_EXIT_OK
Exited with no error.
Definition: exitcodes.h:13
JOB_USERJOB1
@ JOB_USERJOB1
Definition: jobqueue.h:84
JOB_COMMFLAG
@ JOB_COMMFLAG
Definition: jobqueue.h:79
JOB_USERJOB4
@ JOB_USERJOB4
Definition: jobqueue.h:87
jobqueue.h
JOB_NONE
@ JOB_NONE
Definition: jobqueue.h:75
ProgramInfo::GetChanID
uint GetChanID(void) const
This is the unique key used in the database to locate tuning information.
Definition: programinfo.h:373
ProgramInfo
Holds information on recordings and videos.
Definition: programinfo.h:67
UtilMap
QMap< QString, UtilFunc > UtilMap
Definition: mythutil.h:15
MythCommandLineParser::toString
QString toString(const QString &key) const
Returns stored QVariant as a QString, falling to default if not provided.
Definition: mythcommandlineparser.cpp:2354
JOB_USERJOB2
@ JOB_USERJOB2
Definition: jobqueue.h:85
JOB_TRANSCODE
@ JOB_TRANSCODE
Definition: jobqueue.h:78
exitcodes.h
MythCommandLineParser::toInt
int toInt(const QString &key) const
Returns stored QVariant as an integer, falling to default if not provided.
Definition: mythcommandlineparser.cpp:2219
GENERIC_EXIT_DB_ERROR
@ GENERIC_EXIT_DB_ERROR
Database error.
Definition: exitcodes.h:20
registerJobUtils
void registerJobUtils(UtilMap &utilMap)
Definition: jobutils.cpp:83