Rosetta
Public Types | Signals | Public Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
ui::task::NetworkCall Class Referencefinal

#include <util.h>

Inheritance diagram for ui::task::NetworkCall:
Inheritance graph
[legend]

Public Types

using TerminationCodes = std::vector< int >
 
using CustomHeader = std::pair< QByteArray, QByteArray >
 

Signals

void finished ()
 

Public Member Functions

 NetworkCall (QObject *parent=nullptr)
 
 ~NetworkCall ()
 
void set_termination_codes (TerminationCodes const &termination_codes)
 
void call (QString const &address, QNetworkAccessManager::Operation operation, QJsonDocument const &post_data)
 
void call (QString const &address, QNetworkAccessManager::Operation operation=QNetworkAccessManager::Operation::GetOperation, QByteArray const &post_data=QByteArray(), QString const &content_type="application/octet-stream", std::vector< CustomHeader > const &raw_headers=std::vector< CustomHeader >())
 
QByteArray result () const
 
int status_code () const
 
QJsonDocument result_as_json () const
 

Private Slots

void call ()
 
void network_operation_is_finished ()
 

Private Member Functions

void abort_network_operation ()
 

Private Attributes

QString address_
 
QString content_type_
 
QByteArray post_data_
 
QNetworkAccessManager::Operation operation_
 
std::vector< CustomHeaderraw_headers_
 
QNetworkReply * reply_ = nullptr
 
TerminationCodes termination_codes_
 
int status_code_ = 0
 
QByteArray result_
 

Detailed Description

Simple wrapper around QNetworkReply to model RPC calls Store results and perform retry if needed

Member Typedef Documentation

◆ CustomHeader

using ui::task::NetworkCall::CustomHeader = std::pair<QByteArray, QByteArray>

◆ TerminationCodes

using ui::task::NetworkCall::TerminationCodes = std::vector<int>

Constructor & Destructor Documentation

◆ NetworkCall()

ui::task::NetworkCall::NetworkCall ( QObject parent = nullptr)

◆ ~NetworkCall()

ui::task::NetworkCall::~NetworkCall ( )

Member Function Documentation

◆ abort_network_operation()

void ui::task::NetworkCall::abort_network_operation ( )
private

References finished(), and reply_.

Referenced by call(), and ~NetworkCall().

◆ call [1/3]

void ui::task::NetworkCall::call ( )
privateslot

◆ call() [2/3]

void ui::task::NetworkCall::call ( QString const &  address,
QNetworkAccessManager::Operation  operation,
QJsonDocument const &  post_data 
)

◆ call() [3/3]

void ui::task::NetworkCall::call ( QString const &  address,
QNetworkAccessManager::Operation  operation = QNetworkAccessManager::Operation::GetOperation,
QByteArray const &  post_data = QByteArray(),
QString const &  content_type = "application/octet-stream",
std::vector< CustomHeader > const &  raw_headers = std::vector<CustomHeader>() 
)

◆ finished

void ui::task::NetworkCall::finished ( )
signal

◆ network_operation_is_finished

void ui::task::NetworkCall::network_operation_is_finished ( )
privateslot

◆ result()

QByteArray ui::task::NetworkCall::result ( ) const

◆ result_as_json()

QJsonDocument ui::task::NetworkCall::result_as_json ( ) const

◆ set_termination_codes()

void ui::task::NetworkCall::set_termination_codes ( TerminationCodes const &  termination_codes)
inline

◆ status_code()

int ui::task::NetworkCall::status_code ( ) const
inline

Member Data Documentation

◆ address_

QString ui::task::NetworkCall::address_
private

◆ content_type_

QString ui::task::NetworkCall::content_type_
private

◆ operation_

QNetworkAccessManager::Operation ui::task::NetworkCall::operation_
private

◆ post_data_

QByteArray ui::task::NetworkCall::post_data_
private

Referenced by call().

◆ raw_headers_

std::vector<CustomHeader> ui::task::NetworkCall::raw_headers_
private

Referenced by call().

◆ reply_

QNetworkReply* ui::task::NetworkCall::reply_ = nullptr
private

◆ result_

QByteArray ui::task::NetworkCall::result_
private

◆ status_code_

int ui::task::NetworkCall::status_code_ = 0
private

◆ termination_codes_

TerminationCodes ui::task::NetworkCall::termination_codes_
private

The documentation for this class was generated from the following files: