private void Initialize(RecognizerInfo recognizerInfo) { try { _sapiRecognizer = new SapiRecognizer(SapiRecognizer.RecognizerType.InProc); } catch (COMException e) { throw RecognizerBase.ExceptionFromSapiCreateRecognizerError(e); } if (recognizerInfo != null) { ObjectToken token = recognizerInfo.GetObjectToken(); if (token == null) { throw new ArgumentException(SR.Get(SRID.NullParamIllegal), nameof(recognizerInfo)); } try { _sapiRecognizer.SetRecognizer(token.SAPIToken); } catch (COMException e) { throw new ArgumentException(SR.Get(SRID.RecognizerNotFound), RecognizerBase.ExceptionFromSapiCreateRecognizerError(e)); } } // For the SpeechRecognitionEngine we don't want recognition to start until the Recognize() or RecognizeAsync() methods are called. _sapiRecognizer.SetRecoState(SPRECOSTATE.SPRST_INACTIVE); }
public void Cache(ObjectToken objectToken) { if (objectToken == null) { throw new ArgumentNullException(); } cache[objectToken.Number] = objectToken; }
public ObjectToken WriteObject(Stream stream, IToken token) { var reference = new IndirectReference(CurrentNumber++, 0); var obj = new ObjectToken(stream.Position, reference, token); objectOffsets.Add(reference, obj.Position); TokenWriter.WriteToken(obj, stream); return(obj); }
private static ObjectToken WriteObject(IToken content, Stream stream, Dictionary <IndirectReference, long> objectOffsets, ref int number) { var reference = new IndirectReference(number++, 0); var obj = new ObjectToken(stream.Position, reference, content); objectOffsets.Add(reference, obj.Position); // TODO: write TokenWriter.WriteToken(obj, stream); return(obj); }
public Transition(State from, string toName, ObjectToken data) : base(data) { this.Name = this["name"]; this.From = from; if (string.IsNullOrWhiteSpace(toName)) { throw new DiagramException("转换必须定义目标状态属性,请在流程图中给相关转换指定to属性"); } this._toName = toName.Trim(); }
private static ObjectToken WriteObject(IToken content, MemoryStream stream, Dictionary <IndirectReference, long> objectOffsets, ref int number) { var reference = new IndirectReference(number++, 0); var obj = new ObjectToken(stream.Position, reference, content); objectOffsets.Add(reference, obj.Position); // TODO: write stream.Write(new byte[50], 0, 50); stream.WriteByte(Break); return(obj); }
private void Authenticate <T, V>(T param, InvokeResult <V> result) where T : AuthenticateParam where V : AuthenticateUserRet { if (param is AuthenticateUserParam) { string connectstring_Or_Dbname = null; if (param.ObjectId != "*") { var deployNode = GlobalManager.DeployNodes.SingleOrDefault(item => item.ApplicationIdFrom == param.ApplicationIdFrom && item.ApplicationIdTo == param.ApplicationIdTo && item.ObjectId == param.ObjectId && item.RunMode.Value == param.RunMode); if (deployNode != null) { connectstring_Or_Dbname = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(deployNode.ConnectString)); } } else { connectstring_Or_Dbname = Global.oldConnectString; } var a = param.ToStringObjectDictionary(); CertManager.LogonUser(param.Code, param.Password, new LogonSuccessDelegate <User>(delegate(LogonSuccessEventArgs <User> args) { //查询 (result as InvokeResult <AuthenticateUserRet>).ret.isCCSeat = args.Instance.isCCSeat(); SPParam theSPParam = new ObjectToken { ApplicationIdFrom = param.ApplicationIdFrom, ApplicationIdTo = param.ApplicationIdTo, ObjectType = GlobalManager.DIKey_00011_User, ObjectId = TypeConverter.ChangeString(args.Instance.UserId) }.ToSPParam(); BuilderFactory.DefaultBulder(connectstring_Or_Dbname).ExecuteSPNoneQuery("SP_Cer_SignIn", theSPParam); if (theSPParam.ErrorCode == 0) { result.ret.Token = TypeConverter.ChangeString(theSPParam["Token"]).ToGuid(); Redirect r = Global.redirects.FirstOrDefault(item => item.ApplicationIdFrom == param.ApplicationIdFrom && item.ApplicationIdTo == param.ApplicationIdTo && item.Tag == "SignIn"); if (r != null) { result.ret.RedirectUrl = r.Url.ReplaceWithKeys(theSPParam); } } else { result.Success = false; result.ErrorMessage = theSPParam.ErrorMessage; } }), new LogonFailureDelegate(delegate(LogonFailureEventArgs args) { result.Success = false; result.ErrorMessage = args.ErrorMessage; }), connectstring_Or_Dbname); } }
public virtual IndirectReferenceToken WriteToken(IToken token, IndirectReferenceToken indirectReference) { if (!Initialized) { InitializePdf(DefaultVersion); } offsets.Add(indirectReference.Data, Stream.Position); var obj = new ObjectToken(Stream.Position, indirectReference.Data, token); TokenWriter.WriteToken(obj, Stream); return(indirectReference); }
internal VoiceInfo(ObjectToken token) { _registryKeyPath = token._sKeyId; _id = token.Name; _description = token.Description; _name = token.TokenName(); SsmlParserHelpers.TryConvertAge(token.Age.ToLowerInvariant(), out _age); SsmlParserHelpers.TryConvertGender(token.Gender.ToLowerInvariant(), out _gender); string value; if (token.Attributes.TryGetString("Language", out value)) { _culture = SapiAttributeParser.GetCultureInfoFromLanguageString(value); } string value2; if (token.TryGetString("Assembly", out value2)) { _assemblyName = value2; } string value3; if (token.TryGetString("CLSID", out value3)) { _clsid = value3; } if (token.Attributes != null) { Dictionary <string, string> dictionary = new Dictionary <string, string>(); string[] valueNames = token.Attributes.GetValueNames(); foreach (string text in valueNames) { string value4; if (token.Attributes.TryGetString(text, out value4)) { dictionary.Add(text, value4); } } _attributes = new ReadOnlyDictionary <string, string>(dictionary); } string value5; if (token.Attributes != null && token.Attributes.TryGetString("AudioFormats", out value5)) { _audioFormats = new ReadOnlyCollection <SpeechAudioFormatInfo>(SapiAttributeParser.GetAudioFormatsFromString(value5)); } else { _audioFormats = new ReadOnlyCollection <SpeechAudioFormatInfo>(new List <SpeechAudioFormatInfo>()); } }
static Dictionary <string, ValueExpression> loadKeyValues(ObjectToken self, string name) { var values = new Dictionary <string, ValueExpression>(); var varConfigs = self[name]; if (varConfigs != null && varConfigs != Token.Empty) { foreach (KeyValuePair <string, Token> pair in varConfigs as ObjectToken) { values.Add(pair.Key, new ValueExpression(pair.Value)); } } return(values); }
public void ShoulHandleNullArgument() { var call = new CallToken(null); var group = new GroupToken(null); var lambda = new LambdaToken(null); var obj = new ObjectToken(null); var array = new ArrayToken(null); Assert.NotNull(call.Args); Assert.NotNull(group.Tokens); Assert.NotNull(lambda.Parameters); Assert.NotNull(obj.Members); Assert.NotNull(array.Items); }
public virtual IndirectReferenceToken WriteToken(IToken token) { if (!Initialized) { InitializePdf(DefaultVersion); } var ir = ReserveObjectNumber(); offsets.Add(ir.Data, Stream.Position); var obj = new ObjectToken(Stream.Position, ir.Data, token); TokenWriter.WriteToken(obj, Stream); return(ir); }
public void Cache(ObjectToken objectToken, bool force = false) { if (objectToken == null) { throw new ArgumentNullException(); } // Don't cache incorrect locations. var crossReference = crossReferenceTable(); if (!force && crossReference != null && crossReference.ObjectOffsets.TryGetValue(objectToken.Number, out var expected) && objectToken.Position != expected) { return; } cache[objectToken.Number] = objectToken; }
private static void WriteObject(ObjectToken objectToken, Stream outputStream) { WriteLong(objectToken.Number.ObjectNumber, outputStream); WriteWhitespace(outputStream); WriteInt(objectToken.Number.Generation, outputStream); WriteWhitespace(outputStream); outputStream.Write(ObjStart, 0, ObjStart.Length); WriteLineBreak(outputStream); WriteToken(objectToken.Data, outputStream); WriteLineBreak(outputStream); outputStream.Write(ObjEnd, 0, ObjEnd.Length); WriteLineBreak(outputStream); }
public void Flush(decimal version, IndirectReferenceToken catalogReference) { if (catalogReference == null) { throw new ArgumentNullException(nameof(catalogReference)); } WriteString($"%PDF-{version:0.0}", Stream); Stream.WriteText("%"); Stream.WriteByte(169); Stream.WriteByte(205); Stream.WriteByte(196); Stream.WriteByte(210); Stream.WriteNewLine(); var offsets = new Dictionary <IndirectReference, long>(); ObjectToken catalogToken = null; foreach (var pair in tokenReferences) { var referenceToken = pair.Key; var token = pair.Value; var offset = Stream.Position; var obj = new ObjectToken(offset, referenceToken.Data, token); TokenWriter.WriteToken(obj, Stream); offsets.Add(referenceToken.Data, offset); if (catalogToken == null && referenceToken == catalogReference) { catalogToken = obj; } } if (catalogToken == null) { throw new Exception("Catalog object wasn't found"); } // TODO: Support document information TokenWriter.WriteCrossReferenceTable(offsets, catalogToken, Stream, null); }
public static DiagramLine ExtractFromMyVariable(MyVariable variable) { ObjectToken body = (ObjectToken)variable.Value; List <ObjectPropertyToken> propertirs = body.Value as List <ObjectPropertyToken>; DiagramNodeBuilder nodeBuilder = new DiagramNodeBuilder(variable.Name); for (int i = 0; i < propertirs.Count; i++) { switch (propertirs[i].IdentifierToken.Value) { case "width": nodeBuilder.BuildWidth((int)propertirs[i].Value.Value); break; case "color": nodeBuilder.BuildDrawColor((string)propertirs[i].Value.Value); break; case "arrow": nodeBuilder.BuildArrow((string)propertirs[i].Value.Value); break; } } return(nodeBuilder.Build()); }
public IActionResult Login( [FromBody] UserDto userDto, [FromServices] AuthenticateManager authenticateManager, [FromServices] IUserServiceAuthenticate userService) { try { ObjectToken objectToken = authenticateManager.Authenticate(userDto, userService); if (objectToken.authenticated) { return(Ok(objectToken)); } return(Unauthorized()); } catch (Exception e) { return(BadRequest(e.Message)); } }
private RecognizerInfo(ObjectToken token, CultureInfo culture) { // Retrieve the token name _id = token.Name; // Retrieve default display name _description = token.Description; // Store full object token id for internal use. // NOTE - SAPI returns the wrong hive for tokenenum tokens (always HKLM). // Do not rely on the path to be correct in all cases. _sapiObjectTokenId = token.Id; _name = token.TokenName(); _culture = culture; // Enum all values and add to custom table Dictionary <string, string> attrs = new(); foreach (string keyName in token.Attributes.GetValueNames()) { string attributeValue; if (token.Attributes.TryGetString(keyName, out attributeValue)) { attrs[keyName] = attributeValue; } } _attributes = new ReadOnlyDictionary <string, string>(attrs); string audioFormats; if (token.Attributes.TryGetString("AudioFormats", out audioFormats)) { _supportedAudioFormats = new ReadOnlyCollection <SpeechAudioFormatInfo>(SapiAttributeParser.GetAudioFormatsFromString(audioFormats)); } else { _supportedAudioFormats = new ReadOnlyCollection <SpeechAudioFormatInfo>(new List <SpeechAudioFormatInfo>()); } _objectToken = token; }
protected void LogOffUser <T, V>(T param, InvokeResult <V> result) where T : LogOffUserParam where V : LogOffUserRet { if (param is LogOffUserParam) { string connectstring_Or_Dbname = null; if (param.ObjectId != "*") { var deployNode = GlobalManager.DeployNodes.SingleOrDefault(item => item.ApplicationIdFrom == param.ApplicationIdFrom && item.ApplicationIdTo == param.ApplicationIdTo && item.ObjectId == param.ObjectId && item.RunMode.Value == param.RunMode); if (deployNode != null) { connectstring_Or_Dbname = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(deployNode.ConnectString)); } } else { connectstring_Or_Dbname = Global.oldConnectString; } SPParam theSPParam = new ObjectToken { ApplicationIdFrom = param.ApplicationIdFrom, ApplicationIdTo = param.ApplicationIdTo, Token = param.Token }.ToSPParam(); BuilderFactory.DefaultBulder(connectstring_Or_Dbname).ExecuteSPNoneQuery("SP_Cer_SignOut", theSPParam); if (theSPParam.ErrorCode == 0) { //浏览器类 Redirect r = Global.redirects.FirstOrDefault(item => item.ApplicationIdFrom == param.ApplicationIdFrom && item.ApplicationIdTo == param.ApplicationIdTo && item.ObjectId == param.ObjectId && item.Tag == (param.Tag ?? "SignOut")); if (r != null) { theSPParam.MixInWithDictionary(param.ToStringObjectDictionary()); result.ret.RedirectUrl = r.Url.ReplaceWithKeys(theSPParam); } } else { result.Success = false; result.ErrorMessage = theSPParam.ErrorMessage; } } }
internal static RecognizerInfo Create(ObjectToken token) { if (token.Attributes == null) { return(null); } string value; if (!token.Attributes.TryGetString("Language", out value)) { return(null); } CultureInfo cultureInfoFromLanguageString = SapiAttributeParser.GetCultureInfoFromLanguageString(value); if (cultureInfoFromLanguageString != null) { return(new RecognizerInfo(token, cultureInfoFromLanguageString)); } return(null); }
public static DiagramNode ExtractFromMyVariable(MyVariable variable) { ObjectToken body = (ObjectToken)variable.Value; List <ObjectPropertyToken> propertirs = body.Value as List <ObjectPropertyToken>; DiagramNodeBuilder nodeBuilder = new DiagramNodeBuilder(variable.Name); for (int i = 0; i < propertirs.Count; i++) { switch (propertirs[i].IdentifierToken.Value) { case "type": nodeBuilder.BuildType((string)propertirs[i].Value.Value); break; case "drawColor": nodeBuilder.BuildDrawColor((string)propertirs[i].Value.Value); break; case "fillColor": nodeBuilder.BuildFillColor((string)propertirs[i].Value.Value); break; case "units": nodeBuilder.BuildUnits((int)propertirs[i].Value.Value); break; } } return(nodeBuilder.Build()); }
public bool TryGetCached(IndirectReference reference, out ObjectToken objectToken) { return(cache.TryGetValue(reference, out objectToken)); }
public State(ObjectToken proto, Diagram ownDiagram) : this(proto["name"], proto, async() => ownDiagram) { }
public State(string name, ObjectToken proto, Diagram diagram) : this(name, proto, async() => diagram) { }
public Diagram(ObjectToken proto, State ownState) : base(proto) { this.OwnState = ownState; }
protected WorkflowConfig(string name, ObjectToken proto) : base(proto) { this.Name = name; }
/* * name: start * imports: * userId: * ./abc * ../abc * */ public static async Task <ObjectToken> ParseAsync(TextReader stream) { int deep = 0; IDictionary <string, Token> currentMap = null; List <Token> currentArr = null; var root = new ObjectToken(currentMap = new Dictionary <string, Token>()); Stack <IDictionary <string, Token> > stack = new Stack <IDictionary <string, Token> >(); var lineAt = 1; var charAt = 0; var buffer = new char[1024]; var readed = 0; var level = 0; var lastToken = '\n'; var sb = new StringBuilder(); string key = null; string value = null; string lastName = null; while ((readed = await stream.ReadAsync(buffer, 0, 1024)) != 0) { for (int i = 0; i < readed; i++) { char ch = buffer[i]; charAt++; if (ch == '\t') { if (lastToken == '\n') { level++; continue; } else { throw new DiagramException($"意外的\\t符号,row={lineAt},col={charAt}"); } } else if (ch == '#') { if (lastToken == '\n') { lastToken = ch; } else { throw new DiagramException($"意外的#符号,row={lineAt},col={charAt}"); } } else if (ch == ':') { lastName = key; key = sb.ToString().Trim(); if (currentArr != null) { throw new DiagramException($"意外的:符号,当前正在定义数组,无法指定属性,row={lineAt},col={charAt}"); } sb = new StringBuilder(); lastToken = ch; } else if (ch == '\n') { lineAt++; lastToken = '\n'; value = sb.ToString().Trim(); sb = new StringBuilder(); if (level > deep) { if (level > deep + 1) { throw new DiagramException($"多余的tab,row={lineAt}"); } deep++; //将当前map压入堆栈 stack.Push(currentMap); Token ct = null; if (key == null) { var nextArr = new List <Token>(); ct = new ArrayToken(nextArr); currentMap[lastName] = ct; currentArr = nextArr; currentMap = null; } else { var nextMap = new Dictionary <string, Token>(); ct = new ObjectToken(nextMap); currentMap[lastName] = ct; currentMap = nextMap; currentArr = null; } lastName = null; } else if (deep == level) { } else { for (var j = deep; j > level; j--) { currentMap = stack.Pop(); } if (currentMap == null) { throw new DiagramException($"内部算法错误"); } } if (currentArr != null) { currentArr.Add(new StringToken(value)); } else { if (currentMap.ContainsKey(key)) { throw new DiagramException($"重复的属性定义${key},row={lineAt},col={charAt}"); } currentMap.Add(key, new StringToken(value)); } level = 0; } else { sb.Append(ch); } } } return(root); }
public State(ObjectToken proto, Func <Task <Diagram> > diagramGetter) : this(proto["name"], proto, diagramGetter) { }
protected WorkflowConfig(ObjectToken proto) : this(proto["name"], proto) { }
public State(string name, ObjectToken proto, Func <Task <Diagram> > diagramGetter) : base(name, proto) { this._DiagramGetter = diagramGetter; }