Overte C++ Documentation
ResourceRequestObserver.h
1 //
2 // ResourceRequestObserver.h
3 // libraries/shared/src
4 //
5 // Created by Kerry Ivan Kurian on 9/27/18.
6 // Copyright 2018 High Fidelity, Inc.
7 //
8 // Distributed under the Apache License, Version 2.0.
9 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
10 //
11 
12 
13 #include <QJsonObject>
14 #include <QString>
15 #include <QNetworkRequest>
16 
17 #include "DependencyManager.h"
18 
19 /*@jsdoc
20  * The <code>ResourceRequestObserver</code> API provides notifications when an observable resource request is made.
21  *
22  * @namespace ResourceRequestObserver
23  *
24  * @hifi-interface
25  * @hifi-client-entity
26  * @hifi-avatar
27  */
28 class ResourceRequestObserver : public QObject, public Dependency {
29  Q_OBJECT
30  SINGLETON_DEPENDENCY
31 
32 public:
33  void update(const QUrl& requestUrl, const qint64 callerId = -1, const QString& extra = "");
34 
35 signals:
36  /*@jsdoc
37  * Triggered when an observable resource request is made.
38  * @function ResourceRequestObserver.resourceRequestEvent
39  * @param {ResourceRequestObserver.ResourceRequest} request - Information about the resource request.
40  * @returns {Signal}
41  * @example <caption>Report when a particular Clipboard.importEntities() resource request is made.</caption>
42  * ResourceRequestObserver.resourceRequestEvent.connect(function (request) {
43  * if (request.callerId === 100) {
44  * print("Resource request: " + JSON.stringify(request));
45  * }
46  * });
47  *
48  * function importEntities() {
49  * var filename = Window.browse("Import entities to clipboard", "", "*.json");
50  * if (filename) {
51  * Clipboard.importEntities(filename, true, 100);
52  * pastedEntities = Clipboard.pasteEntities(Vec3.sum(MyAvatar.position,
53  * Vec3.multiplyQbyV(MyAvatar.orientation, { x: 0, y: 0, z: -3 })));
54  * print("Entities pasted: " + JSON.stringify(pastedEntities));
55  * }
56  * }
57  *
58  * Script.setTimeout(importEntities, 2000);
59  */
60  void resourceRequestEvent(QVariantMap result);
61 };