git-svn-id: svn://db.shs.com.ru/pip@836 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -89,26 +89,23 @@ endif()
|
|||||||
|
|
||||||
|
|
||||||
# Version
|
# Version
|
||||||
file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_OFFSET LIMIT 4 OFFSET 3)
|
macro(versionExtract _file _name _out _string)
|
||||||
file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_MAJOR LIMIT 1 OFFSET ${VERSION_OFFSET})
|
file(STRINGS "${_file}" line REGEX "#define[ \t]+${_name}.*")
|
||||||
file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_OFFSET LIMIT 4 OFFSET 7)
|
if (${_string})
|
||||||
file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_MINOR LIMIT 1 OFFSET ${VERSION_OFFSET})
|
string(REGEX MATCH "\".*\"" _str "${line}")
|
||||||
file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_OFFSET LIMIT 4 OFFSET 11)
|
string(LENGTH ${_str} _sl)
|
||||||
file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_REVISION LIMIT 1 OFFSET ${VERSION_OFFSET})
|
math(EXPR _sl "${_sl}-2")
|
||||||
file(STRINGS "${PIP_SRC_MAIN}/piversion.h" VERSION_SUFFIX REGEX "\".*\"")
|
string(SUBSTRING "${_str}" 1 ${_sl} ${_out})
|
||||||
string(REGEX MATCH "\".*\"" VERSION_SUFFIX ${VERSION_SUFFIX})
|
else()
|
||||||
string(LENGTH ${VERSION_SUFFIX} SL)
|
string(REGEX MATCH "[0-9]+" ${_out} "${line}")
|
||||||
math(EXPR SL "${SL}-2")
|
endif()
|
||||||
string(SUBSTRING ${VERSION_SUFFIX} 1 ${SL} VERSION_SUFFIX)
|
#message("found ${_name} = ${${_out}}")
|
||||||
string(LENGTH ${VERSION_MAJOR} SL)
|
endmacro()
|
||||||
math(EXPR SL "${SL}-1")
|
set(SHARED_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libs/shared")
|
||||||
string(SUBSTRING ${VERSION_MAJOR} 0 ${SL} VERSION_MAJOR)
|
versionExtract("${PIP_SRC_MAIN}/piversion.h" "PIP_VERSION_MAJOR" VERSION_MAJOR 0)
|
||||||
string(LENGTH ${VERSION_MINOR} SL)
|
versionExtract("${PIP_SRC_MAIN}/piversion.h" "PIP_VERSION_MINOR" VERSION_MINOR 0)
|
||||||
math(EXPR SL "${SL}-1")
|
versionExtract("${PIP_SRC_MAIN}/piversion.h" "PIP_VERSION_REVISION" VERSION_REVISION 0)
|
||||||
string(SUBSTRING ${VERSION_MINOR} 0 ${SL} VERSION_MINOR)
|
versionExtract("${PIP_SRC_MAIN}/piversion.h" "PIP_VERSION_SUFFIX" VERSION_SUFFIX 1)
|
||||||
string(LENGTH ${VERSION_REVISION} SL)
|
|
||||||
math(EXPR SL "${SL}-1")
|
|
||||||
string(SUBSTRING ${VERSION_REVISION} 0 ${SL} VERSION_REVISION)
|
|
||||||
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}")
|
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}")
|
||||||
set(SOVERSION ${VERSION})
|
set(SOVERSION ${VERSION})
|
||||||
set(_PIP_VERSION_CHANGED 0)
|
set(_PIP_VERSION_CHANGED 0)
|
||||||
|
|||||||
@@ -828,7 +828,12 @@ public:
|
|||||||
static PIMutex & __meta_mutex();
|
static PIMutex & __meta_mutex();
|
||||||
static PIMap<PIString, __MetaData> & __meta_data(); // [classname]=__MetaData
|
static PIMap<PIString, __MetaData> & __meta_data(); // [classname]=__MetaData
|
||||||
|
|
||||||
|
//! \brief Execute all posted events from CONNECTU_QUEUED connections
|
||||||
void callQueuedEvents();
|
void callQueuedEvents();
|
||||||
|
|
||||||
|
//! \brief Check if any CONNECTU_QUEUED connections to this object and execute them.
|
||||||
|
//! \details This function is more optimized than \a callQueuedEvents() for objects that doesn`t
|
||||||
|
//! appears as \"performer\" target at CONNECTU_QUEUED
|
||||||
bool maybeCallQueuedEvents() {if (proc_event_queue) callQueuedEvents(); return proc_event_queue;}
|
bool maybeCallQueuedEvents() {if (proc_event_queue) callQueuedEvents(); return proc_event_queue;}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
// 108 141 174 cmake version offset
|
|
||||||
#ifndef PIVERSION_H
|
#ifndef PIVERSION_H
|
||||||
#define PIVERSION_H
|
#define PIVERSION_H
|
||||||
|
|
||||||
#define PIP_VERSION_MAJOR 1
|
#define PIP_VERSION_MAJOR 1
|
||||||
#define PIP_VERSION_MINOR 9
|
#define PIP_VERSION_MINOR 10
|
||||||
#define PIP_VERSION_REVISION 2
|
#define PIP_VERSION_REVISION 0
|
||||||
#define PIP_VERSION_SUFFIX ""
|
#define PIP_VERSION_SUFFIX "_alpha"
|
||||||
|
|
||||||
#endif // PIVERSION_H
|
#endif // PIVERSION_H
|
||||||
|
|||||||
@@ -521,6 +521,7 @@ bool PITimer::isStopped() const {
|
|||||||
|
|
||||||
void PITimer::initFirst() {
|
void PITimer::initFirst() {
|
||||||
lockRun = false;
|
lockRun = false;
|
||||||
|
callEvents = true;
|
||||||
data_t = 0;
|
data_t = 0;
|
||||||
ret_func = 0;
|
ret_func = 0;
|
||||||
imp = 0;
|
imp = 0;
|
||||||
@@ -564,7 +565,7 @@ void PITimer::tickImp() {
|
|||||||
if (ret_func) ret_func(data_t, 1);
|
if (ret_func) ret_func(data_t, 1);
|
||||||
tick(data_t, 1);
|
tick(data_t, 1);
|
||||||
tickEvent(data_t, 1);
|
tickEvent(data_t, 1);
|
||||||
maybeCallQueuedEvents();
|
if (callEvents) maybeCallQueuedEvents();
|
||||||
piForeach (Delimiter & i, delims) {
|
piForeach (Delimiter & i, delims) {
|
||||||
if (i.delim > ++(i.tick)) continue;
|
if (i.delim > ++(i.tick)) continue;
|
||||||
i.tick = 0;
|
i.tick = 0;
|
||||||
|
|||||||
@@ -157,7 +157,15 @@ public:
|
|||||||
void needLockRun(bool need) {lockRun = need;}
|
void needLockRun(bool need) {lockRun = need;}
|
||||||
EVENT_HANDLER0(void, lock) {mutex_.lock();}
|
EVENT_HANDLER0(void, lock) {mutex_.lock();}
|
||||||
EVENT_HANDLER0(void, unlock) {mutex_.unlock();}
|
EVENT_HANDLER0(void, unlock) {mutex_.unlock();}
|
||||||
|
|
||||||
|
//! \brief Returns if timer should exec \a maybeCallQueuedEvents() at every tick.
|
||||||
|
//! By default \b true
|
||||||
|
bool isCallQueuedEvents() const {return callEvents;}
|
||||||
|
|
||||||
|
//! \brief If set timer exec \a maybeCallQueuedEvents() at every tick.
|
||||||
|
//! By default \b true
|
||||||
|
void setCallQueuedEvents(bool yes) {callEvents = yes;}
|
||||||
|
|
||||||
//! \brief Add frequency delimiter \b delim with optional delimiter slot \b slot.
|
//! \brief Add frequency delimiter \b delim with optional delimiter slot \b slot.
|
||||||
void addDelimiter(int delim, TimerEvent slot = 0) {delims << Delimiter(slot, delim);}
|
void addDelimiter(int delim, TimerEvent slot = 0) {delims << Delimiter(slot, delim);}
|
||||||
|
|
||||||
@@ -233,7 +241,7 @@ protected:
|
|||||||
virtual void tick(void * data_, int delimiter) {}
|
virtual void tick(void * data_, int delimiter) {}
|
||||||
|
|
||||||
void * data_t;
|
void * data_t;
|
||||||
volatile bool lockRun;
|
volatile bool lockRun, callEvents;
|
||||||
PIMutex mutex_;
|
PIMutex mutex_;
|
||||||
TimerEvent ret_func;
|
TimerEvent ret_func;
|
||||||
TimerImplementation imp_mode;
|
TimerImplementation imp_mode;
|
||||||
|
|||||||
Reference in New Issue
Block a user