public void Load(IServiceProvider serviceProvider) { try { _traceContext = (ITraceContext)serviceProvider.GetService(typeof(ITraceContext)); //must have the icelib sdk license to get the session as a service _session = (Session)serviceProvider.GetService(typeof(Session)); _interactionManager = new InteractionManager(_session, (IQueueService)serviceProvider.GetService(typeof(IQueueService)), _traceContext); _statusManager = new StatusManager(_session); _notificationService = (INotificationService)serviceProvider.GetService(typeof(INotificationService)); _plantronicsManager = new PlantronicsManager(_statusManager, _interactionManager, _notificationService, _traceContext); _traceContext.Always("Plantronics AddIn Loaded"); } catch (ArgumentNullException) { Debug.Fail("unable to get service. Is the ICELIB SDK licence available?"); throw; } }
public void Unload() { _plantronicsManager.Dispose(); _plantronicsManager = null; }