/// <summary> /// Authenticate SNMP version 3 message. /// /// Before calling this member, entire SNMP version 3 packet needs to be encoded. After authentication /// process is completed, authenticationParameters value in the USM header is updated and SNMPv3 packet /// needs to be re-encoded to include it in the BER encoded stream prior to transmission. /// </summary> /// <param name="wholePacket">SNMP version 3 BER encoded packet.</param> public void Authenticate(ref MutableByte wholePacket) { if (_authentication != AuthenticationDigests.None) { IAuthenticationDigest authProto = SnmpSharpNet.Authentication.GetInstance(_authentication); byte[] authParam = authProto.authenticate(AuthenticationSecret, EngineId.ToArray(), wholePacket); _authenticationParameters = new OctetString(authParam); } }
public static IAssetManager GetAssetManager(EngineId engineId) { var manager = Statics[(int)engineId]; if (manager != null) { return(manager); } switch (engineId) { case EngineId.Tes: manager = Statics[(int)engineId] = (IAssetManager)Activator.CreateInstance(AssetReferences.TesAssetManagerType, new object[] { }); break; case EngineId.Valve: manager = Statics[(int)engineId] = (IAssetManager)Activator.CreateInstance(AssetReferences.ValveAssetManagerType, new object[] { }); break; case EngineId.Ultima: manager = Statics[(int)engineId] = (IAssetManager)Activator.CreateInstance(AssetReferences.UltimaAssetManagerType, new object[] { }); break; default: throw new ArgumentOutOfRangeException("engineId", engineId.ToString()); } return(manager); }
/// <summary> /// Initializes a new instance of the <see cref="RobotEngineStateCommand"/> struct. /// </summary> /// <param name="engineId">The engine identifier.</param> /// <param name="speed">The speed.</param> /// <param name="maxSpeed">The maximum speed.</param> public RobotEngineStateCommand(EngineId engineId, int speed, int maxSpeed) { EngineId = engineId; Speed = speed; MaxSpeed = maxSpeed; }