public static int Main(string[] args) { log4net.Config.XmlConfigurator.Configure(); var dokanOptions = new DokanOptions { MountPoint = "r:\\", DebugMode = true, UseStdErr = true, VolumeLabel = "TAGFS", ThreadCount = 1 }; var options = new TaggedFileSystemOptions { RootPath = "d:\\tmp" }; options.Init(); var databaseOriginal = new Database(options.ServicePath); var taggedFileStorage = new TaggedFileStorage(databaseOriginal); var target = new TaggedFileSystem(options, taggedFileStorage); var fileSystemPxy = new ProxyGenerator() .CreateInterfaceProxyWithTarget<DokanOperations>( target, new WrappingInterceptor(), new TransactionManagementInterceptor(databaseOriginal) ); var status = DokanNet.DokanMain( dokanOptions, fileSystemPxy ); return status; }
public TaggedFileSystem(TaggedFileSystemOptions options, TaggedFileStorage storage) { _options = options; _storage = storage; }