public IAsyncOperation <GarageDoorGetDoorStateResult> GetDoorStateAsync(AllJoynMessageInfo info) { Task <GarageDoorGetDoorStateResult> task = new Task <GarageDoorGetDoorStateResult>(() => { var newState = new GarageDoorDoorState(); var status = _driver.GetCurrentStatus(); newState.Value1 = Convert.ToByte(status); switch (status) { case DoorStatus.Closed: newState.Value2 = "Closed"; break; case DoorStatus.Opened: newState.Value2 = "Opened"; break; case DoorStatus.Closing: newState.Value2 = "Closing"; break; case DoorStatus.Opening: newState.Value2 = "Opening"; break; default: newState.Value2 = "Unknown"; break; } return(GarageDoorGetDoorStateResult.CreateSuccessResult(newState)); }); task.Start(); return(task.AsAsyncOperation()); }
public IAsyncOperation<GarageDoorGetDoorStateResult> GetDoorStateAsync(AllJoynMessageInfo info) { Task<GarageDoorGetDoorStateResult> task = new Task<GarageDoorGetDoorStateResult>(() => { var newState = new GarageDoorDoorState(); var status = _driver.GetCurrentStatus(); newState.Value1 = Convert.ToByte(status); switch(status) { case DoorStatus.Closed: newState.Value2 = "Closed"; break; case DoorStatus.Opened: newState.Value2 = "Opened"; break; case DoorStatus.Closing: newState.Value2 = "Closing"; break; case DoorStatus.Opening: newState.Value2 = "Opening"; break; default: newState.Value2 = "Unknown"; break; } return GarageDoorGetDoorStateResult.CreateSuccessResult(newState); }); task.Start(); return task.AsAsyncOperation(); }