33static char THIS_FILE[] = __FILE__;
53 m_pChars = (
unsigned char *)malloc(nLen + 1);
57 throw "Out of memory";
73 m_pChars = (
unsigned char *)malloc(nLen + 1);
77 throw "Out of memory";
89 nLen = str.
Size() - nOffset;
102 m_pChars = (
unsigned char *)malloc(nLen + 1);
106 throw "Out of memory";
132 throw "Out of memory";
151 if (ch ==
'=' || ch ==
'\'' || ch < ' ' || ch >= 127)
153 fprintf(fd,
"=%02X", ch);
169 nLength = std::min(nLength, str.
m_nLength);
207 auto *
p = (
unsigned char *)realloc(
m_pChars, newLen);
211 throw "Out of memory";
347 fprintf(fd,
"%s ",
m_fDirect ?
"true" :
"false");
351 fprintf(fd,
":IndirectRef ");
376 MHERROR(
"Expected indirect reference");
405 fprintf(fd,
":IndirectRef ");
430 bool fNegative =
false;
442 if (ch < '0' || ch >
'9')
447 v = (v * 10) + ch -
'0';
484 fprintf(fd,
":IndirectRef ");
541 fprintf(fd,
":IndirectRef ");
580 MHERROR(
"Expected direct or indirect content reference");
592 fprintf(fd,
":IndirectRef ");
617 switch (value.m_Type)
670 MHERROR(QString(
"Type mismatch - expected %1 found %2")
692 switch (
p->GetTagNo())
727 fprintf(fd,
":GInteger ");
731 fprintf(fd,
":GBoolean ");
735 fprintf(fd,
":GOctetString ");
739 fprintf(fd,
":GObjectRef ");
743 fprintf(fd,
":GObjectRef ");
@ C_NEW_GENERIC_OCTETSTRING
@ C_NEW_GENERIC_CONTENT_REF
@ C_NEW_GENERIC_OBJECT_REF
void PrintTabs(FILE *fd, int n)
void Initialise(MHParseNode *p, MHEngine *engine)
void PrintMe(FILE *fd, int nTabs) const
void SetFromString(const char *str, int nLen)
void Copy(const MHColour &col)
void Initialise(MHParseNode *p, MHEngine *engine)
MHOctetString m_contentRef
void Copy(const MHContentRef &cr)
void PrintMe(FILE *fd, int nTabs) const
bool Equal(const MHContentRef &cr, MHEngine *engine) const
QString Printable() const
MHRoot * FindObject(const MHObjectRef &oRef, bool failOnNotFound=true)
QString GetPathName(const MHOctetString &str)
MHOctetString & GetGroupId()
void Copy(const MHFontBody &fb)
void PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
MHObjectRef * GetReference()
void PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
bool GetValue(MHEngine *engine) const
void GetValue(MHContentRef &ref, MHEngine *engine) const
void Initialise(MHParseNode *p, MHEngine *engine)
void PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
int GetValue(MHEngine *engine) const
void PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
void PrintMe(FILE *fd, int nTabs) const
void GetValue(MHObjectRef &ref, MHEngine *engine) const
void PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
void GetValue(MHOctetString &str, MHEngine *engine) const
bool Equal(const MHObjectRef &objr, MHEngine *engine) const
QString Printable() const
void PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
void Copy(const MHObjectRef &objr)
void Copy(const MHOctetString &str)
unsigned char GetAt(int i) const
void Append(const MHOctetString &str)
void PrintMe(FILE *fd, int nTabs) const
QString Printable() const
int Compare(const MHOctetString &str) const
MHGenericContentRef m_contentRefVal
MHGenericOctetString m_strVal
MHGenericBoolean m_boolVal
MHGenericObjectRef m_objRefVal
MHGenericInteger m_intVal
MHObjectRef * GetReference()
enum MHParameter::ParamTypes P_Null
void Initialise(MHParseNode *p, MHEngine *engine)
void PrintMe(FILE *fd, int nTabs) const
MHParseNode * GetArgN(int n)
static void Failure(const char *p)
void GetStringValue(MHOctetString &str)
enum NodeType m_nNodeType
void PrintMe(FILE *fd, int nTabs) const
void Initialise(MHParseNode *p, MHEngine *engine)
virtual void GetVariableValue(MHUnion &, MHEngine *)
QString Printable() const
MHContentRef m_contentRefVal
void GetValueFrom(const MHParameter &value, MHEngine *engine)
void CheckType(enum UnionTypes t) const
enum MHUnion::UnionTypes U_None
static const char * GetAsString(enum UnionTypes t)
static eu8 clamp(eu8 value, eu8 low, eu8 high)