コード例 #1
0
ファイル: MemoryStorage.cs プロジェクト: tomasdeml/roamie
        public Stream OpenWrite(Type configType, ConfigurationOptionsAttribute options)
        {
            ObservableMemoryStream stream = new ObservableMemoryStream(configType);
            stream.Disposed += WriteStream_Disposed;

            return stream;
        }
コード例 #2
0
ファイル: IsolatedStorage.cs プロジェクト: tomasdeml/hyphen
        public override Stream OpenWrite(Type configType, ConfigurationOptionsAttribute options)
        {
            if (Store == null)
                throw new InvalidOperationException();

            return new IsolatedStorageFileStream(GetFileName(configType, options), FileMode.Create, Store);
        }
コード例 #3
0
ファイル: PortableStorage.cs プロジェクト: tomasdeml/hyphen
        public override void Delete(Type configType, ConfigurationOptionsAttribute options)
        {
            string path = GetPath(configType, options);

            if (File.Exists(path))
                File.Delete(path);
        }
コード例 #4
0
ファイル: MemoryStorage.cs プロジェクト: tomasdeml/roamie
        public Stream OpenRead(Type configType, ConfigurationOptionsAttribute options)
        {
            if (!Exists(configType, options))
                throw new FileNotFoundException();

            return new MemoryStream(Storage[configType]);
        }
コード例 #5
0
ファイル: IsolatedStorage.cs プロジェクト: tomasdeml/hyphen
        public override void Delete(Type configType, ConfigurationOptionsAttribute options)
        {
            if (!Exists(configType, options))
                return;

            string path = GetFileName(configType, options);
            Store.DeleteFile(path);
        }
コード例 #6
0
ファイル: PortableStorage.cs プロジェクト: tomasdeml/hyphen
        private string GetPath(Type configType, ConfigurationOptionsAttribute options)
        {
            string configDirectory = Path.Combine(MirandaEnvironment.MirandaFolderPath, "Configuration");

            if (!Directory.Exists(configDirectory))
                Directory.CreateDirectory(configDirectory);

            return Path.Combine(configDirectory, GetFileName(configType, options));
        }
コード例 #7
0
ファイル: StorageBase.cs プロジェクト: tomasdeml/hyphen
        protected virtual string GetFileName(Type configType, ConfigurationOptionsAttribute options)
        {
            if (configType == null)
                throw new ArgumentNullException("configType");

            if (options == null)
                throw new ArgumentNullException("options");

            string versionSuffix = (options.Version != null ? options.Version.ToString() : String.Empty);
            string profileBoundSuffix = String.Empty;

            if (options.ProfileBound)
            {
                if (!MirandaContext.Initialized)
                    throw new InvalidOperationException();

                profileBoundSuffix = Path.GetFileNameWithoutExtension(MirandaContext.Current.MirandaDatabase.ProfileName);
            }

            if (!String.IsNullOrEmpty(options.StaticFileName))
                return options.StaticFileName;

            return String.Format("{0}_{1}_{2}", configType.FullName, versionSuffix, profileBoundSuffix).Replace('.', '-') + ".dat";
        }
コード例 #8
0
ファイル: IsolatedStorage.cs プロジェクト: tomasdeml/hyphen
 public override bool Exists(Type configType, ConfigurationOptionsAttribute options)
 {
     return Store.GetFileNames(GetFileName(configType, options)).Length != 0;
 }
コード例 #9
0
ファイル: StorageBase.cs プロジェクト: tomasdeml/hyphen
 public abstract void Delete(Type configType, ConfigurationOptionsAttribute options);
コード例 #10
0
ファイル: StorageBase.cs プロジェクト: tomasdeml/hyphen
 public abstract bool Exists(Type configType, ConfigurationOptionsAttribute options);
コード例 #11
0
ファイル: StorageBase.cs プロジェクト: tomasdeml/hyphen
 public abstract Stream OpenWrite(Type configType, ConfigurationOptionsAttribute options);
コード例 #12
0
ファイル: MemoryStorage.cs プロジェクト: tomasdeml/roamie
 public void Delete(Type configType, ConfigurationOptionsAttribute options)
 {
     Storage.Remove(configType);
 }
コード例 #13
0
ファイル: MemoryStorage.cs プロジェクト: tomasdeml/roamie
 public bool Exists(Type configType, ConfigurationOptionsAttribute options)
 {
     return Storage.ContainsKey(configType);
 }
コード例 #14
0
ファイル: PortableStorage.cs プロジェクト: tomasdeml/hyphen
 public override bool Exists(Type configType, ConfigurationOptionsAttribute options)
 {
     return File.Exists(GetPath(configType, options));
 }
コード例 #15
0
ファイル: PortableStorage.cs プロジェクト: tomasdeml/hyphen
 public override Stream OpenWrite(Type configType, ConfigurationOptionsAttribute options)
 {
     return File.OpenWrite(GetPath(configType, options));
 }