ZFFramework
Loading...
Searching...
No Matches
ZFIOToken Class Referenceabstract

see ZFIOImplForPathType More...

#include <ZFIODef_fwd.h>

Inheritance diagram for ZFIOToken:
ZFObject ZFCompressToken

Public Member Functions

virtual const ZFClassclassData (void)
 get instance's class info
virtual ZFPathInfo pathInfo (void)
 path info for this token
virtual zfstring pathType (void)=0
 path info for this token
virtual zfstring pathData (void)=0
 path info for this token
virtual ZFIOOpenOptionFlags ioFlags (void)=0
 open flags for this token
virtual zfbool ioClose (void)=0
 see ZFIOImplForPathType
virtual zfindex ioRead (void *buf, zfindex maxByteSize)=0
 see ZFIOImplForPathType
virtual zfindex ioWrite (const void *src, zfindex maxByteSize=((zfindex) -1))=0
 see ZFIOImplForPathType
virtual void ioFlush (void)
 flush write buffer, do nothing if impl not supported
virtual zfbool ioSeek (zfindex byteSize, ZFSeekPos seekPos=ZFSeekPosBegin)=0
 see ZFIOImplForPathType
virtual zfindex ioTell (void)=0
 see ZFIOImplForPathType
virtual zfindex ioSize (void)
 see ZFIOImplForPathType
Public Member Functions inherited from ZFObject
const ZFClassclassDynamic (void)
 dynamic class of this object, see ZFClassDynamicRegister
zfindex objectRetainCount (void)
 return the object's retain count
void objectInfoOfInstanceT (zfstring &ret)
 see objectInfoOfInstance
zfstring objectInfoOfInstance (void)
 return a short string describe the object instance
void objectInfoT (zfstring &ret)
 see objectInfo
zfstring objectInfo (void)
 return object info
zfidentity objectHash (void)
 get hash of this object
ZFCompareResult objectCompare (ZFObject *anotherObj)
 compare with anotherObj
ZFCompareResult objectCompareValue (ZFObject *anotherObj)
 explicitly compare object by logical value, see objectCompare
virtual zfauto invoke (const zfstring &methodName)
 util method to perform ZFDI_invoke, do nothing if fail
virtual zfauto invoke (const zfstring &methodName, ZFObject *param0, 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))
 util method to perform ZFDI_invoke, do nothing if fail
virtual zfbool invokeT (zfauto &ret, zfstring *errorHint, const zfstring &methodName, 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))
 util method to perform ZFDI_invoke, do nothing if fail
virtual zfauto invokeDetail (const zfstring &methodName, const ZFCoreArray< zfauto > &params, zfbool *success=zft_zfnull, zfstring *errorHint=zft_zfnull)
 util method to perform ZFDI_invoke, do nothing if fail
zfbool objectTagExist (void)
 see objectTag, true if this object has tag, and tag can be checked by objectTagGetAllKeyValue
void objectTag (const zfstring &key, ZFObject *tag)
 used to hold a object for app's use, auto retained
zfany objectTag (const zfstring &key)
 see objectTag
void objectTagGetAllKeyValue (ZFCoreArray< zfstring > &allKey, ZFCoreArray< zfauto > &allValue)
 get all key value
void objectTagRemove (const zfstring &key)
 remove tag, same as set tag to null
zfauto objectTagRemoveAndGet (const zfstring &key)
 remove tag, return removed tag or null if not exist
void objectTagRemoveAll (void)
 remove all tag
void observerAdd (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal)
 see observerNotify
void observerAddForOnce (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal)
 see observerNotify
void observerRemove (zfidentity eventId, const ZFListener &callback)
 see observerNotify
void observerRemoveAll (zfidentity eventId)
 see observerNotify
void observerRemoveAll (void)
 see observerNotify
zfbool observerHasAdd (void)
 true if any observer has been added
zfbool observerHasAdd (zfidentity eventId)
 true if any observer with eventId has been added
void observerNotify (zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull)
 notify the observer with eventId
void observerNotifyWithSender (ZFObject *customSender, zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull)
 see observerNotify
void observerNotifyReversely (zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull)
 see observerNotify
void observerNotifyReverselyWithSender (ZFObject *customSender, zfidentity eventId, ZFObject *param0=zft_zfnull, ZFObject *param1=zft_zfnull)
 see observerNotify
ZFObserverobserverHolder (void)
 access the internal observer holder
void on (const zfstring &eventName, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal)
 util to observerAdd
void on (zfidentity eventId, const ZFListener &observer, ZFLevel observerLevel=ZFLevelAppNormal)
 util to observerAdd
void onInit (const ZFListener &impl)
 util for script to achieve chained call
void onDealloc (const ZFListener &impl)
 util for script to achieve chained call
zfbool objectInstanceStateCheck (ZFObjectInstanceState state)
 object instance's state
zfbool objectInitRunning (void)
 util method to check whether ZFObjectInstanceStateOnInit or ZFObjectInstanceStateOnInitFinish running
zfbool objectDeallocRunning (void)
 util method to check whether ZFObjectInstanceStateOnDeallocPrepare or ZFObjectInstanceStateOnDealloc running
virtual zfbool objectIsInternal (void)
 whether this object is internal object or its class is ZFClass::classIsInternal
virtual zfbool objectIsInternalPrivate (void)
 whether this object is internal private object or its class is ZFClass::classIsInternalPrivate

Static Public Member Functions

static const ZFClassClassData (void)
 get class info
static zfidentity E_IOCloseOnPrepare (void)
 see ZFObject::observerNotify
static zfidentity E_IOCloseOnFinish (void)
 see ZFObject::observerNotify
Static Public Member Functions inherited from ZFObject
static const ZFClassClassData (void)
 get class info
static zfidentity E_ObjectBeforeAlloc (void)
 see ZFObject::observerNotify
static zfidentity E_ObjectAfterAlloc (void)
 see ZFObject::observerNotify
static zfidentity E_ObjectBeforeDealloc (void)
 see ZFObject::observerNotify
static zfidentity E_ObjectPropertyValueOnUpdate (void)
 see ZFObject::observerNotify
static zfidentity E_ObjectPropertyValueOnReset (void)
 see ZFObject::observerNotify

Protected Types

typedef ZFObject zfsuper
 class ref to super
typedef ZFIOToken zfself
 class ref to self
Protected Types inherited from ZFObject
typedef _ZFP_Obj_Base zfsuper
 class ref to super
typedef ZFObject zfself
 class ref to self

Protected Member Functions

virtual void objectOnDeallocPrepare (void)
 called before objectOnDealloc, safe to call virtual functions here
virtual void objectInfoImpl (zfstring &ret)
 see objectInfo
Protected Member Functions inherited from ZFObject
virtual void objectInfoImplAppend (zfstring &ret)
 see objectInfo
virtual zfidentity objectHashImpl (void)
 see objectHash
virtual ZFCompareResult objectCompareImpl (ZFObject *anotherObj)
 see objectCompare
virtual ZFCompareResult objectCompareValueImpl (ZFObject *anotherObj)
 see objectCompareValue
virtual void observerOnAdd (zfidentity eventId)
 called when add first observer
virtual void observerOnRemove (zfidentity eventId)
 called when remove last observer
virtual void observerOnEvent (const ZFArgs &zfargs)
 notified when observerNotify
virtual void objectOnInit (void)
 override this to init your object
virtual void objectOnInitFinish (void)
 called after objectOnInit, safe to call virtual functions here
virtual void objectOnDealloc (void)
 override this to destroy your object
virtual void objectOnRetain (void)
 called to retain object
virtual void objectOnRelease (void)
 called to release object
virtual void objectPropertyValueOnUpdate (const ZFProperty *property, const void *oldValue)
 see E_ObjectPropertyValueOnUpdate
virtual void objectPropertyValueOnReset (const ZFProperty *property)
 see E_ObjectPropertyValueOnReset

Additional Inherited Members

Public Types inherited from ZFObject
enum  

Detailed Description

Member Function Documentation

◆ classData()

virtual const ZFClass * ZFIOToken::classData ( void )
inlinevirtual

get instance's class info

Reimplemented from ZFObject.

Reimplemented in ZFCompressToken.

◆ E_IOCloseOnPrepare()

zfidentity ZFIOToken::E_IOCloseOnPrepare ( void )
static

see ZFObject::observerNotify

called before ioClose

◆ E_IOCloseOnFinish()

zfidentity ZFIOToken::E_IOCloseOnFinish ( void )
static

◆ objectOnDeallocPrepare()

virtual void ZFIOToken::objectOnDeallocPrepare ( void )
inlineprotectedvirtual

called before objectOnDealloc, safe to call virtual functions here

usually used to cleanup resources attached to this object other than self's internal resources

Note
it's ensured safe to retain the object while deallocating, but it's not ensured objectOnDeallocPrepare would only called once for each instance

Reimplemented from ZFObject.

◆ objectInfoImpl()

virtual void ZFIOToken::objectInfoImpl ( zfstring & ret)
inlineprotectedvirtual

see objectInfo

Reimplemented from ZFObject.

◆ ioClose()

virtual zfbool ZFIOToken::ioClose ( void )
pure virtual

see ZFIOImplForPathType

note:

  • when done, ioClose can be called exactly once to release io resource
  • ioClose would be called automatically when token deallocated
  • you must not access the token after ioClose was called

impl must:

◆ ioRead()

virtual zfindex ZFIOToken::ioRead ( void * buf,
zfindex maxByteSize )
pure virtual

see ZFIOImplForPathType

return size read, or 0 if error occurred, typical usage:

zfindex sizeRead = 0;
while((sizeRead = impl->ioRead(token, buf)) > 0) {
// do something with buf
}
_ZFT_t_zfindex zfindex
similar to size_t, used for index and size only
Definition ZFCoreTypeDef_CoreType.h:154

note that the tail '\0' won't be written to buf

Warning
always read in binary mode, for text files, you must make sure the file is UTF8 encoded without BOM

◆ ioWrite()

virtual zfindex ZFIOToken::ioWrite ( const void * src,
zfindex maxByteSize = ((zfindex) -1) )
pure virtual

see ZFIOImplForPathType

return size written, or 0 if error occurred, typical usage:

zfindex sizeWritten = impl->ioWrite(token, src, size);
if(sizeWritten != size) { // you can also check by sizeWritten
// write fail
}


maxByteSize could be zfindexMax(), which means the write should be stopped when reached 0x00 in src, usually to output a UTF8 string

◆ ioSeek()

virtual zfbool ZFIOToken::ioSeek ( zfindex byteSize,
ZFSeekPos seekPos = ZFSeekPosBegin )
pure virtual

see ZFIOImplForPathType

seek to specified position, return false if error or not available

◆ ioTell()

virtual zfindex ZFIOToken::ioTell ( void )
pure virtual

see ZFIOImplForPathType

return current position or zfindexMax if error or not available

◆ ioSize()

virtual zfindex ZFIOToken::ioSize ( void )
inlinevirtual

see ZFIOImplForPathType

return total size or zfindexMax if error or not available


The documentation for this class was generated from the following file: