public Session Login(AuthenticationCredentials arg0)
 {
     int Id = Invoke("loginService", "login", new object[] { arg0.GetBaseTypedObject() });
     while (!results.ContainsKey(Id))
         System.Threading.Thread.Sleep(10);
     TypedObject messageBody = results[Id].GetTO("data").GetTO("body");
     Session result = new Session(messageBody);
     results.Remove(Id);
     return result;
 }
 public async Task<Session> Login(AuthenticationCredentials arg0)
 {
     int Id = Invoke("loginService", "login", new object[] { arg0.GetBaseTypedObject() });
     while (!results.ContainsKey(Id))
         await Task.Delay(10);
     TypedObject messageBody = results[Id].GetTO("data").GetTO("body");
     Session result = new Session(messageBody);
     results.Remove(Id);
     return result;
 }
 /// 0.)
 private void Login(AuthenticationCredentials arg0, Session.Callback callback)
 {
     Session cb = new Session(callback);
     InvokeWithCallback("loginService", "login", new object[] { arg0.GetBaseTypedObject() }, cb);
 }