@filemap/events-sdk
Version:
SDK for Filemap events. Desktop client for Filemap dev server.
89 lines • 4.21 kB
JavaScript
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __param = (this && this.__param) || function (paramIndex, decorator) {
return function (target, key) { decorator(target, key, paramIndex); }
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DesktopSocketClientService = void 0;
const tsyringe_1 = require("tsyringe");
const unix_socket_connection_service_1 = require("./unix-socket-connection.service");
const logger_service_1 = require("./logger.service");
const message_handler_service_1 = require("./message-handler.service");
const config_service_1 = require("./config.service");
let DesktopSocketClientService = class DesktopSocketClientService {
logger;
configService;
socketConnection;
messageHandlerService;
started = false;
constructor(logger, configService, socketConnection, messageHandlerService) {
this.logger = logger;
this.configService = configService;
this.socketConnection = socketConnection;
this.messageHandlerService = messageHandlerService;
}
start() {
if (this.started) {
this.logger.debug('Client already started');
return;
}
this.logger.debug('Starting desktop socket client...');
this.socketConnection.start();
this.started = true;
}
stop() {
if (!this.started) {
return;
}
this.logger.debug('Stopping desktop socket client...');
this.socketConnection.stop();
this.started = false;
}
isStarted() {
return this.started;
}
onAddOnOpenFileListener(callback) {
const config = this.configService.getConfig();
if (!config.utilizedApis.includes('onOpenFile')) {
this.logger.error('You must enable the "onOpenFile" api by adding it to the list of apis utilized in the start() method.');
return;
}
this.messageHandlerService.onAddOnOpenFileListener(callback);
}
onAddOnOpenElementListener(callback) {
const config = this.configService.getConfig();
if (!config.utilizedApis.includes('onOpenElement')) {
this.logger.error('You must enable the "onOpenElement" api by adding it to the list of apis utilized in the start() method.');
return;
}
this.messageHandlerService.onAddOnOpenElementListener(callback);
}
onRemoveOnOpenFileListener(callback) {
this.messageHandlerService.onRemoveOnOpenFileListener(callback);
}
onRemoveOnOpenElementListener(callback) {
this.messageHandlerService.onRemoveOnOpenElementListener(callback);
}
};
exports.DesktopSocketClientService = DesktopSocketClientService;
exports.DesktopSocketClientService = DesktopSocketClientService = __decorate([
(0, tsyringe_1.singleton)(),
(0, tsyringe_1.injectable)(),
__param(0, (0, tsyringe_1.inject)(logger_service_1.Logger)),
__param(1, (0, tsyringe_1.inject)(config_service_1.ConfigService)),
__param(2, (0, tsyringe_1.inject)(unix_socket_connection_service_1.UnixSocketConnectionService)),
__param(3, (0, tsyringe_1.inject)(message_handler_service_1.MessageHandlerService)),
__metadata("design:paramtypes", [logger_service_1.Logger,
config_service_1.ConfigService,
unix_socket_connection_service_1.UnixSocketConnectionService,
message_handler_service_1.MessageHandlerService])
], DesktopSocketClientService);
//# sourceMappingURL=desktop-socket-client.service.js.map