本文整理汇总了C++中QNetworkConfigurationManager类的典型用法代码示例。如果您正苦于以下问题:C++ QNetworkConfigurationManager类的具体用法?C++ QNetworkConfigurationManager怎么用?C++ QNetworkConfigurationManager使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QNetworkConfigurationManager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: openConnection
bool Network::openConnection(QString &netInterface)
{
// Internet Access Point
QNetworkConfigurationManager manager;
const bool canStartIAP = (manager.capabilities()
& QNetworkConfigurationManager::CanStartAndStopInterfaces);
// If there is a default access point, use it
QNetworkConfiguration cfg = manager.defaultConfiguration();
if (!cfg.isValid() || !canStartIAP) {
return false;
}
// Open session
m_session = new QNetworkSession(cfg);
m_session->open();
// Waits for session to be open and continues after that
m_session->waitForOpened();
// Show interface name to the user
QNetworkInterface iff = m_session->interface();
netInterface = iff.humanReadableName();
return true;
}
示例2: QObject
ResourceManager::ResourceManager(QObject *parent)
: QObject(parent)
, mPathsLoaded(false)
, mResourceListModel(new ResourceListModel(this))
{
// TODO: This takes about 400 ms on my system. Doing it here prevents
// experiencing this hickup later on when the the network access manager is
// used for the first time. Even on startup it's ugly though, so hopefully
// there's a way to avoid it completely...
QNetworkConfigurationManager manager;
mNetworkAccessManager.setConfiguration(manager.defaultConfiguration());
// Use a disk cache to avoid re-downloading data all the time
#if QT_VERSION >= 0x050000
QString cacheLocation =
QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
#else
QString cacheLocation =
QDesktopServices::storageLocation(QDesktopServices::CacheLocation);
#endif
if (!cacheLocation.isEmpty()) {
cacheLocation += QLatin1String("/httpCache");
QNetworkDiskCache *diskCache = new QNetworkDiskCache(this);
diskCache->setCacheDirectory(cacheLocation);
mNetworkAccessManager.setCache(diskCache);
} else {
qWarning() << "CacheLocation is not supported on this platform, "
"no disk cache is used!";
}
Q_ASSERT(!mInstance);
mInstance = this;
}
示例3: QObject
Server::Server(QObject *parent) :
QObject(parent), tcpServer(0), networkSession(0), memBuf(NULL)
{
QNetworkConfigurationManager manager;
if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) {
// Get saved network configuration
QSettings settings(QSettings::UserScope, QLatin1String("QtProject"));
settings.beginGroup(QLatin1String("QtNetwork"));
const QString id = settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
settings.endGroup();
// If the saved network configuration is not currently discovered use the system default
QNetworkConfiguration config = manager.configurationFromIdentifier(id);
if ((config.state() & QNetworkConfiguration::Discovered) !=
QNetworkConfiguration::Discovered) {
config = manager.defaultConfiguration();
}
networkSession = new QNetworkSession(config, this);
connect(networkSession, SIGNAL(opened()), this, SLOT(sessionOpened()));
QTextStream out(stdout);
out << tr("Opening network session.");
networkSession->open();
} else {
sessionOpened();
}
connect(tcpServer, SIGNAL(newConnection()), this, SLOT(sendImage()));
}
示例4: settings
Server::Server()
{
QNetworkConfigurationManager manager;
if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired)
{
// Get saved network configuration
QSettings settings(QSettings::UserScope, QLatin1String("QtProject"));
settings.beginGroup(QLatin1String("QtNetwork"));
const QString id = settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
settings.endGroup();
// If the saved network configuration is not currently discovered use the system default
QNetworkConfiguration config = manager.configurationFromIdentifier(id);
if ((config.state() & QNetworkConfiguration::Discovered) != QNetworkConfiguration::Discovered)
{
config = manager.defaultConfiguration();
}
networkSession = new QNetworkSession(config, this);
if (networkSession)
{
connect(networkSession, SIGNAL(opened()), this, SLOT(sessionOpened()));
TRACE_INFO(NET, "Opening network session...\n");
networkSession->open();
}
}
else
{
sessionOpened();
}
fortunes << tr("You've been leading a dog's life. Stay off the furniture.")
<< tr("You've got to think about tomorrow.")
<< tr("You will be surprised by a loud noise.")
<< tr("You will feel hungry again in another hour.")
<< tr("You might have mail.")
<< tr("You cannot kill time without injuring eternity.")
<< tr("Computers are not intelligent. They only think they are.");
if (tcpServer)
{
connect(tcpServer, SIGNAL(newConnection()), this, SLOT(sendDatas()));
}
/*
connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
QHBoxLayout *buttonLayout = new QHBoxLayout;
buttonLayout->addStretch(1);
buttonLayout->addWidget(quitButton);
buttonLayout->addStretch(1);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(statusLabel);
mainLayout->addLayout(buttonLayout);
setLayout(mainLayout);
setWindowTitle(tr("Fortune Server"));
*/
}
示例5: QObject
TcpEchoServer::TcpEchoServer(quint16 port, QObject *parent)
: QObject(parent), tcpServer(0), networkSession(0)
{
QNetworkConfigurationManager manager;
if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) {
// Get saved network configuration
QSettings settings(QSettings::UserScope, QLatin1String("QtProject"));
settings.beginGroup(QLatin1String("QtNetwork"));
const QString id = settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
settings.endGroup();
// If the saved network configuration is not currently discovered use the system default
QNetworkConfiguration config = manager.configurationFromIdentifier(id);
if ((config.state() & QNetworkConfiguration::Discovered) !=
QNetworkConfiguration::Discovered) {
config = manager.defaultConfiguration();
}
networkSession = new QNetworkSession(config, this);
connect(networkSession, SIGNAL(opened()), this, SLOT(sessionOpened()));
qDebug() << "Opening network session.";
networkSession->open();
} else {
sessionOpened(port);
}
}
示例6: networkSession_
BigBlobbyClient::BigBlobbyClient() :
networkSession_( NULL ),
tcpSocket_( new QTcpSocket( this ) ),
portNumber_( DEFAULT_PORT_NUMBER ),
log_( logger::FileLogger::instance() )
{
connect( tcpSocket_, SIGNAL( readyRead() ), this, SLOT( readBigBlobbyResponse() ) );
connect( tcpSocket_, SIGNAL( error( QAbstractSocket::SocketError ) ),
this, SLOT( displayError( QAbstractSocket::SocketError ) ) );
QNetworkConfigurationManager manager;
if( manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired ) {
// Get saved network configuration
QSettings settings( QSettings::UserScope, QLatin1String( "BigBlobby" ) );
settings.beginGroup( QLatin1String( "QtNetwork" ) );
const QString id = settings.value( QLatin1String( "DefaultNetworkConfiguration" ) ).toString();
settings.endGroup();
// If the saved network configuration is not currently discovered use the system default
QNetworkConfiguration config = manager.configurationFromIdentifier( id );
if( (config.state() & QNetworkConfiguration::Discovered) != QNetworkConfiguration::Discovered ) {
config = manager.defaultConfiguration();
}
networkSession_ = new QNetworkSession( config, this );
connect( networkSession_, SIGNAL( opened() ), this, SLOT( sessionOpened() ) );
networkSession_->open();
}
}
示例7: setupNetwork
static void setupNetwork(GlobalSettings *settings)
{
QNetworkProxy proxy;
if (settings->isEnabled(GlobalSettings::Proxy)) {
QString proxyHost(settings->value(GlobalSettings::ProxyHost).toString());
int proxyPort = settings->value(GlobalSettings::ProxyPort).toInt();
proxy.setType(QNetworkProxy::HttpProxy);
proxy.setHostName(proxyHost);
proxy.setPort(proxyPort);
QNetworkProxy::setApplicationProxy(proxy);
qWarning() << "Using proxy host" << proxyHost << "on port" << proxyPort;
}
// Set Internet Access Point
QNetworkConfigurationManager mgr;
QList<QNetworkConfiguration> activeConfigs = mgr.allConfigurations();
if (activeConfigs.count() <= 0)
return;
QNetworkConfiguration cfg = activeConfigs.at(0);
foreach(QNetworkConfiguration config, activeConfigs) {
if (config.type() == QNetworkConfiguration::UserChoice) {
cfg = config;
break;
}
}
g_networkSession = new QNetworkSession(cfg);
g_networkSession->open();
g_networkSession->waitForOpened(-1);
}
示例8: networkSession
Client::Client(QString purpose) : networkSession(0)
{
Client::purpose = purpose;
tcpSocket = new QTcpSocket;
Client::blockSize = 0;
qDebug() << connect(tcpSocket, &QTcpSocket::readyRead, this, &Client::readData);
//connect(tcpSocket, &QTcpSocket::error, this, &Client::displayError);
QNetworkConfigurationManager manager;
if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired)
{
// Get saved network configuration
QSettings settings(QSettings::UserScope, QLatin1String("QtProject"));
settings.beginGroup(QLatin1String("QtNetwork"));
const QString id = settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
settings.endGroup();
// If the saved network configuration is not currently discovered use the system default
QNetworkConfiguration config = manager.configurationFromIdentifier(id);
if ((config.state() & QNetworkConfiguration::Discovered) !=
QNetworkConfiguration::Discovered) {
config = manager.defaultConfiguration();
}
networkSession = new QNetworkSession(config, this);
qDebug() << connect(networkSession, &QNetworkSession::opened, this, &Client::sessionOpened);
}
qDebug() << "Client set up, waiting";
}
示例9: QDialog
Server::Server(QWidget *parent) :
QDialog(parent),
mTcpServer(0),
mNetworkSession(0) {
QNetworkConfigurationManager manager;
if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) {
// Get saved network configuration
QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
settings.beginGroup(QLatin1String("QtNetwork"));
const QString id = settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
settings.endGroup();
// If the saved network configuration is not currently discovered use the system default
QNetworkConfiguration config = manager.configurationFromIdentifier(id);
if ((config.state() & QNetworkConfiguration::Discovered) != QNetworkConfiguration::Discovered) {
config = manager.defaultConfiguration();
}
mNetworkSession = new QNetworkSession(config, this);
connect(mNetworkSession, SIGNAL(opened()), this, SLOT(sessionOpened()));
mNetworkSession->open();
} else {
sessionOpened();
}
mIPAddressMapper = new QSignalMapper;
connect(mTcpServer, SIGNAL(newConnection()), this, SLOT(acceptClientConnection()));
connect(mIPAddressMapper, SIGNAL(mapped(QString)), this, SIGNAL(clientDisconnected(QString)));
}
示例10: networkSession
/*!
Starts the backend. Returns \c true if the backend is started. Returns \c false if the backend
could not be started due to an unopened or roaming session. The caller should recall this
function once the session has been opened or the roaming process has finished.
*/
bool QNetworkAccessBackend::start()
{
#ifndef QT_NO_BEARERMANAGEMENT
// For bearer, check if session start is required
QSharedPointer<QNetworkSession> networkSession(manager->getNetworkSession());
if (networkSession) {
// session required
if (networkSession->isOpen() &&
networkSession->state() == QNetworkSession::Connected) {
// Session is already open and ready to use.
// copy network session down to the backend
setProperty("_q_networksession", QVariant::fromValue(networkSession));
} else {
// Session not ready, but can skip for loopback connections
// This is not ideal.
const QString host = reply->url.host();
if (host == QLatin1String("localhost") ||
QHostAddress(host).isLoopback() ||
reply->url.isLocalFile()) {
// Don't need an open session for localhost access.
} else {
// need to wait for session to be opened
return false;
}
}
}
#endif
#ifndef QT_NO_NETWORKPROXY
#ifndef QT_NO_BEARERMANAGEMENT
// Get the proxy settings from the network session (in the case of service networks,
// the proxy settings change depending which AP was activated)
QNetworkSession *session = networkSession.data();
QNetworkConfiguration config;
if (session) {
QNetworkConfigurationManager configManager;
// The active configuration tells us what IAP is in use
QVariant v = session->sessionProperty(QLatin1String("ActiveConfiguration"));
if (v.isValid())
config = configManager.configurationFromIdentifier(qvariant_cast<QString>(v));
// Fallback to using the configuration if no active configuration
if (!config.isValid())
config = session->configuration();
// or unspecified configuration if that is no good either
if (!config.isValid())
config = QNetworkConfiguration();
}
reply->proxyList = manager->queryProxy(QNetworkProxyQuery(config, url()));
#else // QT_NO_BEARERMANAGEMENT
// Without bearer management, the proxy depends only on the url
reply->proxyList = manager->queryProxy(QNetworkProxyQuery(url()));
#endif
#endif
// now start the request
open();
return true;
}
示例11: write_message
void Server::StartServer()
{
shotTimer->stop();
is_config_mode = false;
emit write_message(tr("Network session starting."));
QNetworkConfigurationManager manager;
if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) {
// Get saved network configuration
QSettings settings(QSettings::UserScope, QLatin1String("QtProject"));
settings.beginGroup(QLatin1String("QtNetwork"));
const QString id = settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
settings.endGroup();
// If the saved network configuration is not currently discovered use the system default
QNetworkConfiguration config = manager.configurationFromIdentifier(id);
if ((config.state() & QNetworkConfiguration::Discovered) !=
QNetworkConfiguration::Discovered) {
config = manager.defaultConfiguration();
}
networkSession = new QNetworkSession(config, this);
connect(networkSession, SIGNAL(opened()), this, SLOT(sessionOpen()));
emit write_message(tr("Opening network session."));
networkSession->open();
} else {
sessionOpen();
}
connect(tcpServer, SIGNAL(newConnection()), this, SLOT(recieveConnection()));
}
示例12: main
QT_USE_NAMESPACE
#define NO_DISCOVERED_CONFIGURATIONS_ERROR 1
#define SESSION_OPEN_ERROR 2
int main(int argc, char** argv)
{
QCoreApplication app(argc, argv);
#ifndef QT_NO_BEARERMANAGEMENT
// Update configurations so that everything is up to date for this process too.
// Event loop is used to wait for awhile.
QNetworkConfigurationManager manager;
manager.updateConfigurations();
QEventLoop iIgnoreEventLoop;
QTimer::singleShot(3000, &iIgnoreEventLoop, SLOT(quit()));
iIgnoreEventLoop.exec();
QList<QNetworkConfiguration> discovered =
manager.allConfigurations(QNetworkConfiguration::Discovered);
foreach(QNetworkConfiguration config, discovered) {
qDebug() << "Lackey: Name of the config enumerated: " << config.name();
qDebug() << "Lackey: State of the config enumerated: " << config.state();
}
示例13: connect
lc::ClientHelpNotificationServer::ClientHelpNotificationServer( QObject *argParent ) :
QObject{ argParent },
hostAddress{ settings->serverIP }
{
QNetworkConfigurationManager manager;
if ( manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired ) {
// Get saved network configuration
QSettings settings{ QSettings::UserScope, QLatin1String{ "QtProject" } };
settings.beginGroup( QLatin1String{ "QtNetwork" } );
const QString id = settings.value( QLatin1String{ "DefaultNetworkConfiguration" } ).toString();
settings.endGroup();
// If the saved network configuration is not currently discovered use the system default
QNetworkConfiguration config = manager.configurationFromIdentifier( id );
if ( ( config.state() & QNetworkConfiguration::Discovered ) != QNetworkConfiguration::Discovered ) {
config = manager.defaultConfiguration();
}
networkSession = new QNetworkSession{ config, this };
connect( networkSession, &QNetworkSession::opened,
this, &ClientHelpNotificationServer::OpenSession );
networkSession->open();
} else {
OpenSession();
}
connect( helpMessageServer, &QTcpServer::newConnection,
this, &ClientHelpNotificationServer::SendReply );
}
示例14: QDialog
Server::Server(QWidget *parent) : QDialog(parent)
{
networkSession=0;
tcpServer=0;
ui = new Ui::Server;
ui->setupUi(this);
val=0;
ui->quit_button->setAutoDefault(false);
QNetworkConfigurationManager manager;
if (manager.capabilities() & QNetworkConfigurationManager::NetworkSessionRequired) {
// Get saved network configuration
QSettings settings(QSettings::UserScope, QLatin1String("QtProject"));
settings.beginGroup(QLatin1String("QtNetwork"));
const QString id = settings.value(QLatin1String("DefaultNetworkConfiguration")).toString();
settings.endGroup();
// If the saved network configuration is not currently discovered use the system default
QNetworkConfiguration config = manager.configurationFromIdentifier(id);
if ((config.state() & QNetworkConfiguration::Discovered) !=
QNetworkConfiguration::Discovered) {
config = manager.defaultConfiguration();
}
networkSession = new QNetworkSession(config, this);
connect(networkSession, SIGNAL(opened()), this, SLOT(sessionOpened()));
networkSession->open();
} else {
sessionOpened();
}
connect(ui->quit_button, SIGNAL(clicked()), this, SLOT(close()));
connect(tcpServer, SIGNAL(newConnection()), this, SLOT(conn()));
}
示例15: QObject
//! [0]
AppModel::AppModel(QObject *parent) :
QObject(parent),
d(new AppModelPrivate)
{
//! [0]
d->fcProp = new QQmlListProperty<WeatherData>(this, d,
forecastAppend,
forecastCount,
forecastAt,
forecastClear);
d->geoReplyMapper = new QSignalMapper(this);
d->weatherReplyMapper = new QSignalMapper(this);
connect(d->geoReplyMapper, SIGNAL(mapped(QObject*)),
this, SLOT(handleGeoNetworkData(QObject*)));
connect(d->weatherReplyMapper, SIGNAL(mapped(QObject*)),
this, SLOT(handleWeatherNetworkData(QObject*)));
//! [1]
// make sure we have an active network session
d->nam = new QNetworkAccessManager(this);
QNetworkConfigurationManager ncm;
d->ns = new QNetworkSession(ncm.defaultConfiguration(), this);
connect(d->ns, SIGNAL(opened()), this, SLOT(networkSessionOpened()));
// the session may be already open. if it is, run the slot directly
if (d->ns->isOpen())
this->networkSessionOpened();
// tell the system we want network
d->ns->open();
}