Go to the documentation of this file.
37 #include <QStringList>
40 #if HAVE_GETTIMEOFDAY == 0
41 #include <sys/timeb.h>
85 fprintf(fd,
":Name ");
92 fprintf(fd,
":InitiallyAvailable false");
125 fprintf(fd,
"{:ResidentPrg ");
179 if (
args.Size() == 2)
182 auto epochSeconds = nowAsDuration<std::chrono::seconds>(
true);
184 int nTimeAsSecs = (epochSeconds % 24h).count();
187 int nModJulianDate = 40587 + epochSeconds / 24h;
201 if (
args.Size() == 4)
209 time_t timet = (date - 40587) * (24 * 60 * 60) + time;
210 QDateTime dt = QDateTime::fromMSecsSinceEpoch(timet);
213 for (
int i = 0; i < format.
Size(); i++)
215 unsigned char ch = format.
GetAt(i);
222 if (i == format.
Size())
227 ch = format.
GetAt(i);
231 case 'Y': buffer = dt.toString(
"yyyy");
break;
232 case 'y': buffer = dt.toString(
"yy");
break;
233 case 'X': buffer = dt.toString(
"MM");
break;
234 case 'x': buffer = dt.toString(
"M");
break;
235 case 'D': buffer = dt.toString(
"dd");
break;
236 case 'd': buffer = dt.toString(
"d");
break;
237 case 'H': buffer = dt.toString(
"HH");
break;
238 case 'h': buffer = dt.toString(
"H");
break;
241 buffer = dt.toString(
"HH AP");
245 buffer = dt.toString(
"H AP");
248 case 'M': buffer = dt.toString(
"mm");
break;
249 case 'm': buffer = dt.toString(
"m");
break;
250 case 'S': buffer = dt.toString(
"ss");
break;
251 case 's': buffer = dt.toString(
"s");
break;
252 case 'A': buffer = dt.toString(
"AP");
break;
253 case 'a': buffer = dt.toString(
"ap");
break;
258 result.
Append(qPrintable(buffer));
278 if (
args.Size() == 2)
282 time_t timet = (date - 40587) * (24 * 60 * 60);
283 struct tm *timeStr = gmtime(&timet);
296 if (
args.Size() == 2)
300 int r =
static_cast<int>(
MythRandom() % (nLimit + 1));
314 if (
args.Size() == 2)
332 if (
args.Size() == 3)
348 if (
args.Size() == 2)
365 if (
args.Size() == 4)
369 int nBeginExtract =
GetInt(
args.GetAt(1), engine);
370 int nEndExtract =
GetInt(
args.GetAt(2), engine);
372 if (nBeginExtract < 1)
377 if (nBeginExtract >
string.Size())
379 nBeginExtract =
string.Size();
387 if (nEndExtract >
string.Size())
389 nEndExtract =
string.Size();
395 MHOctetString(
string, nBeginExtract - 1, nEndExtract - nBeginExtract + 1));
406 if (
args.Size() == 4)
423 for (nPos = nStart - 1; nPos <=
string.Size() - searchString.
Size(); nPos++)
427 for (i = 0; i < searchString.
Size(); i++)
429 if (searchString.
GetAt(i) !=
string.GetAt(i + nPos))
435 if (i == searchString.
Size())
445 if (nPos <=
string.Size() - searchString.
Size())
463 if (
args.Size() == 5)
481 for (nPos = nStart - 1; nPos <=
string.Size() - searchString.
Size(); nPos++)
485 for (i = 0; i < searchString.
Size(); i++)
487 if (searchString.
GetAt(i) !=
string.GetAt(i + nPos))
493 if (i == searchString.
Size())
504 if (nPos <=
string.Size() - searchString.
Size())
509 MHOctetString resultString(
string, nStart - 1, nPos - nStart + 1);
527 if (
args.Size() == 2)
535 QString str = QString::fromUtf8((
const char *)
string.Bytes(),
string.Size());
549 if (
args.Size() == 1)
564 if (
args.Size() == 1)
580 if (
args.Size() == 5)
582 int channelId =
GetInt(
args.GetAt(0), engine);
589 transportId, serviceId);
609 MHERROR(
"GetBootInfo ResidentProgram is not implemented");
617 if (
args.Size() == 3)
629 if (! csPath.isEmpty())
651 MHERROR(
"CheckGroupIDRef ResidentProgram is not implemented");
656 MHERROR(
"VideoToGraphics ResidentProgram is not implemented");
662 MHERROR(
"SetWidescreenAlignment ResidentProgram is not implemented");
667 MHERROR(
"GetDisplayAspectRatio ResidentProgram is not implemented");
672 MHERROR(
"CI_SendMessage ResidentProgram is not implemented");
677 if (
args.Size() == 1) {
680 .
arg(status ?
"enabled" :
"disabled"));
691 if (
args.Size() == 1)
698 result.
Copy(
"SNYPVR");
719 QString message =
"DEBUG: ";
721 for (
int i = 0; i <
args.Size(); i++)
732 message.append(un.
m_fBoolVal ?
"True" :
"False");
756 if (
args.Size() == 1) {
759 .
arg(status ?
"enabled" :
"disabled"));
768 if (
args.Size() == 1)
772 ICstatus == 0 ?
"active" : ICstatus == 1 ?
"inactive" :
773 ICstatus == 2 ?
"disabled" :
"undefined"));
780 if (
args.Size() >= 3)
784 QUrl url = QString::fromUtf8((
const char *)
string.Bytes(),
string.Size());
789 for (; i + 2 <
args.Size(); i += 2)
792 QString name = QString::fromUtf8((
const char *)
string.Bytes(),
string.Size());
800 .
arg(url.toEncoded().constData()) );
812 result.
Append(text.constData());
820 if (
args.Size() == 2)
824 QString str = QString::fromUtf8((
const char *)
string.Bytes(),
string.Size());
826 QString str2 = QString::fromUtf8((
const char *)
string.Bytes(),
string.Size());
835 if (
args.Size() == 1)
843 if (
args.Size() == 4)
847 QString
id = QString::fromUtf8((
const char *)
string.Bytes(),
string.Size());
850 QString val = QString::fromUtf8((
const char *)
string.Bytes(),
string.Size());
859 MHERROR(
"GetCookie ResidentProgram is not implemented");
865 if (
args.Size() == 2)
869 QString url = QString::fromUtf8((
const char *)
string.Bytes(),
string.Size());
880 if (
args.Size() == 2)
884 QString info = QString::fromUtf8((
const char *)
string.Bytes(),
string.Size());
895 if (
args.Size() == 1)
903 if (
args.Size() == 1)
919 if (
args.Size() == 1)
932 for (
int i = 0; i <
args.Size(); ++i)
963 fprintf(fd,
"{:RemotePrg");
965 fprintf(fd,
"****TODO\n");
979 fprintf(fd,
"{:InterchgPrg");
981 fprintf(fd,
"****TODO\n");
994 for (
int i = 0; i <
args->GetSeqCount(); i++)
998 pParm->Initialise(
args->GetSeqN(i), engine);
virtual bool GetCarouselData(const QString &objectPath, QByteArray &result)=0
virtual void Activation(MHEngine *engine)
static void GetString(MHParameter *parm, MHOctetString &str, MHEngine *engine)
static const char * GetAsString(enum UnionTypes t)
void Initialise(MHParseNode *p, MHEngine *engine)
void PrintMe(FILE *fd, int nTabs) const override
virtual void Deactivation(MHEngine *engine)
void Preparation(MHEngine *engine) override
MHOwnPtrSequence< MHParameter > m_parameters
void Initialise(MHParseNode *p, MHEngine *engine) override
MHObjectRef * GetReference()
void CheckType(enum UnionTypes t) const
void PrintMe(FILE *fd, int nTabs) const
static const char * MHEGEngineProviderIdString
void Initialise(MHParseNode *p, MHEngine *engine) override
unsigned char GetAt(int i) const
const unsigned char * Bytes() const
arg(title).arg(filename).arg(doDelete))
void CallProgram(bool fIsFork, const MHObjectRef &success, const MHSequence< MHParameter * > &args, MHEngine *engine) override
void Perform(MHEngine *engine) override
virtual void SetVariableValue(const MHUnion &)
virtual void Initialise(MHParseNode *p, MHEngine *engine)
void SetTuneInfo(int tuneinfo)
void PrintMe(FILE *fd, int nTabs) const
virtual bool TuneTo(int channel, int tuneinfo)=0
QString GetPathName(const MHOctetString &str)
void PrintArgs(FILE *fd, int nTabs) const override
bool m_fInitiallyAvailable
void EventTriggered(MHRoot *pSource, enum EventType ev)
virtual int GetICStatus()=0
static void SetSuccessFlag(const MHObjectRef &success, bool result, MHEngine *engine)
void PrintTabs(FILE *fd, int n)
MHParseNode * GetArgN(int n)
void PrintMe(FILE *fd, int nTabs) const override
void PrintMe(FILE *fd, int nTabs) const override
MHRoot * FindObject(const MHObjectRef &oRef, bool failOnNotFound=true)
void Initialise(MHParseNode *p, MHEngine *engine) override
#define MHLOG(__level, __text)
QString Printable() const
enum MHUnion::UnionTypes U_None
void PrintMe(FILE *fd, int nTabs) const override
void GetValueFrom(const MHParameter &value, MHEngine *engine)
MHRoot * Target(MHEngine *engine)
MHContentRef m_contentRefVal
QString Printable() const
MBASE_PUBLIC uint32_t MythRandom()
virtual const char * GetDSMCCId(void)=0
void Initialise(MHParseNode *p, MHEngine *engine) override
MHOctetString m_contentRef
virtual void CallProgram(bool, const MHObjectRef &, const MHSequence< MHParameter * > &, MHEngine *)
void Deactivation(MHEngine *engine) override
virtual bool GetServiceInfo(int channelId, int &netId, int &origNetId, int &transportId, int &serviceId)=0
QString Printable() const
static bool GetBool(MHParameter *parm, MHEngine *engine)
void Initialise(MHParseNode *p, MHEngine *engine) override
static int GetInt(MHParameter *parm, MHEngine *engine)
virtual int GetChannelIndex(const QString &str)=0
void PrintMe(FILE *fd, int nTabs) const override
void GetStringValue(MHOctetString &str)
bool Equal(const MHOctetString &str) const
void Activation(MHEngine *engine) override
#define C_INITIALLY_AVAILABLE
virtual const char * GetReceiverId(void)=0
void Copy(const MHContentRef &cr)
void Append(const MHOctetString &str)
void PrintMe(FILE *fd, int nTabs) const
void Copy(const MHOctetString &str)
QString Printable() const