b6171cc9d5
Refactored IDataProvider interface to return stream. The IDataProvider Fetch method now only takes a key. The IDataProvider has been reshuffled to be at the bottom of the LeanDataStack. It provides data to the rest of the Lean stack. The default implementation of IDataProvider reads data from disc. All IDataCacheProviders now have constructors which take IDataProviders and use them to find data on disc. Renamed DataCacheProvider to ZipDataCacheProvider Added comments to IDataProvider and it's implementations Added comments to IDataCacheProvider and it's implementations
37 lines
1.3 KiB
C#
37 lines
1.3 KiB
C#
/*
|
|
* QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals.
|
|
* Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
using System;
|
|
using System.ComponentModel.Composition;
|
|
using System.IO;
|
|
|
|
namespace QuantConnect.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// Fetches a remote file for a security.
|
|
/// Must save the file to Globals.DataFolder.
|
|
/// </summary>
|
|
[InheritedExport(typeof(IDataProvider))]
|
|
public interface IDataProvider
|
|
{
|
|
/// <summary>
|
|
/// Retrieves data to be used in an algorithm
|
|
/// </summary>
|
|
/// <param name="key">A string representing where the data is stored</param>
|
|
/// <returns>A <see cref="Stream"/> of the data requested</returns>
|
|
Stream Fetch(string key);
|
|
}
|
|
}
|