|
|
|
|
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);});
|
|
})
|
|
};
|