aboutsummaryrefslogtreecommitdiff
path: root/singleapplication_p.cpp
diff options
context:
space:
mode:
authorLoren Burkholder <computersemiexpert@outlook.com>2020-12-10 19:18:00 -0500
committerLoren Burkholder <computersemiexpert@outlook.com>2020-12-16 22:17:24 -0500
commitf236032cf988950c12ebd8ff5e3cd3f9778ea55a (patch)
tree1025557f8196116bf4c262c5ec4eecaf5707094e /singleapplication_p.cpp
parentUpdate CHANGELOG.md (diff)
downloadsingleapplication-f236032cf988950c12ebd8ff5e3cd3f9778ea55a.tar.xz
Allow adding unique userdata to instances
Diffstat (limited to 'singleapplication_p.cpp')
-rw-r--r--singleapplication_p.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/singleapplication_p.cpp b/singleapplication_p.cpp
index 65859c7..1ab58c2 100644
--- a/singleapplication_p.cpp
+++ b/singleapplication_p.cpp
@@ -136,6 +136,9 @@ void SingleApplicationPrivate::genBlockServerName()
appData.addData( SingleApplication::app_t::organizationName().toUtf8() );
appData.addData( SingleApplication::app_t::organizationDomain().toUtf8() );
+ if ( ! appDataList.isEmpty() )
+ appData.addData( appDataList.join( "" ).toUtf8() );
+
if( ! (options & SingleApplication::Mode::ExcludeAppVersion) ){
appData.addData( SingleApplication::app_t::applicationVersion().toUtf8() );
}
@@ -186,9 +189,9 @@ void SingleApplicationPrivate::startPrimary()
// Restrict access to the socket according to the
// SingleApplication::Mode::User flag on User level or no restrictions
if( options & SingleApplication::Mode::User ){
- server->setSocketOptions( QLocalServer::UserAccessOption );
+ server->setSocketOptions( QLocalServer::UserAccessOption );
} else {
- server->setSocketOptions( QLocalServer::WorldAccessOption );
+ server->setSocketOptions( QLocalServer::WorldAccessOption );
}
server->listen( blockServerName );
@@ -225,7 +228,7 @@ bool SingleApplicationPrivate::connectToPrimary( int msecs, ConnectionType conne
if( socket->state() != QLocalSocket::ConnectedState ){
while( true ){
- randomSleep();
+ randomSleep();
if( socket->state() != QLocalSocket::ConnectingState )
socket->connectToServer( blockServerName );
@@ -470,3 +473,13 @@ void SingleApplicationPrivate::randomSleep()
QThread::msleep( 8 + static_cast <unsigned long>( static_cast <float>( qrand() ) / RAND_MAX * 10 ));
#endif
}
+
+void SingleApplicationPrivate::addAppData(const QString &data)
+{
+ appDataList.push_back(data);
+}
+
+QStringList SingleApplicationPrivate::appData() const
+{
+ return appDataList;
+}