23 #ifndef REMOTEPLUGINPROCESS_H
24 #define REMOTEPLUGINPROCESS_H
26 #include <QCoreApplication>
28 #include <QStringList>
29 #include <QDataStream>
37 #include <QSocketNotifier>
40 #include "SignOn/uisessiondata.h"
41 #include "SignOn/authpluginif.h"
44 #include <sys/types.h>
45 #include <sys/socket.h>
49 #ifndef SIGNOND_PLUGINS_DIR
50 #define SIGNOND_PLUGINS_DIR "/usr/lib/signon"
53 #ifndef SIGNON_PLUGIN_PREFIX
54 #define SIGNON_PLUGIN_PREFIX "lib"
57 #ifndef SIGNON_PLUGIN_SUFFIX
58 #define SIGNON_PLUGIN_SUFFIX "plugin.so"
61 using namespace SignOn;
67 namespace RemotePluginProcessNS {
87 AuthPluginInterface *m_plugin;
88 QSocketNotifier *m_cancelNotifier;
106 bool loadPlugin(QString &type);
107 bool setupDataStreams();
108 bool setupProxySettings();
112 void sessionDataReceived(
const QVariantMap &sessionDataMap);
115 AuthPluginInterface *m_plugin;
120 QSocketNotifier *m_readnotifier;
121 QSocketNotifier *m_errnotifier;
123 BlobIOHandler *m_blobIOHandler;
126 quint32 m_currentOperation;
127 QString m_currentMechanism;
130 QString getPluginName(
const QString &type);
136 void userActionFinished();
139 void enableCancelThread();
140 void disableCancelThread();
143 void result(
const SignOn::SessionData &data);
144 void store(
const SignOn::SessionData &data);
145 void error(
const SignOn::Error &err);
146 void userActionRequired(
const SignOn::UiSessionData &data);
147 void refreshed(
const SignOn::UiSessionData &data);
148 void statusChanged(
const AuthPluginState state,
const QString &message);
152 void processStopped();