Atmel_bsp_generator.Program.GenereteAddFrameWorks C# (CSharp) Метод

GenereteAddFrameWorks() статический приватный Метод

static private GenereteAddFrameWorks ( BSPDirectories pBspDir, string pstrFile ) : List
pBspDir BSPDirectories
pstrFile string
Результат List
        static List<Framework> GenereteAddFrameWorks(BSPDirectories pBspDir, string pstrFile)
        {
            List<Framework> bleFrameworks = new List<Framework>();
            List<PropertyEntry> propFr = new List<PropertyEntry>();
            PropertyList pl = new PropertyList();

            List<string> a_SimpleFileConditions = new List<string>();
            foreach (var line in File.ReadAllLines(Path.Combine(pBspDir.RulesDir, pstrFile)))
            {
                string dir = line;
                string desc = "";
                string id = dir;

                int idx = line.IndexOf('|');
                if (idx > 0)
                {
                    dir = line.Substring(0, idx);
                    desc = line.Substring(idx + 1);
                    id = Path.GetFileName(dir);
                }
                dir= dir.ToLower();

                id = dir.Replace("\\", "_");
                string a_name = line.Substring(line.LastIndexOf("\\") + 1).ToLower(); ;

                dir = a_name;
                string aIncludeMask = "-sam[0-9g]?*;-uc*;*.h";
                a_SimpleFileConditions.Clear();

                if (a_name.ToLower() == "sleepmgr")
                {
                    a_SimpleFileConditions.Add(@"samd\\*: $$com.sysprogs.atmel.sam32._header_prefix_samser$$ == samd");
                    a_SimpleFileConditions.Add(@"samc\\*: $$com.sysprogs.atmel.sam32._header_prefix_samser$$ == samc");
                    a_SimpleFileConditions.Add(@"sam\\*: $$com.sysprogs.atmel.sam32._header_prefix_sam0$$ != yes");
                    aIncludeMask = @"-*/*;*.h";
                }
              if (a_name.ToLower() == "serial")
                {
                    a_SimpleFileConditions.Add(@"sam0_usart\\*: $$com.sysprogs.atmel.sam32._header_prefix_sam0$$ == yes");
                    a_SimpleFileConditions.Add(@"sam_uart\\*: $$com.sysprogs.atmel.sam32._header_prefix_sam0$$ != yes");
                    a_SimpleFileConditions.Add(@"samb_uart\\*: $$com.sysprogs.atmel.sam32._header_prefix_sam0$$ == samb");
                    aIncludeMask = @"-*/*;*.h";
                }
                if (a_name.ToLower() == "adp"|| a_name.ToLower() == "ioport")
                {
                    a_SimpleFileConditions.Add(@"sam0\\*: $$com.sysprogs.atmel.sam32._header_prefix_sam0$$ == yes");
                    a_SimpleFileConditions.Add(@"sam\\*: $$com.sysprogs.atmel.sam32._header_prefix_sam0$$ != yes");
                    aIncludeMask = @"-*/*;*.h";
                }

                if (a_name.ToLower() == "clock")
                {
                               a_SimpleFileConditions.Add(@"sam4l\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4l");
                               a_SimpleFileConditions.Add(@"sam3n\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam3n");
                               a_SimpleFileConditions.Add(@"sam3s\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam3s");
                               a_SimpleFileConditions.Add(@"sam3u\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam3u");
                               a_SimpleFileConditions.Add(@"sam3x\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam3x");
                               a_SimpleFileConditions.Add(@"sam4c\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4c");
                               a_SimpleFileConditions.Add(@"sam4cp\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4cp");
                               a_SimpleFileConditions.Add(@"sam4cm\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4cm");
                               a_SimpleFileConditions.Add(@"sam4e\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4e");
                               a_SimpleFileConditions.Add(@"sam4n\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4n");
                               a_SimpleFileConditions.Add(@"sam4s\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sam4s");
                               a_SimpleFileConditions.Add(@"same70\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == same70");
                               a_SimpleFileConditions.Add(@"sams70\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == sams70");
                               a_SimpleFileConditions.Add(@"samv70\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == samv70");
                               a_SimpleFileConditions.Add(@"samv71\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == samv71");
                               a_SimpleFileConditions.Add(@"samg\\sysclk.c: $$com.sysprogs.atmel.sam32._header_prefix$$ == samg51");

                                 aIncludeMask = @"-*/*;*.h";
                }

                bleFrameworks.Add(new Framework
                {
                    Name = "Atmel Services " + dir,
                    ID = "com.sysprogs.arm.atmel.service." + dir,
                    ClassID = "com.sysprogs.arm.atmel.cl.services." + dir,
                    ProjectFolderName = "Services_" + dir,
                    DefaultEnabled = false,

                    CopyJobs = new CopyJob[]
                               {
                            new CopyJob
                            {
                                SourceFolder = @"$$BSPGEN:INPUT_DIR$$\common\services\"+dir,
                                TargetFolder = @"common\services\"+dir,
                                FilesToCopy = "-*example*.c;-*example*.h;-*unit_test*.*;-*doxygen*;-*mega*;-*avr*;-*uc3*;*.c;*.h",
                                AutoIncludeMask =aIncludeMask,
                                ProjectInclusionMask = "*.c",
                                SimpleFileConditions = a_SimpleFileConditions.ToArray(),
            }
            },

                });
            }
            return bleFrameworks;
        }