// Copyright © Selmo Technology GmbH. All Rights Reserved

using Novus.Connectivity.Service;
using SelmoStudio.Hmi.Server.ProcessValue.Services;

namespace SelmoStudio.Hmi.Server.ProcessValue
{
    public interface IProcessValuesHandler : IDisposable
    {
        void Register(ValuesConnectionRegistration registration, IProcessValuePollingService registrationService);

        void Unregister(ValuesConnectionRegistration registration, IProcessValuePollingService registrationService);

        void RegisterOnIntervalElapsed(IProcessValuePollingService registrationService);

        void UnregisterOnIntervalElapsed(IProcessValuePollingService registrationService);

        void SetIntervalElapsedCallback(Func<Task> task);
    }
}