6#ifndef _ZFI_ZFDynamicInvoker_h_
7#define _ZFI_ZFDynamicInvoker_h_
71 virtual const zfchar *
zfv(
void) {
return this->_ZFP_zfv;}
89 virtual const zfchar *
zfv(
void) {
return this->_ZFP_zfv;}
#define ZFComparerDefault
default comparer for common types, see ZFComparer
Definition ZFComparer.h:250
#define ZFLIB_ZFCore
used to export symbols
Definition ZFCoreEnvDef.h:30
_ZFT_t_zfchar zfchar
char wrapper
Definition ZFCoreTypeDef_CharType.h:17
#define ZF_OUT_OPT
dummy macro that shows the param used as optional output
Definition ZFCoreTypeDef_ClassType.h:192
#define zfextend
dummy macro shows class inherit from another
Definition ZFCoreTypeDef_ClassType.h:53
#define zfpurevirtual
dummy macro shows that a method is pure virtual method
Definition ZFCoreTypeDef_ClassType.h:68
#define zfoverride
dummy macro shows that method override parent's method
Definition ZFCoreTypeDef_ClassType.h:58
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
#define ZF_IN_OPT
dummy macro that shows the param used as optional input
Definition ZFCoreTypeDef_ClassType.h:184
#define ZF_OUT
dummy macro that shows the param used as required output
Definition ZFCoreTypeDef_ClassType.h:188
#define ZF_IN_OUT
dummy macro that shows the param used as required input and output
Definition ZFCoreTypeDef_ClassType.h:196
#define zfclassFwd
forward declaration of a class type
Definition ZFCoreTypeDef_ClassType.h:31
_ZFT_t_zfbool zfbool
bool type
Definition ZFCoreTypeDef_CoreType.h:103
_ZFT_t_zfindex zfindex
similar to size_t, used for index and size only
Definition ZFCoreTypeDef_CoreType.h:154
#define zftrue
bool true type
Definition ZFCoreTypeDef_CoreType.h:107
_zft_zfidentity zfidentity
identity type, ensured at least 32 bit, ensured unsigned
Definition ZFCoreTypeDef_CoreType.h:225
#define zfindexMax()
(zfindex)-1, indicate a max index value, see zfindex
Definition ZFCoreTypeDef_CoreType.h:159
_zft_zfdouble zfdouble
same as double, see zfindex
Definition ZFCoreTypeDef_CoreType.h:188
#define zffalse
bool false type
Definition ZFCoreTypeDef_CoreType.h:111
#define zfnull
same as NULL, defined for future use
Definition ZFCoreTypeDef_CoreType.h:88
ZFCompareResult
compare result of two ZFObjects
Definition ZFCoreTypeDef_OtherType.h:28
@ ZFCompareUncomparable
Definition ZFCoreTypeDef_OtherType.h:29
zft_zfstring< zfchar > zfstring
see zft_zfstring
Definition ZFCoreTypeDef_StringType.h:15
zfbool ZFInvokeT(zfauto &ret, zfstring *errorHint, const zfstring &name, ZFObject *param0=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param1=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param2=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param3=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param4=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param5=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param6=((ZFObject *const &) _ZFP_ZFMP_DEF), ZFObject *param7=((ZFObject *const &) _ZFP_ZFMP_DEF))
see ZFInvoke
zfindex ZFDI_paramCount(const ZFArgs &zfargs)
util method to calc param count
Definition ZFDynamicInvoker.h:160
zfbool ZFDI_toNumberT(zfdouble &ret, ZFObject *obj)
util method to convert to string
zfstring ZFDI_paramInfo(const ZFArgs &zfargs)
see ZFDI_paramInfoT
Definition ZFDynamicInvoker.h:153
zfauto ZFInvoke(const zfstring &name)
util to ZFDI_invoke/ZFDI_alloc for static method or object allocation
void ZFDI_alloc(const ZFArgs &zfargs, const ZFClass *cls, zfbool convStr=_ZFT_t_zffalse)
perform advanced dynamic class alloc
ZFCoreArray< ZFOutput > & ZFDI_errorCallbacks(void)
callbacks when any dynamic invoker fails
zfauto ZFDI_implicitConvert(const zfstring &desiredTypeId, ZFObject *value, zfstring *errorHint=zft_zfnull)
see ZFDI_implicitConvertT
Definition ZFDynamicInvoker.h:238
zfbool ZFDI_objectFromString(zfauto &ret, const zfstring &typeId, const zfchar *src, zfindex srcLen=((zfindex) -1), zfstring *errorHint=zft_zfnull)
util to convert object from string
const zfchar * ZFDI_toString(ZFObject *obj)
util method to convert to string
void ZFDI_paramInfoT(zfstring &ret, const ZFArgs &zfargs)
util to print param info
zfauto ZFInvokeDetail(const zfstring &name, const ZFCoreArray< zfauto > ¶ms, zfbool *success=zft_zfnull, zfstring *errorHint=zft_zfnull)
see ZFInvoke
zfdouble ZFDI_toNumber(ZFObject *obj)
see ZFDI_toNumberT, return -1 if fail
Definition ZFDynamicInvoker.h:132
zfbool ZFDI_implicitConvertT(zfauto &ret, const zfstring &desiredTypeId, ZFObject *value, zfstring *errorHint=zft_zfnull)
try implicit convert if possible
void ZFDI_invoke(const ZFArgs &zfargs, const zfstring &name, zfbool convStr=_ZFT_t_zffalse)
perform advanced dynamic invoke
zfidentity zfidentityCalcString(const zfchar *src, zfindex srcLen=((zfindex) -1))
calculate identity from string
#define ZFMP_DEF()
mark the object as default param
Definition ZFMethodGenericInvoker.h:30
#define ZFMETHOD_MAX_PARAM
max param supported by ZFMethod
Definition ZFMethodGenericInvoker.h:16
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
#define zfcast(T_To, obj)
safely cast ZFObject types, return null if not desired type
Definition ZFObjectCast.h:28
#define zfabstract
typename for class showing that its abstract
Definition ZFObjectClassTypeFwd.h:42
#define zfclass
same as class, shows that this class is a ZFObject type
Definition ZFObjectClassTypeFwd.h:38
base class of all objects
#define ZFOBJECT_DECLARE_ABSTRACT(ChildClass, SuperClass,...)
necessary for every abstract class inherit from ZFObject
Definition ZFObjectDeclare.h:152
#define ZFOBJECT_DECLARE_WITH_CUSTOM_CTOR(ChildClass, SuperClass,...)
declare object which allow custom constructor
Definition ZFObjectDeclare.h:142
#define ZFOBJECT_DECLARE(ChildClass, SuperClass,...)
necessary for every class inherit from ZFObject
Definition ZFObjectDeclare.h:126
retain count logic for ZFFramework
#define ZFALLOC_CACHE_RELEASE_ABSTRACT(action)
ZFALLOC_CACHE_RELEASE for abstract class
Definition ZFObjectRetain.h:201
listener data used by ZFListener
Definition ZFArgs.h:20
ZFObject's class info.
Definition ZFClass.h:67
light weight array
Definition ZFCoreArray.h:331
virtual zfbool objectIsInternalPrivate(void)
whether this object is internal private object or its class is ZFClass::classIsInternalPrivate
Definition ZFDynamicInvoker.h:51
virtual void objectOnInit(const zfchar *zfv)
init with value
Definition ZFDynamicInvoker.h:60
virtual void zfv(const zfchar *zfv)=0
the data
virtual const zfchar * zfv(void)=0
see zfv
virtual void objectInfoImpl(zfstring &ret)
see objectInfo
Definition ZFDynamicInvoker.h:53
ZFDI_WrapperBase zfself
class ref to self
Definition ZFDynamicInvoker.h:18
virtual zfidentity objectHashImpl(void)
see objectHash
Definition ZFDynamicInvoker.h:35
virtual void objectOnInit(void)
override this to init your object
Definition ZFDynamicInvoker.h:58
virtual zfbool objectIsInternal(void)
whether this object is internal object or its class is ZFClass::classIsInternal
Definition ZFDynamicInvoker.h:49
virtual ZFCompareResult objectCompareImpl(ZFObject *anotherObj)
see objectCompare
Definition ZFDynamicInvoker.h:39
virtual const zfchar * zfv(void)
see zfv
Definition ZFDynamicInvoker.h:71
virtual void zfv(const zfchar *zfv)
the data
Definition ZFDynamicInvoker.h:67
see ZFDI_WrapperBase
Definition ZFDynamicInvoker.h:76
virtual const zfchar * zfv(void)
see zfv
Definition ZFDynamicInvoker.h:89
virtual void zfv(const zfchar *zfv)
the data
Definition ZFDynamicInvoker.h:80
base class of all objects
Definition ZFObjectCore.h:209
virtual void objectOnInit(void)
override this to init your object
general output callback
Definition ZFIOCallback_output.h:37
a ZFObject holder which would release content object automatically when destroyed
Definition zfautoFwd.h:34