private async void Sensor_Added(TemperatureSensorWatcher sender, AllJoynServiceInfo args) { TemperatureSensorJoinSessionResult joinSessionResult = await TemperatureSensorConsumer.JoinSessionAsync(args, sender); if (joinSessionResult.Status == AllJoynStatus.Ok) { TemperatureSensorConsumer consumer = joinSessionResult.Consumer; m_Sensors.Add(consumer); } }
private async void SensorWatcher_Added(TemperatureSensorWatcher sender, AllJoynServiceInfo args) { TemperatureSensorJoinSessionResult joinResult = await TemperatureSensorConsumer.JoinSessionAsync(args, sender); if (joinResult.Status == AllJoynStatus.Ok) { // Use file system path api to extract object name from path var sensor = new TemperatureSensor(System.IO.Path.GetFileName(args.ObjectPath), joinResult.Consumer); sensor.SessionLost += Sensor_SessionLost; Sensors.Add(sensor); } }
private async Task ReportTemperatureAsync(TemperatureSensorConsumer consumer, VoiceCommandServiceConnection connection) { var getTempResult = await consumer.GetCurrentTemperatureAsync(); if (getTempResult.Status == AllJoynStatus.Ok) { string text = String.Format("The temperature is {0:N1} degrees", getTempResult.Temp); VoiceCommandResponse tempResponse = VoiceCommandResponse.CreateResponse(new VoiceCommandUserMessage() { DisplayMessage = text, SpokenMessage = text }); await connection.ReportSuccessAsync(tempResponse); } else { VoiceCommandResponse failure = VoiceCommandResponse.CreateResponse(new VoiceCommandUserMessage() { DisplayMessage = "Failed to get temperature", SpokenMessage = "Sorry failed to get the temperature" }); await connection.ReportFailureAsync(failure); } }
private void Consumer_SessionLost(TemperatureSensorConsumer sender, Windows.Devices.AllJoyn.AllJoynSessionLostEventArgs args) { SessionLost?.Invoke(this, new EventArgs()); }
public TemperatureSensor(string name, TemperatureSensorConsumer consumer) { Name = name; m_Consumer = consumer; m_Consumer.SessionLost += Consumer_SessionLost; }