28 #ifndef AUTHPLUGINIF_H
29 #define AUTHPLUGINIF_H
31 #include <QtCore/qobject.h>
32 #include <QtCore/qpointer.h>
33 #include <QtCore/qplugin.h>
35 #include <QVariantMap>
36 #include <SignOn/sessiondata.h>
37 #include <SignOn/uisessiondata.h>
38 #include <SignOn/signonerror.h>
50 enum AuthPluginState {
51 PLUGIN_STATE_NONE = 0,
52 PLUGIN_STATE_RESOLVING,
53 PLUGIN_STATE_CONNECTING,
57 PLUGIN_STATE_REFRESHING,
58 PLUGIN_STATE_CANCELING,
67 #define SIGNON_PLUGIN_INSTANCE(pluginclass) \
69 static AuthPluginInterface *_instance = 0; \
71 _instance = static_cast<AuthPluginInterface *>(new pluginclass()); \
75 #define SIGNON_DECL_AUTH_PLUGIN(pluginclass) \
76 Q_EXTERN_C AuthPluginInterface *auth_plugin_instance() \
77 SIGNON_PLUGIN_INSTANCE(pluginclass)
89 { qRegisterMetaType<SignOn::Error>(
"SignOn::Error"); }
101 virtual QString
type()
const = 0;
139 virtual void process(
const SignOn::SessionData &inData,
140 const QString &mechanism = QString()) = 0;
149 void result(
const SignOn::SessionData &data);
161 void store(
const SignOn::SessionData &data);
170 void error(
const SignOn::Error &err);
203 const QString &message = QString());
240 "com.nokia.SingleSignOn.PluginInterface/1.3")
242 #endif // AUTHPLUGINIF_H
void statusChanged(const AuthPluginState state, const QString &message=QString())
Emitted to report status of authentication process to signond for informing client application.
virtual QString type() const =0
Gets the type of the plugin.
virtual void userActionFinished(const SignOn::UiSessionData &data)
User interaction completed.
void store(const SignOn::SessionData &data)
Emitted when authentication process want to store session data parameters for later use.
virtual QStringList mechanisms() const =0
Gets the list of supported mechanisms.
void refreshed(const SignOn::UiSessionData &data)
Emitted when authentication process has completed refresh request.
virtual void cancel()
Requests to cancel the process.
virtual void refresh(const SignOn::UiSessionData &data)
Refreshes given session.
void result(const SignOn::SessionData &data)
Emitted when authentication process has been completed for given data and there are no errors.
void userActionRequired(const SignOn::UiSessionData &data)
Emitted when authentication process need to interact with user.
virtual void process(const SignOn::SessionData &inData, const QString &mechanism=QString())=0
Process authentication.
virtual void abort()
Requests to abort the process.
virtual ~AuthPluginInterface()
Destructor.
void error(const SignOn::Error &err)
Emitted when authentication process has been completed for given data and resulting an error.