feat: partially reverse-engineered app structure
This commit is contained in:
parent
8897011993
commit
5f510f365c
BIN
diagrams/app/structure.png
Normal file
BIN
diagrams/app/structure.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 101 KiB |
109
diagrams/app/structure.puml
Normal file
109
diagrams/app/structure.puml
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
@startuml
|
||||||
|
|
||||||
|
!theme crt-amber
|
||||||
|
|
||||||
|
class App {
|
||||||
|
Located in: App.xaml -> App.xaml.cs
|
||||||
|
--
|
||||||
|
--
|
||||||
|
..Startup..
|
||||||
|
// constructor
|
||||||
|
App(): app
|
||||||
|
CreateFileFolder(): String
|
||||||
|
InitializeLogger(): String
|
||||||
|
ParseMinLogLevel(String): LoggerConfiguration
|
||||||
|
|
||||||
|
..Launched..
|
||||||
|
// entrypoint
|
||||||
|
OnLaunch()
|
||||||
|
|
||||||
|
// internal method
|
||||||
|
CreateServices(): IServiceProvider
|
||||||
|
// run migrations
|
||||||
|
Updatedatabase(IServiceProvider): void
|
||||||
|
}
|
||||||
|
|
||||||
|
note left of App: Entrypoint
|
||||||
|
|
||||||
|
class GlobalWrapper {
|
||||||
|
Singleton
|
||||||
|
Saves global application state.
|
||||||
|
Basically a mix of a ton of
|
||||||
|
stuff with no particular order.
|
||||||
|
Less of a wrapper, and more of util
|
||||||
|
--attributes--
|
||||||
|
..status info..
|
||||||
|
+ LoginStatus: LoginStatusEnum
|
||||||
|
+ FileFolder: String
|
||||||
|
|
||||||
|
..server connection..
|
||||||
|
+ ClientTcpThread: ClientTcpThread
|
||||||
|
--operations--
|
||||||
|
..File Handling / DB Interaction..
|
||||||
|
+ AddPictureToDb(Guid, Guid, String): foto
|
||||||
|
|
||||||
|
..server connection..
|
||||||
|
+ ConectToServer(): void
|
||||||
|
+ ReconnectToServer(int): void
|
||||||
|
|
||||||
|
..callbacks..
|
||||||
|
+ DownloadCallback(DownloadCallbackArgs): void
|
||||||
|
+ PictureGeneratedCallback(ImageGenerationCallbackArgs): void
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class Config {
|
||||||
|
Reads/Writes data using ConfigValue.Name as key
|
||||||
|
Reading undefined key returns ConfigValue.Default.
|
||||||
|
--
|
||||||
|
config values
|
||||||
|
..
|
||||||
|
}
|
||||||
|
|
||||||
|
class ConfigValues {
|
||||||
|
Represents an identifier
|
||||||
|
for a config value
|
||||||
|
also containing the default value.
|
||||||
|
Values are READONLY STATIC
|
||||||
|
--
|
||||||
|
LOG_LEVEL
|
||||||
|
LOG_RETAIN_DAYS
|
||||||
|
|
||||||
|
FILE_FOLDER
|
||||||
|
LOG_FOLDER
|
||||||
|
ASSETS_FOLDER
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
ConfigValues "data" -- "accessor" Config: > Reads values
|
||||||
|
|
||||||
|
class DBManager {
|
||||||
|
Singleton
|
||||||
|
Saves information (paths, ...)
|
||||||
|
of databases
|
||||||
|
--
|
||||||
|
--
|
||||||
|
setClientErrorParams(String)
|
||||||
|
setClientParams(String)
|
||||||
|
}
|
||||||
|
|
||||||
|
class CleanLocalStorageManager {
|
||||||
|
Singleton
|
||||||
|
Cleans local data if it
|
||||||
|
exceeds value in the config
|
||||||
|
--
|
||||||
|
--
|
||||||
|
// called from App
|
||||||
|
CleanStorage(): void
|
||||||
|
// computes file sizes
|
||||||
|
IsThresholdExceeded(DirectoryInfo): bool
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
DBManager .. App: initializes <
|
||||||
|
CleanLocalStorageManager .. App: triggers at startup <
|
||||||
|
App . Config: reads / writes <
|
||||||
|
App .. GlobalWrapper: sets fileFolder, connectToServer <
|
||||||
|
|
||||||
|
|
||||||
|
@enduml
|
Loading…
Reference in New Issue
Block a user