2.4 KiB
Project Structure
đĨ You can find code dive session recorded video here
|_ doc
|_ eng
|_ examples
|_ src
|_ Core
| |_ ServiceWrapper
| |_ WinSWCore
|_ Plugins
|_ Test/winswTest
đ doc
This directory contains all the documents related to the WinSW project.
đ eng
đ build.yaml
This contains Build configurations. We have another release pipeline that is not yet added to this repository and will be added in later.
đ examples
This folder contains templates for configuration files. Currently, there are XML configuration templates. YAML templates will be added in later.
đ sample-minimal.xml
This contains a template for mandatory configurations.
đ sample-allOptions.xml
This template contains all possible configurations with documentation.
đ src
This contains the implementation of the WinSW.
đ Core
đ ServiceWrapper
This is the main executable project.
|_ ServiceWrapper
|_ Logging
| |_ WrapperServiceEventLogProvider.cs
|_ Properties
| |_ AssemblyInfo.cs
|_ Main.cs
|_ NullableAttributes.cs
|_ winsw.csproj
đ Main.cs
This file contains the entry point of the program. (Main method). This file includes the main flow of the program and has implemented the logics for command-line arguments.
ex : install, uninstall, start, stop, restart
đ WinSWCore
|_ WinSWCore
|_ Configuration
|_ Extensions
|_ Logging
|_ Native
|_ Util
|_ Download.cs
|_ DynamicProxy.cs
|_ LogAppenders.cs
|_ NullableAttributes.cs
|_ PeriodicRollingCalendar.cs
|_ ServiceDescriptor.cs
|_ WinSWCore.csproj
|_ WinSWException.cs
|_ WinSWSystem.cs
|_ Wmi.cs
|_ WmiSchema.cs
đ ServiceDescriptor.cs
This contains the logics for extracting configurations from the XML file. ServiceDescriptor
class get XML file as an argument. Currently, configurations are provided on demand.
đ Configuration
đ IWinSWConfiguration.cs
IWinSWConfigurations
interface contains all configurations.
đ DefaultSettings.cs
This contains default values for all configurations which included in IWinSWConfiguration.cs
.