Interface IPropertyStore
The interface a property store (for dead properties) must implement
Namespace:FubarDev.WebDavServer.Props.Store
Assembly:FubarDev.WebDavServer.dll
Syntax
public interface IPropertyStore
Properties
| Improve this Doc View SourceCost
Gets the cost to query the properties of a property store
Declaration
int Cost { get; }
Property Value
Type | Description |
---|---|
Int32 |
Methods
| Improve this Doc View SourceCreate(IEntry, XName)
Creates a dead property by its name for a given entry
Declaration
[NotNull]
IDeadProperty Create([NotNull] IEntry entry, [NotNull] XName name)
Parameters
Type | Name | Description |
---|---|---|
IEntry | entry | The entry to create the dead property with the given name for |
XName | name | The name of the dead property to create for the given entry for |
Returns
Type | Description |
---|---|
IDeadProperty | The created dead property with the given name for the given entry |
GetAsync(IEntry, CancellationToken)
Gets all dead properties for a given entry
Declaration
[NotNull]
[ItemNotNull]
Task<IReadOnlyCollection<XElement>> GetAsync([NotNull] IEntry entry, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IEntry | entry | The entry to get all the dead properties for |
CancellationToken | cancellationToken | The cancellation token |
Returns
Type | Description |
---|---|
Task<IReadOnlyCollection<XElement>> | The collection of all dead properties |
Remarks
A GetETagProperty will not be returned by this function.
GetAsync(IEntry, XName, CancellationToken)
Gets a dead property with the given name for the given entry
Declaration
[NotNull]
[ItemCanBeNull]
Task<XElement> GetAsync([NotNull] IEntry entry, [NotNull] XName name, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IEntry | entry | The entry to get the property with the given name for |
XName | name | The name of the parameter to get for a given entry |
CancellationToken | cancellationToken | The cancellation token |
Returns
Type | Description |
---|---|
Task<XElement> | The XElement for the given dead property |
Remarks
A GetETagProperty will not be returned by this function.
GetETagAsync(IEntry, CancellationToken)
Gets the entity tag for a given entry
Declaration
[NotNull]
Task<EntityTag> GetETagAsync([NotNull] IEntry entry, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IEntry | entry | The entry to get the entity tag for |
CancellationToken | cancellationToken | The cancellation token |
Returns
Type | Description |
---|---|
Task<EntityTag> | The loaded entity tag |
LoadAsync(IEntry, CancellationToken)
Loads all dead properties for a given entry into IDeadProperty implementations
Declaration
[NotNull]
[ItemNotNull]
Task<IReadOnlyCollection<IDeadProperty>> LoadAsync([NotNull] IEntry entry, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IEntry | entry | The entry to load the dead properties for |
CancellationToken | cancellationToken | The cancellation token |
Returns
Type | Description |
---|---|
Task<IReadOnlyCollection<IDeadProperty>> | The collection of the loaded dead properties |
LoadAsync(IEntry, XName, CancellationToken)
Loads the dead property with the given name into a IDeadProperty implementation
Declaration
[NotNull]
[ItemNotNull]
Task<IDeadProperty> LoadAsync([NotNull] IEntry entry, [NotNull] XName name, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IEntry | entry | The entry to load the dead property for |
XName | name | The name of the dead property |
CancellationToken | cancellationToken | The cancellation token |
Returns
Type | Description |
---|---|
Task<IDeadProperty> | The implementation of the dead property |
RemoveAsync(IEntry, IEnumerable<XName>, CancellationToken)
Remove multiple dead properties by its name at once from the given entry
Declaration
[NotNull]
[ItemNotNull]
Task<IReadOnlyCollection<bool>> RemoveAsync([NotNull] IEntry entry, [NotNull] IEnumerable<XName> names, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IEntry | entry | The entry to remove the given property names from |
IEnumerable<XName> | names | The names of the dead properties to remove from the given entry |
CancellationToken | cancellationToken | The cancellation token |
Returns
Type | Description |
---|---|
Task<IReadOnlyCollection<Boolean>> | A collection of booleans where a true value indicates that there was a dead property for a given name that could be removed from the entry. A GetETagProperty cannot be removed by this function. |
RemoveAsync(IEntry, CancellationToken)
Remove all dead propertied (including a probably exting GetETagProperty) from a given entry
Declaration
[NotNull]
Task RemoveAsync([NotNull] IEntry entry, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IEntry | entry | The entry to remove all the dead properties from |
CancellationToken | cancellationToken | The cancellation token |
Returns
Type | Description |
---|---|
Task | The async task |
RemoveAsync(IEntry, XName, CancellationToken)
Removes a dead property with a given name from the given entry
Declaration
[NotNull]
Task<bool> RemoveAsync([NotNull] IEntry entry, [NotNull] XName name, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IEntry | entry | The entry to remove the dead property with the given name from |
XName | name | The name of the parameter to remove from the entry |
CancellationToken | cancellationToken | The cancellation token |
Returns
Type | Description |
---|---|
Task<Boolean> | true when there was a dead property with the given name that could be removed |
Remarks
A GetETagProperty cannot be removed by this function.
SetAsync(IEntry, IEnumerable<XElement>, CancellationToken)
Sets all given dead properties for the given entry
Declaration
[NotNull]
Task SetAsync([NotNull] IEntry entry, [NotNull, ItemNotNull] IEnumerable<XElement> properties, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IEntry | entry | The entry to set all the dead properties for |
IEnumerable<XElement> | properties | The properties to set for the given entry |
CancellationToken | cancellationToken | The cancellation token |
Returns
Type | Description |
---|---|
Task | The async task |
Remarks
A GetETagProperty cannot be updated using this method
SetAsync(IEntry, XElement, CancellationToken)
Sets a dead property for the given entry to the given element
Declaration
[NotNull]
Task SetAsync([NotNull] IEntry entry, [NotNull] XElement element, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IEntry | entry | The entry to set the property element for |
XElement | element | The element to set the entry for |
CancellationToken | cancellationToken | The cancellation token |
Returns
Type | Description |
---|---|
Task | The async task |
Remarks
A GetETagProperty cannot be updated by this function.
UpdateETagAsync(IEntry, CancellationToken)
Updates an entity tag for a given entry
Declaration
[NotNull]
Task<EntityTag> UpdateETagAsync([NotNull] IEntry entry, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
IEntry | entry | The entry to get the entity tag for |
CancellationToken | cancellationToken | The cancellation token |
Returns
Type | Description |
---|---|
Task<EntityTag> | The updated entity tag |