private static void EmitFinish(ILGenerator il, ArgMap map, int index, LocalBuilder local)
        {
            // Not out and (Not By Ref or ([byRef] and not (delegate ref or delegate out)
            if (!map.Method.IsOut && (!map.Method.IsByRef || !(map.Delegate.IsByRef || map.Delegate.IsOut)))
            {
                return;
            }

            // out/ref and typeSame - do nothing
            var mt = map.Method.Type.RemoveByRef();
            var dt = map.Delegate.Type.RemoveByRef();

            if (mt == dt)
            {
                return;
            }

            il.EmitLdarg(index);
            il.EmitLdloc(local.LocalIndex);
            if (mt.IsValueType && !dt.IsValueType)
            {
                il.EmitBox(mt);
            }
            il.EmitStind(dt);
        }
Beispiel #2
0
        public string GetValue(string arg)
        {
            string value = null;

            ArgMap.TryGetValue(arg, out value);
            return(value);
        }
Beispiel #3
0
        public Task Start(ArgMap args)
        {
            if (args == null || args.Count < 1)
            {
                throw new ArgumentException("args");
            }

            var mode = args["-mode"][0];

            if (mode == "s")
            {
                return(new Server(33444).ReceiveLoop());
            }
            else if (mode == "c")
            {
                int.TryParse(args["-mc"][0], out int mc);
                int.TryParse(args["-ms"][0], out int size);
                var rand = args.ContainsKey("-r");
                return(new Client(33444).Send(mc, size, rand));
            }
            else
            {
                throw new ArgumentException("The SocketLoad -mode can only be <s> or <c>");
            }
        }
Beispiel #4
0
        private static Expression Prepare(ArgMap map, ExpressionBlockBuilder block, ParameterExpression p)
        {
            if (!map.Method.IsOut && !map.Method.IsByRef)
            {
                // normal parameter
                return(map.Method.Type == map.Delegate.Type ? (Expression)p : Expression.Convert(p, map.Method.Type));
            }
            // out or ref
            var mt = map.Method.Type.RemoveByRef();
            var dt = map.Delegate.Type.RemoveByRef();

            if (mt == dt)
            {
                return(p);
            }

            var localVariable = Expression.Variable(mt);

            block.AddVariable(localVariable);
            if (map.Method.IsOut)
            {
                return(localVariable);
            }

            // ref
            var value = map.Delegate.IsOut
                ? (Expression)Expression.Default(mt)
                : Expression.Convert(p, mt);
            var assign = Expression.Assign(localVariable, value);

            block.Add(assign);

            return(localVariable);
        }
        private static void AddSortArgument(ISearchCriteria criteria, ArgMap arguments)
        {
            if (criteria.Sort == null)
            {
                return;
            }

            var searchSortFields = criteria.Sort.GetSort();

            if (searchSortFields == null || searchSortFields.Length == 0)
            {
                return;
            }

            var builder = new StringBuilder();

            foreach (var field in searchSortFields)
            {
                if (builder.Length > 0)
                {
                    builder.Append(",");
                }
                builder.Append(field.FieldName).Append(" ").Append(field.IsDescending ? "desc" : "asc");
            }
            arguments.Add("sort_by", builder.ToString());
        }
Beispiel #6
0
        /// <summary>
        /// コマンドライン引数 (<paramref name="args"/>) を解析し、nec-encの機能プロパティを取得します
        /// </summary>
        /// <param name="args">コマンドライン引数</param>
        /// <param name="props">nec-encの機能プロパティ</param>
        public void Init_args_Aes(string[] args, int arg_idx, ref Tools.Aes.Properties subprops)
        {
            for (int i = arg_idx; i < args.Length; i++)
            {
                if (args[i].StartsWith("-"))
                {
                    switch (args[i].Replace("-", ""))
                    {
                    case "d":                                   // decryption mode
                        subprops.decrypt = true;
                        break;

                    case "K":                                   // aes key (hex)
                        subprops.hex_key = true;
                        goto case "k";

                    case "k":                                   // aes key (text)

                        if (ArgMap.Set_StrParamFromArgs(args, i, ref subprops.key) == 0)
                        {
                            i++;
                        }
                        break;

                    case "l":                                   // length
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref subprops.len) == 0)
                        {
                            i++;
                        }
                        break;

                    case "O":                                   // offset
                        string offset = null;
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref offset) == 0 &&
                            Program.StrToInt(offset, out int conv_offset,
                                             System.Globalization.NumberStyles.None))
                        {
                            subprops.offset = conv_offset;
                            i++;
                        }
                        break;

                    case "s":                                   // key length (short, 128)
                        subprops.keylen = 128;
                        break;

                    case "V":                                   // aes iv (hex)
                        subprops.hex_iv = true;
                        goto case "v";

                    case "v":                                   // aes iv (text)
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref subprops.iv) == 0)
                        {
                            i++;
                        }
                        break;
                    }
                }
            }
        }
Beispiel #7
0
        // Main.
        public static void Main(string[] args)
        {
            args = Arrays <string> .Shift(Strings.Split(Environment.CommandLine));

            if (args.Length <= 0)
            {
                Console.WriteLine(GetHelp()); return;
            }
            ListMap <string> argm = new ArgMap(GetOptionTypes(), args);

            if (argm.ContainsKey("_invalid"))
            {
                Console.WriteLine(GetInvalidOptions(argm)); return;
            }
            argm.Set("-r", "System.dll").Set("-r", "System.Core.dll").Set("-r", "Microsoft.CSharp.dll");
            string[] sources = GetSources(argm);
            if (sources == null || sources.Length == 0)
            {
                Console.WriteLine(""); return;
            }
            CompilerResults res = Compile(argm["-r"].ToArray(), GetSources(argm));

            try { if (res != null)
                  {
                      RunCode(res, GetCallArgs(argm));
                  }
            }
            catch (Exception e) { Console.WriteLine(e.ToString() + "\n" + e.StackTrace); }
        }
Beispiel #8
0
        public unsafe Task Start(ArgMap args)
        {
            return(Task.Run(() =>
            {
                Passed = true;

                var p = stackalloc NoRefsStruct[1];
                var str = p[0];

                str.Int = int1;
                str.Dbl = dbl1;

                var mps = MarshalSlot.Store(str);
                Task.Run(() => useParkingSlot(mps));

                var p2 = MarshalSlot.Reserve <NoRefsStruct>(out MarshalSlot mps2);
                p2->Int = int2;
                p2->Dbl = dbl2;

                Task.Run(() => useParkingSlot(mps2));

                var mpsLarge = new MarshalSlot(20000000);
                mpsLarge.Span().Fill(7);
            }));
        }
Beispiel #9
0
        public ArgMap ToArgMap()
        {
            var argmap = new ArgMap();

            argmap["Succeed"] = Succeed;
            argmap["Message"] = Message;

            return(argmap);
        }
Beispiel #10
0
        private static ArgMap BuildArguments(IEnumerable <KeyValuePair <string, object> > args)
        {
            var a = new ArgMap();

            foreach (var kvp in args.Where(kvp => kvp.Value != null))
            {
                a.SafeAdd(kvp.Key, kvp.Value);
            }
            return(a);
        }
        /// <summary>
        /// コマンドライン引数 (<paramref name="args"/>) を解析し、xorimageの機能プロパティを取得します
        /// </summary>
        /// <param name="args">コマンドライン引数</param>
        /// <param name="props">xorimageの機能プロパティ</param>
        public void Init_args_BinCut(string[] args, int arg_idx, ref Tools.BinCut.Properties subprops)
        {
            for (int i = arg_idx; i < args.Length; i++)
            {
                if (args[i].StartsWith("-"))
                {
                    switch (args[i].Replace("-", ""))
                    {
                    case "l":                                   // length
                        string length = null;
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref length) == 0 &&
                            Program.StrToLong(length, out long conv_length,
                                              NumberStyles.None))
                        {
                            subprops.len = conv_length;
                            i++;
                        }
                        break;

                    case "O":                                   // offset
                        string offset = null;
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref offset) == 0 &&
                            Program.StrToInt(offset, out int conv_offset,
                                             NumberStyles.None))
                        {
                            subprops.offset = conv_offset;
                            i++;
                        }
                        break;

                    case "p":                                   // padding
                        string pad = null;
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref pad) == 0 &&
                            Program.StrToInt(pad, out int conv_pad,
                                             NumberStyles.None))
                        {
                            subprops.pad = conv_pad;
                            i++;
                        }
                        break;

                    case "P":                                   // padding with blocksize
                        string padBS = null;
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref padBS) == 0 &&
                            Program.StrToInt(padBS, out int conv_padBS,
                                             NumberStyles.None))
                        {
                            subprops.padBS = conv_padBS;
                            i++;
                        }
                        break;
                    }
                }
            }
        }
Beispiel #12
0
        /// <summary>
        /// Repassa os argumentos indicados para as propriedades na instância de IPaper.
        /// </summary>
        /// <param name="paper">A instância de IPaper que será modificada.</param>
        /// <param name="args">A coleção dos argumentos atribuídos.</param>
        public static void SetArgs(IPaper paper, ArgMap args)
        {
            foreach (var arg in args)
            {
                if (arg.Value is ArgMap)
                {
                    continue;
                }

                paper._TrySet(arg.Key, arg.Value);
            }
        }
Beispiel #13
0
        /// <summary>
        /// コマンドライン引数 (<paramref name="args"/>) を解析し、mkedimaximgの機能プロパティを取得します
        /// </summary>
        /// <param name="args">コマンドライン引数</param>
        /// <param name="props">mkedimaximgの機能プロパティ</param>
        public void Init_args_MkEdimaxImg(string[] args, int arg_idx, ref Tools.MkEdimaxImg.Properties subprops)
        {
            for (int i = arg_idx; i < args.Length; i++)
            {
                if (args[i].StartsWith("-"))
                {
                    switch (args[i].Replace("-", ""))
                    {
                    case "s":
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref subprops.signature) == 0)
                        {
                            i++;
                        }
                        break;

                    case "m":
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref subprops.model) == 0)
                        {
                            i++;
                        }
                        break;

                    case "f":
                        string flash = null;
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref flash) == 0 &&
                            Program.StrToInt(flash, out int conv_flash,
                                             NumberStyles.None))
                        {
                            subprops.flash = conv_flash;
                            i++;
                        }
                        break;

                    case "S":
                        string start = null;
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref start) == 0 &&
                            Program.StrToInt(start, out int conv_start,
                                             NumberStyles.None))
                        {
                            subprops.start = conv_start;
                            i++;
                        }
                        break;

                    case "b":
                        subprops.isbe = true;
                        break;
                    }
                }
            }
        }
Beispiel #14
0
        private static ArgMap BuildArguments(IDictionary args)
        {
            ArgMap a = new ArgMap();

            foreach (var argument in args.Keys.Cast <string>().Where(argument => argument != null))
            {
                var value = args[argument];
                if (value != null)
                {
                    a.SafeAdd(argument, value);
                }
            }
            return(a);
        }
        private void AddFacetAttributes(ArgMap arguments)
        {
            var builder = new StringBuilder();

            foreach (var facetAttribute in _configuration.FacetAttributes)
            {
                if (builder.Length > 0)
                {
                    builder.Append(",");
                }
                builder.Append(facetAttribute.Name + "__facet");
            }
            arguments.Add("filter_attributes", builder.ToString());
        }
        public ArgMap ToArgMap()
        {
            var argmap = new ArgMap();

            argmap["Id"]             = PersistentId;
            argmap["InstrumentInfo"] = InstrumentInfo;
            argmap["Manufacturer"]   = Manufacturer;
            argmap["Model"]          = Model;
            argmap["SerialNumber"]   = SerialNumber;
            argmap["Firmware"]       = Firmware;
            argmap["Description"]    = Description;
            argmap["VisaAddress"]    = VisaAddress;
            argmap["SiclAddress"]    = SiclAddress;
            return(argmap);
        }
        private static void EmitLoad(ILGenerator il, ArgMap map, int index, LocalBuilder local)
        {
            // we have local (out, ref)
            if (local != null)
            {
                il.EmitLdloca(local.LocalIndex);
                return;
            }


            // ref or out
            if (map.Method.IsByRef || map.Method.IsOut)
            {
                // ref, but delegate is not ref
                if (map.Method.IsByRef && !map.Delegate.IsByRef)
                {
                    il.EmitLdarga(index);
                }
                else
                {
                    il.EmitLdarg(index);
                }
                return;
            }

            // normal
            var dt = map.Delegate.Type.RemoveByRef();

            il.EmitLdarg(index);
            if (map.Delegate.IsByRef)
            {
                il.EmitLdind(dt);
            }

            var mt = map.Method.Type;

            if (dt.IsValueType && !mt.IsValueType)
            {
                il.EmitBox(dt);
            }
            else if (!mt.IsAssignableFrom(dt))
            {
                il.EmitUnBoxAnyOrCastClass(mt);
            }
        }
        /// <summary>
        /// コマンドライン引数 (<paramref name="args"/>) を解析し、xorimageの機能プロパティを取得します
        /// </summary>
        /// <param name="args">コマンドライン引数</param>
        /// <param name="props">xorimageの機能プロパティ</param>
        public void Init_args_Xorimage(string[] args, int arg_idx, ref Tools.XorImage.Properties subprops)
        {
            for (int i = arg_idx; i < args.Length; i++)
            {
                if (args[i].StartsWith("-"))
                {
                    switch (args[i].Replace("-", ""))
                    {
                    case "l":                                   // length
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref subprops.len) == 0)
                        {
                            i++;
                        }
                        break;

                    case "O":                                   // offset
                        string offset = null;
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref offset) == 0 &&
                            Program.StrToInt(offset, out int conv_offset,
                                             System.Globalization.NumberStyles.None))
                        {
                            subprops.offset = conv_offset;
                            i++;
                        }
                        break;

                    case "p":
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref subprops.pattern) == 0)
                        {
                            i++;
                        }
                        break;

                    case "r":
                        subprops.rewrite = true;
                        break;

                    case "x":
                        subprops.ishex = true;
                        break;
                    }
                }
            }
        }
        private static LocalBuilder EmitPrepare(ILGenerator il, ArgMap map, int index)
        {
            // nothing for normal
            if (!map.Method.IsOut && !map.Method.IsByRef)
            {
                return(null);
            }
            // out or ref
            var mt = map.Method.Type.RemoveByRef();
            var dt = map.Delegate.Type.RemoveByRef();

            // same types - no local
            if (mt == dt)
            {
                return(null);
            }
            var localVariable = il.DeclareLocal(mt);

            // out - just local
            if (map.Method.IsOut)
            {
                return(localVariable);
            }
            // ref - convert as store local
            il.EmitLdarg(index);

            if (map.Delegate.IsByRef)
            {
                il.EmitLdind(dt);
            }
            if (dt.IsValueType && !mt.IsValueType)
            {
                il.EmitBox(dt);
            }
            else if (!mt.IsAssignableFrom(dt))
            {
                il.EmitUnBoxAnyOrCastClass(mt);
            }
            il.EmitStloc(localVariable.LocalIndex);

            return(localVariable);
        }
        public Resource(ArgMap argmap)
        {
            if (argmap != null)
            {
                PersistentId   = argmap.GetString("PersistentId", string.Empty);
                InstrumentInfo = argmap.GetString("UniqueInstrumentIdentity", string.Empty);
                Manufacturer   = argmap.GetString("Manufacturer", string.Empty);
                Model          = argmap.GetString("Model", string.Empty);
                SerialNumber   = argmap.GetString("SerialNumber", string.Empty);
                Firmware       = argmap.GetString("Firmware", string.Empty);
                Description    = argmap.GetString("Description", string.Empty);
                VisaAddress    = argmap.GetString("VisaAddress", string.Empty);
                SiclAddress    = argmap.GetString("SiclAddress", string.Empty);
            }

            if (string.IsNullOrEmpty(InstrumentInfo))
            {
                InstrumentInfo = PersistentId;
            }
        }
        private PanelContent PerformQuery(ISearchCriteria criteria)
        {
            IList <Filter> filters = new List <Filter> {
                FilterBuilder.Attribute("locale_filter", criteria.Locale)
            };
            var arguments = new ArgMap();

            AddFilterCriteria(criteria, filters);
            AddCatalogEntrySearchCriteria(criteria, filters, arguments);
            AddSortArgument(criteria, arguments);
            AddFacetAttributes(arguments);

            var filter = filters.Count == 1 ? filters[0] : FilterBuilder.And(filters.ToArray());

            arguments.Add("filter", filter);
            arguments.Add("window_first", criteria.StartingRecord + 1);
            arguments.Add("window_last", criteria.RecordsToRetrieve + criteria.StartingRecord);

            var p = Util.ESales.Connector.Session(Util.Session.Key).Panel("/commerce-standard-search");

            return(p.RetrieveContent(arguments));
        }
Beispiel #22
0
        public ModelElement ConstructElement(string name, ArgMap parameters, AceModelRestricted model)
        {
            ModelElement element = null;
            Dictionary <string, string> rawProperties = ApiDataRepresentation.ArgMapToPropertyDictionary(parameters);
            string id = rawProperties[Ace2ApiConstants.PersistentId_Parameter];

            if (name.StartsWith(Consts.SAMPLE_INSTRUMENT) ||
                name.Contains("::"))
            {
                element = ConstructDevice(id, rawProperties);
            }
            else
            {
                element = ConstructInterface(id, rawProperties);
            }

            if (element != null && element.Parent == null && element.ParentId.Length > 0)
            {
                element.Parent = model.FindElementById(element.ParentId);
            }
            return(element);
        }
Beispiel #23
0
        /// <summary>
        /// コマンドライン引数 (<paramref name="args"/>) を解析し、xorimageの機能プロパティを取得します
        /// </summary>
        /// <param name="args">コマンドライン引数</param>
        /// <param name="props">xorimageの機能プロパティ</param>
        public void Init_args_Xorimage(string[] args, ref Tools.XorImage.Properties subprops)
        {
            for (int i = 0; i < args.Length; i++)
            {
                if (args[i].StartsWith("-"))
                {
                    switch (args[i].Replace("-", ""))
                    {
                    case "p":
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref subprops.pattern) == 0)
                        {
                            i++;
                        }
                        break;

                    case "x":
                        subprops.ishex = true;
                        break;
                    }
                }
            }
        }
Beispiel #24
0
        /// <summary>
        /// コマンドライン引数 (<paramref name="args"/>) を解析し、nec-encの機能プロパティを取得します
        /// </summary>
        /// <param name="args">コマンドライン引数</param>
        /// <param name="props">nec-encの機能プロパティ</param>
        public void Init_args_NecEnc(string[] args, ref Tools.Nec_Enc.Properties subprops)
        {
            for (int i = 0; i < args.Length; i++)
            {
                if (args[i].StartsWith("-"))
                {
                    switch (args[i].Replace("-", ""))
                    {
                    case "k":
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref subprops.key) == 0)
                        {
                            i++;
                        }
                        break;

                    case "H":
                        subprops.half = true;
                        break;
                    }
                }
            }
        }
Beispiel #25
0
        private static void Finish(ArgMap map, ExpressionBlockBuilder block, Expression prepare, ParameterExpression p)
        {
            // Not out and (Not By Ref or ([byRef] and not (delegate ref or delegate out)
            if (!map.Method.IsOut && (!map.Method.IsByRef || !(map.Delegate.IsByRef || map.Delegate.IsOut)))
            {
                return;
            }
            // out/ref and typeSame - do nothing
            var mt = map.Method.Type.RemoveByRef();
            var dt = map.Delegate.Type.RemoveByRef();

            if (mt == dt)
            {
                return;
            }

            // convert and assign back
            var convertResult = Expression.Convert(prepare, dt);
            var assign        = Expression.Assign(p, convertResult);

            block.Add(assign);
        }
Beispiel #26
0
        private ArgMap GetElementRepresentation(ModelElement element)
        {
            var argmap = new ArgMap();

            if (element != null)
            {
                Dictionary <string, string> properties = null;
                if (element is ModelDeviceSample)
                {
                    var device     = element as ModelDevice;
                    var deviceData = CreateDeviceRepresentation(device);
                    properties = deviceData.Properties;
                }
                else if (element is ModelInterfaceSample)
                {
                    var intfc     = element as ModelInterface;
                    var intfcData = CreateInterfaceRepresentation(intfc);
                    properties = intfcData.Properties;
                }
                argmap = ApiDataRepresentation.PropertyDictionaryToArgMap(properties);
            }
            return(argmap);
        }
Beispiel #27
0
        public static PanelContent GetPanelContent(string path, ArgMap args)
        {
            var panel = Connector.Session(Session.Key).Panel(path);

            return(panel.RetrieveContent(args));
        }
        public ModelElement ConstructElement(string name, ArgMap parameters, AceModelRestricted model)
        {
            ModelElement element = null;
            Dictionary<string, string> rawProperties = ApiDataRepresentation.ArgMapToPropertyDictionary(parameters);
            string id = rawProperties[Ace2ApiConstants.PersistentId_Parameter];

            if (name.StartsWith(Consts.SAMPLE_INSTRUMENT)
                || name.Contains("::"))
            {
                element = ConstructDevice(id, rawProperties);
            }
            else
            {
                element = ConstructInterface(id, rawProperties);
            }

            if (element != null && element.Parent == null && element.ParentId.Length > 0)
            {
                element.Parent = model.FindElementById(element.ParentId);
            }
            return element;
        }
 private ArgMap GetElementRepresentation(ModelElement element)
 {
     var argmap = new ArgMap();
     if (element != null)
     {
         Dictionary<string, string> properties = null;
         if (element is ModelDeviceSample)
         {
             var device = element as ModelDevice;
             var deviceData = CreateDeviceRepresentation(device);
             properties = deviceData.Properties;
         }
         else if (element is ModelInterfaceSample)
         {
             var intfc = element as ModelInterface;
             var intfcData = CreateInterfaceRepresentation(intfc);
             properties = intfcData.Properties;
         }
         argmap = ApiDataRepresentation.PropertyDictionaryToArgMap(properties);
     }
     return argmap;
 }
        private static Tuple<List<string>, List<string>> ExtractUsedInterfaceIdsFromArgMap(ArgMap data, string visaTypeFilter)
        {
            List<string> visas = new List<string>();
            List<string> sicls = new List<string>();
            var parsed = new Tuple<List<string>, List<string>>(visas, sicls);
            if (data == null) return parsed;
            ArgList v = data.GetArgList(Ace2ApiConstants.VisaInterfaceIdAssignments_Parameter);
            ArgList s = data.GetArgList(Ace2ApiConstants.SiclInterfaceIdAssignments_Parameter);
            if (v == null || s == null) return parsed;

            for (int i = 0; i < v.Count; i++)
            {
                if (v[i].ToString().StartsWith(visaTypeFilter, StringComparison.InvariantCultureIgnoreCase))
                {
                    visas.Add(v[i].ToString());
                    sicls.Add(s[i].ToString());     // The SICL interface list MUST be 1-for-1 to the VISA interfaces
                }
            }
            return parsed;
        }
        private static Tuple <List <string>, List <string> > ExtractUsedInterfaceIdsFromArgMap(ArgMap data, string visaTypeFilter)
        {
            List <string> visas  = new List <string>();
            List <string> sicls  = new List <string>();
            var           parsed = new Tuple <List <string>, List <string> >(visas, sicls);

            if (data == null)
            {
                return(parsed);
            }
            ArgList v = data.GetArgList(Ace2ApiConstants.VisaInterfaceIdAssignments_Parameter);
            ArgList s = data.GetArgList(Ace2ApiConstants.SiclInterfaceIdAssignments_Parameter);

            if (v == null || s == null)
            {
                return(parsed);
            }

            for (int i = 0; i < v.Count; i++)
            {
                if (v[i].ToString().StartsWith(visaTypeFilter, StringComparison.InvariantCultureIgnoreCase))
                {
                    visas.Add(v[i].ToString());
                    sicls.Add(s[i].ToString());     // The SICL interface list MUST be 1-for-1 to the VISA interfaces
                }
            }
            return(parsed);
        }
Beispiel #32
0
        /// <summary>
        /// コマンドライン引数 (<paramref name="args"/>) を解析し、mkedimaximgの機能プロパティを取得します
        /// </summary>
        /// <param name="args">コマンドライン引数</param>
        /// <param name="props">mkedimaximgの機能プロパティ</param>
        public void Init_args_BuffaloEnc(string[] args, ref Tools.Buffalo_Enc.Properties subprops)
        {
            CultureInfo provider = CultureInfo.CurrentCulture;

            for (int i = 0; i < args.Length; i++)
            {
                if (args[i].StartsWith("-"))
                {
                    switch (args[i].Replace("-", ""))
                    {
                    case "d":
                        subprops.isde = true;
                        break;

                    case "l":
                        subprops.islong = true;
                        break;

                    case "k":
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref subprops.crypt_key) == 0)
                        {
                            i++;
                        }
                        break;

                    case "m":
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref subprops.magic) == 0)
                        {
                            i++;
                        }
                        break;

                    case "p":
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref subprops.product) == 0)
                        {
                            i++;
                        }
                        break;

                    case "v":
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref subprops.version) == 0)
                        {
                            i++;
                        }
                        break;

                    case "s":
                        string seed = null;
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref seed) == 0 &&
                            byte.TryParse((seed.StartsWith("0x") ? seed.Replace("0x", "") : seed),
                                          NumberStyles.HexNumber, provider, out byte conv_seed))
                        {
                            subprops.seed = conv_seed;
                            i++;
                        }
                        break;

                    case "F":
                        subprops.force = true;
                        break;

                    case "O":
                        string offset = null;
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref offset) == 0 &&
                            Program.StrToInt(offset, out int conv_offset, 0) == 0)
                        {
                            subprops.offset = conv_offset;
                            i++;
                        }
                        break;

                    case "S":
                        string size = null;
                        if (ArgMap.Set_StrParamFromArgs(args, i, ref size) == 0 &&
                            Program.StrToInt(size, out int conv_size, 0) == 0)
                        {
                            subprops.size = conv_size;
                            i++;
                        }
                        break;
                    }
                }
            }
        }
 private void AddCatalogEntrySearchCriteria(ISearchCriteria criteria, IList <Filter> filters, ArgMap arguments)
 {
     if (criteria is CatalogEntrySearchCriteria)
     {
         var c = criteria as CatalogEntrySearchCriteria;
         AddOrFilter(filters, c.CatalogNames, "_catalog");
         AddOrFilter(filters, c.CatalogNodes, "_node");
         AddOrFilter(filters, c.Outlines, "_outline");
         AddOrFilter(filters, c.SearchIndex, "_metaclass");
         AddOrFilter(filters, c.ClassTypes, "_classtype");
         const string year0           = "0.0";
         const string yearFarInFuture = "99999999999999999";
         filters.Add(FilterBuilder.Range("startdate", year0, ConvertToTimestamp(c.StartDate).ToString(CultureInfo.InvariantCulture), false, true));
         filters.Add(FilterBuilder.Range("enddate", ConvertToTimestamp(c.EndDate).ToString(CultureInfo.InvariantCulture), yearFarInFuture, true, false));
         var searchAttributes = SearchAttributes();
         if (!(string.IsNullOrEmpty(c.SearchPhrase) || string.IsNullOrEmpty(searchAttributes)))
         {
             arguments.Add("search_phrase", c.SearchPhrase);
             arguments.Add("search_attributes", searchAttributes);
         }
     }
 }