public override bool TryGetFolder(string path, out FileFolder value)
        {
            value = null;
            string physicalPath = ToPhysicalPath(path);

            if (!Directory.Exists(physicalPath))
            {
                return(false);
            }
            string rootedName = ToRootedName(path);
            string name       = ToName(path);

            value = new FsFolder(physicalPath, rootedName, name);
            return(true);
        }
        public SingleItemPackage(string physicalPath)
        {
            m_name = Path.GetFileName(physicalPath);

            if (!ItemIdentifier.TryParse(m_name, out m_ii))
            {
                throw new ArgumentException($"SingleItemPackage does not specify a valid Item ID. folderName='{m_name}'");
            }

            m_physicalPath = physicalPath;

            // This two-step method fills in the internal variables
            var ff = new FsFolder(physicalPath);

            ff.TryGetFolder(physicalPath, out m_folder);
        }
 public FsPackage(string physicalRoot)
 {
     m_name       = Path.GetFileName(physicalRoot);
     m_rootFolder = new FsFolder(physicalRoot);
 }