public void UpdateDeviceOrientation(MSEDevice device, MSESuccessHandler success, MSEErrorHandler failure) { IARequest request = new IARequest(Routes.SetOrientationRoute); request.SetBodyWithString(device.Orientation.Value.ToString()); request.Parameters["identifier"] = device.Identifier; IEnumerable devicesSupportingRoutes = this.intAirAct.DevicesSupportingRoute(Routes.SetOrientationRoute); foreach (IADevice iaDevice in devicesSupportingRoutes) { this.intAirAct.SendRequest(request, iaDevice, delegate(IAResponse response, Exception exception) { if (exception != null) { failure(exception); return; } else { success(); } }); break; } }
/// <summary> /// Notify the server of the device's current Location. Intended for use with stationary devices, since mobile devices can't /// determine their own location in the room. /// </summary> /// <param name="device">The Identifier and Location properties of this MSEDevice will be used for the update.</param> /// <param name="success"></param> /// <param name="failure"></param> public void UpdateDeviceLocation(MSEDevice device, MSESuccessHandler success, MSEErrorHandler failure) { IARequest updateRequest = new IARequest(Routes.SetLocationRoute); updateRequest.SetBodyWith(new IntermediatePoint(device.Location.Value)); updateRequest.Parameters["identifier"] = device.Identifier; IEnumerable devicesSupportingRoutes = this.intAirAct.DevicesSupportingRoute(Routes.SetLocationRoute); foreach (IADevice iaDevice in devicesSupportingRoutes) { this.intAirAct.SendRequest(updateRequest, iaDevice, delegate(IAResponse response, Exception exception) { if (exception != null) { failure(exception); return; } else { success(); } }); // Break, so that we only send the update to one server // How our system should function if there are multiple servers is undefined ... break; } }