|
|
-
-
- function timelineAgent(id, proxyAddress) {
- // execute super constructor
- eve.Agent.call(this, id);
-
- this.proxyAddress = proxyAddress;
-
- this.eventTypes = {};
- this.timelineEvents = [];
-
- this.timelineClient = undefined;
- this.inputClient = undefined;
-
-
- // extend the agent with RPC functionality
- this.rpc = this.loadModule('rpc', this.rpcFunctions, {timeout:2000}); // option 1
-
- // connect to all transports provided by the system
- this.connect(eve.system.transports.getAll());
-
- }
-
- // extend the eve.Agent prototype
- timelineAgent.prototype = Object.create(eve.Agent.prototype);
- timelineAgent.prototype.constructor = timelineAgent;
-
- timelineAgent.prototype.rpcFunctions = {};
-
- timelineAgent.prototype.rpcFunctions.close = function() {
- sessionClosed();
- };
-
- timelineAgent.prototype.connectToProxy = function() {
- this.rpc.request(this.proxyAddress, {method:'setTimelineClient',params:{}}).done(function () {
- connected = true;
- });
- };
-
- timelineAgent.prototype.rpcFunctions.addTimelineEvent = function(params,sender) {
- addToDataset(params.item);
- };
-
- timelineAgent.prototype.rpcFunctions.resetTimelineEvents = function(params,sender) {
- clearDataset();
- };
-
- timelineAgent.prototype.wakeProxy = function(httpAddress) {
- this.rpc.request(httpAddress, {method:'wakeUp',params:{}}).done();
- };
-
- timelineAgent.prototype.getTimelineEvents = function (params, sender) {
- var me = this;
- return new Promise(function(resolve,reject) {
- me.rpc.request(me.proxyAddress, {method: 'getTimelineEvents', params: {}})
- .then(function (reply) {
- resolve(reply);
- })
- .catch(function(err) {reject(err);});
- })
- };
|