Russian Qt Forum
Ноябрь 23, 2024, 08:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как правильно организовать работу класса в потоке  (Прочитано 2909 раз)
MontredoKing
Гость
« : Январь 23, 2015, 16:44 »

Здравствуйте, уважаемые форумчане!

Если вас не затруднит, хотел бы спросить у вас совета как правильно организовать класс в С++ (Qt). Сам класс будет отвечать за регистрацию аккаунта на определенном сайте (последовательность такова: регистрация аккаунта на основе временной почты, работа с сервисом временной почты для парсинга ссылки, подтверждение ссылки и некоторая работа с зарегистрированным аккаунтом).

Вопрос в основном состоит в том, как бы его (класс) использовать в потоке, так как QNetworkAccessManager по себе асинхронный, то работа в потоке отпадает, но мне это необходимо по простой причине - сайт не полюбит большое количество регистраций за раз и мне понадобится отслеживать работу класса. Решение как использовать QNetworkAccessManager синхронно я уже нашел. Но встал вопрос как правильно организовать саму работу класса - процедурно или через сигналы и слоты. Хотелось бы узнать как в данной ситуации поступить, как бы организовать. Желательно на словах.

Предполагается такая работа в коде потока:

Код:
    RegistrationClient client;
    client.execute();
    if (client.isSuccess) {
        emit registerNewUser(client.getLogin(), client.getPassword));
    }

Благодарю за внимание!
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Январь 23, 2015, 19:36 »

Хотелось бы узнать подробнее о задачи Улыбающийся
Записан

MontredoKing
Гость
« Ответ #2 : Январь 23, 2015, 20:02 »

Хотелось бы узнать подробнее о задачи Улыбающийся

Последовательность в классе RegistrationClient для регистрации аккаунта:
1) Посылка POST-запроса с данными. Вместо электронной почты используется временная почта (сервис temp-mail.ru).
2) В композицию класса RegistrationClient входит класс TempMailClient (парсинг ссылки для активации зарегистрированного аккаунта).
3) В классе RegistrationClient создана функция bool httpGetMethodVerify(const QString &verifyUrl); для перехода по ссылке подтверждения активации.
4) Дальнейшие действия с подтвержденным аккаунтом.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.