52 lines
No EOL
1.4 KiB
C#
52 lines
No EOL
1.4 KiB
C#
using System;
|
|
using System.ServiceProcess;
|
|
|
|
using JetBrains.Annotations;
|
|
|
|
using AmagnoVirtualPrinter.Agent.Core;
|
|
|
|
namespace AmagnoVirtualPrinter.Agent.Service
|
|
{
|
|
public partial class AmagnoVirtualPrinterService : ServiceBase
|
|
{
|
|
public const string PrinterServiceName = "AmagnoPrinterService";
|
|
public const string PrinterDescription = "Handles virtual printers";
|
|
|
|
[NotNull]
|
|
private readonly IAmagnoVirtualPrinterService _amagnoPrinterService;
|
|
|
|
public AmagnoVirtualPrinterService([NotNull]IAmagnoVirtualPrinterService amagnoVirtualPrinterService)
|
|
{
|
|
if (amagnoVirtualPrinterService == null)
|
|
{
|
|
throw new ArgumentNullException(nameof(amagnoVirtualPrinterService));
|
|
}
|
|
|
|
InitializeComponent();
|
|
|
|
_amagnoPrinterService = amagnoVirtualPrinterService;
|
|
}
|
|
|
|
protected override void OnStart(string[] args)
|
|
{
|
|
OnServiceStart();
|
|
}
|
|
|
|
public void OnServiceStart()
|
|
{
|
|
// Insert additional code here to define processing.
|
|
_amagnoPrinterService.Start();
|
|
}
|
|
|
|
protected override void OnStop()
|
|
{
|
|
OnServiceStop();
|
|
}
|
|
|
|
public void OnServiceStop()
|
|
{
|
|
// Insert additional code here to define processing.
|
|
_amagnoPrinterService.Stop();
|
|
}
|
|
}
|
|
} |