import QtQuick.tooling 1.2

// This file describes the plugin-supplied types contained in the library.
// It is used for QML tooling purposes only.
//
// This file was auto-generated by:
// 'qmlplugindump -notrelocatable SSO.OnlineAccounts 0.1 .'
//
// qmlplugindump is deprecated! You should use qmltyperegistrar instead.

Module {
    Component {
        name: "OnlineAccounts::Account"
        prototype: "QObject"
        exports: ["SSO.OnlineAccounts/Account 0.1"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "RemovalOption"
            values: {
                "RemoveAccountOnly": 0,
                "RemoveCredentials": 1
            }
        }
        Enum {
            name: "RemovalOptions"
            values: {
                "RemoveAccountOnly": 0,
                "RemoveCredentials": 1
            }
        }
        Property { name: "objectHandle"; type: "QObject"; isPointer: true }
        Property { name: "enabled"; type: "bool"; isReadonly: true }
        Property { name: "provider"; type: "QVariantMap"; isReadonly: true }
        Property { name: "displayName"; type: "string"; isReadonly: true }
        Property { name: "accountId"; type: "uint"; isReadonly: true }
        Property { name: "accountServiceHandle"; type: "QObject"; isReadonly: true; isPointer: true }
        Signal { name: "synced" }
        Signal { name: "removed" }
        Method {
            name: "updateDisplayName"
            Parameter { name: "displayName"; type: "string" }
        }
        Method {
            name: "updateEnabled"
            Parameter { name: "enabled"; type: "bool" }
        }
        Method { name: "sync" }
        Method {
            name: "remove"
            Parameter { name: "options"; type: "RemovalOptions" }
        }
        Method { name: "remove" }
    }
    Component {
        name: "OnlineAccounts::AccountService"
        prototype: "QObject"
        exports: ["SSO.OnlineAccounts/AccountService 0.1"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "ErrorCode"
            values: {
                "NoError": 0,
                "NoAccountError": 1,
                "UserCanceledError": 2,
                "PermissionDeniedError": 3,
                "NetworkError": 4,
                "SslError": 5,
                "InteractionRequiredError": 6
            }
        }
        Enum {
            name: "UiPolicy"
            values: {
                "DefaultPolicy": 0,
                "RequestPasswordPolicy": 1,
                "NoUserInteractionPolicy": 2,
                "ValidationPolicy": 3
            }
        }
        Property { name: "objectHandle"; type: "QObject"; isPointer: true }
        Property { name: "enabled"; type: "bool"; isReadonly: true }
        Property { name: "serviceEnabled"; type: "bool"; isReadonly: true }
        Property { name: "provider"; type: "QVariantMap"; isReadonly: true }
        Property { name: "service"; type: "QVariantMap"; isReadonly: true }
        Property { name: "displayName"; type: "string"; isReadonly: true }
        Property { name: "accountId"; type: "uint"; isReadonly: true }
        Property { name: "settings"; type: "QVariantMap"; isReadonly: true }
        Property { name: "authData"; type: "QVariantMap"; isReadonly: true }
        Property { name: "autoSync"; type: "bool" }
        Property { name: "credentials"; type: "QObject"; isPointer: true }
        Signal {
            name: "authenticated"
            Parameter { name: "reply"; type: "QVariantMap" }
        }
        Signal {
            name: "authenticationError"
            Parameter { name: "error"; type: "QVariantMap" }
        }
        Method {
            name: "authenticate"
            Parameter { name: "sessionData"; type: "QVariantMap" }
        }
        Method { name: "authenticate" }
        Method {
            name: "authenticate"
            Parameter { name: "method"; type: "string" }
            Parameter { name: "mechanism"; type: "string" }
            Parameter { name: "sessionData"; type: "QVariantMap" }
        }
        Method {
            name: "authenticate"
            Parameter { name: "method"; type: "string" }
            Parameter { name: "mechanism"; type: "string" }
        }
        Method { name: "cancelAuthentication" }
        Method {
            name: "updateServiceEnabled"
            Parameter { name: "enabled"; type: "bool" }
        }
        Method {
            name: "updateSettings"
            Parameter { name: "settings"; type: "QVariantMap" }
        }
    }
    Component {
        name: "OnlineAccounts::AccountServiceModel"
        prototype: "QAbstractListModel"
        exports: ["SSO.OnlineAccounts/AccountServiceModel 0.1"]
        exportMetaObjectRevisions: [0]
        Property { name: "count"; type: "int"; isReadonly: true }
        Property { name: "includeDisabled"; type: "bool" }
        Property { name: "accountId"; type: "uint" }
        Property { name: "account"; type: "QObject"; isPointer: true }
        Property { name: "applicationId"; type: "string" }
        Property { name: "provider"; type: "string" }
        Property { name: "serviceType"; type: "string" }
        Property { name: "service"; type: "string" }
        Method {
            name: "get"
            type: "QVariant"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "roleName"; type: "string" }
        }
    }
    Component {
        name: "OnlineAccounts::ApplicationModel"
        prototype: "QAbstractListModel"
        exports: ["SSO.OnlineAccounts/ApplicationModel 0.1"]
        exportMetaObjectRevisions: [0]
        Property { name: "count"; type: "int"; isReadonly: true }
        Property { name: "service"; type: "string" }
        Method {
            name: "get"
            type: "QVariant"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "roleName"; type: "string" }
        }
    }
    Component {
        name: "OnlineAccounts::Credentials"
        prototype: "QObject"
        exports: ["SSO.OnlineAccounts/Credentials 0.1"]
        exportMetaObjectRevisions: [0]
        Property { name: "credentialsId"; type: "uint" }
        Property { name: "caption"; type: "string" }
        Property { name: "userName"; type: "string" }
        Property { name: "secret"; type: "string" }
        Property { name: "storeSecret"; type: "bool" }
        Property { name: "acl"; type: "QStringList" }
        Property { name: "methods"; type: "QVariantMap" }
        Signal { name: "synced" }
        Signal { name: "removed" }
        Method { name: "sync" }
        Method { name: "remove" }
    }
    Component {
        name: "OnlineAccounts::Manager"
        prototype: "QObject"
        exports: ["SSO.OnlineAccounts/Manager 0.1"]
        isCreatable: false
        isSingleton: true
        exportMetaObjectRevisions: [0]
        Method {
            name: "loadAccount"
            type: "QObject*"
            Parameter { name: "accountId"; type: "uint" }
        }
        Method {
            name: "createAccount"
            type: "QObject*"
            Parameter { name: "providerName"; type: "string" }
        }
    }
    Component {
        name: "OnlineAccounts::ProviderModel"
        prototype: "QAbstractListModel"
        exports: ["SSO.OnlineAccounts/ProviderModel 0.1"]
        exportMetaObjectRevisions: [0]
        Property { name: "applicationId"; type: "string" }
        Property { name: "count"; type: "int"; isReadonly: true }
        Method {
            name: "get"
            type: "QVariant"
            Parameter { name: "row"; type: "int" }
            Parameter { name: "roleName"; type: "string" }
        }
    }
}
