Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
 public TaggedFileSystem(TaggedFileSystemOptions options, TaggedFileStorage storage)
 {
     _options = options;
     _storage = storage;
 }