Exemplo n.º 1
0
 public DataReaderIStream(DataReaderFactory dataReaderFactory)
     : this(dataReaderFactory, dataReaderFactory.CreateReader(), string.Empty)
 {
 }
Exemplo n.º 2
0
 /// <inheritdoc/>
 public BlobStream(DataReaderFactory mdReaderFactory, uint metadataBaseOffset, StreamHeader streamHeader)
     : base(mdReaderFactory, metadataBaseOffset, streamHeader)
 {
 }
Exemplo n.º 3
0
 public void TestCreateReaderStringXml()
 {
     const string xml    = "<entities>test</entities>";
     var          reader = DataReaderFactory.CreateReader(xml);
 }
Exemplo n.º 4
0
 public BetEasyTester()
 {
     _dataReaderFactory = new DataReaderFactory();
 }
Exemplo n.º 5
0
 public List <int> GetUpdatedDates(string code, DataReaderFactory tmpFac)
 {
     return(tmpFac.TickDataReader.GetTickDates(code));
 }
Exemplo n.º 6
0
 public int GetUpdateLastDate(String code, DataReaderFactory dataReaderFactory, KLinePeriod period)
 {
     return(dataReaderFactory.KLineDataReader.GetLastDate(code, period));
 }
Exemplo n.º 7
0
 public VariableTypes(SourceFactory sourceFactory,
                      DataReaderFactory dataReaderFactory)
 {
     this.sourceFactory     = sourceFactory;
     this.dataReaderFactory = dataReaderFactory;
 }
        static SymbolReader CreateCore(PdbReaderContext pdbContext, Metadata metadata, DataReaderFactory pdbStream)
        {
            SymbolReader symReader = null;
            bool         error     = true;

            try {
                if (!pdbContext.HasDebugInfo)
                {
                    return(null);
                }

                if ((pdbContext.Options & PdbReaderOptions.MicrosoftComReader) != 0 && pdbStream != null && IsWindowsPdb(pdbStream.CreateReader()))
                {
                    symReader = Dss.SymbolReaderWriterFactory.Create(pdbContext, metadata, pdbStream);
                }
                else
                {
                    symReader = CreateManaged(pdbContext, metadata, pdbStream);
                }

                if (symReader != null)
                {
                    error = false;
                    return(symReader);
                }
            }
            catch (IOException) {
            }
            finally {
                if (error)
                {
                    pdbStream?.Dispose();
                    symReader?.Dispose();
                }
            }
            return(null);
        }
Exemplo n.º 9
0
 void RecreateReader(DataReaderFactory mdReaderFactory, uint metadataBaseOffset, StreamHeader streamHeader, bool notifyThisClass)
 {
     if (mdReaderFactory is null || streamHeader is null)
     {
         dataReader = default;
     }
        static SymbolReader CreateManaged(PdbReaderContext pdbContext, Metadata metadata, DataReaderFactory pdbStream)
        {
            try {
                // Embedded PDBs have priority
                var embeddedReader = TryCreateEmbeddedPortablePdbReader(pdbContext, metadata);
                if (embeddedReader != null)
                {
                    pdbStream?.Dispose();
                    return(embeddedReader);
                }

                return(CreateManagedCore(pdbContext, pdbStream));
            }
            catch {
                pdbStream?.Dispose();
                throw;
            }
        }
        public static SymbolReader Create(PdbReaderOptions options, Metadata metadata, DataReaderFactory pdbStream)
        {
            var pdbContext = new PdbReaderContext(metadata.PEImage, options);

            return(CreateCore(pdbContext, metadata, pdbStream));
        }
Exemplo n.º 12
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="mdReaderFactory">Data reader factory</param>
 /// <param name="metadataBaseOffset">Offset of metadata</param>
 /// <param name="streamHeader">The stream header</param>
 public CustomDotNetStream(DataReaderFactory mdReaderFactory, uint metadataBaseOffset, StreamHeader streamHeader)
     : base(mdReaderFactory, metadataBaseOffset, streamHeader)
 {
 }
Exemplo n.º 13
0
        /// <inheritdoc/>
        protected override void InitializeInternal(DataReaderFactory mdReaderFactory, uint metadataBaseOffset)
        {
            DotNetStream dns = null;

            try {
                if (runtime == CLRRuntimeReaderKind.Mono)
                {
                    var newAllStreams = new List <DotNetStream>(allStreams);
                    for (int i = mdHeader.StreamHeaders.Count - 1; i >= 0; i--)
                    {
                        var sh = mdHeader.StreamHeaders[i];
                        switch (sh.Name)
                        {
                        case "#Strings":
                            if (stringsStream is null)
                            {
                                stringsStream = new StringsStream(mdReaderFactory, metadataBaseOffset, sh);
                                newAllStreams.Add(stringsStream);
                                continue;
                            }
                            break;

                        case "#US":
                            if (usStream is null)
                            {
                                usStream = new USStream(mdReaderFactory, metadataBaseOffset, sh);
                                newAllStreams.Add(usStream);
                                continue;
                            }
                            break;

                        case "#Blob":
                            if (blobStream is null)
                            {
                                blobStream = new BlobStream(mdReaderFactory, metadataBaseOffset, sh);
                                newAllStreams.Add(blobStream);
                                continue;
                            }
                            break;

                        case "#GUID":
                            if (guidStream is null)
                            {
                                guidStream = new GuidStream(mdReaderFactory, metadataBaseOffset, sh);
                                newAllStreams.Add(guidStream);
                                continue;
                            }
                            break;

                        case "#~":
                        case "#-":
                            if (tablesStream is null)
                            {
                                tablesStream = new TablesStream(mdReaderFactory, metadataBaseOffset, sh, runtime);
                                newAllStreams.Add(tablesStream);
                                continue;
                            }
                            break;

                        case "#Pdb":
                            if (isStandalonePortablePdb && pdbStream is null)
                            {
                                pdbStream = new PdbStream(mdReaderFactory, metadataBaseOffset, sh);
                                newAllStreams.Add(pdbStream);
                                continue;
                            }
                            break;
                        }
                        dns = new CustomDotNetStream(mdReaderFactory, metadataBaseOffset, sh);
                        newAllStreams.Add(dns);
                        dns = null;
                    }
                    newAllStreams.Reverse();
                    allStreams = newAllStreams;
                }
                else
                {
                    Debug.Assert(runtime == CLRRuntimeReaderKind.CLR);
                    foreach (var sh in mdHeader.StreamHeaders)
                    {
                        switch (sh.Name.ToUpperInvariant())
                        {
                        case "#STRINGS":
                            if (stringsStream is null)
                            {
                                stringsStream = new StringsStream(mdReaderFactory, metadataBaseOffset, sh);
                                allStreams.Add(stringsStream);
                                continue;
                            }
                            break;

                        case "#US":
                            if (usStream is null)
                            {
                                usStream = new USStream(mdReaderFactory, metadataBaseOffset, sh);
                                allStreams.Add(usStream);
                                continue;
                            }
                            break;

                        case "#BLOB":
                            if (blobStream is null)
                            {
                                blobStream = new BlobStream(mdReaderFactory, metadataBaseOffset, sh);
                                allStreams.Add(blobStream);
                                continue;
                            }
                            break;

                        case "#GUID":
                            if (guidStream is null)
                            {
                                guidStream = new GuidStream(mdReaderFactory, metadataBaseOffset, sh);
                                allStreams.Add(guidStream);
                                continue;
                            }
                            break;

                        case "#~":                          // Only if #Schema is used
                        case "#-":
                            if (tablesStream is null)
                            {
                                tablesStream = new TablesStream(mdReaderFactory, metadataBaseOffset, sh, runtime);
                                allStreams.Add(tablesStream);
                                continue;
                            }
                            break;

                        case "#PDB":
                            // Case sensitive comparison since it's a stream that's not read by the CLR,
                            // only by other libraries eg. System.Reflection.Metadata.
                            if (isStandalonePortablePdb && pdbStream is null && sh.Name == "#Pdb")
                            {
                                pdbStream = new PdbStream(mdReaderFactory, metadataBaseOffset, sh);
                                allStreams.Add(pdbStream);
                                continue;
                            }
                            break;
                        }
                        dns = new CustomDotNetStream(mdReaderFactory, metadataBaseOffset, sh);
                        allStreams.Add(dns);
                        dns = null;
                    }
                }
            }
            finally {
                dns?.Dispose();
            }

            if (tablesStream is null)
            {
                throw new BadImageFormatException("Missing MD stream");
            }

            if (pdbStream is not null)
            {
                tablesStream.Initialize(pdbStream.TypeSystemTableRows);
            }
            else
            {
                tablesStream.Initialize(null);
            }

            // The pointer tables are used iff row count != 0
            hasFieldPtr    = !tablesStream.FieldPtrTable.IsEmpty;
            hasMethodPtr   = !tablesStream.MethodPtrTable.IsEmpty;
            hasParamPtr    = !tablesStream.ParamPtrTable.IsEmpty;
            hasEventPtr    = !tablesStream.EventPtrTable.IsEmpty;
            hasPropertyPtr = !tablesStream.PropertyPtrTable.IsEmpty;
            hasDeletedRows = tablesStream.HasDelete;
        }
Exemplo n.º 14
0
 public KLineDataGetter_FromTick(DataReaderFactory dataReaderFactory, Plugin_DataProvider dataProvider)
 {
     this.utils             = new DataPathUtils(dataProvider.GetDataPath());
     this.dataReaderFactory = dataReaderFactory;
     this.dataProvider      = dataProvider;
 }
Exemplo n.º 15
0
 DataReaderIStream(DataReaderFactory dataReaderFactory, DataReader reader, string name)
 {
     this.dataReaderFactory = dataReaderFactory ?? throw new ArgumentNullException(nameof(dataReaderFactory));
     this.reader            = reader;
     this.name = name ?? string.Empty;
 }
Exemplo n.º 16
0
 public PortablePdbReader(DataReaderFactory pdbStream, PdbFileKind pdbFileKind)
 {
     this.pdbFileKind = pdbFileKind;
     pdbMetadata      = MetadataFactory.CreateStandalonePortablePDB(pdbStream, true);
 }
Exemplo n.º 17
0
 private void UpdateOther(String code, DataReaderFactory tmpFac, IKLineData data)
 {
     DoUpdate(code, tmpFac, data, new KLinePeriod(KLineTimeType.MINUTE, 15));
     DoUpdate(code, tmpFac, data, new KLinePeriod(KLineTimeType.HOUR, 1));
     DoUpdate(code, tmpFac, data, new KLinePeriod(KLineTimeType.DAY, 1));
 }
Exemplo n.º 18
0
        private KLineData_RealTime GetKLineData(DataReaderFactory fac, string code, int startDate, int endDate, KLinePeriod period)
        {
            IKLineData klineData = fac.KLineDataReader.GetData(code, startDate, endDate, period);

            return(new KLineData_RealTime(klineData));
        }
Exemplo n.º 19
0
 public DataNavigate3(DataReaderFactory dataReaderFac)
 {
     this.dataReaderFac = dataReaderFac;
     this.dataCacheFac  = new DataCacheFactory(dataReaderFac);
     this.dayDataCache  = new DayDataCache(dataReaderFac);
 }
Exemplo n.º 20
0
 public void BulkInsert <T>(IDbConnection connection, IEnumerable <T> objs, IDbTransaction transaction, string tableName, DataReaderFactory factory, IEnumerable <SqlColumn> columns, int commandTimeout = 30, SqlBulkCopyOptions options = SqlBulkCopyOptions.Default) where T : class
 {
     Adapter.BulkInsert(connection, objs, transaction, tableName, factory, columns, commandTimeout, options & OptionsMask);
 }
Exemplo n.º 21
0
 internal DataCache_Code(DataReaderFactory dataReaderFactory, String code, int startDate, int endDate)
 {
     Init(dataReaderFactory, code, startDate, endDate);
 }
Exemplo n.º 22
0
        /// <inheritdoc/>
        protected override void InitializeInternal(DataReaderFactory mdReaderFactory, uint metadataBaseOffset)
        {
            DotNetStream dns           = null;
            var          newAllStreams = new List <DotNetStream>(allStreams);

            try {
                for (int i = mdHeader.StreamHeaders.Count - 1; i >= 0; i--)
                {
                    var sh = mdHeader.StreamHeaders[i];
                    switch (sh.Name)
                    {
                    case "#Strings":
                        if (stringsStream is null)
                        {
                            stringsStream = new StringsStream(mdReaderFactory, metadataBaseOffset, sh);
                            newAllStreams.Add(stringsStream);
                            continue;
                        }
                        break;

                    case "#US":
                        if (usStream is null)
                        {
                            usStream = new USStream(mdReaderFactory, metadataBaseOffset, sh);
                            newAllStreams.Add(usStream);
                            continue;
                        }
                        break;

                    case "#Blob":
                        if (blobStream is null)
                        {
                            blobStream = new BlobStream(mdReaderFactory, metadataBaseOffset, sh);
                            newAllStreams.Add(blobStream);
                            continue;
                        }
                        break;

                    case "#GUID":
                        if (guidStream is null)
                        {
                            guidStream = new GuidStream(mdReaderFactory, metadataBaseOffset, sh);
                            newAllStreams.Add(guidStream);
                            continue;
                        }
                        break;

                    case "#~":
                        if (tablesStream is null)
                        {
                            tablesStream = new TablesStream(mdReaderFactory, metadataBaseOffset, sh);
                            newAllStreams.Add(tablesStream);
                            continue;
                        }
                        break;

                    case "#Pdb":
                        if (isStandalonePortablePdb && pdbStream is null)
                        {
                            pdbStream = new PdbStream(mdReaderFactory, metadataBaseOffset, sh);
                            allStreams.Add(pdbStream);
                            continue;
                        }
                        break;
                    }
                    dns = new CustomDotNetStream(mdReaderFactory, metadataBaseOffset, sh);
                    newAllStreams.Add(dns);
                    dns = null;
                }
            }
            finally {
                dns?.Dispose();
                newAllStreams.Reverse();
                allStreams = newAllStreams;
            }

            if (tablesStream is null)
            {
                throw new BadImageFormatException("Missing MD stream");
            }

            if (!(pdbStream is null))
            {
                tablesStream.Initialize(pdbStream.TypeSystemTableRows);
            }
Exemplo n.º 23
0
 public void SetUp()
 {
     factory = new DataReaderFactory();
 }
Exemplo n.º 24
0
 public DataNavigateMgr(DataReaderFactory dataReaderFactory)
 {
     this.dataReaderFactory = dataReaderFactory;
 }
Exemplo n.º 25
0
        public static SymbolReader Create(PdbReaderContext pdbContext, MD.Metadata metadata, DataReaderFactory pdbStream)
        {
            ISymUnmanagedReader  unmanagedReader = null;
            SymbolReaderImpl     symReader       = null;
            ReaderMetaDataImport mdImporter      = null;
            DataReaderIStream    comPdbStream    = null;
            bool error = true;

            try {
                if (pdbStream == null)
                {
                    return(null);
                }
                var debugDir = pdbContext.CodeViewDebugDirectory;
                if (debugDir == null)
                {
                    return(null);
                }
                if (!pdbContext.TryGetCodeViewData(out var pdbGuid, out uint age))
                {
                    return(null);
                }

                unmanagedReader = CreateSymUnmanagedReader(pdbContext.Options);
                if (unmanagedReader == null)
                {
                    return(null);
                }

                mdImporter   = new ReaderMetaDataImport(metadata);
                comPdbStream = new DataReaderIStream(pdbStream);
                int hr = unmanagedReader.Initialize(mdImporter, null, null, comPdbStream);
                if (hr < 0)
                {
                    return(null);
                }

                symReader = new SymbolReaderImpl(unmanagedReader, new object[] { pdbStream, mdImporter, comPdbStream });
                if (!symReader.MatchesModule(pdbGuid, debugDir.TimeDateStamp, age))
                {
                    return(null);
                }

                error = false;
                return(symReader);
            }
            catch (IOException) {
            }
            catch (InvalidCastException) {
            }
            catch (COMException) {
            }
            finally {
                if (error)
                {
                    pdbStream?.Dispose();
                    symReader?.Dispose();
                    mdImporter?.Dispose();
                    comPdbStream?.Dispose();
                    (unmanagedReader as ISymUnmanagedDispose)?.Destroy();
                }
            }
            return(null);
        }
Exemplo n.º 26
0
 public MapinfoProvider(MapInfoSession miSession, MaterializerFactory factory)
 {
     this.misession     = miSession;
     this.entityfactory = factory;
     this.readerfactory = new DataReaderFactory(miSession);
 }
Exemplo n.º 27
0
 /// <summary>
 /// Called by <see cref="Initialize(DataReaderFactory)"/>
 /// </summary>
 protected abstract void InitializeInternal(DataReaderFactory mdReaderFactory, uint metadataBaseOffset);
Exemplo n.º 28
0
 public void TestCreateReaderNullArgument()
 {
     DataReaderFactory.CreateReader <DataReaderTestData>(null);
 }