Zetbox.API.FileSystemPackageProvider.FileSystemPackageProvider C# (CSharp) Method

FileSystemPackageProvider() public method

public FileSystemPackageProvider ( string filename, Modes mode ) : System
filename string
mode Modes
return System
        public FileSystemPackageProvider(string filename, Modes mode)
            : base(mode)
        {
            if (string.IsNullOrEmpty(filename)) throw new ArgumentNullException("filename");
            _fileName = filename;
            _blobDir = Path.Combine(Path.GetDirectoryName(_fileName), Path.GetFileNameWithoutExtension(_fileName));

            switch (mode)
            {
                case Modes.Read:
                    _data = File.OpenRead(_fileName);
                    break;
                case Modes.Write:
                    var basedir = Path.GetDirectoryName(_fileName);
                    if (!string.IsNullOrWhiteSpace(basedir) && !Directory.Exists(basedir))
                    {
                        Directory.CreateDirectory(basedir);
                    }
                    Directory.CreateDirectory(_blobDir);
                    _data = File.OpenWrite(_fileName);
                    _data.SetLength(0);
                    break;
                default:
                    throw new NotSupportedException();
            }
        }