public void Initialize(IObjectProvider conf) { this.Storage = conf.GetObject <StorageConfiguration>(StorageName); if (Storage == null) { Storage = new StorageConfiguration(); } }
private ImageStorage CreateStorage(StorageConfiguration storage) { ImageStorage st = null; if (storage.Connection is FileConnectionConfiguration) { var con = storage.Connection as FileConnectionConfiguration; st = new FileStorage(Path.Combine(con.Disk, storage.Directory)); } else if (storage.Connection is FilePassiveConnectionConfiguration) { var con = storage.Connection as FilePassiveConnectionConfiguration; st = new FileStoragePassive(con.ImageUri); } else if (config.Source.Storage.Connection is FtpConnectionConfiguration) { var con = storage.Connection as FtpConnectionConfiguration; st = new FTPStorage(con.Host, storage.Directory, con.UserName, con.Password); } else if (config.Source.Storage.Connection is HttpConnectionConfiguration) { var con = storage.Connection as HttpConnectionConfiguration; st = new HTTPStorage(con.ImageUri, con.TimeUri); } else if (config.Source.Storage.Connection is HttpConnection2Configuration) { var con = storage.Connection as HttpConnection2Configuration; st = new HTTPStorage2(con.ImageUri, con.TestUri); } else if (config.Source.Storage.Connection is HttpConnection3RingConfiguration) { var con = storage.Connection as HttpConnection3RingConfiguration; st = new HTTPStorage3Ring(con.DirUri, con.TimeUri); } if (st == null) { throw new Exception(string.Format("Invalid storage `{0}`", storage.Name)); } return(st); }
public AStorageConfiguration() { StorageName = ""; Storage = new StorageConfiguration(); }