20.10.2013 - Modified PIObject - virtual debugName() for macro piCoutObj, improved timer measurements and timers on Windows

This commit is contained in:
peri4
2013-10-20 17:41:55 +04:00
parent 0f1b528ac6
commit ec5530053a
32 changed files with 2196 additions and 1331 deletions

View File

@@ -164,7 +164,7 @@
#else
#define PIOBJECT(obj) typedef obj __PIObject__;
#define PIOBJECT(obj) typedef obj __PIObject__; public: virtual const char * debugName() const {return #obj;} private:
#define EVENT_HANDLER0(ret, name) static ret __stat_eh_##name##__(void * o) {return ((__PIObject__*)o)->name();} ret name()
#define EVENT_HANDLER1(ret, name, a0, n0) static ret __stat_eh_##name##__(void * o, a0 n0) {return ((__PIObject__*)o)->name(n0);} ret name(a0 n0)
@@ -243,11 +243,11 @@ typedef void (*Handler)(void * );
*
* Example: \snippet piobject.cpp main
* Result:
* \code{.cpp}
* handler B: 2 , 0.5
* handler A: event to handler
* handler A: event to event
* \endcode
\code{.cpp}
handler B: 2 , 0.5
handler A: event to handler
handler A: event to event
\endcode
*/
class PIP_EXPORT PIObject
{
@@ -255,20 +255,30 @@ class PIP_EXPORT PIObject
public:
//! Contructs PIObject with name "name"
PIObject(const PIString & name = PIString()) {piMonitor.objects++; setName(name); objects << this; debug_ = true;}
PIObject(const PIString & name = PIString()) {piMonitor.objects++; setName(name); dname_ = "PIObject"; objects << this; debug_ = true;}
~PIObject() {piMonitor.objects--; objects.removeAll(this);}
//! Returns object name
const PIString & name() const {return name_;}
//! Set object name
void setName(const PIString & name) {name_ = name;}
//! Returns object class name for debug
virtual const char * debugName() const {return dname_.data();}
//! Return if debug of this object is active
bool debug() const {return debug_;}
//! Set object name
void setName(const PIString & name) {name_ = name;}
//! Set object debug active
void setDebugName(const PIString & name) {dname_ = name;}
//! Set object debug active
void setDebug(bool debug) {debug_ = debug;}
/*
PIStringList events();
PIStringList eventHandlers();
@@ -483,7 +493,7 @@ public:
}
protected:
PIString name_;
PIString name_, dname_;
bool debug_;
private: