PIMap some doc
This commit is contained in:
@@ -613,7 +613,8 @@ public:
|
|||||||
|
|
||||||
//! \~english Returns a reverse iterator to the element.
|
//! \~english Returns a reverse iterator to the element.
|
||||||
//! following the last element of the reversed array.
|
//! following the last element of the reversed array.
|
||||||
//! \~russian Обратный итератор на элемент, следующий за последним элементом.
|
//! \~russian Обратный итератор на элемент,
|
||||||
|
//! следующий за последним элементом.
|
||||||
//! \~\details 
|
//! \~\details 
|
||||||
//!
|
//!
|
||||||
//! \~english It corresponds to the element preceding the first element of the non-reversed array.
|
//! \~english It corresponds to the element preceding the first element of the non-reversed array.
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ public:
|
|||||||
|
|
||||||
//! \~english Copy constructor.
|
//! \~english Copy constructor.
|
||||||
//! \~russian Копирующий конструктор.
|
//! \~russian Копирующий конструктор.
|
||||||
inline PIMap(const PIMap<Key, T> & other) {*this = other;}
|
inline PIMap(const PIMap<Key, T> & other) : pim_content(other.pim_content), pim_index(other.pim_index) {}
|
||||||
|
|
||||||
//! \~english Move constructor.
|
//! \~english Move constructor.
|
||||||
//! \~russian Перемещающий конструктор.
|
//! \~russian Перемещающий конструктор.
|
||||||
@@ -212,30 +212,30 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//! \~english Iterator to the first element.
|
||||||
|
//! \~russian Итератор на первый элемент.
|
||||||
inline iterator begin() {return iterator(this, 0);}
|
inline iterator begin() {return iterator(this, 0);}
|
||||||
|
|
||||||
|
//! \~english Iterator to the element following the last element.
|
||||||
|
//! \~russian Итератор на элемент, следующий за последним элементом.
|
||||||
inline iterator end() {return iterator(this, size());}
|
inline iterator end() {return iterator(this, size());}
|
||||||
|
|
||||||
inline const_iterator begin() const {return const_iterator(this, 0);}
|
inline const_iterator begin() const {return const_iterator(this, 0);}
|
||||||
|
|
||||||
inline const_iterator end() const {return const_iterator(this, size());}
|
inline const_iterator end() const {return const_iterator(this, size());}
|
||||||
|
|
||||||
inline const_iterator constBegin() const {return const_iterator(this, 0);}
|
//! \~english Returns a reverse iterator to the first element of the reversed array.
|
||||||
|
//! \~russian Обратный итератор на первый элемент.
|
||||||
inline const_iterator constEnd() const {return const_iterator(this, size());}
|
|
||||||
|
|
||||||
inline reverse_iterator rbegin() {return reverse_iterator(this, size() - 1);}
|
inline reverse_iterator rbegin() {return reverse_iterator(this, size() - 1);}
|
||||||
|
|
||||||
inline reverse_iterator rend() {return reverse_iterator(this, -1);}
|
//! \~english Returns a reverse iterator to the element.
|
||||||
|
//! following the last element of the reversed array.
|
||||||
|
//! \~russian Обратный итератор на элемент,
|
||||||
|
//! следующий за последним элементом.
|
||||||
|
inline reverse_iterator rend() {return reverse_iterator(this, -1);}
|
||||||
|
|
||||||
inline const_reverse_iterator rbegin() const {return const_reverse_iterator(this, size() - 1);}
|
inline const_reverse_iterator rbegin() const {return const_reverse_iterator(this, size() - 1);}
|
||||||
|
|
||||||
inline const_reverse_iterator rend() const {return const_reverse_iterator(this, -1);}
|
inline const_reverse_iterator rend() const {return const_reverse_iterator(this, -1);}
|
||||||
|
|
||||||
inline const_reverse_iterator constRbegin() const {return const_reverse_iterator(this, size() - 1);}
|
|
||||||
|
|
||||||
inline const_reverse_iterator constRend() const {return const_reverse_iterator(this, -1);}
|
|
||||||
|
|
||||||
//! \relatesalso PIMapIteratorConst
|
//! \relatesalso PIMapIteratorConst
|
||||||
inline PIMapIteratorConst<Key, T> makeIterator() const {return PIMapIteratorConst<Key, T>(*this);}
|
inline PIMapIteratorConst<Key, T> makeIterator() const {return PIMapIteratorConst<Key, T>(*this);}
|
||||||
|
|
||||||
@@ -248,16 +248,48 @@ public:
|
|||||||
//! \relatesalso PIMapIteratorReverse
|
//! \relatesalso PIMapIteratorReverse
|
||||||
inline PIMapIteratorReverse<Key, T> makeReverseIterator() {return PIMapIteratorReverse<Key, T>(*this);}
|
inline PIMapIteratorReverse<Key, T> makeReverseIterator() {return PIMapIteratorReverse<Key, T>(*this);}
|
||||||
|
|
||||||
|
//! \~english Number of elements in the container.
|
||||||
|
//! \~russian Количество элементов массива.
|
||||||
|
//! \~\sa \a size_s(), \a capacity(), \a isEmpty(), \a isNotEmpty(), \a resize(), \a reserve()
|
||||||
inline size_t size() const {return pim_content.size();}
|
inline size_t size() const {return pim_content.size();}
|
||||||
|
|
||||||
|
//! \~english Number of elements in the container as signed value.
|
||||||
|
//! \~russian Количество элементов массива в виде знакового числа.
|
||||||
|
//! \~\sa \a size(), \a capacity(), \a isEmpty(), \a isNotEmpty(), \a resize(), \a reserve()
|
||||||
inline int size_s() const {return pim_content.size_s();}
|
inline int size_s() const {return pim_content.size_s();}
|
||||||
|
|
||||||
|
//! \~english Same as \a size().
|
||||||
|
//! \~russian Синоним \a size().
|
||||||
|
//! \~\sa \a size(), \a size_s(), \a capacity(), \a isEmpty(), \a isNotEmpty(), \a resize(), \a reserve()
|
||||||
inline size_t length() const {return pim_content.size();}
|
inline size_t length() const {return pim_content.size();}
|
||||||
|
|
||||||
|
//! \~english Checks if the container has no elements.
|
||||||
|
//! \~russian Проверяет пуст ли массив.
|
||||||
|
//! \~\return
|
||||||
|
//! \~english **true** if the container is empty, **false** otherwise
|
||||||
|
//! \~russian **true** если массив пуст, **false** иначе.
|
||||||
|
//! \~\sa \a size(), \a size_s(), \a isEmpty(), \a isNotEmpty(), \a resize(), \a reserve()
|
||||||
inline bool isEmpty() const {return (pim_content.size() == 0);}
|
inline bool isEmpty() const {return (pim_content.size() == 0);}
|
||||||
|
|
||||||
|
//! \~english Checks if the container has elements.
|
||||||
|
//! \~russian Проверяет не пуст ли массив.
|
||||||
|
//! \~\return
|
||||||
|
//! \~english **true** if the container is not empty, **false** otherwise
|
||||||
|
//! \~russian **true** если массив не пуст, **false** иначе.
|
||||||
|
//! \~\sa \a size(), \a size_s(), \a isEmpty(), \a isNotEmpty(), \a resize(), \a reserve()
|
||||||
inline bool isNotEmpty() const {return (pim_content.size() > 0);}
|
inline bool isNotEmpty() const {return (pim_content.size() > 0);}
|
||||||
|
|
||||||
|
|
||||||
|
//! \~english Full access to element key `key`.
|
||||||
|
//! \~russian Полный доступ к элементу по ключу `key`.
|
||||||
|
//! \~\details
|
||||||
|
//! \~english If the map contains no item with key `key`,
|
||||||
|
//! the function inserts a default-constructed value into the map with key `key`,
|
||||||
|
//! and returns a reference to it.
|
||||||
|
//! \~russian Если элемента с таким ключом `key` не существует,
|
||||||
|
//! то он будет создан конструктором по умолчанию и добавлен в массив
|
||||||
|
//! по ключу `key`, а затем возвращена ссылка на этот новый элемент.
|
||||||
|
//! \~\sa \a insert(), \a value(), \a key()
|
||||||
inline T & operator [](const Key & key) {
|
inline T & operator [](const Key & key) {
|
||||||
bool f(false);
|
bool f(false);
|
||||||
ssize_t i = _find(key, f);
|
ssize_t i = _find(key, f);
|
||||||
@@ -267,6 +299,9 @@ public:
|
|||||||
return pim_content.back();
|
return pim_content.back();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! \~english Same as \a value().
|
||||||
|
//! \~russian Синоним \a value().
|
||||||
|
//! \~\sa \a operator[](), \a value(), \a key()
|
||||||
inline T at(const Key & key) const {return value(key);}
|
inline T at(const Key & key) const {return value(key);}
|
||||||
|
|
||||||
inline T take(const Key & key) const {
|
inline T take(const Key & key) const {
|
||||||
@@ -278,6 +313,8 @@ public:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! \~english Inserts all elements in array `other` to this array with overwrite.
|
||||||
|
//! \~russian Вставляет все элементы `other` этот массив с перезаписью.
|
||||||
inline PIMap<Key, T> & operator <<(const PIMap<Key, T> & other) {
|
inline PIMap<Key, T> & operator <<(const PIMap<Key, T> & other) {
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
if (&other == this) {
|
if (&other == this) {
|
||||||
@@ -301,12 +338,20 @@ public:
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool operator ==(const PIMap<Key, T> & t) const {
|
//! \~english Compare operator with array `m`.
|
||||||
return (pim_content == t.pim_content && pim_index == t.pim_index);
|
//! \~russian Оператор сравнения с массивом `m`.
|
||||||
|
inline bool operator ==(const PIMap<Key, T> & m) const {
|
||||||
|
return (pim_content == m.pim_content && pim_index == m.pim_index);
|
||||||
}
|
}
|
||||||
inline bool operator !=(const PIMap<Key, T> & t) const {
|
|
||||||
return (pim_content != t.pim_content || pim_index != t.pim_index);
|
//! \~english Compare operator with array `m`.
|
||||||
|
//! \~russian Оператор сравнения с массивом `m`.
|
||||||
|
inline bool operator !=(const PIMap<Key, T> & m) const {
|
||||||
|
return (pim_content != m.pim_content || pim_index != m.pim_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! \~english Tests if element with key `key` exists in the array.
|
||||||
|
//! \~russian Проверяет наличие элемента с ключом `key` в массиве.
|
||||||
inline bool contains(const Key & key) const {
|
inline bool contains(const Key & key) const {
|
||||||
bool f(false); _find(key, f);
|
bool f(false); _find(key, f);
|
||||||
return f;
|
return f;
|
||||||
|
|||||||
@@ -250,7 +250,7 @@ PIStringList PIObject::methodsEH() const {
|
|||||||
PIMutexLocker ml(__meta_mutex());
|
PIMutexLocker ml(__meta_mutex());
|
||||||
PIStringList ret;
|
PIStringList ret;
|
||||||
const __MetaData & ehd(__meta_data()[classNameID()]);
|
const __MetaData & ehd(__meta_data()[classNameID()]);
|
||||||
for (auto eh = ehd.eh_func.constBegin(); eh != ehd.eh_func.constEnd(); eh++)
|
for (auto eh = ehd.eh_func.begin(); eh != ehd.eh_func.end(); eh++)
|
||||||
ret << eh.value().fullFormat();
|
ret << eh.value().fullFormat();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -260,7 +260,7 @@ bool PIObject::isMethodEHContains(const PIString & name) const {
|
|||||||
uint search_id = name.hash();
|
uint search_id = name.hash();
|
||||||
PIMutexLocker ml(__meta_mutex());
|
PIMutexLocker ml(__meta_mutex());
|
||||||
const __MetaData & ehd(__meta_data()[classNameID()]);
|
const __MetaData & ehd(__meta_data()[classNameID()]);
|
||||||
for (auto eh = ehd.eh_func.constBegin(); eh != ehd.eh_func.constEnd(); eh++) {
|
for (auto eh = ehd.eh_func.begin(); eh != ehd.eh_func.end(); eh++) {
|
||||||
if (eh.value().func_name_id == search_id)
|
if (eh.value().func_name_id == search_id)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -272,7 +272,7 @@ PIString PIObject::methodEHArguments(const PIString & name) const {
|
|||||||
uint search_id = name.hash();
|
uint search_id = name.hash();
|
||||||
PIMutexLocker ml(__meta_mutex());
|
PIMutexLocker ml(__meta_mutex());
|
||||||
const __MetaData & ehd(__meta_data()[classNameID()]);
|
const __MetaData & ehd(__meta_data()[classNameID()]);
|
||||||
for (auto eh = ehd.eh_func.constBegin(); eh != ehd.eh_func.constEnd(); eh++) {
|
for (auto eh = ehd.eh_func.begin(); eh != ehd.eh_func.end(); eh++) {
|
||||||
if (eh.value().func_name_id == search_id)
|
if (eh.value().func_name_id == search_id)
|
||||||
return eh.value().arguments();
|
return eh.value().arguments();
|
||||||
}
|
}
|
||||||
@@ -284,7 +284,7 @@ PIString PIObject::methodEHFullFormat(const PIString & name) const {
|
|||||||
uint search_id = name.hash();
|
uint search_id = name.hash();
|
||||||
PIMutexLocker ml(__meta_mutex());
|
PIMutexLocker ml(__meta_mutex());
|
||||||
const __MetaData & ehd(__meta_data()[classNameID()]);
|
const __MetaData & ehd(__meta_data()[classNameID()]);
|
||||||
for (auto eh = ehd.eh_func.constBegin(); eh != ehd.eh_func.constEnd(); eh++) {
|
for (auto eh = ehd.eh_func.begin(); eh != ehd.eh_func.end(); eh++) {
|
||||||
if (eh.value().func_name_id == search_id)
|
if (eh.value().func_name_id == search_id)
|
||||||
return eh.value().fullFormat();
|
return eh.value().fullFormat();
|
||||||
}
|
}
|
||||||
@@ -301,7 +301,7 @@ PIVector<PIObject::__MetaFunc> PIObject::findEH(const PIString & name) const {
|
|||||||
uint search_id = name.hash();
|
uint search_id = name.hash();
|
||||||
PIVector<__MetaFunc> ret;
|
PIVector<__MetaFunc> ret;
|
||||||
const __MetaData & ehd(__meta_data()[classNameID()]);
|
const __MetaData & ehd(__meta_data()[classNameID()]);
|
||||||
for (auto eh = ehd.eh_func.constBegin(); eh != ehd.eh_func.constEnd(); eh++) {
|
for (auto eh = ehd.eh_func.begin(); eh != ehd.eh_func.end(); eh++) {
|
||||||
if (eh.value().func_name_id == search_id)
|
if (eh.value().func_name_id == search_id)
|
||||||
ret << eh.value();
|
ret << eh.value();
|
||||||
}
|
}
|
||||||
@@ -687,7 +687,7 @@ void PIObject::dump(const PIString & line_prefix) const {
|
|||||||
const __MetaData & ehd(__meta_data()[classNameID()]);
|
const __MetaData & ehd(__meta_data()[classNameID()]);
|
||||||
PICout(PICoutManipulators::AddNewLine) << line_prefix << " count: " << ehd.eh_func.size_s();
|
PICout(PICoutManipulators::AddNewLine) << line_prefix << " count: " << ehd.eh_func.size_s();
|
||||||
//printf("dump %d methods\n", ehd.eh_func.size());
|
//printf("dump %d methods\n", ehd.eh_func.size());
|
||||||
for (auto eh = ehd.eh_func.constBegin(); eh != ehd.eh_func.constEnd(); eh++) {
|
for (auto eh = ehd.eh_func.begin(); eh != ehd.eh_func.end(); eh++) {
|
||||||
PICout(PICoutManipulators::AddNewLine) << line_prefix << " " << eh.value().fullFormat();
|
PICout(PICoutManipulators::AddNewLine) << line_prefix << " " << eh.value().fullFormat();
|
||||||
}
|
}
|
||||||
//printf("dump %d methods ok\n", ehd.eh_func.size());
|
//printf("dump %d methods ok\n", ehd.eh_func.size());
|
||||||
|
|||||||
@@ -378,14 +378,14 @@ bool PIConnection::removeDevice(const PIString & full_path) {
|
|||||||
for (const PIString & n : dntd) {
|
for (const PIString & n : dntd) {
|
||||||
device_names.remove(n);
|
device_names.remove(n);
|
||||||
}
|
}
|
||||||
for (auto s = senders.constBegin(); s != senders.constEnd(); s++) {
|
for (auto s = senders.begin(); s != senders.end(); s++) {
|
||||||
if (!s.value()) continue;
|
if (!s.value()) continue;
|
||||||
s.value()->lock();
|
s.value()->lock();
|
||||||
s.value()->devices.removeAll(dev);
|
s.value()->devices.removeAll(dev);
|
||||||
s.value()->unlock();
|
s.value()->unlock();
|
||||||
}
|
}
|
||||||
device_modes.remove(dev);
|
device_modes.remove(dev);
|
||||||
for (auto i = extractors.constBegin(); i != extractors.constEnd(); i++) {
|
for (auto i = extractors.begin(); i != extractors.end(); i++) {
|
||||||
if (!i.value()) continue;
|
if (!i.value()) continue;
|
||||||
i.value()->devices.removeAll(dev);
|
i.value()->devices.removeAll(dev);
|
||||||
}
|
}
|
||||||
@@ -409,7 +409,7 @@ void PIConnection::removeAllDevices() {
|
|||||||
PIVector<PIIODevice * > bdevs(__device_pool__->boundedDevices(this));
|
PIVector<PIIODevice * > bdevs(__device_pool__->boundedDevices(this));
|
||||||
__device_pool__->lock();
|
__device_pool__->lock();
|
||||||
for (PIIODevice * d : bdevs) {
|
for (PIIODevice * d : bdevs) {
|
||||||
for (auto s = senders.constBegin(); s != senders.constEnd(); s++) {
|
for (auto s = senders.begin(); s != senders.end(); s++) {
|
||||||
if (!s.value()) continue;
|
if (!s.value()) continue;
|
||||||
s.value()->lock();
|
s.value()->lock();
|
||||||
s.value()->devices.removeAll(d);
|
s.value()->devices.removeAll(d);
|
||||||
@@ -428,7 +428,7 @@ void PIConnection::removeAllDevices() {
|
|||||||
__device_pool__->unlock();
|
__device_pool__->unlock();
|
||||||
device_modes.clear();
|
device_modes.clear();
|
||||||
bounded_extractors.clear();
|
bounded_extractors.clear();
|
||||||
for (auto i = extractors.constBegin(); i != extractors.constEnd(); i++) {
|
for (auto i = extractors.begin(); i != extractors.end(); i++) {
|
||||||
if (!i.value()) continue;
|
if (!i.value()) continue;
|
||||||
i.value()->devices.clear();
|
i.value()->devices.clear();
|
||||||
}
|
}
|
||||||
@@ -567,7 +567,7 @@ bool PIConnection::removeFilter(const PIString & name_) {
|
|||||||
|
|
||||||
void PIConnection::removeAllFilters() {
|
void PIConnection::removeAllFilters() {
|
||||||
__device_pool__->lock();
|
__device_pool__->lock();
|
||||||
for (auto i = extractors.constBegin(); i != extractors.constEnd(); i++) {
|
for (auto i = extractors.begin(); i != extractors.end(); i++) {
|
||||||
if (!i.value()) continue;
|
if (!i.value()) continue;
|
||||||
channels_.remove(i.value()->extractor);
|
channels_.remove(i.value()->extractor);
|
||||||
auto it = channels_.makeIterator();
|
auto it = channels_.makeIterator();
|
||||||
@@ -588,7 +588,7 @@ void PIConnection::removeAllFilters() {
|
|||||||
|
|
||||||
PIVector<PIPacketExtractor * > PIConnection::filters() const {
|
PIVector<PIPacketExtractor * > PIConnection::filters() const {
|
||||||
PIVector<PIPacketExtractor * > ret;
|
PIVector<PIPacketExtractor * > ret;
|
||||||
for (auto i = extractors.constBegin(); i != extractors.constEnd(); i++) {
|
for (auto i = extractors.begin(); i != extractors.end(); i++) {
|
||||||
if (i.value()) {
|
if (i.value()) {
|
||||||
if (i.value()->extractor) ret << i.value()->extractor;
|
if (i.value()->extractor) ret << i.value()->extractor;
|
||||||
}
|
}
|
||||||
@@ -599,7 +599,7 @@ PIVector<PIPacketExtractor * > PIConnection::filters() const {
|
|||||||
|
|
||||||
PIStringList PIConnection::filterNames() const {
|
PIStringList PIConnection::filterNames() const {
|
||||||
PIStringList ret;
|
PIStringList ret;
|
||||||
for (auto i = extractors.constBegin(); i != extractors.constEnd(); i++) {
|
for (auto i = extractors.begin(); i != extractors.end(); i++) {
|
||||||
if (i.value())
|
if (i.value())
|
||||||
if (i.value()->extractor) ret << i.key();
|
if (i.value()->extractor) ret << i.key();
|
||||||
}
|
}
|
||||||
@@ -609,7 +609,7 @@ PIStringList PIConnection::filterNames() const {
|
|||||||
|
|
||||||
PIPacketExtractor * PIConnection::filter(const PIString & name_) const {
|
PIPacketExtractor * PIConnection::filter(const PIString & name_) const {
|
||||||
PIString fname_ = name_.trimmed();
|
PIString fname_ = name_.trimmed();
|
||||||
for (auto i = extractors.constBegin(); i != extractors.constEnd(); i++) {
|
for (auto i = extractors.begin(); i != extractors.end(); i++) {
|
||||||
if (i.value()) {
|
if (i.value()) {
|
||||||
if ((i.value()->extractor) && (i.key() == fname_)) return i.value()->extractor;
|
if ((i.value()->extractor) && (i.key() == fname_)) return i.value()->extractor;
|
||||||
}
|
}
|
||||||
@@ -806,7 +806,7 @@ float PIConnection::senderFrequency(const PIString & name) const {
|
|||||||
|
|
||||||
|
|
||||||
void PIConnection::removeAllSenders() {
|
void PIConnection::removeAllSenders() {
|
||||||
for (auto s = senders.constBegin(); s != senders.constEnd(); s++) {
|
for (auto s = senders.begin(); s != senders.end(); s++) {
|
||||||
if (s.value()) delete s.value();
|
if (s.value()) delete s.value();
|
||||||
}
|
}
|
||||||
senders.clear();
|
senders.clear();
|
||||||
@@ -824,7 +824,7 @@ void PIConnection::startThreadedRead(const PIString & full_path_name) {
|
|||||||
|
|
||||||
|
|
||||||
void PIConnection::startAllThreadedReads() {
|
void PIConnection::startAllThreadedReads() {
|
||||||
for (auto d = __device_pool__->devices.constBegin(); d != __device_pool__->devices.constEnd(); d++) {
|
for (auto d = __device_pool__->devices.begin(); d != __device_pool__->devices.end(); d++) {
|
||||||
startThreadedRead(d.key());
|
startThreadedRead(d.key());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -838,7 +838,7 @@ void PIConnection::startSender(const PIString & name) {
|
|||||||
|
|
||||||
|
|
||||||
void PIConnection::startAllSenders() {
|
void PIConnection::startAllSenders() {
|
||||||
for (auto s = senders.constBegin(); s != senders.constEnd(); s++) {
|
for (auto s = senders.begin(); s != senders.end(); s++) {
|
||||||
if (!s.value()) continue;
|
if (!s.value()) continue;
|
||||||
if (!s.value()->isRunning() && !__device_pool__->fake) {
|
if (!s.value()->isRunning() && !__device_pool__->fake) {
|
||||||
s.value()->start(s.value()->int_);
|
s.value()->start(s.value()->int_);
|
||||||
@@ -858,7 +858,7 @@ void PIConnection::stopThreadedRead(const PIString & full_path_name) {
|
|||||||
|
|
||||||
|
|
||||||
void PIConnection::stopAllThreadedReads() {
|
void PIConnection::stopAllThreadedReads() {
|
||||||
for (auto d = __device_pool__->devices.constBegin(); d != __device_pool__->devices.constEnd(); d++) {
|
for (auto d = __device_pool__->devices.begin(); d != __device_pool__->devices.end(); d++) {
|
||||||
stopThreadedRead(d.key());
|
stopThreadedRead(d.key());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -872,7 +872,7 @@ void PIConnection::stopSender(const PIString & name) {
|
|||||||
|
|
||||||
|
|
||||||
void PIConnection::stopAllSenders() {
|
void PIConnection::stopAllSenders() {
|
||||||
for (auto s = senders.constBegin(); s != senders.constEnd(); s++) {
|
for (auto s = senders.begin(); s != senders.end(); s++) {
|
||||||
if (!s.value()) continue;
|
if (!s.value()) continue;
|
||||||
if (s.value()->isRunning()) s.value()->stop();
|
if (s.value()->isRunning()) s.value()->stop();
|
||||||
}
|
}
|
||||||
@@ -1032,7 +1032,7 @@ bool PIConnection::DevicePool::removeDevice(PIConnection * parent, const PIStrin
|
|||||||
|
|
||||||
void PIConnection::DevicePool::unboundConnection(PIConnection * parent) {
|
void PIConnection::DevicePool::unboundConnection(PIConnection * parent) {
|
||||||
PIStringList rem;
|
PIStringList rem;
|
||||||
for (auto i = devices.constBegin(); i != devices.constEnd(); i++) {
|
for (auto i = devices.begin(); i != devices.end(); i++) {
|
||||||
if (!i.value()) {
|
if (!i.value()) {
|
||||||
rem << i.key();
|
rem << i.key();
|
||||||
continue;
|
continue;
|
||||||
@@ -1129,7 +1129,7 @@ PIConnection::DevicePool::DeviceData::~DeviceData() {
|
|||||||
void PIConnection::DevicePool::run() {
|
void PIConnection::DevicePool::run() {
|
||||||
PIVector<PIConnection * > conns(PIConnection::allConnections());
|
PIVector<PIConnection * > conns(PIConnection::allConnections());
|
||||||
for (PIConnection * c : conns) {
|
for (PIConnection * c : conns) {
|
||||||
for (auto d = c->diags_.constBegin(); d != c->diags_.constEnd(); d++) {
|
for (auto d = c->diags_.begin(); d != c->diags_.end(); d++) {
|
||||||
if (!d.value()) continue;
|
if (!d.value()) continue;
|
||||||
d.value()->tick(0, 1);
|
d.value()->tick(0, 1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ public:
|
|||||||
" | p = " + PIString::fromNumber(a.ping) +
|
" | p = " + PIString::fromNumber(a.ping) +
|
||||||
" | a = " + PIString::fromBool(a.isAvailable()), CellFormat());
|
" | a = " + PIString::fromBool(a.isAvailable()), CellFormat());
|
||||||
PIStringList peermap;
|
PIStringList peermap;
|
||||||
for (auto p = daemon_._peerMap().constBegin(); p != daemon_._peerMap().constEnd(); p++) {
|
for (auto p = daemon_._peerMap().begin(); p != daemon_._peerMap().end(); p++) {
|
||||||
PIString s = p.key() + " | ";
|
PIString s = p.key() + " | ";
|
||||||
piForeachCR(PIPeer::PeerInfo * pp, p.value()) s += " -> " + pp->name;
|
piForeachCR(PIPeer::PeerInfo * pp, p.value()) s += " -> " + pp->name;
|
||||||
peermap << s;
|
peermap << s;
|
||||||
|
|||||||
Reference in New Issue
Block a user