31#include <qstringlist.h>
33#include <qtextcodec.h>
35#include <qvaluevector.h>
41LIB_TEMPLATE_EXTERN
template struct LIB_EXPORT QPair<QString,int>;
42LIB_TEMPLATE_EXTERN
template class LIB_EXPORT QMap<QPair<QString,int>,
memFunc*>;
43LIB_TEMPLATE_EXTERN
template class LIB_EXPORT QMap<QPair<QString,int>,
memProc*>;
47 QTextCodec * m_pTextCodec;
51 typedef QPair<QString,int> FuncDesc;
54 typedef QMap<FuncDesc,memFunc*> FuncDescToMemFunc;
55 typedef QMap<FuncDesc,memProc*> FuncDescToMemProc;
57 FuncDescToMemFunc m_mapMemFunc;
58 FuncDescToMemProc m_mapMemProc;
64 int execute(
const char * cmd);
65 int execute(
const QString & ucmd);
66 QString result()
const {
return m_result;};
67 QString error()
const {
return m_error;};
70 void setEncoding(
const QString & encoding);
71 int parse(
const char * cmd, QString & func, QValueVector<QVariant> & parms);
72 int parse(
const QString & ucmd, QString & func, QValueVector<QVariant> & parms);
74 template <
class T,
class R>
75 int addFuncBinding(T * pobj, R (T::*pfunc)(
void),
const QString & name)
77 delete m_mapMemFunc[FuncDesc(name,0)];
82 template <
class T,
class R>
85 delete m_mapMemFunc[FuncDesc(name,0)];
90 template <
class T,
class R,
class P1>
93 delete m_mapMemFunc[FuncDesc(name,1)];
98 template <
class T,
class R,
class P1>
101 delete m_mapMemFunc[FuncDesc(name,1)];
106 template <
class T,
class R,
class P1,
class P2>
109 delete m_mapMemFunc[FuncDesc(name,2)];
114 template <
class T,
class R,
class P1,
class P2>
117 delete m_mapMemFunc[FuncDesc(name,2)];
122 template <
class T,
class R,
class P1,
class P2,
class P3>
125 delete m_mapMemFunc[FuncDesc(name,3)];
130 template <
class T,
class R,
class P1,
class P2,
class P3>
133 delete m_mapMemFunc[FuncDesc(name,3)];
134 m_mapMemFunc[FuncDesc(name,3)]=
new memFunc3<T,R,P1,P2,P3, ConstFunc3<T,R,P1,P2,P3> >(
pobj,
pfunc);
138 template <
class T,
class R,
class P1,
class P2,
class P3,
class P4>
141 delete m_mapMemFunc[FuncDesc(name,4)];
146 template <
class T,
class R,
class P1,
class P2,
class P3,
class P4>
149 delete m_mapMemFunc[FuncDesc(name,4)];
150 m_mapMemFunc[FuncDesc(name,4)]=
new memFunc4<T,R,P1,P2,P3,P4, ConstFunc4<T,R,P1,P2,P3,P4> >(
pobj,
pfunc);
154 template <
class T,
class R,
class P1,
class P2,
class P3,
class P4,
class P5>
157 delete m_mapMemFunc[FuncDesc(name,5)];
162 template <
class T,
class R,
class P1,
class P2,
class P3,
class P4,
class P5>
165 delete m_mapMemFunc[FuncDesc(name,5)];
166 m_mapMemFunc[FuncDesc(name,5)]=
new memFunc5<T,R,P1,P2,P3,P4,P5, ConstFunc5<T,R,P1,P2,P3,P4,P5> >(
pobj,
pfunc);
170 template <
class T,
class R>
171 int addFuncBinding0(
T *
pobj,
typename memFunc0<T,R>::memFunPtr
pfunc,
const QString & name)
173 delete m_mapMemFunc[FuncDesc(name,0)];
178 template <
class T,
class R,
class FuncType >
179 int addFuncBinding0(
T *
pobj,
typename memFunc0<T,R,FuncType>::memFunPtr
pfunc,
const QString & name)
181 delete m_mapMemFunc[FuncDesc(name,0)];
186 template <
class T,
class R,
class P1>
187 int addFuncBinding1(
T *
pobj,
typename memFunc1<T,R,P1>::memFunPtr
pfunc,
const QString & name)
189 delete m_mapMemFunc[FuncDesc(name,1)];
194 template <
class T,
class R,
class P1,
class P2>
195 int addFuncBinding2(
T *
pobj,
typename memFunc2<T,R,P1,P2>::memFunPtr
pfunc,
const QString & name)
197 delete m_mapMemFunc[FuncDesc(name,2)];
202 template <
class T,
class R,
class P1,
class P2,
class P3>
203 int addFuncBinding3(
T *
pobj,
typename memFunc3<T,R,P1,P2,P3>::memFunPtr
pfunc,
const QString & name)
205 delete m_mapMemFunc[FuncDesc(name,3)];
209 template <
class T,
class R,
class P1,
class P2,
class P3,
class P4>
210 int addFuncBinding4(
T *
pobj,
typename memFunc4<T,R,P1,P2,P3,P4>::memFunPtr
pfunc,
const QString & name)
212 delete m_mapMemFunc[FuncDesc(name,4)];
217 template <
class T,
class R,
class P1,
class P2,
class P3,
class P4,
class P5>
218 int addFuncBinding5(
T *
pobj,
typename memFunc5<T,R,P1,P2,P3,P4,P5>::memFunPtr
pfunc,
const QString & name)
220 delete m_mapMemFunc[FuncDesc(name,5)];
225 template <
class T,
class P1,
class P2,
class P3,
class P4,
class P5>
228 delete m_mapMemProc[FuncDesc(name,5)];
233 template <
class T,
class P1,
class P2,
class P3,
class P4>
236 delete m_mapMemProc[FuncDesc(name,4)];
241 template <
class T,
class P1,
class P2,
class P3>
244 delete m_mapMemProc[FuncDesc(name,3)];
249 template <
class T,
class P1,
class P2>
252 delete m_mapMemProc[FuncDesc(name,2)];
257 template <
class T,
class P1>
260 delete m_mapMemProc[FuncDesc(name,1)];
266 int addProcBinding0(
T *
pobj,
typename memProc0<T>::memProcPtr
pfunc,
const QString & name)
268 delete m_mapMemProc[FuncDesc(name,0)];
273 template <
class T,
class FT>
274 int addProcBinding0(
T *
pobj,
typename memProc0<T,FT>::memProcPtr
pfunc,
const QString & name)
276 delete m_mapMemProc[FuncDesc(name,0)];
Command interpreter for TEBase classes.
Definition cmdparser.h:46