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  |