-
Notifications
You must be signed in to change notification settings - Fork 4
Disunity Managment
- Crypto
- DisunityDistroIdentifier
- IPackage
- IPackageStore
- IProfile
- IResolver
- ITarget
- ITargetManager
- Management
- ManagementOptions
- ModIdentifier
- ObservableDictionary`2
- PackageIdentifier
- PackageStoreExtensions
- ProfileMeta
- SymbolicLinkReparseData
- TargetMeta
- VersionSet
Disunity.Management.Util
Calculate the managed path for a target by hashing the target's executable path
Name | Type | Description |
---|---|---|
target | Disunity.Management.Managers.ITarget | |
hashLength | System.Nullable{System.Int32} |
Disunity.Management.Models
The version segment parsed out of the Id
Disunity.Management.Models
Represents a resolved
Disunity.Management.PackageStores
A general interface for handling downloading and storing the various online archives (mods, disunity distro, etc)
Wipes the store and removes all downloaded entities
This method has no parameters.
Download the specified package into the package store.
The absolute path to the downloaded package
Name | Type | Description |
---|---|---|
fullPackageName | System.String | The full package name (ie owner_mod_version or disunity_version) |
force | System.Boolean | When true, will always download, even if the specified mod is already downloaded |
cancellationToken | System.Threading.CancellationToken |
Will skip download by default if the specified package has already been downloaded
Run the garbage collector
This method has no parameters.
Checks for and removes the following:
Get the absolute path for a given package
The absolute path to the package specified, or null if not found
Name | Type | Description |
---|---|---|
fullPackageName | System.String | The full package name (ie owner_mod_version or disunity_version) |
Disunity.Management.Managers
Contains management features for Profiles
A dictionary containing the mods and version restrictions.
The metadata for the managed profile.
Absolute path to this profile's directory
Delete this profile's backing files and cleanup meta data from the internal db
This method has no parameters.
Disunity.Management.Util
A utility for resolving version requirements into concrete VersionSets
Disunity.Management.Managers
Contains management features for targets
The currently active profile.
Setting this property will cause the active profile to be altered in the internal db, however it is up to the caller to synchronize the filesystem after the change
A set of all profiles associated with this target.
Modifying this set will automatically adjust the internal db, however it is up to the caller to synchronize the filesystem after changes are made
The meta data for this managed target
Removes the target from the internal db
This method has no parameters.
Be aware that it is up to the caller to synchronize the filesystem after calling this method
Disunity.Management.Managers
A list of all managed targets
Configure a new target with the given disunity version or latest available version
The newly created Target or null
Name | Type | Description |
---|---|---|
executablePath | System.String | The path to the target executable |
disunityVersion | System.String | The desired disunity version to install in the default profile. Null for latest compatible version |
Name | Description |
---|---|
System.ArgumentException |
Find and parse all managed target directories within
A List`1 of all the found Targets.
This method has no parameters.
Disunity.Management
Entry point into the Disunity.Management layer.
Please use the static Create method to get instances of the Management class.
Configures all internal services and creates an instances of Management
Name | Type | Description |
---|---|---|
config | Microsoft.Extensions.Configuration.IConfiguration | The configuration to use for this instance |
Disunity.Management.Options
Root path for all files managed by disunity.
Defaults to `ApplicationData/disunity`
Disunity.Management.Models
The mod segment parsed out of the Id
The owner segment parsed out of the Id
The version segment parsed out of the Id
Disunity.Management.Util
Provides a dictionary for use with data binding.
Name | Description |
---|---|
TKey | Specifies the type of the keys in this collection. |
TValue | Specifies the type of the values in this collection. |
Initializes an instance of the class.
This constructor has no parameters.
Initializes an instance of the class using another dictionary as the key/value store.
This constructor has no parameters.
Gets or sets the element with the specified key.
Name | Type | Description |
---|---|---|
key | `0 | The key. |
Gets an ICollection`1 containing the keys of the IDictionary`2.
An ICollection`1 containing the keys of the object that implements IDictionary`2.
Gets an ICollection`1 containing the values in the IDictionary`2.
An ICollection`1 containing the values in the object that implements IDictionary`2.
Adds an element with the provided key and value to the IDictionary`2.
Name | Type | Description |
---|---|---|
key | `0 | The object to use as the key of the element to add. |
value | `1 | The object to use as the value of the element to add. |
Determines whether the IDictionary`2 contains an element with the specified key.
true if the IDictionary`2 contains an element with the key; otherwise, false.
Name | Type | Description |
---|---|---|
key | `0 | The key to locate in the IDictionary`2. |
Allows derived classes to raise custom property changed events.
This method has no parameters.
Removes the element with the specified key from the IDictionary`2.
true if the element is successfully removed; otherwise, false. This method also returns false if key
was not found in the original IDictionary`2.
Name | Type | Description |
---|---|---|
key | `0 | The key of the element to remove. |
Gets the value associated with the specified key.
true if the object that implements IDictionary`2 contains an element with the specified key; otherwise, false.
Name | Type | Description |
---|---|---|
key | `0 | The key whose value to get. |
value | `1@ | When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized. |
Disunity.Management.Models
Represents a unique identifier for generic packages
Id string for this package. Should be the minimal string necessary to uniquely identify this package
Check whether the stored Id is validate. Default implementation always returns true
This method has no parameters.
Disunity.Management.Extensions
A helper method for GetPackagePath to provide the package name and version number separately
Name | Type | Description |
---|---|---|
store | Disunity.Management.PackageStores.IPackageStore | |
packageName | System.String | The package name (either owner_mod or disunity) |
versionNumber | System.String | The version number to use |
A helper method for GetPackagePath to provide the owner, mod and version number separately
Name | Type | Description |
---|---|---|
store | Disunity.Management.PackageStores.IPackageStore | |
owner | System.String | |
modName | System.String | |
versionNumber | System.String |
Disunity.Management.Models
The disunity distro installed into this profile
Internal id of this profile.
Used to generate a unique directory for each profile
The mod requirements of this profile
A list of all targets that are using this profile, either active or in-active
Disunity.Management.Util
Disunity.Management.Models
The currently active profile on this target
Display name to use for this target when showing to the user. Defaults to name of target as reported by disunity.io
Absolute path to the target executable
Internal Id for this target. Used mostly for linking references
The most recent hash calculated by the management layer for the target
Used mostly for detecting and validating target versions
Relative path from the root of managed target dirs to this target's dir
All profiles associated with this target
The unique slug for the target to use when looking up data from disunity.io
Disunity.Management.Models
Internal id of the version set. Used only for reference linking
A list of all packages. For now, to add or remove a package, make a new list and assign to to this property
Internal list of packages used by the database system. There is not need to modify this list directly