Advertisement
Guest User

Untitled

a guest
May 29th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.46 KB | None | 0 0
  1.     MessageDefinition('ConnectRequest', 'Core.Server.Message.Request.Login', base_class, [
  2.             ('username', 'string'),
  3.             ('password', 'string'),
  4.         ],
  5.         note = 'The password should be SHA1 hashed.'
  6.     ),
  7.  
  8.  
  9. using System;
  10. using System.Collections.Generic;
  11. using LibFlexCom.AMF;
  12. using Core.Server.Message;
  13.  
  14. namespace Core.Server.Message.Request.Login
  15. {
  16.     /// <summary>
  17.     /// The password should be SHA1 hashed.
  18.     /// </summary>
  19.     public partial class ConnectRequest : Core.Server.Message.MessageBase
  20.     {
  21.         public string Username { get; set; }
  22.         public string Password { get; set; }
  23.        
  24.         public ConnectRequest(string username, string password)
  25.         {
  26.             Username = username;
  27.             Password = password;
  28.         }
  29.     }
  30.    
  31.     public class ConnectRequestAMFSerializer : IAMFObjectSerializer
  32.     {
  33.         public string ClassAlias { get { return "c1"; } }
  34.         public Type ClassType { get { return typeof (ConnectRequest); } }
  35.        
  36.         public int GetNumSealedTraits(object messageObject)
  37.         {
  38.             var message = (ConnectRequest)messageObject;
  39.             var numSealedTraits = 1;
  40.             numSealedTraits += message.Username != null ? 1 : 0;
  41.             numSealedTraits += message.Password != null ? 1 : 0;
  42.             return numSealedTraits;
  43.         }
  44.        
  45.         public void WriteSealedNames(object messageObject, AMFWriter writer)
  46.         {
  47.             var message = (ConnectRequest)messageObject;
  48.             writer.WriteAMFString("TransactionId", false);
  49.             if (message.Username != null)
  50.                 writer.WriteAMFString("Username", false);
  51.             if (message.Password != null)
  52.                 writer.WriteAMFString("Password", false);
  53.         }
  54.        
  55.         public void WriteSealedValues(object messageObject, AMFWriter writer)
  56.         {
  57.             var message = (ConnectRequest)messageObject;
  58.             writer.WriteAMFInt(message.TransactionId);
  59.             if (message.Username != null)
  60.                 writer.WriteAMFString(message.Username);
  61.             if (message.Password != null)
  62.                 writer.WriteAMFString(message.Password);
  63.         }
  64.        
  65.         public object Create(Dictionary<string, object> arguments)
  66.         {
  67.             return new ConnectRequest((string)arguments["Username"], (string)arguments["Password"]) { TransactionId = (int)arguments["TransactionId"] };
  68.         }
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement