Class for writing and reading binary data to/from log files, with support for playback in different modes.
More...
|
|
| PIBinaryLog () |
| | Constructs PIBinaryLog with default playback and split settings.
|
| |
|
virtual | ~PIBinaryLog () |
| | Stops background activity and closes the current log.
|
| |
|
PlayMode | playMode () const |
| | Returns current PlayMode.
|
| |
|
SplitMode | splitMode () const |
| | Returns current SplitMode.
|
| |
|
PIString | logDir () const |
| | Returns directory used for new log files.
|
| |
|
PIString | filePrefix () const |
| | Returns filename prefix used for new log files.
|
| |
| int | defaultID () const |
| | Returns default record ID used by write(). More...
|
| |
|
double | playSpeed () const |
| | Returns current playback speed multiplier.
|
| |
|
PISystemTime | playDelay () const |
| | Returns static delay used in PlayStaticDelay mode.
|
| |
| PISystemTime | splitTime () const |
| | Returns elapsed-time threshold for SplitTime mode. More...
|
| |
| llong | splitFileSize () const |
| | Returns size threshold for SplitSize mode. More...
|
| |
| int | splitRecordCount () const |
| | Returns record-count threshold for SplitCount mode. More...
|
| |
|
bool | rapidStart () const |
| | Returns whether the first threaded-read record is emitted without initial delay.
|
| |
| bool | createIndexOnFly () const |
| | Returns whether index data is collected while writing. More...
|
| |
| void | createNewFile (const PIString &path) |
| | Creates or reopens a log file at exact path "path" for writing. More...
|
| |
|
void | setPlayMode (PlayMode mode) |
| | Sets current PlayMode.
|
| |
|
void | setSplitMode (SplitMode mode) |
| | Sets current SplitMode.
|
| |
|
void | setLogDir (const PIString &path) |
| | Sets directory used for newly created log files.
|
| |
| void | setFilePrefix (const PIString &prefix) |
| | Sets filename prefix used for newly created log files. More...
|
| |
| void | setDefaultID (int id) |
| | Sets default record ID used by write(). More...
|
| |
| void | setRapidStart (bool enabled) |
| | Enables immediate delivery of the first record in threaded playback. More...
|
| |
| void | setCreateIndexOnFly (bool yes) |
| | Enables or disables index collection while writing. More...
|
| |
| void | setPlaySpeed (double speed) |
| | Sets playback speed multiplier and switches mode to PlayVariableSpeed. More...
|
| |
| void | setPlayDelay (const PISystemTime &delay) |
| | Sets fixed delay between records and switches mode to PlayStaticDelay. More...
|
| |
| void | setPlayRealTime () |
| | Switches playback to PlayRealTime. More...
|
| |
| void | setSplitTime (const PISystemTime &time) |
| | Sets time threshold for file splitting and switches mode to SplitTime. More...
|
| |
| void | setSplitFileSize (llong size) |
| | Sets size threshold for file splitting and switches mode to SplitSize. More...
|
| |
| void | setSplitRecordCount (int count) |
| | Sets record-count threshold for file splitting and switches mode to SplitCount. More...
|
| |
|
void | setPause (bool pause) |
| | Pauses or resumes threaded playback and direct writes.
|
| |
| void | setFuncGetNewFilePath (std::function< PIString()> f) |
| | Sets custom path generator used for split files and implicit file creation. More...
|
| |
| int | writeBinLog (int id, PIByteArray data) |
| | Writes one record with explicit ID and payload. More...
|
| |
| int | writeBinLog (int id, const void *data, int size) |
| | Writes one record with explicit ID and payload buffer. More...
|
| |
| int | writeBinLog_raw (int id, const PISystemTime &time, const PIByteArray &data) |
| | Write one RAW record to BinLog file, with ID = id, Timestamp = time. More...
|
| |
| int | writeBinLog_raw (int id, const PISystemTime &time, const void *data, int size) |
| | Write one RAW record to BinLog file, with ID = id, Timestamp = time. More...
|
| |
|
int | writeCount () const |
| | Returns number of records successfully written in current session.
|
| |
| PIByteArray | readBinLog (int id=0, PISystemTime *time=0, int *readed_id=0) |
| | Read one record from BinLog file, with ID = id, if id = 0 than any id will be readed. More...
|
| |
| int | readBinLog (int id, void *read_to, int max_size, PISystemTime *time=0, int *readed_id=0) |
| | Read one record from BinLog file, with ID = id, if id = 0 than any id will be readed. More...
|
| |
|
llong | logSize () const |
| | Returns current log file size in bytes.
|
| |
|
llong | logPos () const |
| | Returns current byte position in the opened log file.
|
| |
|
bool | isEnd () const |
| | Returns true when reading position is at end of file or the log is closed.
|
| |
|
bool | isEmpty () const |
| | Returns whether the log contains no records beyond the file header.
|
| |
|
bool | isPause () const |
| | Returns current pause state.
|
| |
|
int | lastReadedID () const |
| | Returns ID of the last record read from the file.
|
| |
|
PISystemTime | lastReadedTimestamp () const |
| | Returns timestamp of the last record read from the file.
|
| |
|
PISystemTime | logStartTimestamp () const |
| | Returns session start timestamp used for playback timing.
|
| |
| void | setHeader (const PIByteArray &header) |
| | Sets custom file header for subsequently created log files. More...
|
| |
|
PIByteArray | getHeader () const |
| | Returns custom header stored in the currently opened log.
|
| |
|
int | read (void *read_to, int max_size) |
| | Reads one message using filterID when it is not empty.
|
| |
|
int | write (const void *data, int size) |
| | Writes one record using defaultID().
|
| |
|
void | restart () |
| | Restarts reading and playback from the beginning of the current log.
|
| |
| BinLogInfo | logInfo () const |
| | Returns cached index info when available, otherwise reparses current file info. More...
|
| |
| const PIVector< BinLogIndex > & | logIndex () const |
| | Returns current record index data. More...
|
| |
| bool | createIndex () |
| | Builds record index for the current log file. More...
|
| |
|
bool | isIndexed () |
| | Returns whether the current log has loaded index data.
|
| |
| int | posForTime (const PISystemTime &time) |
| | Returns index of the first indexed record at or after "time". More...
|
| |
| void | seekTo (int rindex) |
| | Seeks to indexed record number "rindex". More...
|
| |
| bool | seek (const PISystemTime &time) |
| | Seeks to the first indexed record at or after "time". More...
|
| |
| bool | seek (llong filepos) |
| | Seeks to the first indexed record whose file position is at or after "filepos". More...
|
| |
|
int | pos () const |
| | Returns current indexed record position, or -1 when not indexed.
|
| |
|
PIByteArray | saveIndex () const |
| | Serializes current index data.
|
| |
| bool | loadIndex (PIByteArray saved) |
| | Loads previously serialized index data for the current readable log. More...
|
| |
|
| PIIODevice () |
| | Constructs an empty PIIODevice.
|
| |
|
| PIIODevice (const PIString &path, DeviceMode mode=ReadWrite) |
| | Constructs PIIODevice with path "path" and open mode "mode".
|
| |
|
virtual | ~PIIODevice () |
| | Destroys the device base object.
|
| |
|
DeviceMode | mode () const |
| | Returns current open mode.
|
| |
|
void | setMode (DeviceMode m) |
| | Sets open mode without reopening the device.
|
| |
|
DeviceOptions | options () const |
| | Returns current device options.
|
| |
|
bool | isOptionSet (DeviceOption o) const |
| | Returns whether option "o" is enabled.
|
| |
|
void | setOptions (DeviceOptions o) |
| | Replaces all current device options with "o".
|
| |
|
bool | setOption (DeviceOption o, bool yes=true) |
| | Sets option "o" to "yes" and returns its previous state.
|
| |
|
DeviceInfoFlags | infoFlags () const |
| | Returns device channel characteristics.
|
| |
|
PIString | path () const |
| | Returns current device path.
|
| |
|
void | setPath (const PIString &path) |
| | Sets device path without reopening the device.
|
| |
|
bool | isReadable () const |
| | Returns whether the current mode allows reading.
|
| |
|
bool | isWriteable () const |
| | Returns whether the current mode allows writing.
|
| |
|
bool | isOpened () const |
| | Returns whether the device is currently opened.
|
| |
|
bool | isClosed () const |
| | Returns whether the device is currently closed.
|
| |
|
virtual bool | canRead () const |
| | Returns whether reading is possible right now.
|
| |
|
virtual bool | canWrite () const |
| | Returns whether writing is possible right now.
|
| |
|
void | setReopenEnabled (bool yes=true) |
| | Enables or disables automatic reopen attempts during threaded read.
|
| |
|
void | setReopenTimeout (PISystemTime timeout) |
| | Sets delay between automatic reopen attempts.
|
| |
|
bool | isReopenEnabled () const |
| | Returns whether automatic reopen is enabled.
|
| |
|
PISystemTime | reopenTimeout () |
| | Returns delay between automatic reopen attempts.
|
| |
| void | setThreadedReadSlot (ReadRetFunc func) |
| | Sets callback invoked after successful threaded reads. More...
|
| |
|
void | setThreadedReadData (void *d) |
| | Sets custom user data passed to threaded read callback.
|
| |
| void | setThreadedReadBufferSize (int new_size) |
| | Sets background read buffer size in bytes. More...
|
| |
|
int | threadedReadBufferSize () const |
| | Returns background read buffer size in bytes.
|
| |
|
const uchar * | threadedReadBuffer () const |
| | Returns pointer to the internal threaded-read buffer.
|
| |
|
void * | threadedReadData () const |
| | Returns custom data passed to threaded read callback.
|
| |
|
bool | isThreadedRead () const |
| | Returns whether threaded read is running.
|
| |
|
bool | isThreadedReadStopping () const |
| | Returns whether threaded read is stopping.
|
| |
|
void | startThreadedRead () |
| | Starts threaded read.
|
| |
|
void | startThreadedRead (ReadRetFunc func) |
| | Sets threaded read callback to "func" and starts threaded read.
|
| |
|
void | stopThreadedRead () |
| | Requests threaded read stop.
|
| |
| void | terminateThreadedRead () |
| | Terminate threaded read. More...
|
| |
|
bool | waitThreadedReadFinished (PISystemTime timeout={}) |
| | Waits until threaded read finishes or "timeout" expires.
|
| |
|
uint | threadedReadTimeout () const |
| | Returns delay between unsuccessful threaded read attempts in milliseconds.
|
| |
|
void | setThreadedReadTimeout (uint ms) |
| | Sets delay between unsuccessful threaded read attempts in milliseconds.
|
| |
|
bool | isThreadedWrite () const |
| | Returns whether threaded write is running.
|
| |
|
void | startThreadedWrite () |
| | Starts threaded write.
|
| |
|
void | stopThreadedWrite () |
| | Requests threaded write stop.
|
| |
| void | terminateThreadedWrite () |
| | Terminate threaded write. More...
|
| |
|
bool | waitThreadedWriteFinished (PISystemTime timeout={}) |
| | Waits until threaded write finishes or "timeout" expires.
|
| |
|
void | clearThreadedWriteQueue () |
| | Clears queued threaded-write tasks.
|
| |
|
void | start () |
| | Starts both threaded read and threaded write.
|
| |
|
void | stop () |
| | Requests stop for both threaded read and threaded write.
|
| |
|
void | stopAndWait (PISystemTime timeout={}) |
| | Stops both background threads and waits for completion.
|
| |
|
virtual void | interrupt () |
| | Interrupts a blocking device operation.
|
| |
|
ssize_t | read (void *read_to, ssize_t max_size) |
| | Reads at most "max_size" bytes into "read_to".
|
| |
|
ssize_t | read (PIMemoryBlock mb) |
| | Reads data into memory block "mb".
|
| |
|
PIByteArray | read (ssize_t max_size) |
| | Reads at most "max_size" bytes and returns them as PIByteArray.
|
| |
| virtual ssize_t | bytesAvailable () const |
| | Returns the number of bytes that are available for reading. More...
|
| |
|
ssize_t | write (const void *data, ssize_t max_size) |
| | Writes at most "max_size" bytes from "data".
|
| |
|
PIByteArray | readForTime (PISystemTime timeout) |
| | Reads data for up to "timeout" and returns collected bytes.
|
| |
|
ullong | writeThreaded (const void *data, ssize_t max_size) |
| | Queues "data" for threaded write and returns task ID.
|
| |
|
ullong | writeThreaded (const PIByteArray &data) |
| | Queues byte array "data" for threaded write and returns task ID.
|
| |
| bool | configure (const PIString &config_file, const PIString §ion, bool parent_section=false) |
| | Configures the device from section "section" of file "config_file". More...
|
| |
|
virtual PIConstChars | fullPathPrefix () const |
| | Returns device prefix used in full-path notation. Creating devices by unambiguous string.
|
| |
|
PIString | constructFullPath () const |
| | Returns full-path representation of this device, fullPathPrefix() + "://" + ...
|
| |
|
void | configureFromFullPath (const PIString &full_path) |
| | Configures the device from full-path parameters.
|
| |
|
PIVariantTypes::IODevice | constructVariant () const |
| | Builds PIVariantTypes::IODevice description for this device.
|
| |
|
void | configureFromVariant (const PIVariantTypes::IODevice &d) |
| | Configures the device from PIVariantTypes::IODevice.
|
| |
|
ssize_t | write (const PIMemoryBlock &mb) |
| | Writes memory block "mb" to the device.
|
| |
|
bool | open () |
| | Opens the device with current path and mode.
|
| |
|
bool | open (const PIString &_path) |
| | Opens the device with path "path".
|
| |
|
bool | open (DeviceMode _mode) |
| | Opens the device with mode "mode".
|
| |
|
bool | open (const PIString &_path, DeviceMode _mode) |
| | Opens the device with path "path" and mode "mode".
|
| |
|
bool | close () |
| | Closes the device.
|
| |
|
ssize_t | write (PIByteArray data) |
| | Writes "data" to the device.
|
| |
|
virtual void | flush () |
| | Immediately flushes device buffers.
|
| |
|
void | opened () |
| | Raised after successful opening.
|
| |
|
void | closed () |
| | Raised after successful closing.
|
| |
|
void | threadedReadEvent (const uchar *readed, ssize_t size) |
| | Raised after threaded read receives some data.
|
| |
|
void | threadedWriteEvent (ullong id, ssize_t written_size) |
| | Raised after threaded write processes task with ID "id".
|
| |
|
| PIObject (const PIString &name=PIString()) |
| | Constructs an object and initializes its name property.
|
| |
|
virtual | ~PIObject () |
| | Destroys the object, raises deleted() and disconnects it from the event graph.
|
| |
|
PIString | name () const |
| | Returns the name property of this object.
|
| |
|
virtual const char * | className () const |
| | Returns the registered class name of this object.
|
| |
|
virtual uint | classNameID () const |
| | Returns the hash of className().
|
| |
|
virtual const char * | parentClassName () const |
| | Returns the registered parent class name, or an empty string for the root.
|
| |
|
bool | debug () const |
| | Returns whether piCoutObj output is enabled for this object.
|
| |
|
void | setName (const PIString &name) |
| | Sets the name property of this object.
|
| |
|
void | setDebug (bool debug) |
| | Enables or disables piCoutObj output for this object.
|
| |
|
PIVariant | property (const char *name) const |
| | Returns the property with name "name".
|
| |
| void | setProperty (const char *name, const PIVariant &value) |
| | Sets the property "name" to "value" and creates it if needed. More...
|
| |
|
bool | isPropertyExists (const char *name) const |
| | Returns whether the property "name" exists.
|
| |
| void | setThreadSafe (bool yes) |
| | Enables or disables the internal object mutex during handler execution. More...
|
| |
|
bool | isThreadSafe () const |
| | Returns whether the internal object mutex is enabled for handler execution.
|
| |
| bool | execute (const PIString &method, const PIVector< PIVariantSimple > &vl) |
| | Executes a registered method or handler method by name with the supplied arguments. More...
|
| |
|
bool | execute (const PIString &method) |
| | Overload of execute() for a method without arguments.
|
| |
|
bool | execute (const PIString &method, const PIVariantSimple &v0) |
| | Overload of execute() for one argument.
|
| |
|
bool | execute (const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1) |
| | Overload of execute() for two arguments.
|
| |
|
bool | execute (const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2) |
| | Overload of execute() for three arguments.
|
| |
|
bool | execute (const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2, const PIVariantSimple &v3) |
| | Overload of execute() for four arguments.
|
| |
| bool | executeQueued (PIObject *performer, const PIString &method, const PIVector< PIVariantSimple > &vl) |
| | Queues execution of a registered method on the performer object. More...
|
| |
|
bool | executeQueued (PIObject *performer, const PIString &method) |
| | Overload of executeQueued() for a method without arguments.
|
| |
|
bool | executeQueued (PIObject *performer, const PIString &method, const PIVariantSimple &v0) |
| | Overload of executeQueued() for one argument.
|
| |
|
bool | executeQueued (PIObject *performer, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1) |
| | Overload of executeQueued() for two arguments.
|
| |
|
bool | executeQueued (PIObject *performer, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2) |
| | Overload of executeQueued() for three arguments.
|
| |
|
bool | executeQueued (PIObject *performer, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2, const PIVariantSimple &v3) |
| | Overload of executeQueued() for four arguments.
|
| |
|
void | dump (const PIString &line_prefix=PIString()) const |
| | Dumps object diagnostics to the project output stream.
|
| |
|
PIStringList | scopeList () const |
| | Returns the registered inheritance scope of this object, including its own class.
|
| |
|
PIStringList | methodsEH () const |
| | Returns full signatures of all registered event and handler methods for this class scope.
|
| |
|
bool | isMethodEHContains (const PIString &name) const |
| | Returns whether a registered event or handler method with this name exists.
|
| |
|
PIString | methodEHArguments (const PIString &name) const |
| | Returns the comma-separated argument type list of a registered method.
|
| |
|
PIString | methodEHFullFormat (const PIString &name) const |
| | Returns the full registered signature of a method.
|
| |
|
PIString | methodEHFromAddr (const void *addr) const |
| | Returns the registered method name for the specified entry-point address.
|
| |
|
void | piDisconnect (const PIString &sig, PIObject *dest, void *ev_h) |
| | Disconnects this source object from a specific destination handler for event "sig".
|
| |
|
void | piDisconnect (const PIString &sig, PIObject *dest) |
| | Disconnects this source object from all connections of event "sig" to destination object "dest".
|
| |
|
void | piDisconnect (const PIString &sig) |
| | Disconnects this source object from all connections of event "sig".
|
| |
|
bool | isPIObject () const |
| | Returns whether this pointer still refers to a live PIObject instance.
|
| |
|
template<typename T > |
| bool | isTypeOf () const |
| | Returns whether this object belongs to class "T" or one of its registered descendants.
|
| |
|
template<typename T > |
| T * | cast () const |
| | Returns this object cast to "T" when isTypeOf<T>() succeeds, otherwise nullptr.
|
| |
|
void | callQueuedEvents () |
| | Executes all queued deliveries posted to this performer object.
|
| |
| bool | maybeCallQueuedEvents () |
| | Executes queued deliveries only when this object was used as a performer. More...
|
| |
| void | deleteLater () |
| | Schedules the object for deferred deletion. More...
|
| |
| void | deleted (PIObject *o) |
| | Raised immediately before object destruction. More...
|
| |
|
| static BinLogInfo | getLogInfo (const PIString &path) |
| | Get binlog info and statistic. More...
|
| |
| static bool | cutBinLog (const BinLogInfo &src, const PIString &dst, int from, int to) |
| | Create new binlog from part of "src" with allowed IDs and "from" to "to" file position. More...
|
| |
| static bool | joinBinLogsSerial (const PIStringList &src, const PIString &dst, std::function< bool(const PIString &, PISystemTime)> progress=nullptr) |
| | Create new binlog from serial splitted binlogs "src". More...
|
| |
| static PIIODevice * | createFromFullPath (const PIString &full_path) |
| | Try to create new device by prefix, configure it with configureFromFullPath() and returns it. More...
|
| |
|
static PIIODevice * | createFromVariant (const PIVariantTypes::IODevice &d) |
| | Try to create new device by prefix, configure it with configureFromVariant() and returns it.
|
| |
|
static PIString | normalizeFullPath (const PIString &full_path) |
| | Returns normalized full-path representation for "full_path".
|
| |
|
static void | splitFullPath (PIString fpwm, PIString *full_path, DeviceMode *mode=0, DeviceOptions *opts=0) |
| | Splits full-path string into path, mode and options.
|
| |
|
static PIStringList | availablePrefixes () |
| | Returns fullPath prefixes of all registered devices.
|
| |
|
static PIStringList | availableClasses () |
| | Returns class names of all registered devices.
|
| |
|
static bool | execute (PIObject *o, const PIString &method, const PIVector< PIVariantSimple > &vl) |
| | Static convenience wrapper for execute().
|
| |
|
static bool | execute (PIObject *o, const PIString &method) |
| | Static overload of execute() without arguments.
|
| |
|
static bool | execute (PIObject *o, const PIString &method, const PIVariantSimple &v0) |
| | Static overload of execute() for one argument.
|
| |
|
static bool | execute (PIObject *o, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1) |
| | Static overload of execute() for two arguments.
|
| |
|
static bool | execute (PIObject *o, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2) |
| | Static overload of execute() for three arguments.
|
| |
|
static bool | execute (PIObject *o, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2, const PIVariantSimple &v3) |
| | Static overload of execute() for four arguments.
|
| |
|
static bool | executeQueued (PIObject *o, PIObject *performer, const PIString &method, const PIVector< PIVariantSimple > &vl) |
| | Static convenience wrapper for executeQueued().
|
| |
|
static bool | executeQueued (PIObject *o, PIObject *performer, const PIString &method) |
| | Static overload of executeQueued() without arguments.
|
| |
|
static bool | executeQueued (PIObject *o, PIObject *performer, const PIString &method, const PIVariantSimple &v0) |
| | Static overload of executeQueued() for one argument.
|
| |
|
static bool | executeQueued (PIObject *o, PIObject *performer, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1) |
| | Static overload of executeQueued() for two arguments.
|
| |
|
static bool | executeQueued (PIObject *o, PIObject *performer, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2) |
| | Static overload of executeQueued() for three arguments.
|
| |
|
static bool | executeQueued (PIObject *o, PIObject *performer, const PIString &method, const PIVariantSimple &v0, const PIVariantSimple &v1, const PIVariantSimple &v2, const PIVariantSimple &v3) |
| | Static overload of executeQueued() for four arguments.
|
| |
|
static PIObject::Connection | piConnect (PIObject *src, const PIString &sig, PIObject *dest_o, void *dest, void *ev_h, void *e_h, int args, const char *loc) |
| | Low-level direct connection helper behind the legacy CONNECT* macros.
|
| |
|
static PIObject::Connection | piConnectU (PIObject *src, const PIString &sig, PIObject *dest_o, void *dest, const PIString &hname, const char *loc, PIObject *performer=0) |
| | Low-level name-based connection helper behind CONNECTU() and CONNECTU_QUEUED().
|
| |
|
static PIObject::Connection | piConnectLS (PIObject *src, const PIString &sig, std::function< void()> *f, const char *loc) |
| | Low-level helper that connects an event to a lambda or functor wrapper.
|
| |
|
static void | piDisconnect (PIObject *src, const PIString &sig, PIObject *dest, void *ev_h) |
| | Disconnects source object "src" from a specific destination handler for event "sig".
|
| |
|
static void | piDisconnect (PIObject *src, const PIString &sig, PIObject *dest) |
| | Disconnects source object "src" from all connections of event "sig" to destination object "dest".
|
| |
|
static void | piDisconnect (PIObject *src, const PIString &sig) |
| | Disconnects source object "src" from all connections of event "sig".
|
| |
|
static void | raiseEvent (PIObject *sender, const uint eventID) |
| | Internal event delivery helper for registered events without arguments.
|
| |
|
template<typename T0 > |
| static void | raiseEvent (PIObject *sender, const uint eventID, const T0 &v0=T0()) |
| | Internal event delivery helper for registered events with one argument.
|
| |
|
template<typename T0 , typename T1 > |
| static void | raiseEvent (PIObject *sender, const uint eventID, const T0 &v0=T0(), const T1 &v1=T1()) |
| | Internal event delivery helper for registered events with two arguments.
|
| |
|
template<typename T0 , typename T1 , typename T2 > |
| static void | raiseEvent (PIObject *sender, const uint eventID, const T0 &v0=T0(), const T1 &v1=T1(), const T2 &v2=T2()) |
| | Internal event delivery helper for registered events with three arguments.
|
| |
|
template<typename T0 , typename T1 , typename T2 , typename T3 > |
| static void | raiseEvent (PIObject *sender, const uint eventID, const T0 &v0=T0(), const T1 &v1=T1(), const T2 &v2=T2(), const T3 &v3=T3()) |
| | Internal event delivery helper for registered events with four arguments.
|
| |
|
static PIObject * | findByName (const PIString &name) |
| | Returns the first live object with name "name", or nullptr.
|
| |
|
static bool | isPIObject (const PIObject *o) |
| | Returns whether "o" points to a live PIObject instance.
|
| |
|
static bool | isPIObject (const void *o) |
| | Overload of isPIObject() for an untyped pointer.
|
| |
|
template<typename T > |
| static bool | isTypeOf (const PIObject *o) |
| | Returns whether "o" belongs to class "T" or one of its registered descendants.
|
| |
|
template<typename T > |
| static bool | isTypeOf (const void *o) |
| | Overload of isTypeOf() for an untyped pointer.
|
| |
|
static PIString | simplifyType (const char *a, bool readable=true) |
| | Simplifies a C++ type spelling for registered-method metadata.
|
| |
|
| template<typename T > |
| T | readDeviceSetting (const PIString &name, const T &def, const PIConfig::Entry *em, const PIConfig::Entry *ep) |
| | Helper for reading device settings from configuration entries. More...
|
| |
| #define | REGISTER_DEVICE(class) |
| | Enable device instances creation with PIIODevice::createFromFullPath() function. More...
|
| |
| #define | PIIODEVICE(class, prefix) |
| | Use this macro instead of PIOBJECT when describe your own PIIODevice. More...
|
| |
|
#define | piCoutObj |
| | Macro used for conditional (piDebug && PIObject::debug()) output to PICout(StdOut) for subclasses of PIObject.
|
| |
|
#define | piCerrObj |
| | Macro used for conditional (piDebug && PIObject::debug()) output to PICout(StdErr) for subclasses of PIObject.
|
| |
|
#define | PIOBJECT(name) |
| | Put this macro inside a direct PIObject subclass definition to enable registered events, event handlers and class metadata.
|
| |
|
#define | PIOBJECT_SUBCLASS(name, parent) |
| | Put this macro inside a PIObject subclass definition to inherit registered methods and class scope from "parent".
|
| |
|
#define | EVENT_HANDLER0(ret, name) ret name() |
| | Declare a registered event handler method with signature ret name().
|
| |
|
#define | EVENT_HANDLER1(ret, name, type0, var0) ret name(type0 var0) |
| | Declare a registered event handler method with one argument.
|
| |
|
#define | EVENT_HANDLER2(ret, name, type0, var0, type1, var1) ret name(type0 var0, type1 var1) |
| | Declare a registered event handler method with two arguments.
|
| |
|
#define | EVENT_HANDLER3(ret, name, type0, var0, type1, var1, type2, var2) ret name(type0 var0, type1 var1, type2 var2) |
| | Declare a registered event handler method with three arguments.
|
| |
|
#define | EVENT_HANDLER4(ret, name, type0, var0, type1, var1, type2, var2, type3, var3) ret name(type0 var0, type1 var1, type2 var2, type3 var3) |
| | Declare a registered event handler method with four arguments.
|
| |
|
#define | EVENT_HANDLER EVENT_HANDLER0 |
| | Synonym of EVENT_HANDLER0.
|
| |
|
#define | EVENT_VHANDLER0(ret, name) virtual ret name() |
| | Declare a virtual registered event handler method with signature virtual ret name().
|
| |
|
#define | EVENT_VHANDLER1(ret, name, type0, var0) virtual ret name(type0 var0) |
| | Declare a virtual registered event handler method with one argument.
|
| |
|
#define | EVENT_VHANDLER2(ret, name, type0, var0, type1, var1) virtual ret name(type0 var0, type1 var1) |
| | Declare a virtual registered event handler method with two arguments.
|
| |
|
#define | EVENT_VHANDLER3(ret, name, type0, var0, type1, var1, type2, var2) virtual ret name(type0 var0, type1 var1, type2 var2) |
| | Declare a virtual registered event handler method with three arguments.
|
| |
|
#define | EVENT_VHANDLER4(ret, name, type0, var0, type1, var1, type2, var2, type3, var3) virtual ret name(type0 var0, type1 var1, type2 var2, type3 var3) |
| | Declare a virtual registered event handler method with four arguments.
|
| |
|
#define | EVENT_VHANDLER EVENT_VHANDLER0 |
| | Synonym of EVENT_VHANDLER0.
|
| |
|
#define | EVENT0(name) void name(); |
| | Declare an event method with no arguments.
|
| |
|
#define | EVENT1(name, type0, var0) void name(type0 var0); |
| | Declare an event method with one argument.
|
| |
|
#define | EVENT2(name, type0, var0, type1, var1) void name(type0 var0, type1 var1); |
| | Declare an event method with two arguments.
|
| |
|
#define | EVENT3(name, type0, var0, type1, var1, type2, var2) void name(type0 var0, type1 var1, type2 var2); |
| | Declare an event method with three arguments.
|
| |
|
#define | EVENT4(name, type0, var0, type1, var1, type2, var2, type3, var3) void name(type0 var0, type1 var1, type2 var2, type3 var3); |
| | Declare an event method with four arguments.
|
| |
|
#define | EVENT EVENT0 |
| | Synonym of EVENT0.
|
| |
|
#define | RAISE_EVENT0(src, event) |
| | Compatibility helper that raises event "event" on source object "src".
|
| |
|
#define | RAISE_EVENT1(src, event, v0) |
| | Compatibility helper that raises event "event" with one argument.
|
| |
|
#define | RAISE_EVENT2(src, event, v0, v1) |
| | Compatibility helper that raises event "event" with two arguments.
|
| |
|
#define | RAISE_EVENT3(src, event, v0, v1, v2) |
| | Compatibility helper that raises event "event" with three arguments.
|
| |
|
#define | RAISE_EVENT4(src, event, v0, v1, v2, v3) |
| | Compatibility helper that raises event "event" with four arguments.
|
| |
| #define | CONNECTU(src, event, dest, handler) |
| | Connect event "event" from object "src" to event handler or event "handler" of object "dest". More...
|
| |
| #define | CONNECTU_QUEUED(src, event, dest, handler, performer) |
| | Connect event "event" from object "src" to event handler or event "handler" of object "dest". More...
|
| |
| #define | CONNECTL(src, event, functor) |
| | Connect event "event" from object "src" to lambda-expression "functor". More...
|
| |
| #define | CONNECT0(ret, src, event, dest, handler) |
| | Legacy compatibility helper that connects an event to a registered handler with compile-time signature spelling. More...
|
| |
| #define | CONNECT1(ret, type0, src, event, dest, handler) |
| | Legacy compatibility helper for a one-argument registered event or handler. More...
|
| |
| #define | CONNECT2(ret, type0, type1, src, event, dest, handler) |
| | Legacy compatibility helper for a two-argument registered event or handler. More...
|
| |
| #define | CONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| | Legacy compatibility helper for a three-argument registered event or handler. More...
|
| |
| #define | CONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| | Legacy compatibility helper for a four-argument registered event or handler. More...
|
| |
| #define | CONNECT CONNECT0 |
| | Synonym of CONNECT0. More...
|
| |
| #define | WEAK_CONNECT0(ret, src, event, dest, handler) |
| | Legacy compatibility helper that skips source method verification. More...
|
| |
| #define | WEAK_CONNECT1(ret, type0, src, event, dest, handler) |
| | Legacy compatibility helper that skips source method verification for one argument. More...
|
| |
| #define | WEAK_CONNECT2(ret, type0, type1, src, event, dest, handler) |
| | Legacy compatibility helper that skips source method verification for two arguments. More...
|
| |
| #define | WEAK_CONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| | Legacy compatibility helper that skips source method verification for three arguments. More...
|
| |
| #define | WEAK_CONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| | Legacy compatibility helper that skips source method verification for four arguments. More...
|
| |
| #define | WEAK_CONNECT WEAK_CONNECT0 |
| | Synonym of WEAK_CONNECT0. More...
|
| |
|
#define | DISCONNECT0(ret, src, event, dest, handler) |
| | Disconnect a registered event from a registered event handler.
|
| |
|
#define | DISCONNECT1(ret, type0, src, event, dest, handler) |
| | Disconnect a one-argument registered event from a registered event handler.
|
| |
|
#define | DISCONNECT2(ret, type0, type1, src, event, dest, handler) |
| | Disconnect a two-argument registered event from a registered event handler.
|
| |
|
#define | DISCONNECT3(ret, type0, type1, type2, src, event, dest, handler) |
| | Disconnect a three-argument registered event from a registered event handler.
|
| |
|
#define | DISCONNECT4(ret, type0, type1, type2, type3, src, event, dest, handler) |
| | Disconnect a four-argument registered event from a registered event handler.
|
| |
|
#define | DISCONNECT DISCONNECT0 |
| | Synonym of DISCONNECT0.
|
| |
|
#define | HANDLER(handler) |
| | Low-level helper that expands to the registered handler entry point.
|
| |
Class for writing and reading binary data to/from log files, with support for playback in different modes.
Class for read and write binary data to logfile, and playback this data in realtime, or custom speed.
The PIBinaryLog class provides functionality to write binary data to log files and read/playback data from them. It supports multiple play modes including real-time, variable speed, and static delay modes. The class also supports splitting log files by size, time, or record count.
Synopsis
Binary Log is a file with simple header, where you can read and write some binary data. Any written data include special header with ID, size and timestamp. This header provides separation different messages from the one file by choosing different IDs. With filterID or special functions, like readBinLog() you can choose IDs what you want to read. With function writeBinLog() or setDefaultID() you can choose ID that mark you data. By default ID = 1, and filterID is empty, that mean you read any ID without filtering. ThreadedRead provide you playback data, with delay that you write data. You can choose different playbak modes by set PlayMode.
Basic usage
This class provide all functions of PIIODevice, such open(), close(), read() ,write(), and threaded read/write. function setLogDir() need to set directory for BinLog files function createNewFile() need to create new binlog file function restart() need start from the begining of binlog file