// Autogenerated C# message buffer code. // Source: clad/cloud/token.clad // Full command line: victor-clad/tools/message-buffers/emitters/CSharp_emitter.py -C src -I clad/src lib/util/source/anki/clad robot/clad/src coretech/vision/clad_src coretech/common/clad_src -o generated/cladCSharp clad/cloud/token.clad namespace Anki { namespace Vector { public enum TokenError : byte { NoError = 0, NullToken = 1, InvalidToken = 2, Connection = 3, WrongAccount = 4 }; public partial class AuthRequest { private string _sessionToken; // string[uint_8] private string _clientName; // string[uint_8] private string _appId; // string[uint_8] public string sessionToken { get { return _sessionToken; } set { if (!string.IsNullOrEmpty(value) && System.Text.Encoding.UTF8.GetByteCount(value) > 255) { throw new System.ArgumentException("sessionToken string is too long. Must decode to less than or equal to 255 bytes.", "value"); } _sessionToken = value; } } public string clientName { get { return _clientName; } set { if (!string.IsNullOrEmpty(value) && System.Text.Encoding.UTF8.GetByteCount(value) > 255) { throw new System.ArgumentException("clientName string is too long. Must decode to less than or equal to 255 bytes.", "value"); } _clientName = value; } } public string appId { get { return _appId; } set { if (!string.IsNullOrEmpty(value) && System.Text.Encoding.UTF8.GetByteCount(value) > 255) { throw new System.ArgumentException("appId string is too long. Must decode to less than or equal to 255 bytes.", "value"); } _appId = value; } } /**** Constructors ****/ public AuthRequest() { } public AuthRequest(string sessionToken, string clientName, string appId) { this.sessionToken = sessionToken; this.clientName = clientName; this.appId = appId; } public AuthRequest(System.IO.Stream stream) { Unpack(stream); } public AuthRequest(System.IO.BinaryReader reader) { Unpack(reader); } public AuthRequest Initialize(string sessionToken, string clientName, string appId) { this.sessionToken = sessionToken; this.clientName = clientName; this.appId = appId; return this; } public void Unpack(System.IO.Stream stream) { System.IO.BinaryReader reader = new System.IO.BinaryReader(stream); Unpack(reader); } public void Unpack(System.IO.BinaryReader reader) { int _sessionToken_length = (int)reader.ReadByte(); byte[] _sessionToken_bytes = reader.ReadBytes(_sessionToken_length); _sessionToken = System.Text.Encoding.UTF8.GetString(_sessionToken_bytes); int _clientName_length = (int)reader.ReadByte(); byte[] _clientName_bytes = reader.ReadBytes(_clientName_length); _clientName = System.Text.Encoding.UTF8.GetString(_clientName_bytes); int _appId_length = (int)reader.ReadByte(); byte[] _appId_bytes = reader.ReadBytes(_appId_length); _appId = System.Text.Encoding.UTF8.GetString(_appId_bytes); } public void Pack(System.IO.Stream stream) { System.IO.BinaryWriter writer = new System.IO.BinaryWriter(stream); Pack(writer); } public void Pack(System.IO.BinaryWriter writer) { if (_sessionToken != null) { byte[] _sessionToken_bytes = System.Text.Encoding.UTF8.GetBytes(_sessionToken); writer.Write((byte)_sessionToken_bytes.Length); writer.Write(_sessionToken_bytes); } else { writer.Write((byte)0); } if (_clientName != null) { byte[] _clientName_bytes = System.Text.Encoding.UTF8.GetBytes(_clientName); writer.Write((byte)_clientName_bytes.Length); writer.Write(_clientName_bytes); } else { writer.Write((byte)0); } if (_appId != null) { byte[] _appId_bytes = System.Text.Encoding.UTF8.GetBytes(_appId); writer.Write((byte)_appId_bytes.Length); writer.Write(_appId_bytes); } else { writer.Write((byte)0); } } public int Size { get { int result = 0; result += 1; // uint_8 if (sessionToken != null) { result += System.Text.Encoding.UTF8.GetByteCount(sessionToken); } result += 1; // uint_8 if (clientName != null) { result += System.Text.Encoding.UTF8.GetByteCount(clientName); } result += 1; // uint_8 if (appId != null) { result += System.Text.Encoding.UTF8.GetByteCount(appId); } return result; } } public static bool ArrayEquals(System.Collections.Generic.IList a1, System.Collections.Generic.IList a2) { if (System.Object.ReferenceEquals(a1, a2)) return true; if (System.Object.ReferenceEquals(a1, null) || System.Object.ReferenceEquals(a2, null)) return false; if (a1.Count != a2.Count) return false; for (int i = 0; i < a1.Count; i++) { if (!a1[i].Equals(a2[i])) { return false; } } return true; } public static bool operator ==(AuthRequest a, AuthRequest b) { if (System.Object.ReferenceEquals(a, null)) { return System.Object.ReferenceEquals(b, null); } return a.Equals(b); } public static bool operator !=(AuthRequest a, AuthRequest b) { return !(a == b); } public override bool Equals(System.Object obj) { return this.Equals(obj as AuthRequest); } public bool Equals(AuthRequest p) { if (System.Object.ReferenceEquals(p, null)) { return false; } return this._sessionToken.Equals(p._sessionToken) && this._clientName.Equals(p._clientName) && this._appId.Equals(p._appId); } public override int GetHashCode() { unchecked { int hash = 17; return hash; } } } public partial class AuthResponse { private string _appToken; // string[uint_16] private string _jwtToken; // string[uint_16] private Anki.Vector.TokenError _error; // TokenError public string appToken { get { return _appToken; } set { if (!string.IsNullOrEmpty(value) && System.Text.Encoding.UTF8.GetByteCount(value) > 65535) { throw new System.ArgumentException("appToken string is too long. Must decode to less than or equal to 65535 bytes.", "value"); } _appToken = value; } } public string jwtToken { get { return _jwtToken; } set { if (!string.IsNullOrEmpty(value) && System.Text.Encoding.UTF8.GetByteCount(value) > 65535) { throw new System.ArgumentException("jwtToken string is too long. Must decode to less than or equal to 65535 bytes.", "value"); } _jwtToken = value; } } public Anki.Vector.TokenError error { get { return _error; } set { _error = value; } } /**** Constructors ****/ public AuthResponse() { } public AuthResponse(string appToken, string jwtToken, Anki.Vector.TokenError error) { this.appToken = appToken; this.jwtToken = jwtToken; this.error = error; } public AuthResponse(System.IO.Stream stream) { Unpack(stream); } public AuthResponse(System.IO.BinaryReader reader) { Unpack(reader); } public AuthResponse Initialize(string appToken, string jwtToken, Anki.Vector.TokenError error) { this.appToken = appToken; this.jwtToken = jwtToken; this.error = error; return this; } public void Unpack(System.IO.Stream stream) { System.IO.BinaryReader reader = new System.IO.BinaryReader(stream); Unpack(reader); } public void Unpack(System.IO.BinaryReader reader) { int _appToken_length = (int)reader.ReadUInt16(); byte[] _appToken_bytes = reader.ReadBytes(_appToken_length); _appToken = System.Text.Encoding.UTF8.GetString(_appToken_bytes); int _jwtToken_length = (int)reader.ReadUInt16(); byte[] _jwtToken_bytes = reader.ReadBytes(_jwtToken_length); _jwtToken = System.Text.Encoding.UTF8.GetString(_jwtToken_bytes); _error = (Anki.Vector.TokenError)reader.ReadByte(); } public void Pack(System.IO.Stream stream) { System.IO.BinaryWriter writer = new System.IO.BinaryWriter(stream); Pack(writer); } public void Pack(System.IO.BinaryWriter writer) { if (_appToken != null) { byte[] _appToken_bytes = System.Text.Encoding.UTF8.GetBytes(_appToken); writer.Write((ushort)_appToken_bytes.Length); writer.Write(_appToken_bytes); } else { writer.Write((ushort)0); } if (_jwtToken != null) { byte[] _jwtToken_bytes = System.Text.Encoding.UTF8.GetBytes(_jwtToken); writer.Write((ushort)_jwtToken_bytes.Length); writer.Write(_jwtToken_bytes); } else { writer.Write((ushort)0); } writer.Write((byte)_error); } public int Size { get { int result = 0; result += 2; // uint_16 if (appToken != null) { result += System.Text.Encoding.UTF8.GetByteCount(appToken); } result += 2; // uint_16 if (jwtToken != null) { result += System.Text.Encoding.UTF8.GetByteCount(jwtToken); } result += 1; // TokenError return result; } } public static bool ArrayEquals(System.Collections.Generic.IList a1, System.Collections.Generic.IList a2) { if (System.Object.ReferenceEquals(a1, a2)) return true; if (System.Object.ReferenceEquals(a1, null) || System.Object.ReferenceEquals(a2, null)) return false; if (a1.Count != a2.Count) return false; for (int i = 0; i < a1.Count; i++) { if (!a1[i].Equals(a2[i])) { return false; } } return true; } public static bool operator ==(AuthResponse a, AuthResponse b) { if (System.Object.ReferenceEquals(a, null)) { return System.Object.ReferenceEquals(b, null); } return a.Equals(b); } public static bool operator !=(AuthResponse a, AuthResponse b) { return !(a == b); } public override bool Equals(System.Object obj) { return this.Equals(obj as AuthResponse); } public bool Equals(AuthResponse p) { if (System.Object.ReferenceEquals(p, null)) { return false; } return this._appToken.Equals(p._appToken) && this._jwtToken.Equals(p._jwtToken) && this._error.Equals(p._error); } public override int GetHashCode() { unchecked { int hash = 17; hash = hash * 23 + this._error.GetHashCode(); return hash; } } } public partial class ReassociateRequest { private string _sessionToken; // string[uint_8] private string _clientName; // string[uint_8] private string _appId; // string[uint_8] public string sessionToken { get { return _sessionToken; } set { if (!string.IsNullOrEmpty(value) && System.Text.Encoding.UTF8.GetByteCount(value) > 255) { throw new System.ArgumentException("sessionToken string is too long. Must decode to less than or equal to 255 bytes.", "value"); } _sessionToken = value; } } public string clientName { get { return _clientName; } set { if (!string.IsNullOrEmpty(value) && System.Text.Encoding.UTF8.GetByteCount(value) > 255) { throw new System.ArgumentException("clientName string is too long. Must decode to less than or equal to 255 bytes.", "value"); } _clientName = value; } } public string appId { get { return _appId; } set { if (!string.IsNullOrEmpty(value) && System.Text.Encoding.UTF8.GetByteCount(value) > 255) { throw new System.ArgumentException("appId string is too long. Must decode to less than or equal to 255 bytes.", "value"); } _appId = value; } } /**** Constructors ****/ public ReassociateRequest() { } public ReassociateRequest(string sessionToken, string clientName, string appId) { this.sessionToken = sessionToken; this.clientName = clientName; this.appId = appId; } public ReassociateRequest(System.IO.Stream stream) { Unpack(stream); } public ReassociateRequest(System.IO.BinaryReader reader) { Unpack(reader); } public ReassociateRequest Initialize(string sessionToken, string clientName, string appId) { this.sessionToken = sessionToken; this.clientName = clientName; this.appId = appId; return this; } public void Unpack(System.IO.Stream stream) { System.IO.BinaryReader reader = new System.IO.BinaryReader(stream); Unpack(reader); } public void Unpack(System.IO.BinaryReader reader) { int _sessionToken_length = (int)reader.ReadByte(); byte[] _sessionToken_bytes = reader.ReadBytes(_sessionToken_length); _sessionToken = System.Text.Encoding.UTF8.GetString(_sessionToken_bytes); int _clientName_length = (int)reader.ReadByte(); byte[] _clientName_bytes = reader.ReadBytes(_clientName_length); _clientName = System.Text.Encoding.UTF8.GetString(_clientName_bytes); int _appId_length = (int)reader.ReadByte(); byte[] _appId_bytes = reader.ReadBytes(_appId_length); _appId = System.Text.Encoding.UTF8.GetString(_appId_bytes); } public void Pack(System.IO.Stream stream) { System.IO.BinaryWriter writer = new System.IO.BinaryWriter(stream); Pack(writer); } public void Pack(System.IO.BinaryWriter writer) { if (_sessionToken != null) { byte[] _sessionToken_bytes = System.Text.Encoding.UTF8.GetBytes(_sessionToken); writer.Write((byte)_sessionToken_bytes.Length); writer.Write(_sessionToken_bytes); } else { writer.Write((byte)0); } if (_clientName != null) { byte[] _clientName_bytes = System.Text.Encoding.UTF8.GetBytes(_clientName); writer.Write((byte)_clientName_bytes.Length); writer.Write(_clientName_bytes); } else { writer.Write((byte)0); } if (_appId != null) { byte[] _appId_bytes = System.Text.Encoding.UTF8.GetBytes(_appId); writer.Write((byte)_appId_bytes.Length); writer.Write(_appId_bytes); } else { writer.Write((byte)0); } } public int Size { get { int result = 0; result += 1; // uint_8 if (sessionToken != null) { result += System.Text.Encoding.UTF8.GetByteCount(sessionToken); } result += 1; // uint_8 if (clientName != null) { result += System.Text.Encoding.UTF8.GetByteCount(clientName); } result += 1; // uint_8 if (appId != null) { result += System.Text.Encoding.UTF8.GetByteCount(appId); } return result; } } public static bool ArrayEquals(System.Collections.Generic.IList a1, System.Collections.Generic.IList a2) { if (System.Object.ReferenceEquals(a1, a2)) return true; if (System.Object.ReferenceEquals(a1, null) || System.Object.ReferenceEquals(a2, null)) return false; if (a1.Count != a2.Count) return false; for (int i = 0; i < a1.Count; i++) { if (!a1[i].Equals(a2[i])) { return false; } } return true; } public static bool operator ==(ReassociateRequest a, ReassociateRequest b) { if (System.Object.ReferenceEquals(a, null)) { return System.Object.ReferenceEquals(b, null); } return a.Equals(b); } public static bool operator !=(ReassociateRequest a, ReassociateRequest b) { return !(a == b); } public override bool Equals(System.Object obj) { return this.Equals(obj as ReassociateRequest); } public bool Equals(ReassociateRequest p) { if (System.Object.ReferenceEquals(p, null)) { return false; } return this._sessionToken.Equals(p._sessionToken) && this._clientName.Equals(p._clientName) && this._appId.Equals(p._appId); } public override int GetHashCode() { unchecked { int hash = 17; return hash; } } } public partial class SecondaryAuthRequest { private string _sessionToken; // string[uint_8] private string _clientName; // string[uint_8] private string _appId; // string[uint_8] public string sessionToken { get { return _sessionToken; } set { if (!string.IsNullOrEmpty(value) && System.Text.Encoding.UTF8.GetByteCount(value) > 255) { throw new System.ArgumentException("sessionToken string is too long. Must decode to less than or equal to 255 bytes.", "value"); } _sessionToken = value; } } public string clientName { get { return _clientName; } set { if (!string.IsNullOrEmpty(value) && System.Text.Encoding.UTF8.GetByteCount(value) > 255) { throw new System.ArgumentException("clientName string is too long. Must decode to less than or equal to 255 bytes.", "value"); } _clientName = value; } } public string appId { get { return _appId; } set { if (!string.IsNullOrEmpty(value) && System.Text.Encoding.UTF8.GetByteCount(value) > 255) { throw new System.ArgumentException("appId string is too long. Must decode to less than or equal to 255 bytes.", "value"); } _appId = value; } } /**** Constructors ****/ public SecondaryAuthRequest() { } public SecondaryAuthRequest(string sessionToken, string clientName, string appId) { this.sessionToken = sessionToken; this.clientName = clientName; this.appId = appId; } public SecondaryAuthRequest(System.IO.Stream stream) { Unpack(stream); } public SecondaryAuthRequest(System.IO.BinaryReader reader) { Unpack(reader); } public SecondaryAuthRequest Initialize(string sessionToken, string clientName, string appId) { this.sessionToken = sessionToken; this.clientName = clientName; this.appId = appId; return this; } public void Unpack(System.IO.Stream stream) { System.IO.BinaryReader reader = new System.IO.BinaryReader(stream); Unpack(reader); } public void Unpack(System.IO.BinaryReader reader) { int _sessionToken_length = (int)reader.ReadByte(); byte[] _sessionToken_bytes = reader.ReadBytes(_sessionToken_length); _sessionToken = System.Text.Encoding.UTF8.GetString(_sessionToken_bytes); int _clientName_length = (int)reader.ReadByte(); byte[] _clientName_bytes = reader.ReadBytes(_clientName_length); _clientName = System.Text.Encoding.UTF8.GetString(_clientName_bytes); int _appId_length = (int)reader.ReadByte(); byte[] _appId_bytes = reader.ReadBytes(_appId_length); _appId = System.Text.Encoding.UTF8.GetString(_appId_bytes); } public void Pack(System.IO.Stream stream) { System.IO.BinaryWriter writer = new System.IO.BinaryWriter(stream); Pack(writer); } public void Pack(System.IO.BinaryWriter writer) { if (_sessionToken != null) { byte[] _sessionToken_bytes = System.Text.Encoding.UTF8.GetBytes(_sessionToken); writer.Write((byte)_sessionToken_bytes.Length); writer.Write(_sessionToken_bytes); } else { writer.Write((byte)0); } if (_clientName != null) { byte[] _clientName_bytes = System.Text.Encoding.UTF8.GetBytes(_clientName); writer.Write((byte)_clientName_bytes.Length); writer.Write(_clientName_bytes); } else { writer.Write((byte)0); } if (_appId != null) { byte[] _appId_bytes = System.Text.Encoding.UTF8.GetBytes(_appId); writer.Write((byte)_appId_bytes.Length); writer.Write(_appId_bytes); } else { writer.Write((byte)0); } } public int Size { get { int result = 0; result += 1; // uint_8 if (sessionToken != null) { result += System.Text.Encoding.UTF8.GetByteCount(sessionToken); } result += 1; // uint_8 if (clientName != null) { result += System.Text.Encoding.UTF8.GetByteCount(clientName); } result += 1; // uint_8 if (appId != null) { result += System.Text.Encoding.UTF8.GetByteCount(appId); } return result; } } public static bool ArrayEquals(System.Collections.Generic.IList a1, System.Collections.Generic.IList a2) { if (System.Object.ReferenceEquals(a1, a2)) return true; if (System.Object.ReferenceEquals(a1, null) || System.Object.ReferenceEquals(a2, null)) return false; if (a1.Count != a2.Count) return false; for (int i = 0; i < a1.Count; i++) { if (!a1[i].Equals(a2[i])) { return false; } } return true; } public static bool operator ==(SecondaryAuthRequest a, SecondaryAuthRequest b) { if (System.Object.ReferenceEquals(a, null)) { return System.Object.ReferenceEquals(b, null); } return a.Equals(b); } public static bool operator !=(SecondaryAuthRequest a, SecondaryAuthRequest b) { return !(a == b); } public override bool Equals(System.Object obj) { return this.Equals(obj as SecondaryAuthRequest); } public bool Equals(SecondaryAuthRequest p) { if (System.Object.ReferenceEquals(p, null)) { return false; } return this._sessionToken.Equals(p._sessionToken) && this._clientName.Equals(p._clientName) && this._appId.Equals(p._appId); } public override int GetHashCode() { unchecked { int hash = 17; return hash; } } } public partial class JwtRequest { private bool _forceRefresh; // bool public bool forceRefresh { get { return _forceRefresh; } set { _forceRefresh = value; } } /**** Constructors ****/ public JwtRequest() { } public JwtRequest(bool forceRefresh) { this.forceRefresh = forceRefresh; } public JwtRequest(System.IO.Stream stream) { Unpack(stream); } public JwtRequest(System.IO.BinaryReader reader) { Unpack(reader); } public JwtRequest Initialize(bool forceRefresh) { this.forceRefresh = forceRefresh; return this; } public void Unpack(System.IO.Stream stream) { System.IO.BinaryReader reader = new System.IO.BinaryReader(stream); Unpack(reader); } public void Unpack(System.IO.BinaryReader reader) { _forceRefresh = reader.ReadBoolean(); } public void Pack(System.IO.Stream stream) { System.IO.BinaryWriter writer = new System.IO.BinaryWriter(stream); Pack(writer); } public void Pack(System.IO.BinaryWriter writer) { writer.Write((bool)_forceRefresh); } public int Size { get { return 1; } } public static bool ArrayEquals(System.Collections.Generic.IList a1, System.Collections.Generic.IList a2) { if (System.Object.ReferenceEquals(a1, a2)) return true; if (System.Object.ReferenceEquals(a1, null) || System.Object.ReferenceEquals(a2, null)) return false; if (a1.Count != a2.Count) return false; for (int i = 0; i < a1.Count; i++) { if (!a1[i].Equals(a2[i])) { return false; } } return true; } public static bool operator ==(JwtRequest a, JwtRequest b) { if (System.Object.ReferenceEquals(a, null)) { return System.Object.ReferenceEquals(b, null); } return a.Equals(b); } public static bool operator !=(JwtRequest a, JwtRequest b) { return !(a == b); } public override bool Equals(System.Object obj) { return this.Equals(obj as JwtRequest); } public bool Equals(JwtRequest p) { if (System.Object.ReferenceEquals(p, null)) { return false; } return this._forceRefresh.Equals(p._forceRefresh); } public override int GetHashCode() { unchecked { int hash = 17; hash = hash * 23 + this._forceRefresh.GetHashCode(); return hash; } } } public partial class JwtResponse { private string _jwtToken; // string[uint_16] private Anki.Vector.TokenError _error; // TokenError public string jwtToken { get { return _jwtToken; } set { if (!string.IsNullOrEmpty(value) && System.Text.Encoding.UTF8.GetByteCount(value) > 65535) { throw new System.ArgumentException("jwtToken string is too long. Must decode to less than or equal to 65535 bytes.", "value"); } _jwtToken = value; } } public Anki.Vector.TokenError error { get { return _error; } set { _error = value; } } /**** Constructors ****/ public JwtResponse() { } public JwtResponse(string jwtToken, Anki.Vector.TokenError error) { this.jwtToken = jwtToken; this.error = error; } public JwtResponse(System.IO.Stream stream) { Unpack(stream); } public JwtResponse(System.IO.BinaryReader reader) { Unpack(reader); } public JwtResponse Initialize(string jwtToken, Anki.Vector.TokenError error) { this.jwtToken = jwtToken; this.error = error; return this; } public void Unpack(System.IO.Stream stream) { System.IO.BinaryReader reader = new System.IO.BinaryReader(stream); Unpack(reader); } public void Unpack(System.IO.BinaryReader reader) { int _jwtToken_length = (int)reader.ReadUInt16(); byte[] _jwtToken_bytes = reader.ReadBytes(_jwtToken_length); _jwtToken = System.Text.Encoding.UTF8.GetString(_jwtToken_bytes); _error = (Anki.Vector.TokenError)reader.ReadByte(); } public void Pack(System.IO.Stream stream) { System.IO.BinaryWriter writer = new System.IO.BinaryWriter(stream); Pack(writer); } public void Pack(System.IO.BinaryWriter writer) { if (_jwtToken != null) { byte[] _jwtToken_bytes = System.Text.Encoding.UTF8.GetBytes(_jwtToken); writer.Write((ushort)_jwtToken_bytes.Length); writer.Write(_jwtToken_bytes); } else { writer.Write((ushort)0); } writer.Write((byte)_error); } public int Size { get { int result = 0; result += 2; // uint_16 if (jwtToken != null) { result += System.Text.Encoding.UTF8.GetByteCount(jwtToken); } result += 1; // TokenError return result; } } public static bool ArrayEquals(System.Collections.Generic.IList a1, System.Collections.Generic.IList a2) { if (System.Object.ReferenceEquals(a1, a2)) return true; if (System.Object.ReferenceEquals(a1, null) || System.Object.ReferenceEquals(a2, null)) return false; if (a1.Count != a2.Count) return false; for (int i = 0; i < a1.Count; i++) { if (!a1[i].Equals(a2[i])) { return false; } } return true; } public static bool operator ==(JwtResponse a, JwtResponse b) { if (System.Object.ReferenceEquals(a, null)) { return System.Object.ReferenceEquals(b, null); } return a.Equals(b); } public static bool operator !=(JwtResponse a, JwtResponse b) { return !(a == b); } public override bool Equals(System.Object obj) { return this.Equals(obj as JwtResponse); } public bool Equals(JwtResponse p) { if (System.Object.ReferenceEquals(p, null)) { return false; } return this._jwtToken.Equals(p._jwtToken) && this._error.Equals(p._error); } public override int GetHashCode() { unchecked { int hash = 17; hash = hash * 23 + this._error.GetHashCode(); return hash; } } } public class TokenRequest { public enum Tag { auth, // 0 secondary, // 1 reassociate, // 2 jwt, // 3 INVALID = 255 }; private Tag _tag = Tag.INVALID; public Tag GetTag() { return _tag; } private object _state = null; public object GetState() { return _state; } public Anki.Vector.AuthRequest auth { get { if (_tag != Tag.auth) { throw new System.InvalidOperationException(string.Format( "Cannot access union member \"auth\" when a value of type {0} is stored.", _tag.ToString())); } return (Anki.Vector.AuthRequest)this._state; } set { _tag = (value != null) ? Tag.auth : Tag.INVALID; _state = value; } } public Anki.Vector.SecondaryAuthRequest secondary { get { if (_tag != Tag.secondary) { throw new System.InvalidOperationException(string.Format( "Cannot access union member \"secondary\" when a value of type {0} is stored.", _tag.ToString())); } return (Anki.Vector.SecondaryAuthRequest)this._state; } set { _tag = (value != null) ? Tag.secondary : Tag.INVALID; _state = value; } } public Anki.Vector.ReassociateRequest reassociate { get { if (_tag != Tag.reassociate) { throw new System.InvalidOperationException(string.Format( "Cannot access union member \"reassociate\" when a value of type {0} is stored.", _tag.ToString())); } return (Anki.Vector.ReassociateRequest)this._state; } set { _tag = (value != null) ? Tag.reassociate : Tag.INVALID; _state = value; } } public Anki.Vector.JwtRequest jwt { get { if (_tag != Tag.jwt) { throw new System.InvalidOperationException(string.Format( "Cannot access union member \"jwt\" when a value of type {0} is stored.", _tag.ToString())); } return (Anki.Vector.JwtRequest)this._state; } set { _tag = (value != null) ? Tag.jwt : Tag.INVALID; _state = value; } } public TokenRequest Initialize(T state) { _state = state; if(typeof(T) == typeof(Anki.Vector.AuthRequest)) { _tag = Tag.auth; } else if(typeof(T) == typeof(Anki.Vector.SecondaryAuthRequest)) { _tag = Tag.secondary; } else if(typeof(T) == typeof(Anki.Vector.ReassociateRequest)) { _tag = Tag.reassociate; } else if(typeof(T) == typeof(Anki.Vector.JwtRequest)) { _tag = Tag.jwt; } else { _state = null; _tag = Tag.INVALID; } return this; } /**** Constructors ****/ public TokenRequest() { } public TokenRequest(System.IO.Stream stream) { Unpack(stream); } public TokenRequest(System.IO.BinaryReader reader) { Unpack(reader); } public void Unpack(System.IO.Stream stream) { System.IO.BinaryReader reader = new System.IO.BinaryReader(stream); Unpack(reader); } public void Unpack(System.IO.BinaryReader reader) { Tag newTag = (Tag)reader.ReadByte(); switch(newTag) { case Tag.auth: auth = new Anki.Vector.AuthRequest(reader); break; case Tag.secondary: secondary = new Anki.Vector.SecondaryAuthRequest(reader); break; case Tag.reassociate: reassociate = new Anki.Vector.ReassociateRequest(reader); break; case Tag.jwt: jwt = new Anki.Vector.JwtRequest(reader); break; default: break; } _tag = newTag; } public void Pack(System.IO.Stream stream) { System.IO.BinaryWriter writer = new System.IO.BinaryWriter(stream); Pack(writer); } public void Pack(System.IO.BinaryWriter writer) { writer.Write((byte)GetTag()); switch(GetTag()) { case Tag.auth: if (auth == null) { throw new System.InvalidOperationException("Arrays in messages may not have null entries."); } auth.Pack(writer); break; case Tag.secondary: if (secondary == null) { throw new System.InvalidOperationException("Arrays in messages may not have null entries."); } secondary.Pack(writer); break; case Tag.reassociate: if (reassociate == null) { throw new System.InvalidOperationException("Arrays in messages may not have null entries."); } reassociate.Pack(writer); break; case Tag.jwt: if (jwt == null) { throw new System.InvalidOperationException("Arrays in messages may not have null entries."); } jwt.Pack(writer); break; default: break; } } public int Size { get { int result = 1; // tag = byte switch(GetTag()) { case Tag.auth: if (auth == null) { throw new System.InvalidOperationException("Messages may not have null members."); } result += auth.Size; break; case Tag.secondary: if (secondary == null) { throw new System.InvalidOperationException("Messages may not have null members."); } result += secondary.Size; break; case Tag.reassociate: if (reassociate == null) { throw new System.InvalidOperationException("Messages may not have null members."); } result += reassociate.Size; break; case Tag.jwt: if (jwt == null) { throw new System.InvalidOperationException("Messages may not have null members."); } result += jwt.Size; break; default: // Just tag size break; } return result; } } public static bool operator ==(TokenRequest a, TokenRequest b) { if (System.Object.ReferenceEquals(a, null)) { return System.Object.ReferenceEquals(b, null); } return a.Equals(b); } public static bool operator !=(TokenRequest a, TokenRequest b) { return !(a == b); } public override bool Equals(System.Object obj) { return this.Equals(obj as TokenRequest); } public bool Equals(TokenRequest p) { if (System.Object.ReferenceEquals(p, null)) { return false; } return (_tag == p._tag && _state.Equals(p._state)); } public override int GetHashCode() { unchecked { int hash = 17; hash = hash * 23 + this._tag.GetHashCode(); hash = hash * 23 + this._state.GetHashCode(); return hash; } } } public class TokenResponse { public enum Tag { auth, // 0 jwt, // 1 INVALID = 255 }; private Tag _tag = Tag.INVALID; public Tag GetTag() { return _tag; } private object _state = null; public object GetState() { return _state; } public Anki.Vector.AuthResponse auth { get { if (_tag != Tag.auth) { throw new System.InvalidOperationException(string.Format( "Cannot access union member \"auth\" when a value of type {0} is stored.", _tag.ToString())); } return (Anki.Vector.AuthResponse)this._state; } set { _tag = (value != null) ? Tag.auth : Tag.INVALID; _state = value; } } public Anki.Vector.JwtResponse jwt { get { if (_tag != Tag.jwt) { throw new System.InvalidOperationException(string.Format( "Cannot access union member \"jwt\" when a value of type {0} is stored.", _tag.ToString())); } return (Anki.Vector.JwtResponse)this._state; } set { _tag = (value != null) ? Tag.jwt : Tag.INVALID; _state = value; } } public TokenResponse Initialize(T state) { _state = state; if(typeof(T) == typeof(Anki.Vector.AuthResponse)) { _tag = Tag.auth; } else if(typeof(T) == typeof(Anki.Vector.JwtResponse)) { _tag = Tag.jwt; } else { _state = null; _tag = Tag.INVALID; } return this; } /**** Constructors ****/ public TokenResponse() { } public TokenResponse(System.IO.Stream stream) { Unpack(stream); } public TokenResponse(System.IO.BinaryReader reader) { Unpack(reader); } public void Unpack(System.IO.Stream stream) { System.IO.BinaryReader reader = new System.IO.BinaryReader(stream); Unpack(reader); } public void Unpack(System.IO.BinaryReader reader) { Tag newTag = (Tag)reader.ReadByte(); switch(newTag) { case Tag.auth: auth = new Anki.Vector.AuthResponse(reader); break; case Tag.jwt: jwt = new Anki.Vector.JwtResponse(reader); break; default: break; } _tag = newTag; } public void Pack(System.IO.Stream stream) { System.IO.BinaryWriter writer = new System.IO.BinaryWriter(stream); Pack(writer); } public void Pack(System.IO.BinaryWriter writer) { writer.Write((byte)GetTag()); switch(GetTag()) { case Tag.auth: if (auth == null) { throw new System.InvalidOperationException("Arrays in messages may not have null entries."); } auth.Pack(writer); break; case Tag.jwt: if (jwt == null) { throw new System.InvalidOperationException("Arrays in messages may not have null entries."); } jwt.Pack(writer); break; default: break; } } public int Size { get { int result = 1; // tag = byte switch(GetTag()) { case Tag.auth: if (auth == null) { throw new System.InvalidOperationException("Messages may not have null members."); } result += auth.Size; break; case Tag.jwt: if (jwt == null) { throw new System.InvalidOperationException("Messages may not have null members."); } result += jwt.Size; break; default: // Just tag size break; } return result; } } public static bool operator ==(TokenResponse a, TokenResponse b) { if (System.Object.ReferenceEquals(a, null)) { return System.Object.ReferenceEquals(b, null); } return a.Equals(b); } public static bool operator !=(TokenResponse a, TokenResponse b) { return !(a == b); } public override bool Equals(System.Object obj) { return this.Equals(obj as TokenResponse); } public bool Equals(TokenResponse p) { if (System.Object.ReferenceEquals(p, null)) { return false; } return (_tag == p._tag && _state.Equals(p._state)); } public override int GetHashCode() { unchecked { int hash = 17; hash = hash * 23 + this._tag.GetHashCode(); hash = hash * 23 + this._state.GetHashCode(); return hash; } } } } // namespace Vector } // namespace Anki