/// <summary>
 /// 
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="jsonSerializer"></param>
 /// <param name="userManager"></param>
 /// <param name="userDataManager"> </param>
 /// <param name="httpClient"></param>
 /// <param name="appHost"></param>
 /// <param name="fileSystem"></param>
 public SyncFromTraktTask(ILogManager logger, IJsonSerializer jsonSerializer, IUserManager userManager, IUserDataManager userDataManager, IHttpClient httpClient, IServerApplicationHost appHost, IFileSystem fileSystem)
 {
     _userManager = userManager;
     _userDataManager = userDataManager;
     _logger = logger.GetLogger("Trakt");
     _traktApi = new TraktApi(jsonSerializer, _logger, httpClient, appHost, userDataManager, fileSystem);
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="fileSystem"></param>
 /// <param name="traktApi"></param>
 public LibraryManagerEventsHelper(ILogger logger, IFileSystem fileSystem, TraktApi traktApi)
 {
     _queuedEvents = new List<LibraryEvent>();
     _logger = logger;
     _fileSystem = fileSystem;
     _traktApi = traktApi;
 }
예제 #3
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="jsonSerializer"></param>
 /// <param name="userManager"></param>
 /// <param name="userDataManager"> </param>
 /// <param name="httpClient"></param>
 public SyncFromTraktTask(ILogManager logger, IJsonSerializer jsonSerializer, IUserManager userManager, IUserDataManager userDataManager, IHttpClient httpClient)
 {
     _userManager = userManager;
     _userDataManager = userDataManager;
     _logger = logger.GetLogger("Trakt");
     _traktApi = new TraktApi(jsonSerializer, _logger, httpClient);
 }
예제 #4
0
 public SyncLibraryTask(ILogManager logger, IJsonSerializer jsonSerializer, IUserManager userManager, IUserDataManager userDataManager, IHttpClient httpClient, IFileSystem fileSystem)
 {
     _userManager = userManager;
     _userDataManager = userDataManager;
     _logger = logger.GetLogger("Trakt");
     _fileSystem = fileSystem;
     _traktApi = new TraktApi(jsonSerializer, _logger, httpClient);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="TraktController"/> class.
 /// </summary>
 /// <param name="userDataManager">Instance of the <see cref="IUserDataManager"/> interface.</param>
 /// <param name="loggerFactory">Instance of the <see cref="ILoggerFactory"/> interface.</param>
 /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
 /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
 /// <param name="httpClient">Instance of the <see cref="IHttpClient"/> interface.</param>
 /// <param name="appHost">Instance of the <see cref="IServerApplicationHost"/> interface.</param>
 public TraktController(
     IUserDataManager userDataManager,
     ILoggerFactory loggerFactory,
     IHttpClientFactory httpClientFactory,
     IServerApplicationHost appHost,
     IFileSystem fileSystem,
     ILibraryManager libraryManager)
 {
     _logger         = loggerFactory.CreateLogger <TraktController>();
     _traktApi       = new TraktApi(loggerFactory.CreateLogger <TraktApi>(), httpClientFactory, appHost, userDataManager, fileSystem);
     _libraryManager = libraryManager;
 }
예제 #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TraktUriService"/> class.
 /// </summary>
 /// <param name="userDataManager"></param>
 /// <param name="logger">The logger.</param>
 /// <param name="fileSystem"></param>
 /// <param name="libraryManager">The library manager.</param>
 /// <param name="httpClient"></param>
 /// <param name="appHost"></param>
 /// <param name="jsonSerializer"></param>
 public TraktUriService(
     IJsonSerializer jsonSerializer,
     IUserDataManager userDataManager,
     ILogger logger,
     IHttpClient httpClient,
     IServerApplicationHost appHost,
     IFileSystem fileSystem,
     ILibraryManager libraryManager)
 {
     _logger         = logger;
     _traktApi       = new TraktApi(jsonSerializer, _logger, httpClient, appHost, userDataManager, fileSystem);
     _libraryManager = libraryManager;
 }
예제 #7
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="jsonSerializer"></param>
        /// <param name="sessionManager"> </param>
        /// <param name="userDataManager"></param>
        /// <param name="libraryManager"> </param>
        /// <param name="logger"></param>
        /// <param name="httpClient"></param>
        /// <param name="appHost"></param>
        /// <param name="fileSystem"></param>
        public ServerMediator(IJsonSerializer jsonSerializer, ISessionManager sessionManager, IUserDataManager userDataManager, ILibraryManager libraryManager, ILogManager logger, IHttpClient httpClient, IServerApplicationHost appHost, IFileSystem fileSystem)
        {
            Instance = this;
            _sessionManager = sessionManager;
            _libraryManager = libraryManager;
            _logger = logger.GetLogger("Trakt");

            _traktApi = new TraktApi(jsonSerializer, _logger, httpClient, appHost, userDataManager, fileSystem);
            _service = new TraktUriService(_traktApi, _logger, _libraryManager);
            _libraryManagerEventsHelper = new LibraryManagerEventsHelper(_logger, _traktApi);
            _userDataManagerEventsHelper = new UserDataManagerEventsHelper(_logger, _traktApi);

            userDataManager.UserDataSaved += _userDataManager_UserDataSaved;
        }
예제 #8
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="jsonSerializer"></param>
        /// <param name="sessionManager"> </param>
        /// <param name="userDataManager"></param>
        /// <param name="libraryManager"> </param>
        /// <param name="logger"></param>
        /// <param name="httpClient"></param>
        /// <param name="fileSystem"></param>
        public ServerMediator(IJsonSerializer jsonSerializer, ISessionManager sessionManager, IUserDataManager userDataManager,
            ILibraryManager libraryManager, ILogManager logger, IHttpClient httpClient, IFileSystem fileSystem)
        {
            Instance = this;
            _sessionManager = sessionManager;
            _userDataManager = userDataManager;
            _libraryManager = libraryManager;
            _logger = logger.GetLogger("Trakt");
            _fileSystem = fileSystem;

            _traktApi = new TraktApi(jsonSerializer, _logger, httpClient);
            _service = new TraktUriService(_traktApi, _logger, _libraryManager);
            _libraryManagerEventsHelper = new LibraryManagerEventsHelper(_logger, _fileSystem, _traktApi);
            _progressEvents = new List<ProgressEvent>();
            _userDataManagerEventsHelper = new UserDataManagerEventsHelper(_logger, _traktApi);

            // TODO This should probably be elsewhere.
            UpdateUserRatingFormat();

            EnableUserDataSavedEventListener();
        }
        /// <summary>
        /// 
        /// </summary>
        public void Dispose()
        {
            _sessionManager.PlaybackStart -= KernelPlaybackStart;
            _sessionManager.PlaybackStopped -= KernelPlaybackStopped;
            _libraryManager.ItemAdded -= LibraryManagerItemAdded;
            _libraryManager.ItemRemoved -= LibraryManagerItemRemoved;
            _service = null;
            _traktApi = null;
            _libraryManagerEventsHelper = null;
            _progressEvents = null;

        }
예제 #10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TraktUriService"/> class.
 /// </summary>
 /// <param name="traktApi">The trakt API.</param>
 /// <param name="logger">The logger.</param>
 /// <param name="libraryManager">The library manager.</param>
 public TraktUriService(TraktApi traktApi, ILogger logger, ILibraryManager libraryManager)
 {
     _traktApi       = traktApi;
     _logger         = logger;
     _libraryManager = libraryManager;
 }
예제 #11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="TraktUriService"/> class.
 /// </summary>
 /// <param name="traktApi">The trakt API.</param>
 /// <param name="logger">The logger.</param>
 /// <param name="libraryManager">The library manager.</param>
 public TraktUriService(TraktApi traktApi, ILogger logger, ILibraryManager libraryManager)
 {
     _traktApi = traktApi;
     _logger = logger;
     _libraryManager = libraryManager;
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="traktApi"></param>
 public UserDataManagerEventsHelper(ILogger logger, TraktApi traktApi)
 {
     _userDataPackages = new List<UserDataPackage>();
     _logger = logger;
     _traktApi = traktApi;
 }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="traktApi"></param>
 public LibraryManagerEventsHelper(ILogger logger, TraktApi traktApi)
 {
     _queuedEvents = new List<LibraryEvent>();
     _logger = logger;
     _traktApi = traktApi;
 }
예제 #14
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="traktApi"></param>
 /// <param name="userManager"></param>
 public TraktUriService(TraktApi traktApi, IUserManager userManager)
 {
     _traktApi    = traktApi;
     _userManager = userManager;
 }