3.10.2013 - PIPeer release, PIConsole now can work as server and remote client. Remote console test program in directory "remote_console"
This commit is contained in:
23
piobject.h
23
piobject.h
@@ -253,11 +253,22 @@ class PIP_EXPORT PIObject
|
||||
{
|
||||
friend class PIObjectManager;
|
||||
public:
|
||||
PIObject(const PIString & name = PIString()) {piMonitor.objects++; setName(name); objects << this;}
|
||||
|
||||
//! Contructs PIObject with name "name"
|
||||
PIObject(const PIString & name = PIString()) {piMonitor.objects++; setName(name); 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;}
|
||||
|
||||
//! Return if debug of this object is active
|
||||
bool debug() const {return debug_;}
|
||||
|
||||
//! Set object debug active
|
||||
void setDebug(bool debug) {debug_ = debug;}
|
||||
/*
|
||||
PIStringList events();
|
||||
PIStringList eventHandlers();
|
||||
@@ -307,6 +318,11 @@ public:
|
||||
// / Direct connect
|
||||
static void piConnect(PIObject * src, const PIString & sig, void * dest, void * ev_h) {src->connections << Connection(ev_h, 0, sig, dest);}
|
||||
static void piConnect(PIObject * src, const PIString & sig, void * dest, void * ev_h, void * e_h) {src->connections << Connection(ev_h, e_h, sig, dest);}
|
||||
|
||||
static void piConnect(const PIString & src, const PIString & sig, void * dest, void * ev_h);
|
||||
static void piConnect(PIObject * src, const PIString & sig, const PIString & dest, void * ev_h);
|
||||
static void piConnect(const PIString & src, const PIString & sig, const PIString & dest, void * ev_h);
|
||||
|
||||
static void piDisconnect(PIObject * src, const PIString & sig, void * dest, void * ev_h) {
|
||||
for (int i = 0; i < src->connections.size_s(); ++i) {
|
||||
Connection & cc(src->connections[i]);
|
||||
@@ -325,6 +341,8 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//! Disconnect object "src" from all connections with event name "sig"
|
||||
static void piDisconnect(PIObject * src, const PIString & sig) {
|
||||
for (int i = 0; i < src->connections.size_s(); ++i) {
|
||||
Connection & cc(src->connections[i]);
|
||||
@@ -334,6 +352,8 @@ public:
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//! Disconnect object "src" from all connections, i.e. all connections where object "src" is emitter
|
||||
static void piDisconnect(PIObject * src) {src->connections.clear();}
|
||||
//static void piConnect(PIObject & src, const PIString & sig, PIObject * dest, void * ev_h) {src.connections << Connection(ev_h, sig, dest);}
|
||||
//static void piConnect(PIObject * src, const PIString & sig, PIObject & dest, void * ev_h) {src->connections << Connection(ev_h, sig, &dest);}
|
||||
@@ -464,6 +484,7 @@ public:
|
||||
|
||||
protected:
|
||||
PIString name_;
|
||||
bool debug_;
|
||||
|
||||
private:
|
||||
struct Connection {
|
||||
|
||||
Reference in New Issue
Block a user