piethernet

git-svn-id: svn://db.shs.com.ru/pip@38 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
2015-03-20 14:05:31 +00:00
parent 94b4870d94
commit f89764d6bc
20 changed files with 283 additions and 42 deletions

View File

@@ -27,7 +27,7 @@
class PIP_EXPORT PICLI: public PIObject
{
PIOBJECT(PICLI)
PIOBJECT_SUBCLASS(PICLI, PIObject)
public:
//! Constructor

View File

@@ -290,6 +290,7 @@ void PIObject::piDisconnect(PIObject * src, const PIString & sig) {
void PIObject::piDisconnect(PIObject * src) {
src->deleted();
PIMutexLocker _ml(src->mutex_connect);
PIVector<PIObject * > cv = src->connectors.toVector();
piForeach (PIObject * o, cv) {

View File

@@ -412,6 +412,7 @@ class PIP_EXPORT PIObject
{
friend class PIObjectManager;
friend void dumpApplication();
typedef PIObject __PIObject__;
public:
//! Contructs PIObject with name "name"
@@ -689,7 +690,19 @@ protected:
virtual void propertyChanged(const PIString & name) {}
static const PIString __classNameS() {return PIString();} \
static const PIString __classNameS() {return PIString("PIObject");}
EVENT(deleted)
//! \events
//! \{
/** \fn void deleted()
* \brief Raise before object delete
* \note This event raised from destructor, so use only emitter() value,
* don`t try to cast deleted object to some subclass! */
//! \}
private:
struct Connection {

View File

@@ -75,7 +75,7 @@
template <typename Type = int>
class PIP_EXPORT PIStateMachine: public PIObject
{
PIOBJECT(PIStateMachine)
PIOBJECT_SUBCLASS(PIStateMachine, PIObject)
public:
//! Constructs an empty state machine
PIStateMachine(void * _parent = 0) {if (_parent == 0) parent_ = this; else parent_ = _parent; resetConditions();}