IKVM.Internal.VirtualFileSystem.Initialize C# (CSharp) Method

Initialize() private static method

private static Initialize ( ) : void
return void
        private static void Initialize()
        {
            VfsDirectory root = new VfsDirectory();
            root.AddDirectory("lib").AddDirectory("security").Add("cacerts", new VfsCacertsEntry());
            VfsDirectory bin = new VfsDirectory();
            root.Add("bin", bin);
            root.Add("assembly", new VfsAssembliesDirectory());
            AddDummyLibrary(bin, "zip");
            AddDummyLibrary(bin, "awt");
            AddDummyLibrary(bin, "rmi");
            AddDummyLibrary(bin, "w2k_lsa_auth");
            AddDummyLibrary(bin, "jaas_nt");
            AddDummyLibrary(bin, "jaas_unix");
            AddDummyLibrary(bin, "unpack");
            AddDummyLibrary(bin, "net");
            bin.Add("java", new VfsJavaExe());
            bin.Add("javaw", new VfsJavaExe());
            bin.Add("java.exe", new VfsJavaExe());
            bin.Add("javaw.exe", new VfsJavaExe());

            // this is a weird loop back, the vfs.zip resource is loaded from vfs,
            // because that's the easiest way to construct a ZipFile from a Stream.
            java.util.zip.ZipFile zf = new java.util.zip.ZipFile(RootPath + "vfs.zip");
            java.util.Enumeration e = zf.entries();
            while (e.hasMoreElements())
            {
                AddZipEntry(zf, root, (java.util.zip.ZipEntry)e.nextElement());
            }

            // make "lib/security/local_policy.jar" point to "lib/security/US_export_policy.jar"
            // to get the unrestricted crypto policy
            VfsDirectory security = (VfsDirectory)((VfsDirectory)root.GetEntry("lib")).GetEntry("security");
            security.Add("local_policy.jar", security.GetEntry("US_export_policy.jar"));

            Interlocked.CompareExchange(ref VirtualFileSystem.root, root, null);
        }