import QtQuick.tooling 1.1

// 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 QtPurchasing 1.0'

Module {
    Component {
        name: "QInAppProductQmlType"
        prototype: "QObject"
        exports: ["Product 1.0"]
        exportMetaObjectRevisions: [0]
        Enum {
            name: "Status"
            values: {
                "Uninitialized": 0,
                "PendingRegistration": 1,
                "Registered": 2,
                "Unknown": 3
            }
        }
        Enum {
            name: "ProductType"
            values: {
                "Consumable": 0,
                "Unlockable": 1
            }
        }
        Property { name: "identifier"; type: "string" }
        Property { name: "type"; type: "ProductType" }
        Property { name: "price"; type: "string"; isReadonly: true }
        Property { name: "title"; type: "string"; isReadonly: true }
        Property { name: "description"; type: "string"; isReadonly: true }
        Property { name: "status"; type: "Status"; isReadonly: true }
        Property { name: "store"; type: "QInAppStoreQmlType"; isPointer: true }
        Signal {
            name: "purchaseSucceeded"
            Parameter { name: "transaction"; type: "QInAppTransaction"; isPointer: true }
        }
        Signal {
            name: "purchaseFailed"
            Parameter { name: "transaction"; type: "QInAppTransaction"; isPointer: true }
        }
        Signal {
            name: "purchaseRestored"
            Parameter { name: "transaction"; type: "QInAppTransaction"; isPointer: true }
        }
        Method { name: "purchase" }
        Method { name: "resetStatus" }
    }
    Component {
        name: "QInAppStoreQmlType"
        defaultProperty: "products"
        prototype: "QObject"
        exports: ["Store 1.0"]
        exportMetaObjectRevisions: [0]
        Property { name: "products"; type: "QInAppProductQmlType"; isList: true; isReadonly: true }
        Method { name: "restorePurchases" }
    }
    Component {
        name: "QInAppTransaction"
        prototype: "QObject"
        exports: ["Transaction 1.0"]
        isCreatable: false
        exportMetaObjectRevisions: [0]
        Enum {
            name: "TransactionStatus"
            values: {
                "Unknown": 0,
                "PurchaseApproved": 1,
                "PurchaseFailed": 2,
                "PurchaseRestored": 3
            }
        }
        Enum {
            name: "FailureReason"
            values: {
                "NoFailure": 0,
                "CanceledByUser": 1,
                "ErrorOccurred": 2
            }
        }
        Property { name: "status"; type: "TransactionStatus"; isReadonly: true }
        Property { name: "product"; type: "QInAppProduct"; isReadonly: true; isPointer: true }
        Property { name: "orderId"; type: "string"; isReadonly: true }
        Property { name: "failureReason"; type: "FailureReason"; isReadonly: true }
        Property { name: "errorString"; type: "string"; isReadonly: true }
        Property { name: "timestamp"; type: "QDateTime"; isReadonly: true }
        Method { name: "finalize" }
        Method {
            name: "platformProperty"
            type: "string"
            Parameter { name: "propertyName"; type: "string" }
        }
    }
}
