diffusion
Version:
Diffusion JavaScript client
24 lines (19 loc) • 1.17 kB
JavaScript
var InternalSession = require('client/internal-session');
var ServiceRegistry = require('client/service-registry');
var ConnectionFactory = require('v4-stack/connection-factory');
var ConversationSet = require('conversation/conversation-set');
// Service implementations
var Services = require('services/services');
var MonitoredPingService = require('client/services/monitored-ping-service');
var PingService = require('client/services/ping-service');
var NotifySubscriptionService = require('client/services/notify-subscription-service');
var NotifyUnsubscriptionService = require('client/services/notify-unsubscription-service');
module.exports = function(options) {
var serviceRegistry = new ServiceRegistry();
// Assign default service implementations
serviceRegistry.add(Services.USER_PING, PingService);
serviceRegistry.add(Services.SYSTEM_PING, MonitoredPingService);
serviceRegistry.add(Services.NOTIFY_SUBSCRIPTION, NotifySubscriptionService);
serviceRegistry.add(Services.UNSUBSCRIPTION_NOTIFICATION, NotifyUnsubscriptionService);
return new InternalSession(ConversationSet, serviceRegistry, ConnectionFactory, options);
};