Add ResourceRequestObserver JSDoc

This commit is contained in:
David Rowe 2019-04-10 12:05:15 +12:00
parent 9a70416f2b
commit d587f1227d
2 changed files with 40 additions and 1 deletions

View file

@ -16,6 +16,13 @@
#include <QString>
#include <QUrl>
/**jsdoc
* Information about a resource request.
* @typedef {object} ResourceRequestObserver.ResourceRequest
* @property {string} url - The URL of the resource request.
* @property {number} callerId - An ID identifying the request.
* @property {string} extra - Extra information about the request.
*/
void ResourceRequestObserver::update(const QUrl& requestUrl,
const qint64 callerId,
const QString& extra) {

View file

@ -16,7 +16,15 @@
#include "DependencyManager.h"
/**jsdoc
* The <code>ResourceRequestObserver</code> API provides notifications when an observable resource request is made.
*
* @namespace ResourceRequestObserver
*
* @hifi-interface
* @hifi-client-entity
* @hifi-avatar
*/
class ResourceRequestObserver : public QObject, public Dependency {
Q_OBJECT
SINGLETON_DEPENDENCY
@ -25,5 +33,29 @@ public:
void update(const QUrl& requestUrl, const qint64 callerId = -1, const QString& extra = "");
signals:
/**jsdoc
* Triggered when an observable resource request is made.
* @function ResourceRequestObserver.resourceRequestEvent
* @param {ResourceRequestObserver.ResourceRequest} request - Information about the resource request.
* @returns {Signal}
* @example <caption>Report when a particular Clipboard.importEntities() resource request is made.</caption>
* ResourceRequestObserver.resourceRequestEvent.connect(function (request) {
* if (request.callerId === 100) {
* print("Resource request: " + JSON.stringify(request));
* }
* });
*
* function importEntities() {
* var filename = Window.browse("Import entities to clipboard", "", "*.json");
* if (filename) {
* Clipboard.importEntities(filename, true, 100);
* pastedEntities = Clipboard.pasteEntities(Vec3.sum(MyAvatar.position,
* Vec3.multiplyQbyV(MyAvatar.orientation, { x: 0, y: 0, z: -3 })));
* print("Entities pasted: " + JSON.stringify(pastedEntities));
* }
* }
*
* Script.setTimeout(importEntities, 2000);
*/
void resourceRequestEvent(QVariantMap result);
};