Пример #1
0
 /// <summary>
 /// Check if two Tokens are equal
 /// </summary>
 /// <param name="t">The Token to compare to this</param>
 /// <returns>Return true if both Token are equal</returns>
 public bool Equals(Token t)
 {
     if (t == null)
         return false;
     for (int i = 0; i < 16; i++)
         if (this.Buffer[i] != t.Buffer[i])
             return false;
     return true;
 }
Пример #2
0
 /// <summary>
 /// Extract a Token
 /// </summary>
 /// <param name="buffer">A view with the encoded data</param>
 /// <returns>Return the extracted data</returns>
 static Token ReadToken(BufferView buffer)
 {
     if (buffer.Length < 16)
         throw new NotEnoughData("Unable to extract Token");
     Token r = new Token(buffer.GetBytes(16));
     buffer.Slice(16);
     return r;
 }
Пример #3
0
 /// <summary>
 /// Append something to the Data object
 /// </summary>
 /// <param name="array">An array of Token instances</param>
 /// <returns>Return itself</returns>
 public Data AddTokenArray(Token[] array)
 {
     string format = Format;
     AddUint((ulong)array.Length);
     for (int i = 0; i < array.Length; i++)
         AddToken(array[i]);
     Format = format + "(t)";
     return this;
 }
Пример #4
0
 /// <summary>
 /// Create a new clone for the given Token
 /// </summary>
 /// <param name="t">A Token to be cloned</param>
 public Token(Token t)
 {
     Buffer = new byte[16];
     Array.Copy(t.Buffer, Buffer, 16);
 }
Пример #5
0
 /// <summary>
 /// Append something to the Data object
 /// </summary>
 /// <param name="t">A Token instance</param>
 /// <returns>Return itself</returns>
 public Data AddToken(Token t)
 {
     Buffer.Append(t.Buffer);
     Format += "t";
     return this;
 }