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  jobType = JOB_METADATA;
32  else if (cmdline.toString("queuejob") == "userjob1")
33  jobType = JOB_USERJOB1;
34  else if (cmdline.toString("queuejob") == "userjob2")
35  jobType = JOB_USERJOB2;
36  else if (cmdline.toString("queuejob") == "userjob3")
37  jobType = JOB_USERJOB3;
38  else if (cmdline.toString("queuejob") == "userjob4")
39  jobType = JOB_USERJOB4;
40  else if (cmdline.toInt("queuejob") > 0)
41  jobType = cmdline.toInt("queuejob");
42 
43  if (jobType == JOB_NONE)
44  {
45  LOG(VB_GENERAL, LOG_ERR,
46  "Error, invalid job type given with queuejob option");
48  }
49 
50  bool result = JobQueue::QueueJob(jobType,
51  pginfo.GetChanID(), pginfo.GetRecordingStartTime(), "", "", "",
52  static_cast<int>(rebuildSeektable), JOB_QUEUED, QDateTime());
53 
54  if (result)
55  {
56  QString tmp = QString("%1 Job Queued for chanid %2 @ %3")
57  .arg(cmdline.toString("queuejob"))
58  .arg(pginfo.GetChanID())
59  .arg(pginfo.GetRecordingStartTime().toString());
60  std::cerr << tmp.toLocal8Bit().constData() << std::endl;
61  return GENERIC_EXIT_OK;
62  }
63 
64  QString tmp = QString("Error queueing job for chanid %1 @ %2")
65  .arg(pginfo.GetChanID())
66  .arg(pginfo.GetRecordingStartTime().toString());
67  std::cerr << tmp.toLocal8Bit().constData() << std::endl;
68  return GENERIC_EXIT_DB_ERROR;
69 }
70 
71 void registerJobUtils(UtilMap &utilMap)
72 {
73  utilMap["queuejob"] = &QueueJob;
74 }
75 
76 /* vim: set expandtab tabstop=4 shiftwidth=4: */
JOB_USERJOB3
@ JOB_USERJOB3
Definition: jobqueue.h:86
JOB_USERJOB4
@ JOB_USERJOB4
Definition: jobqueue.h:87
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:505
cmdline
MythCommFlagCommandLineParser cmdline
Definition: mythcommflag.cpp:72
JOB_COMMFLAG
@ JOB_COMMFLAG
Definition: jobqueue.h:79
JOB_NONE
@ JOB_NONE
Definition: jobqueue.h:75
LOG
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
Definition: mythlogging.h:39
jobutils.h
GENERIC_EXIT_OK
@ GENERIC_EXIT_OK
Exited with no error.
Definition: exitcodes.h:11
MythUtilCommandLineParser
Definition: mythutil_commandlineparser.h:8
GetProgramInfo
bool GetProgramInfo(const MythUtilCommandLineParser &cmdline, ProgramInfo &pginfo)
Definition: mythutil.cpp:32
ProgramInfo::GetRecordingStartTime
QDateTime GetRecordingStartTime(void) const
Approximate time the recording started.
Definition: programinfo.h:404
tmp
static guint32 * tmp
Definition: goom_core.cpp:26
JOB_USERJOB2
@ JOB_USERJOB2
Definition: jobqueue.h:85
mythlogging.h
JOB_USERJOB1
@ JOB_USERJOB1
Definition: jobqueue.h:84
GENERIC_EXIT_NO_RECORDING_DATA
@ GENERIC_EXIT_NO_RECORDING_DATA
No program/recording data.
Definition: exitcodes.h:30
jobqueue.h
ProgramInfo::GetChanID
uint GetChanID(void) const
This is the unique key used in the database to locate tuning information.
Definition: programinfo.h:372
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:2344
JOB_METADATA
@ JOB_METADATA
Definition: jobqueue.h:80
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:2209
GENERIC_EXIT_INVALID_CMDLINE
@ GENERIC_EXIT_INVALID_CMDLINE
Command line parse error.
Definition: exitcodes.h:16
JOB_TRANSCODE
@ JOB_TRANSCODE
Definition: jobqueue.h:78
registerJobUtils
void registerJobUtils(UtilMap &utilMap)
Definition: jobutils.cpp:71
GENERIC_EXIT_DB_ERROR
@ GENERIC_EXIT_DB_ERROR
Database error.
Definition: exitcodes.h:18