Tables Context::getExternalTables() const { auto lock = getLock(); Tables res = external_tables; if (session_context && session_context != this) { Tables buf = session_context->getExternalTables(); res.insert(buf.begin(), buf.end()); } else if (global_context && global_context != this) { Tables buf = global_context->getExternalTables(); res.insert(buf.begin(), buf.end()); } return res; }
void TalkManager::removeTable(Common::ChangeID &changeID) { Change *change = dynamic_cast<Change *>(changeID.getContent()); if (!change) return; Tables *tables = &_tablesMain; if (change->_isAlt) tables = &_tablesAlt; for (Tables::iterator t = tables->begin(); t != tables->end(); ++t) { if (t->id == change->_id) { deleteTable(*t); tables->erase(t); break; } } changeID.clear(); }
bool isValid() const override { return it != tables.end(); }