23 #ifndef MCR_EXTRAS_REFERENCES_ISIGNAL_BUILDER_H_ 24 #define MCR_EXTRAS_REFERENCES_ISIGNAL_BUILDER_H_ 71 virtual void registerType(
const char *name,
72 const char *
const*addNames =
nullptr,
size_t addNamesCount = 0);
73 virtual void unregisterType();
82 return _isigPt ? &_isigPt->interface : NULL;
91 virtual inline size_t id()
95 virtual void setId(
size_t val);
97 virtual const char *name();
98 virtual void setName(
const char *name);
102 return _isigPt ? _isigPt->interface.data_size : 0;
104 virtual inline void setDataSize(
size_t newSize)
107 _isigPt->interface.data_size = newSize;
112 return _isigPt ? _isigPt->interface.init :
nullptr;
117 _isigPt->interface.init = val;
122 return _isigPt ? _isigPt->interface.deinit :
nullptr;
127 _isigPt->interface.deinit = val;
132 return _isigPt ? _isigPt->interface.compare :
nullptr;
137 _isigPt->interface.compare = val;
142 return _isigPt ? _isigPt->interface.copy :
nullptr;
147 _isigPt->interface.copy = val;
153 return _isigPt ? _isigPt->dispatcher_pt :
nullptr;
158 _isigPt->dispatcher_pt = val;
163 return _isigPt ? _isigPt->send :
nullptr;
virtual size_t dataSize() const
int(* mcr_compare_fnc)(const void *lhsPt, const void *rhsPt)
virtual mcr_ISignal * isignal() const
int(* mcr_data_fnc)(void *dataPt)
int(* mcr_signal_fnc)(struct mcr_Signal *signalPt)
int(* mcr_copy_fnc)(void *destinationPt, const void *sourcePt)
C++ wrappers and extensions of C types.
Libmacro, by Jonathan Pelletier, New Paradigm Software. Alpha version.
MCR_API size_t mcr_ISignal_id(const struct mcr_ISignal *isigPt)