Commit 56368c31 authored by Pavel Vainerman's avatar Pavel Vainerman

Исправил давнюю ошибку 'disactivate' --> 'deactivate'.

Это изменение ломает все проекты собранные раньше! Т.к. это виртуальная функция, которая переопределяется в наследуемых классах, то если не переименовать, работать ничего не будет..
parent 465d626e
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
Name: libuniset2 Name: libuniset2
Version: 2.0 Version: 2.0
Release: alt1 Release: alt2
Summary: UniSet - library for building distributed industrial control systems Summary: UniSet - library for building distributed industrial control systems
...@@ -333,6 +333,9 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname ...@@ -333,6 +333,9 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname
%exclude %_pkgconfigdir/libUniSet2.pc %exclude %_pkgconfigdir/libUniSet2.pc
%changelog %changelog
* Thu Feb 20 2014 Pavel Vainerman <pv@altlinux.ru> 2.0-alt2
- rename 'disactivate' --> 'deactivate'
* Wed Feb 19 2014 Pavel Vainerman <pv@altlinux.ru> 2.0-alt1 * Wed Feb 19 2014 Pavel Vainerman <pv@altlinux.ru> 2.0-alt1
- add ModbusMultiSlave (multithreaded modbus slave server) - add ModbusMultiSlave (multithreaded modbus slave server)
......
...@@ -737,9 +737,9 @@ bool MBSlave::activateObject() ...@@ -737,9 +737,9 @@ bool MBSlave::activateObject()
return true; return true;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
bool MBSlave::disactivateObject() bool MBSlave::deactivateObject()
{ {
dinfo << myname << "(disactivateObject): ..." << endl; dinfo << myname << "(deactivateObject): ..." << endl;
activated = false; activated = false;
cancelled = true; cancelled = true;
...@@ -750,7 +750,7 @@ bool MBSlave::disactivateObject() ...@@ -750,7 +750,7 @@ bool MBSlave::disactivateObject()
} }
catch(...){} catch(...){}
return UniSetObject_LT::disactivateObject(); return UniSetObject_LT::deactivateObject();
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void MBSlave::sigterm( int signo ) void MBSlave::sigterm( int signo )
......
...@@ -144,7 +144,7 @@ class MBSlave: ...@@ -144,7 +144,7 @@ class MBSlave:
virtual void execute_tcp(); virtual void execute_tcp();
virtual bool activateObject() override; virtual bool activateObject() override;
virtual bool disactivateObject() override; virtual bool deactivateObject() override;
// действия при завершении работы // действия при завершении работы
virtual void sigterm( int signo ) override; virtual void sigterm( int signo ) override;
......
...@@ -302,7 +302,7 @@ void MBTCPMultiSlave::initIterators() ...@@ -302,7 +302,7 @@ void MBTCPMultiSlave::initIterators()
i.second.initIterators(shm); i.second.initIterators(shm);
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
bool MBTCPMultiSlave::disactivateObject() bool MBTCPMultiSlave::deactivateObject()
{ {
if( mbslot ) if( mbslot )
{ {
...@@ -311,7 +311,7 @@ bool MBTCPMultiSlave::disactivateObject() ...@@ -311,7 +311,7 @@ bool MBTCPMultiSlave::disactivateObject()
sslot->sigterm(SIGTERM); sslot->sigterm(SIGTERM);
} }
return MBSlave::disactivateObject(); return MBSlave::deactivateObject();
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
void MBTCPMultiSlave::sigterm( int signo ) void MBTCPMultiSlave::sigterm( int signo )
......
...@@ -35,7 +35,7 @@ class MBTCPMultiSlave: ...@@ -35,7 +35,7 @@ class MBTCPMultiSlave:
protected: protected:
virtual void execute_tcp() override; virtual void execute_tcp() override;
virtual void initIterators() override; virtual void initIterators() override;
virtual bool disactivateObject() override; virtual bool deactivateObject() override;
virtual void sigterm( int signo ) override; virtual void sigterm( int signo ) override;
timeout_t sessTimeout; /*!< таймаут на сессию */ timeout_t sessTimeout; /*!< таймаут на сессию */
......
...@@ -189,7 +189,7 @@ class IOController: ...@@ -189,7 +189,7 @@ class IOController:
protected: protected:
// переопределяем для добавления вызова регистрации датчиков // переопределяем для добавления вызова регистрации датчиков
virtual bool disactivateObject() override; virtual bool deactivateObject() override;
virtual bool activateObject() override; virtual bool activateObject() override;
/*! Начальная инициализация (выставление значений) */ /*! Начальная инициализация (выставление значений) */
......
...@@ -53,7 +53,7 @@ class ProxyManager: ...@@ -53,7 +53,7 @@ class ProxyManager:
virtual void allMessage( UniSetTypes::VoidMessage* msg ); virtual void allMessage( UniSetTypes::VoidMessage* msg );
virtual bool activateObject(); virtual bool activateObject();
virtual bool disactivateObject(); virtual bool deactivateObject();
private: private:
typedef std::map<UniSetTypes::ObjectId, PassiveObject*> PObjectMap; typedef std::map<UniSetTypes::ObjectId, PassiveObject*> PObjectMap;
......
...@@ -21,10 +21,10 @@ ...@@ -21,10 +21,10 @@
* \brief Реализация интерфейса менеджера объектов. * \brief Реализация интерфейса менеджера объектов.
* \author Pavel Vainerman * \author Pavel Vainerman
*/ */
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
#ifndef UniSetManager_H_ #ifndef UniSetManager_H_
#define UniSetManager_H_ #define UniSetManager_H_
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
#include <omniORB4/CORBA.h> #include <omniORB4/CORBA.h>
#include "UniSetTypes.h" #include "UniSetTypes.h"
#include "UniSetObject.h" #include "UniSetObject.h"
...@@ -33,27 +33,27 @@ ...@@ -33,27 +33,27 @@
class UniSetActivator; class UniSetActivator;
class UniSetManager; class UniSetManager;
typedef std::list<UniSetManager*> UniSetManagerList; typedef std::list<UniSetManager*> UniSetManagerList;
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
/*! \class UniSetManager /*! \class UniSetManager
* \par * \par
* Содержит в себе функции управления объектами. Их регистрации и т.п. * Содержит в себе функции управления объектами. Их регистрации и т.п.
* Создается менеджер объектов, после чего вызывается initObjects() * Создается менеджер объектов, после чего вызывается initObjects()
* для инициализации объектов которыми управляет * для инициализации объектов которыми управляет
* данный менеджер... * данный менеджер...
* Менеджер в свою очередь сам является объектом и обладает всеми его свойствами * Менеджер в свою очередь сам является объектом и обладает всеми его свойствами
* *
* Для пересылки сообщения всем подчиненным объектам используется * Для пересылки сообщения всем подчиненным объектам используется
* функция UniSetManager::broadcast(const TransportMessage& msg) * функция UniSetManager::broadcast(const TransportMessage& msg)
* \par * \par
* У базового менеджера имеются базовые три функции см. UniSetManager_i. * У базового менеджера имеются базовые три функции см. UniSetManager_i.
* \note Только при вызове функции UniSetManager::broadcast() происходит * \note Только при вызове функции UniSetManager::broadcast() происходит
* формирование сообщения всем подчиненным объектам... Если команда проиходит * формирование сообщения всем подчиненным объектам... Если команда проиходит
* при помощи push, то пересылки всем починённым объектам не происходит... * при помощи push, то пересылки всем починённым объектам не происходит...
* *
* *
*/ */
class UniSetManager: class UniSetManager:
public UniSetObject, public UniSetObject,
public POA_UniSetManager_i public POA_UniSetManager_i
{ {
...@@ -77,16 +77,16 @@ class UniSetManager: ...@@ -77,16 +77,16 @@ class UniSetManager:
virtual bool addManager( UniSetManager *mngr ); virtual bool addManager( UniSetManager *mngr );
virtual bool removeManager( UniSetManager *mngr ); virtual bool removeManager( UniSetManager *mngr );
/*! Получение доступа к подчиненному менеджеру по идентификатору /*! Получение доступа к подчиненному менеджеру по идентификатору
* \return объект ненайден будет возвращен 0. * \return объект ненайден будет возвращен 0.
*/ */
const UniSetManager* itemM(const UniSetTypes::ObjectId id); const UniSetManager* itemM(const UniSetTypes::ObjectId id);
/*! Получение доступа к подчиненному объекту по идентификатору /*! Получение доступа к подчиненному объекту по идентификатору
* \return объект ненайден будет возвращен 0. * \return объект ненайден будет возвращен 0.
*/ */
const UniSetObject* itemO( const UniSetTypes::ObjectId id ); const UniSetObject* itemO( const UniSetTypes::ObjectId id );
...@@ -130,17 +130,17 @@ class UniSetManager: ...@@ -130,17 +130,17 @@ class UniSetManager:
virtual void sigterm( int signo ) override; virtual void sigterm( int signo ) override;
//! \note Переопределяя не забывайте вызвать базовую //! \note Переопределяя не забывайте вызвать базовую
virtual bool activateObject() override; virtual bool activateObject() override;
//! \note Переопределяя не забывайте вызвать базовую //! \note Переопределяя не забывайте вызвать базовую
virtual bool disactivateObject() override; virtual bool deactivateObject() override;
typedef UniSetManagerList::iterator MListIterator; typedef UniSetManagerList::iterator MListIterator;
int getObjectsInfo( UniSetManager* mngr, UniSetTypes::SimpleInfoSeq* seq, int getObjectsInfo( UniSetManager* mngr, UniSetTypes::SimpleInfoSeq* seq,
int begin, const long uplimit ); int begin, const long uplimit );
PortableServer::POA_var poa; PortableServer::POA_var poa;
PortableServer::POAManager_var pman; PortableServer::POAManager_var pman;
private: private:
......
...@@ -55,17 +55,17 @@ typedef std::list<UniSetObject *> ObjectsList; /*!< Список подчи ...@@ -55,17 +55,17 @@ typedef std::list<UniSetObject *> ObjectsList; /*!< Список подчи
* Класс задает такие свойства объекта как: получение сообщений, помещение сообщения в очередь и т.п. * Класс задает такие свойства объекта как: получение сообщений, помещение сообщения в очередь и т.п.
* Для ожидания сообщений используется функция waitMessage(), основанная на таймере. * Для ожидания сообщений используется функция waitMessage(), основанная на таймере.
* Ожидание прерывается либо по истечении указанного времени, либо по приходу сообщения, при помощи функциии * Ожидание прерывается либо по истечении указанного времени, либо по приходу сообщения, при помощи функциии
* termWaiting() вызываемой из push(). * termWaiting() вызываемой из push().
* \note Если не будет задан ObjectId(-1), то поток обработки запущен не будет. * \note Если не будет задан ObjectId(-1), то поток обработки запущен не будет.
* Также создание потока можно принудительно отключить при помощи функции void thread(). Ее необходимо вызвать до активации объекта * Также создание потока можно принудительно отключить при помощи функции void thread(). Ее необходимо вызвать до активации объекта
* (например в конструкторе). При этом ответственность за вызов receiveMessage() и processingMessage() возлагается * (например в конструкторе). При этом ответственность за вызов receiveMessage() и processingMessage() возлагается
* на разработчика. * на разработчика.
*/ */
class UniSetObject: class UniSetObject:
public POA_UniSetObject_i public POA_UniSetObject_i
{ {
public: public:
UniSetObject(const std::string& name, const std::string& section); UniSetObject(const std::string& name, const std::string& section);
UniSetObject(UniSetTypes::ObjectId id); UniSetObject(UniSetTypes::ObjectId id);
UniSetObject(); UniSetObject();
virtual ~UniSetObject(); virtual ~UniSetObject();
...@@ -112,7 +112,7 @@ class UniSetObject: ...@@ -112,7 +112,7 @@ class UniSetObject:
std::string section; std::string section;
//! Дизактивизация объекта (переопределяется для необходимых действий перед деактивацией) //! Дизактивизация объекта (переопределяется для необходимых действий перед деактивацией)
virtual bool disactivateObject(){return true;} virtual bool deactivateObject(){return true;}
//! Активизация объекта (переопределяется для необходимых действий после активизации) //! Активизация объекта (переопределяется для необходимых действий после активизации)
virtual bool activateObject(){return true;} virtual bool activateObject(){return true;}
...@@ -129,11 +129,11 @@ class UniSetObject: ...@@ -129,11 +129,11 @@ class UniSetObject:
/*! Функция вызываемая при приходе сигнала завершения или прерывания процесса. Переопределив ее можно /*! Функция вызываемая при приходе сигнала завершения или прерывания процесса. Переопределив ее можно
* выполнять специфичные для процесса действия по обработке сигнала. * выполнять специфичные для процесса действия по обработке сигнала.
* Например переход в безопасное состояние. * Например переход в безопасное состояние.
* \warning В обработчике сигналов \b ЗАПРЕЩЕНО вызывать функции подобные exit(..), abort()!!!! * \warning В обработчике сигналов \b ЗАПРЕЩЕНО вызывать функции подобные exit(..), abort()!!!!
*/ */
virtual void sigterm( int signo ){}; virtual void sigterm( int signo ){};
inline void terminate(){ disactivate(); } inline void terminate(){ deactivate(); }
/*! Ожидать сообщения timeMS */ /*! Ожидать сообщения timeMS */
virtual bool waitMessage(UniSetTypes::VoidMessage& msg, timeout_t timeMS=UniSetTimer::WaitUpTime); virtual bool waitMessage(UniSetTypes::VoidMessage& msg, timeout_t timeMS=UniSetTimer::WaitUpTime);
...@@ -161,10 +161,10 @@ class UniSetObject: ...@@ -161,10 +161,10 @@ class UniSetObject:
// функция определения приоритетного сообщения для обработки // функция определения приоритетного сообщения для обработки
struct PriorVMsgCompare: struct PriorVMsgCompare:
public std::binary_function<UniSetTypes::VoidMessage, UniSetTypes::VoidMessage, bool> public std::binary_function<UniSetTypes::VoidMessage, UniSetTypes::VoidMessage, bool>
{ {
bool operator()(const UniSetTypes::VoidMessage& lhs, bool operator()(const UniSetTypes::VoidMessage& lhs,
const UniSetTypes::VoidMessage& rhs) const; const UniSetTypes::VoidMessage& rhs) const;
}; };
typedef std::priority_queue<UniSetTypes::VoidMessage,std::vector<UniSetTypes::VoidMessage>,PriorVMsgCompare> MessagesQueue; typedef std::priority_queue<UniSetTypes::VoidMessage,std::vector<UniSetTypes::VoidMessage>,PriorVMsgCompare> MessagesQueue;
...@@ -172,7 +172,7 @@ class UniSetObject: ...@@ -172,7 +172,7 @@ class UniSetObject:
/*! Вызывается при переполнеии очереди сообщений (в двух местах push и receive) /*! Вызывается при переполнеии очереди сообщений (в двух местах push и receive)
для очитски очереди. для очитски очереди.
\warning По умолчанию удаляет из очереди все повторяющиеся \warning По умолчанию удаляет из очереди все повторяющиеся
- SensorMessage - SensorMessage
- TimerMessage - TimerMessage
- SystemMessage - SystemMessage
...@@ -189,7 +189,7 @@ class UniSetObject: ...@@ -189,7 +189,7 @@ class UniSetObject:
inline void setActive( bool set ){ active = set; } inline void setActive( bool set ){ active = set; }
UniSetTypes::VoidMessage msg; UniSetTypes::VoidMessage msg;
UniSetManager* mymngr; UniSetManager* mymngr;
void setThreadPriority( int p ); void setThreadPriority( int p );
...@@ -204,11 +204,11 @@ class UniSetObject: ...@@ -204,11 +204,11 @@ class UniSetObject:
} }
/*! функция потока */ /*! функция потока */
void work(); void work();
//! Инициализация параметров объекта //! Инициализация параметров объекта
bool init(UniSetManager* om); bool init(UniSetManager* om);
//! Прямая деактивизация объекта //! Прямая деактивизация объекта
bool disactivate(); bool deactivate();
//! Непосредственная активизация объекта //! Непосредственная активизация объекта
bool activate(); bool activate();
/* регистрация в репозитории объектов */ /* регистрация в репозитории объектов */
...@@ -242,7 +242,7 @@ class UniSetObject: ...@@ -242,7 +242,7 @@ class UniSetObject:
/*! сколько сообщений удалять при очисте*/ /*! сколько сообщений удалять при очисте*/
unsigned int MaxCountRemoveOfMessage; unsigned int MaxCountRemoveOfMessage;
// статистическая информация // статистическая информация
unsigned long stMaxQueueMessages; /*<! Максимальное число сообщений хранившихся в очереди */ unsigned long stMaxQueueMessages; /*<! Максимальное число сообщений хранившихся в очереди */
unsigned long stCountOfQueueFull; /*! количество переполнений очереди сообщений */ unsigned long stCountOfQueueFull; /*! количество переполнений очереди сообщений */
}; };
......
...@@ -112,7 +112,7 @@ bool ProxyManager::activateObject() ...@@ -112,7 +112,7 @@ bool ProxyManager::activateObject()
return ret; return ret;
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
bool ProxyManager::disactivateObject() bool ProxyManager::deactivateObject()
{ {
for( PObjectMap::const_iterator it=omap.begin();it!=omap.end();++it ) for( PObjectMap::const_iterator it=omap.begin();it!=omap.end();++it )
{ {
...@@ -126,7 +126,7 @@ bool ProxyManager::disactivateObject() ...@@ -126,7 +126,7 @@ bool ProxyManager::disactivateObject()
} }
} }
return UniSetObject::disactivateObject(); return UniSetObject::deactivateObject();
} }
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
void ProxyManager::processingMessage( UniSetTypes::VoidMessage *msg ) void ProxyManager::processingMessage( UniSetTypes::VoidMessage *msg )
......
...@@ -250,16 +250,16 @@ void UniSetActivator::run(bool thread) ...@@ -250,16 +250,16 @@ void UniSetActivator::run(bool thread)
*/ */
void UniSetActivator::stop() void UniSetActivator::stop()
{ {
// uniset_mutex_lock l(disactivateMutex, 500); // uniset_mutex_lock l(deactivateMutex, 500);
if( active ) if( active )
{ {
active=false; active=false;
ulogsys << myname << "(stop): disactivate... "<< endl; ulogsys << myname << "(stop): deactivate... "<< endl;
disactivate(); deactivate();
ulogsys << myname << "(stop): disactivate ok. "<<endl; ulogsys << myname << "(stop): deactivate ok. "<<endl;
ulogsys << myname << "(stop): discard request..."<< endl; ulogsys << myname << "(stop): discard request..."<< endl;
pman->discard_requests(true); pman->discard_requests(true);
......
...@@ -170,7 +170,7 @@ bool UniSetManager::removeObject( UniSetObject* obj ) ...@@ -170,7 +170,7 @@ bool UniSetManager::removeObject( UniSetObject* obj )
uinfo << myname << "(activator): удаляем объект "<< obj->getName()<< endl; uinfo << myname << "(activator): удаляем объект "<< obj->getName()<< endl;
try try
{ {
obj->disactivate(); obj->deactivate();
} }
catch(Exception& ex) catch(Exception& ex)
{ {
...@@ -224,7 +224,7 @@ void UniSetManager::managers( OManagerCommand cmd ) ...@@ -224,7 +224,7 @@ void UniSetManager::managers( OManagerCommand cmd )
break; break;
case deactiv: case deactiv:
li->disactivate(); li->deactivate();
break; break;
case term: case term:
...@@ -284,7 +284,7 @@ void UniSetManager::objects(OManagerCommand cmd) ...@@ -284,7 +284,7 @@ void UniSetManager::objects(OManagerCommand cmd)
break; break;
case deactiv: case deactiv:
li->disactivate(); li->deactivate();
break; break;
case term: case term:
...@@ -338,9 +338,9 @@ bool UniSetManager::activateObject() ...@@ -338,9 +338,9 @@ bool UniSetManager::activateObject()
* Удаление объекта и всех его подобъектов из репозитория. * Удаление объекта и всех его подобъектов из репозитория.
* \note Объект становится недоступен другим процессам * \note Объект становится недоступен другим процессам
*/ */
bool UniSetManager::disactivateObject() bool UniSetManager::deactivateObject()
{ {
uinfo << myname << "(disactivateObjects): деактивизирую объекты"<< endl; uinfo << myname << "(deactivateObjects): деактивизирую объекты"<< endl;
// именно в такой последовательности! // именно в такой последовательности!
objects(deactiv); objects(deactiv);
managers(deactiv); managers(deactiv);
......
...@@ -134,7 +134,7 @@ stCountOfQueueFull(0) ...@@ -134,7 +134,7 @@ stCountOfQueueFull(0)
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
UniSetObject::~UniSetObject() UniSetObject::~UniSetObject()
{ {
disactivate(); deactivate();
tmr->terminate(); tmr->terminate();
...@@ -608,13 +608,13 @@ unsigned int UniSetObject::countMessages() ...@@ -608,13 +608,13 @@ unsigned int UniSetObject::countMessages()
} }
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
bool UniSetObject::disactivate() bool UniSetObject::deactivate()
{ {
if( !isActive() ) if( !isActive() )
{ {
try try
{ {
disactivateObject(); deactivateObject();
} }
catch(...){} catch(...){}
return true; return true;
...@@ -632,14 +632,14 @@ bool UniSetObject::disactivate() ...@@ -632,14 +632,14 @@ bool UniSetObject::disactivate()
try try
{ {
uinfo << myname << "(disactivate): ..." << endl; uinfo << myname << "(deactivate): ..." << endl;
PortableServer::POA_var poamngr = mymngr->getPOA(); PortableServer::POA_var poamngr = mymngr->getPOA();
if( !PortableServer::POA_Helper::is_nil(poamngr) ) if( !PortableServer::POA_Helper::is_nil(poamngr) )
{ {
try try
{ {
disactivateObject(); deactivateObject();
} }
catch(...){} catch(...){}
...@@ -649,27 +649,27 @@ bool UniSetObject::disactivate() ...@@ -649,27 +649,27 @@ bool UniSetObject::disactivate()
uinfo << myname << "(disacivate): finished..." << endl; uinfo << myname << "(disacivate): finished..." << endl;
return true; return true;
} }
uwarn << myname << "(disactivate): manager already destroyed.." << endl; uwarn << myname << "(deactivate): manager already destroyed.." << endl;
} }
catch(CORBA::TRANSIENT) catch(CORBA::TRANSIENT)
{ {
uwarn << myname << "(disactivate): isExist: нет связи..."<< endl; uwarn << myname << "(deactivate): isExist: нет связи..."<< endl;
} }
catch( CORBA::SystemException& ex ) catch( CORBA::SystemException& ex )
{ {
uwarn << myname << "(disactivate): " << "поймали CORBA::SystemException: " << ex.NP_minorString() << endl; uwarn << myname << "(deactivate): " << "поймали CORBA::SystemException: " << ex.NP_minorString() << endl;
} }
catch(CORBA::Exception& ex) catch(CORBA::Exception& ex)
{ {
uwarn << myname << "(disactivate): " << "поймали CORBA::Exception." << endl; uwarn << myname << "(deactivate): " << "поймали CORBA::Exception." << endl;
} }
catch(Exception& ex) catch(Exception& ex)
{ {
uwarn << myname << "(disactivate): " << ex << endl; uwarn << myname << "(deactivate): " << ex << endl;
} }
catch(...) catch(...)
{ {
uwarn << myname << "(disactivate): " << " catch ..." << endl; uwarn << myname << "(deactivate): " << " catch ..." << endl;
} }
return false; return false;
......
...@@ -71,10 +71,10 @@ bool IOController::activateObject() ...@@ -71,10 +71,10 @@ bool IOController::activateObject()
return res; return res;
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
bool IOController::disactivateObject() bool IOController::deactivateObject()
{ {
sensorsUnregistration(); sensorsUnregistration();
return UniSetManager::disactivateObject(); return UniSetManager::deactivateObject();
} }
// ------------------------------------------------------------------------------------------ // ------------------------------------------------------------------------------------------
void IOController::sensorsUnregistration() void IOController::sensorsUnregistration()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment