GuardDataFilter is the safe access entry for abiDataFilter.
Applications can use it to make C-based APIs safer. it would manage abiRefDataFilter automatically. with that, App user do not need to refCopy_i or destroy abiRefDataFilter manually.
For example: abiRefDataFilter* rawRef = creator(); GuardDataFilter guardFilter(rawRef, true); // take the ownership of rawRef guardFilter.setUserData(userdata, [](void*){ ...free... }); guardFilter.setErrorCallback([](ErrCode c, const char* msg){ stderr << msg; }); ErrCode c = guardFilter.start(config, path); DS_ASSERT(isGood(c)); c = guardFilter.start(config, path); // invoke abiDataFilter::start_i(...) GuardDataMap inputData = ...; // prepare input data // invoke abiDataFilter::process_i(...) c = guardFilter.process(inputData, [](ErrCode c, const abiRefDataMap* d){ GuardDataMap outputData(<em>d); // output data processing std::cout << "output data processing starts" << std::endl; }, [](ErrCode c, const abiRefDataMap d){ GuardDataMap doneData(*d); std::cout << "input data consumed" << std::endl; }); DS_ASSERT(isGood(c)); //... wait for all data processed before stop c = guardFilter.flush(); c = guardFilter.stop(); // invoke abiDataFilter::stop_i(...) guardFilter.reset(); // destroy abiRefDataFilter, when all reference // destroyed, abiDataFilter would be freed.
Definition at line 59 of file sources/includes/ds3d/common/hpp/datafilter.hpp.


Public Types | |
| using | abiRefType = abiRefT< abiDataFilter > |
| using | abiRefType = abiRefT< abiDataFilter > |
Public Member Functions | |
| template<typename... Args> | |
| GuardDataFilter (Args &&... args) | |
| ~GuardDataFilter ()=default | |
| ErrCode | process (GuardDataMap datamap, abiOnDataCB::CppFunc outputDataCB, abiOnDataCB::CppFunc inputConsumedCB) |
| template<typename... Args> | |
| GuardDataFilter (Args &&... args) | |
| ~GuardDataFilter ()=default | |
| ErrCode | process (GuardDataMap datamap, abiOnDataCB::CppFunc outputDataCB, abiOnDataCB::CppFunc inputConsumedCB) |
| void | setUserData (void *data, DelF delF) |
| void | setUserData (void *data, DelF delF) |
| virtual void * | getUserData () const |
| virtual void * | getUserData () const |
| void | setErrorCallback (abiErrorCB::CppFunc errCb) |
| void | setErrorCallback (abiErrorCB::CppFunc errCb) |
| ErrCode | start (const std::string &content, const std::string &path="") |
| ErrCode | start (const std::string &content, const std::string &path="") |
| ErrCode | flush () |
| ErrCode | flush () |
| ErrCode | stop () |
| ErrCode | stop () |
| State | state () const |
| State | state () const |
| std::string | getCaps (CapsPort port) |
| std::string | getCaps (CapsPort port) |
| std::string | getOutputCaps () |
| std::string | getOutputCaps () |
| std::string | getInputCaps () |
| std::string | getInputCaps () |
| GuardTy | cast () |
| GuardTy | cast () |
| abiDataFilter * | ptr () const |
| abiDataFilter * | ptr () const |
| abiDataFilter * | operator-> () const |
| abiDataFilter * | operator-> () const |
| operator bool () const | |
| operator bool () const | |
| operator ShrdPtr< abiDataFilter > () | |
| operator ShrdPtr< abiDataFilter > () | |
| abiRefT< abiDataFilter > * | release () |
| abiRefT< abiDataFilter > * | release () |
| void | reset (abiRefT< abiDataFilter > *abiref=nullptr) |
| void | reset (abiRefT< abiDataFilter > *abiref=nullptr) |
| abiRefT< abiDataFilter > * | abiRef () const |
| abiRefT< abiDataFilter > * | abiRef () const |
|
inherited |
Definition at line 337 of file sources/includes/ds3d/common/hpp/obj.hpp.
|
inherited |
Definition at line 337 of file 9.1/sources/includes/ds3d/common/hpp/obj.hpp.
|
inline |
Definition at line 64 of file sources/includes/ds3d/common/hpp/datafilter.hpp.
|
default |
|
inline |
Definition at line 64 of file 9.1/sources/includes/ds3d/common/hpp/datafilter.hpp.
|
default |
|
inlineinherited |
Definition at line 273 of file sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 273 of file 9.1/sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 360 of file sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 360 of file 9.1/sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 80 of file sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 80 of file 9.1/sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 98 of file 9.1/sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 98 of file sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 105 of file sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 105 of file 9.1/sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 104 of file sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 104 of file 9.1/sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlinevirtualinherited |
Definition at line 59 of file sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlinevirtualinherited |
Definition at line 59 of file 9.1/sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 374 of file sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 374 of file 9.1/sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 376 of file 9.1/sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 376 of file sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 372 of file sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 372 of file 9.1/sources/includes/ds3d/common/hpp/obj.hpp.
|
inline |
|
inline |
|
inlineinherited |
Definition at line 365 of file sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 365 of file 9.1/sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 257 of file sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 257 of file 9.1/sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 264 of file 9.1/sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 264 of file sources/includes/ds3d/common/hpp/obj.hpp.
|
inlineinherited |
Definition at line 66 of file 9.1/sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 66 of file sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 48 of file 9.1/sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 48 of file sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 74 of file 9.1/sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 74 of file sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 92 of file 9.1/sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 92 of file sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 86 of file 9.1/sources/includes/ds3d/common/hpp/dataprocess.hpp.
|
inlineinherited |
Definition at line 86 of file sources/includes/ds3d/common/hpp/dataprocess.hpp.