20.10.2013 - Modified PIObject - virtual debugName() for macro piCoutObj, improved timer measurements and timers on Windows
This commit is contained in:
32
piobject.h
32
piobject.h
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user