Я создаю приложение для браузера, используя модули QtWebkit и QtNetwork.
Скажем, это требование, чтобы каждая веб-страница могла иметь доступ к ресурсам только из определенной папки, специально отведенной для нее. В этом случае каждая веб-страница будет иметь какой-то идентификатор для идентификации, который может быть использован для проверки того, что он обращается к правильной папке.
Проблема в том, что неясно, как именно вызывается метод createRequest(). Если это сигнал, который испускал или что-то, то я мог бы перехватить его и добавить несколько параметров, указывающих идентификатор веб-страницы.
Таким образом, теперь единственной возможностью для меня является создание отдельного QNetworkAccessManager для каждого QWebPage и перегрузка функции createRequest(), в то время как мне действительно хотелось бы иметь возможность совместно использовать QNetworkAccessManager через QWebPages.
Альтернативные решения были бы оценены, но в целом я также очень смущен тем, как достигается метод createRequest().
Не важно иметь отдельный диспетчер доступа для каждой веб-страницы. У вас нет никаких измерений, чтобы показать, что это проблема, поэтому в истинном стиле Дон Кихота вы сражаетесь с ветряными мельницами и воображаемыми врагами :)
Виртуальный метод createRequest
вызывается различными не виртуальными методами запроса: get
, post
и put
. Это хороший пример шаблона не виртуального интерфейса (NVI).