Files
winsw/docs/developer/project-structure.md
Next Turn 87e7bf2b6b Revise docs for 3.0.0-alpha.7 (#731)
* Revise docs for 3.0.0-alpha.7

* Merge the installation guide into the homepage

* Fix header levels

* Add Jenkins sample

* Strip common file name prefix
2020-12-24 03:12:15 +08:00

46 lines
1.7 KiB
Markdown

# Project structure
:movie_camera: You can find the code dive session recorded video [here](https://youtu.be/_adhRj19ESY).
```
|_ docs
|_ eng
|_ samples
|_ src
|_ Core
| |_ ServiceWrapper
| |_ Main.cs
| |_ WinSWCore
| |_ ServiceDescriptor.cs
| |_ Configurations
| |_ Extensions
|_ Plugins
|_ Test/winswTest
```
## :open_file_folder: samples
This folder contains templates for configuration files. *minimal.xml* contains a template for mandatory configurations and *complete.xml* contains all possible configurations with documentation.
## :open_file_folder: Core
## :notebook: ServiceWrapper
This is the main executable project. This contains the main.cs which is the entry point of the project and contains some features for logging.
### :page_facing_up: 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. You can find more details about command line arguments [here](../../README.md#usage).
## :notebook: WinSWCore
This is the main component of the project. This contains the most important logics of the project such as ServiceDescriptor.cs, Extension api, configurations, etc.
### :page_facing_up: ServiceDescriptor.cs
This contains the logics for extracting configurations from XML file. The `ServiceDescriptor` class gets XML file as an argument. Currently configuratinos are retrieved on demand.
## :open_file_folder: Configuration
This contains the interface for the configurations. The `IWinSWConfiguration.cs` interface contains all configurations and `DefaultSettings.cs` contains default values for the configurations.