コード例 #1
0
ファイル: Generator.cs プロジェクト: jburzynski/TypeGen
        public Generator(GeneratorOptions options, ILogger logger = null)
        {
            Requires.NotNull(options, nameof(options));

            _generationContext    = new GenerationContext();
            FileContentGenerated += OnFileContentGenerated;

            Options = options;
            Logger  = logger;

            var generatorOptionsProvider = new GeneratorOptionsProvider {
                GeneratorOptions = options
            };

            var internalStorage = new InternalStorage();

            _fileSystem            = new FileSystem();
            _metadataReaderFactory = new MetadataReaderFactory();
            _typeService           = new TypeService(_metadataReaderFactory, generatorOptionsProvider);
            _typeDependencyService = new TypeDependencyService(_typeService, _metadataReaderFactory);
            _templateService       = new TemplateService(internalStorage, generatorOptionsProvider);

            _tsContentGenerator = new TsContentGenerator(_typeDependencyService,
                                                         _typeService,
                                                         _templateService,
                                                         new TsContentParser(_fileSystem),
                                                         _metadataReaderFactory,
                                                         generatorOptionsProvider,
                                                         logger);
        }
コード例 #2
0
        protected sealed override TValue Fetch(TKey key)
        {
            TValue result;

            using (this.EnterWriteScope()) {
                if (!_fetchOnceOnly || _fetchCount == 0)
                {
                    ForceRefresh();
                }
                CachedItem <TValue> item;
                if (InternalStorage.TryGetValue(key, out item))
                {
                    item.AccessedCount++;
                    item.LastAccessedOn = DateTime.Now;
                    result = item.Value;
                }
                else
                {
                    switch (NullValuePolicy)
                    {
                    case NullValuePolicy.Throw:
                        throw new SoftwareException("BulkCache does not have key with id {0}", key);

                    case NullValuePolicy.ReturnButDontCache:
                    case NullValuePolicy.CacheNormally:
                    default:
                        result = default(TValue);
                        break;
                    }
                }
            }
            NotifyItemFetched(key, result);
            return(result);
        }
コード例 #3
0
        /// <summary>
        /// 通过路径获取标签bean
        /// </summary>
        /// <param name="isThis">该路径是否是标签所标注的路径</param>
        public static TagBean GetTagByPath(string path, out bool isThis)
        {
            DirTagBean[] dirTags = InternalStorage.Get(InternalStorage.Domain.tag, "tagSort") as DirTagBean[];
            uint         tagId   = 0;

            isThis = false;
            foreach (DirTagBean dirTag in dirTags)
            {
                if (path.IndexOf(dirTag.Path) != -1)
                {
                    tagId = dirTag.TagId;
                    if (dirTag.Path == path)
                    {
                        isThis = true;
                    }
                    break;
                }
            }
            if (tagId == 0)
            {
                return(null);
            }
            else
            {
                return(TagMapper.GetOneById(tagId));
            }
        }
コード例 #4
0
        /// <summary>
        /// 当内存中没有数据时,放入数据
        /// </summary>
        public static void CheckTagSort()
        {
            object obj = InternalStorage.Get(InternalStorage.Domain.tag, "tagSort");

            if (obj == null)
            {
                SetTagSort();
            }
        }
コード例 #5
0
 public ReviewService(InternalStorage storage)
 {
     _storage        = storage;
     _mistakesNumber = 0;
     _app            = new Application
     {
         Visible = false
     };
     _reviewThreads = new List <Thread>();
 }
コード例 #6
0
        public override bool IsValid(IActivationRule rule, IInstanceResolver resolver, InternalStorage.IServiceLocatorStore context)
        {
            var items = MergeContextItems(context);

            if (items.Count < list.Count) return false;

            for (int i = 0; i < items.Count; i++)
            {
                var contextItem = items[i];

                if (!EvaluateRules(resolver, contextItem)) return false;
            }

            return true;
        }
コード例 #7
0
        public ReviewManager(ReviewParams reviewParams)
        {
            _reviewParams  = reviewParams;
            _storage       = new InternalStorage("Reviewer");
            _reviewService = new ReviewService(_storage);

            if (!reviewParams.UseOwnDictionary)
            {
                return;
            }

            var ownDictionary = JsonConvert.DeserializeObject <List <Word> >(_reviewParams.PathOwnDictionary);

            _reviewService.SetOwnDictionary(ownDictionary);
        }
コード例 #8
0
        // Create
        public bool CreateInternal(InternalCreate model)
        {
            InternalStorage entity = new InternalStorage
            {
                Name         = model.Name,
                Manufacturer = model.Manufacturer,
                Interface    = model.Interface,
                Capacity     = model.Capacity,
                Type         = model.Type,
                FormFactor   = model.FormFactor,
                NVME         = model.NVME,
                IsAvailable  = model.IsAvailable
            };

            _db.InternalStorages.Add(entity);
            return(_db.SaveChanges() == 1);
        }
コード例 #9
0
        public SimCorpMobile()
        {
            _vCpu = new Cpu("Intel", new List <Core> {
                new Core(64, 2.1), new Core(64, 2.1)
            });
            _vExternalStorage    = new ExternalStorage(128);
            _vFrontalBasicCamera = new FrontalBasicCamera(1.5, 5);

            _vGraphCpu = new GraphCpu("AMD", new List <Core>
            {
                new Core(64, 2.1), new Core(64, 2.1), new Core(64, 2.1), new Core(64, 2.1)
            });

            _vInternalStorage = new InternalStorage(64);
            _vKeyboard        = new DigitalKeyboard(new List <char>(), new List <char>());
            _vLiIonBattery    = new LiIonBattery(5, 2200, true);
            _vMicrophone      = new Microphone("Internal", 3.5, 2);

            _vMultiMainBasicCamera = new MultiMainBasicCamera(2.5, 12,
                                                              new List <MainBasicCamera>
            {
                new MainBasicCamera(2.5, 12),
                new MainBasicCamera(2.5, 12),
                new MainBasicCamera(2.5, 12)
            });

            _vMultiSimCardHolder = new MultiSimCardHolder("DoubleSim",
                                                          new List <SimCardHolder>
            {
                new SimCardHolder("microSim"),
                new SimCardHolder("microSim")
            });

            _vMultiTouchScreen = new MultiTouchScreen("Multi", 10);

            _vOLedBasicScreen = new OLedBasicScreen(1080, 1920, 7, 233);
            _vRam             = new Ram(4);
            _vSpeaker         = new Speaker(15, 15000, 4.5, 3, Output);
            SmsProvider       = new SmsProvider();
            SmsProvider.Count = 0;
        }
コード例 #10
0
        private static void SetTagSortAsyn()
        {
            DirTagBean[] beans = DirTagMapper.GetAll();
            //根据标注长度进行排序
            DirTagBean bean  = null;
            int        count = beans.Length;

            for (int r = 0; r < count; r++)
            {
                for (int i = 0; i < count - 1; i++)
                {
                    string a = beans[i].Path;
                    string b = beans[i + 1].Path;
                    if (a.Length < b.Length)
                    {
                        bean         = beans[i];
                        beans[i]     = beans[i + 1];
                        beans[i + 1] = bean;
                    }
                }
            }
            InternalStorage.Set(InternalStorage.Domain.tag, "tagSort", beans);
        }
コード例 #11
0
 private void LoadToIntHardMemory(ILoadToStorage loadToHardMemory)
 {
     InternalStorage.LoadToHardMemory(loadToHardMemory);
 }
コード例 #12
0
 private void LoadFromIntHardMemory(ILoadFromStorage loadFromHardMemory)
 {
     InternalStorage.LoadFromHardMemory(loadFromHardMemory);
 }
コード例 #13
0
 public TemplateService(InternalStorage internalStorage)
 {
     _internalStorage = internalStorage;
     LoadTemplates();
 }
コード例 #14
0
ファイル: ShopStorage.cs プロジェクト: Epoxie/Uppgift1
 public Item Remove(String articleNumber)
 {
     InternalStorage.Remove(removeItem);
     return(removeItem);
 }
コード例 #15
0
ファイル: Material.cs プロジェクト: mikii123/LELEngine
        public Material(string path)
        {
            using (StreamReader sr = new StreamReader(Directory.GetCurrentDirectory() + "/Materials/" + path))
            {
                string line = "";
                line       = sr.ReadLine();
                ShaderPath = line.Trim();
                while (!sr.EndOfStream)
                {
                    line = sr.ReadLine().Trim();
                    switch (line)
                    {
                    case "uniform":
                        line = sr.ReadLine().Trim();
                        switch (line)
                        {
                        case "mat4":
                            Uniforms.Add(new Matrix4(sr.ReadLine().Trim()));
                            Console.WriteLine("Added uniform to material " + path + " shader: " + ShaderPath);
                            break;

                        case "vec4":
                            string   Name  = sr.ReadLine().Trim();
                            string[] words = sr.ReadLine().Split(' ');
                            Uniforms.Add
                            (
                                new Uniforms.Vector4(
                                    Name,
                                    new Vector4(
                                        float.Parse(words[0].Trim().Replace('.', ',')),
                                        float.Parse(words[1].Trim().Replace('.', ',')),
                                        float.Parse(words[2].Trim().Replace('.', ',')),
                                        float.Parse(words[3].Trim().Replace('.', ','))
                                        )
                                    ));
                            break;

                        case "vec3":
                            // TODO
                            break;

                        case "float":
                            // TODO
                            break;

                        case "sampler2D":
                            string name   = sr.ReadLine().Trim();
                            string source = sr.ReadLine().Trim();
                            Uniforms.Add(new Texture2D(name, source, index));
                            Console.WriteLine("Creating Texture " + name + " from " + source);
                            index++;
                            break;
                        }

                        break;
                    }
                }
            }

            UsingShader = InternalStorage.GetOrCreateShader(ShaderPath);
        }
コード例 #16
0
ファイル: Material.cs プロジェクト: mikii123/LELEngine
 public void SetShader(string shaderPath)
 {
     UsingShader = InternalStorage.GetOrCreateShader(shaderPath);
 }