Click or drag to resize

OnDemandLocalFileSystem Class

An on-demand implementation of ISyncFileSystem for Windows 10 physical directories. NTFS on Windows 10, version 1709 or higher is needed..
Inheritance Hierarchy
SystemObject
  callback.ShellBoost.Core.SynchronizationLocalFileSystem
    callback.ShellBoost.Core.SynchronizationOnDemandLocalFileSystem

Namespace:  callback.ShellBoost.Core.Synchronization
Assembly:  callback.CBFSShell (in callback.CBFSShell.dll) Version: 22.0.0.0
Syntax
C#
public class OnDemandLocalFileSystem : LocalFileSystem, 
	IProgressSink, ISyncFileSystemSynchronizationEventsSink

The OnDemandLocalFileSystem type exposes the following members.

Constructors
  NameDescription
Public methodOnDemandLocalFileSystem
Initializes a new instance of the OnDemandLocalFileSystem class.
Top
Properties
  NameDescription
Public propertyDirectoryId
Gets the directory identifier.
(Inherited from LocalFileSystem.)
Public propertyDirectoryPath
Gets the directory path.
(Inherited from LocalFileSystem.)
Public propertyEnableOnDemandContent
Gets a value indicating whether on-demand content is enabled.
Public propertyEndPointSynchronizer
Gets or sets the endpoint synchronizer. The setter is reserved and should not be used.
(Overrides LocalFileSystemEndPointSynchronizer.)
Public propertyStatic memberFilterDriverVersion
Gets the filter driver version.
Public propertyStatic memberIsSupported
Gets a value indicating whether Files On-Demand technology is supported on the current platform. Windows 10, version 1709 or higher is needed.
Public propertyOptions
Gets the options.
Public propertyStatic memberPlaformInfo
Gets plaform information version.
Public propertySelfEventsFilterMaximumDuration
Gets the maximum duration of the self events filter.
(Inherited from LocalFileSystem.)
Public propertyTempDirectoryPath
Gets the temporary directory path.
(Inherited from LocalFileSystem.)
Public propertyVolumeGuid
Gets the volume GUID.
(Inherited from LocalFileSystem.)
Protected propertyWatcher
Gets the file system events watcher.
(Inherited from LocalFileSystem.)
Top
Methods
  NameDescription
Protected methodAcknowledgeData
Acknowledges the data when requested by the ValidateData method.
Protected methodAddSelfEventFilter(LocalFileSystemEventFilter)
Adds an event filter.
(Inherited from LocalFileSystem.)
Protected methodAddSelfEventFilter(WatcherChangeTypes, String)
Adds an event filter on a path using default filter maximum duration.
(Inherited from LocalFileSystem.)
Protected methodAddToWaitingForSynchronization
Adds a file system entry to the list of entries waiting to be synchronized.
Public methodApplyContentChange
Applies a content change.
(Inherited from LocalFileSystem.)
Protected methodCancelHydrateData
Cancels data hydration process.
Public methodStatic memberCheckSupported
Checks the Files On-Demand technology is supported.
Public methodClearTemporaryFiles
Clears all temporary files possibly used by this instance for a content change.
(Inherited from LocalFileSystem.)
Protected methodConvertMarkInSync
Should an On-Demand file or folder be marked in-sync when converted.
Protected methodConvertToOnDemandEntry
Converts a regular file into an On-Demand entry.
Protected methodCopyTo
Copies a file system entry to a state entry.
(Inherited from LocalFileSystem.)
Protected methodCreateEntry
Creates the entry.
(Overrides LocalFileSystemCreateEntry(SyncContext, String, StateSyncEntry).)
Protected methodCreateMarkInSync
Should an On-Demand file or folder be marked in-sync when created.
Protected methodCreateOnDemandEntry
Converts a regular file or folder into an On-Demand entry.
Public methodDehydrateOnDemandEntry
Dehydrates an On-Demand file by removing ('Free up space') its content on-disk.
Public methodDeleteEntry
Deletes an entry.
(Inherited from LocalFileSystem.)
Protected methodDeleteFileSystemEntry
Deletes a file system entry.
(Inherited from LocalFileSystem.)
Protected methodDirectoryCreate
Creates the specified directory.
(Inherited from LocalFileSystem.)
Protected methodDirectoryDelete
Deletes the specified directory and, if indicated, any subdirectories and files in the directory.
(Inherited from LocalFileSystem.)
Public methodDispose
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Inherited from LocalFileSystem.)
Protected methodDispose(Boolean)
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Overrides LocalFileSystemDispose(Boolean).)
Public methodStatic memberEnsureRegistered
Ensures an On-Demand synchronizer is registered.
Public methodStatic memberEnsureRegisteredForShell
Ensures the registry is configured properly to support Explorer features of On-Demand file synchronization.
Protected methodEntryFromId
Get a FileSystemEntry from a state identifier.
(Inherited from LocalFileSystem.)
Protected methodEntryRename
Renames an entry using its 128-bit identifier. It can also be used to move a file if the newName parameter is set to a full file path. Note this method cannot move from a volume to another.
(Overrides LocalFileSystemEntryRename(String, String, Boolean).)
Public methodEnumerateEntries
Enumerates the child entries of an entry.
(Inherited from LocalFileSystem.)
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodExcludeOnDemandEntry
The On-Demand file or folder will be excluded for synchronization with the system.
Protected methodFileCreate
Creates the specified file.
(Inherited from LocalFileSystem.)
Protected methodFileDelete
Deletes the specified file using its 128-bit identifier.
(Inherited from LocalFileSystem.)
Protected methodFileOverwrite
Overwrites a file.
(Overrides LocalFileSystemFileOverwrite(String, String, Boolean, Boolean).)
Protected methodFinalize
Frees all resources associated with this instance.
(Inherited from LocalFileSystem.)
Public methodGetEntryContentAsync
Gets the entry content.
(Inherited from LocalFileSystem.)
Protected methodGetFullPath
Gets the full path for a given file system entry. Can be the entry FullName or the result of the GetFinalPath() method.
(Inherited from LocalFileSystem.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Protected methodGetHydrationRequiredCount
Computes the hydration required count of bytes.
Protected methodGetId(FileSystemEntry)
Gets the identifier from a file system entry.
(Inherited from LocalFileSystem.)
Protected methodGetId(String, Guid)
Gets the identifier.
(Inherited from LocalFileSystem.)
Protected methodGetIdentity
Gets the identity of a local file.
Public methodGetOrCreateEntry
Gets or create the entry.
(Inherited from LocalFileSystem.)
Public methodGetRelativePathFromFullPath
Gets a path relative to the root path, from a full path.
(Inherited from LocalFileSystem.)
Public methodGetSourceDownloadFileName
Gets a file name for the downloaded file corresponding to a change. The file may not exist yet.
(Inherited from LocalFileSystem.)
Public methodGetSourceDownloadLocalPath
Gets a local file path for the downloaded file corresponding to a change. The file may not exist yet.
(Inherited from LocalFileSystem.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodHandleHydrationError
Handles hydration error.
Protected methodHandleSharingViolation
Handles a possible sharing violation error in a specific way.
Public methodHasCapability
Determines whether the specified capability is supported.
(Overrides LocalFileSystemHasCapability(SyncFileSystemCapability).)
Protected methodHydrateDataAsync
Hydrates the data of an On-Demand file.
Public methodHydrateOnDemandEntry
Hydrates an On-Demand file by ensuring that content is present on-disk.
Protected methodIncludeEntry
Determines if an entry should be included in enumeration.
(Inherited from LocalFileSystem.)
Public methodInheritPinOnDemandEntry
The On-Demand file or folder pin state is evaluated based on its parent's pin state.
Protected methodIsAlwaysSynchronized
Determines whether this instance's entries are always synchronized.
(Overrides LocalFileSystemIsAlwaysSynchronized(IReadOnlyListEndPointSynchronizer).)
Protected methodIsFiltered
Determines whether the specified event must be filtered.
(Inherited from LocalFileSystem.)
Protected methodIsFilteredByAttributes
Determines whether the specified event must be filtered because it only represents an unused attribute change.
(Inherited from LocalFileSystem.)
Public methodIsHydrating
Determines whether the specified local relative path is currently hydrating.
Public methodIsOnDemandEntry
Determines if a file is an On-Demand entry.
Public methodIsOnDemandEntryExcluded
Determines if an On-Demand file or folder is excluded.
Public methodIsOnDemandEntryInSync
Determines if an On-Demand file or folder is in-sync.
Public methodIsOnDemandEntryNotInSync
Determines if an On-Demand file or folder is not in-sync.
Public methodIsOnDemandEntryPinned
Determines if an On-Demand file or folder is pinned.
Public methodIsOnDemandEntryUnpinned
Determines if an On-Demand file or folder is unpinned.
Public methodIsOnDemandEntryUnspecified
Determines if an On-Demand file or folder pin state is unspecified.
Public methodIsSynchronized
Determines whether the specified local relative path is synchronized. This uses the state database and other endpoints information, not On-Demand file in-sync attributes.
(Inherited from LocalFileSystem.)
Protected methodLog
Logs the value at the specified trace level.
(Overrides LocalFileSystemLog(TraceLevel, Object, String).)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodNewSyncEntry
Creates a new entry.
(Inherited from LocalFileSystem.)
Protected methodNewWatcher
Creates a new LocalFileSystemWatcher.
(Inherited from LocalFileSystem.)
Public methodNotifyDehydrateOnDemandEntry
Called by the file system when an On-Demand file is being dehydrated.
Protected methodNotifyDehydrateOnDemandEntryCompletion
Called by the file system when an On-Demand file has been dehydrated.
Public methodNotifyDeleteOnDemandEntry
Called by the file system when an On-Demand file is being deleted.
Protected methodNotifyDeleteOnDemandEntryCompletion
Called by the file system when a delete has completed.
Protected methodNotifyFileCloseCompletion
Called by the file system when a file close has completed.
Protected methodNotifyFileOpenCompletion
Called by the file system when a file open has completed.
Public methodNotifyRenameOnDemandEntry
Called by the file system when an On-Demand file is being renamed.
Protected methodNotifyRenameOnDemandEntryCompletion
Called by the file system when a rename has completed.
Protected methodNotifyShell
Notifies the shell of an event.
(Inherited from LocalFileSystem.)
Protected methodOnEvent
Raises the SyncFileSystemEventArgs event.
(Inherited from LocalFileSystem.)
Protected methodOnIncluding (Inherited from LocalFileSystem.)
Protected methodOnJobChanged
Occurs when a job changed.
(Overrides LocalFileSystemOnJobChanged(SyncJobChangedEventArgs).)
Protected methodOnPreviewWatcherEvent
Handles a file system event before the OnWatcherEvent method.
(Inherited from LocalFileSystem.)
Protected methodOnSavedChange
Called when a change has been written.
Protected methodOnSavingChange
Called when a change has been written.
Protected methodOnWatcherBufferTooSmall
Handles the watcher's BufferTooSmall event.
(Inherited from LocalFileSystem.)
Protected methodOnWatcherError
Handles the watcher's Error event.
(Overrides LocalFileSystemOnWatcherError(ErrorEventArgs).)
Protected methodOnWatcherEvent
Handles a file system event.
(Overrides LocalFileSystemOnWatcherEvent(LocalFileSystemWatcherEventArgs).)
Protected methodParseId
Parses an identifier as a string.
(Inherited from LocalFileSystem.)
Public methodPinOnDemandEntry
Asks the system to pin (check 'Always keep on this device') the On-Demand file or folder content.
Public methodRemoveAsOnDemandEntry
Disconnect the file from the synchronization root.
Protected methodRemoveSelfEventFilter
Removes an event filter.
(Inherited from LocalFileSystem.)
Protected methodReportErrorToShell
Report error to the Shell.
Protected methodReportProgress
Report progress to the file system.
Protected methodReportProgressToShell(OnDemandCallbackContext, Int64, Int64)
Report progress to the Shell.
Public methodStatic memberReportProgressToShell(OnDemandLocalFileSystem, String, Int64, Int64, Boolean)
Report progress to the Shell.
Public methodReportSyncStatus
Reports this instance synchronize status.
Protected methodSendEvent
Sends and event as a file system implementer.
(Inherited from LocalFileSystem.)
Protected methodSetBasicInformation
Sets an entry basic information.
(Overrides LocalFileSystemSetBasicInformation(SyncContext, StateSyncEntry).)
Public methodSetEntryContentAsync
Sets the entry content.
(Inherited from LocalFileSystem.)
Public methodSetInSyncOnDemandEntry
The On-Demand file will be set in sync for synchronization with the system.
Public methodSetNotInSyncOnDemandEntry
The On-Demand file will be set not in sync for synchronization with the system.
Protected methodSetSize
Sets an entry size. This implementation always returns true.
(Inherited from LocalFileSystem.)
Public methodStartEventMonitoring
Starts the events monitoring.
(Inherited from LocalFileSystem.)
Protected methodStartFetchDataAction
Starts the action prepared by this class for fetching data. This can be used to vary how the action is started (new thread, thread pool, etc.)
Public methodStopEventMonitoring
Stops the events monitoring.
(Inherited from LocalFileSystem.)
Protected methodToAttributes(FileAttributes)
Converts to attributes.
(Inherited from LocalFileSystem.)
Protected methodToAttributes(SyncEntryAttributes)
Converts to attributes.
(Inherited from LocalFileSystem.)
Protected methodToEntry
Converts an event to an entry.
(Inherited from LocalFileSystem.)
Public methodToString
Returns a String that represents this instance.
(Inherited from LocalFileSystem.)
Public methodUnpinOnDemandEntry
Asks the system to unpin (uncheck 'Always keep on this device') the On-Demand file or folder content.
Public methodStatic memberUnregister
Unregisters an On-Demand synchronizer.
Public methodUnspecifyOnDemandEntry
The On-Demand file or folder pin state is not specififed.
Public methodUpdateAllEntriesStates
Updates all entries on-demand states. This must be called only when the MultiPointSynchronizer is started.
Protected methodUpdateEntry(String, Boolean)
Updates an on-demand entry.
Public methodUpdateEntry(SyncContext, StateSyncEntry, SyncUpdateEntryOptions)
Updates an entry.
(Inherited from LocalFileSystem.)
Public methodUpdateEntryStates
Updates an entry on-demand entry states.
Protected methodUpdateFileSystemEntry
Called after a sync state entry has been updated.
(Overrides LocalFileSystemUpdateFileSystemEntry(SyncContext, StateSyncEntry, FileSystemEntry, SyncUpdateEntryOptions).)
Protected methodUpdateMarkInSync
Should an On-Demand file or folder be marked in-sync when updated.
Protected methodUpdateOnDemandEntry
Updates an on demand file or folder entry from an entry information.
Public methodUpdateStatus
Updates this engine status.
Protected methodValidateData
Validates the data of an On-Demand file.
Protected methodWithSelfEventFilter(LocalFileSystemEventFilter, Action)
Runs an action with an event filter applied.
(Inherited from LocalFileSystem.)
Protected methodWithSelfEventFilterT(LocalFileSystemEventFilter, FuncT)
Runs a function with an event filter applied.
(Inherited from LocalFileSystem.)
Top
Events
  NameDescription
Public eventEvent
Occurs when a file system event occurs.
(Inherited from LocalFileSystem.)
Public eventIncluding
Occurs when a FileSystemEntry is being included.
(Inherited from LocalFileSystem.)
Top
See Also