Всем доброго времени суток!
Имеется модель:
C++ (Qt)
class CGeneralList : public QAbstractTableModel
{
Q_OBJECT
...................
QList<CClientRow*> *ListForTest;
}
имеется сторонний класс:
C++ (Qt)
class CServer : QObject
в котором есть обработчики сокетов:
C++ (Qt)
void CServer::sNewConnection()
{
QTcpSocket* clientSocket = tcpDaemon->nextPendingConnection();
int sockDescroptor = clientSocket->socketDescriptor();
CClientRow *client = new CClientRow(clientSocket);
client->SetDescription(sockDescroptor);
theManager->addRow(client);
connect(clientSocket,SIGNAL(readyRead()),this, SLOT(sReadClient()));
}
и
C++ (Qt)
void CServer::sReadClient()
{
QTcpSocket* clientSocket = (QTcpSocket*)sender();
int idusersocs=clientSocket->socketDescriptor();
}
И вот в чём вопрос, в sNewConnection() я создаю запись в модели (кидаю в неё Descriptor), а вот как мне теперь лучше обновить запись в модели в sReadClient()?
По сути единственная привязка - Descriptor сокета в sReadClient(), получается нужно по Descriptor выбрать определённую запись в модели и вернуть нужный экземпляр QTcpSocket*?
Правильно ли это? Можно как-то упростить? Кто-то уже решал подобные задачи?