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); }
public string GetValue(string arg) { string value = null; ArgMap.TryGetValue(arg, out value); return(value); }
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>"); } }
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()); }
/// <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; } } } }
// 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); } }
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); })); }
public ArgMap ToArgMap() { var argmap = new ArgMap(); argmap["Succeed"] = Succeed; argmap["Message"] = Message; return(argmap); }
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; } } } }
/// <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); } }
/// <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; } } } }
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)); }
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); }
/// <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; } } } }
/// <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; } } } }
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); }
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); }
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); }
/// <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); } } }