forked from qt-creator/qt-creator
Control the lifetime of SshProcessManager
Make it possible to control when the SshProcessManager is being constructed / destructed. Expose public constructor. Since different singletons depend on each other, we need to control the order of creation and destruction of them. The order of creation is like that: 1. QCoreApplication 2. ProcessReaper 3. ProcessLauncher 4. SshConnectionManager The order of destruction must be opposite to the above. Change-Id: Ice07eb751cd61c03cb461816fa1b74ab040a53de Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -32,10 +32,21 @@ namespace QSsh {
|
||||
class SshConnection;
|
||||
class SshConnectionParameters;
|
||||
|
||||
QSSH_EXPORT SshConnection *acquireConnection(const SshConnectionParameters &sshParams);
|
||||
QSSH_EXPORT void releaseConnection(SshConnection *connection);
|
||||
namespace Internal { class SshConnectionManagerPrivate; }
|
||||
|
||||
// Make sure the next acquireConnection with the given parameters will return a new connection.
|
||||
QSSH_EXPORT void forceNewConnection(const SshConnectionParameters &sshParams);
|
||||
class QSSH_EXPORT SshConnectionManager final
|
||||
{
|
||||
public:
|
||||
SshConnectionManager();
|
||||
~SshConnectionManager();
|
||||
|
||||
static SshConnection *acquireConnection(const SshConnectionParameters &sshParams);
|
||||
static void releaseConnection(SshConnection *connection);
|
||||
// Make sure the next acquireConnection with the given parameters will return a new connection.
|
||||
static void forceNewConnection(const SshConnectionParameters &sshParams);
|
||||
|
||||
private:
|
||||
Internal::SshConnectionManagerPrivate *d;
|
||||
};
|
||||
|
||||
} // namespace QSsh
|
||||
|
||||
Reference in New Issue
Block a user