public void Stop() { lock (runningLock) { restClient = null; room = null; lastMessageTime = default(DateTime); hwm = 0; running = false; } imageManager.Stop(); }
public void Start() { lock (runningLock) { if (running) { Stop(); } restClient = new TfsTeamRoomRestClient(restConfiguration); room = null; foreach (TfsTeamRoom r in restClient.Rooms()) { if (roomName.Equals(r.Name)) { room = r; break; } } if (room == null) { throw new Exception(String.Format("Could not find team room '{0}'", roomName)); } /* Load the high-water mark */ IEnumerable <TfsTeamRoomMessage> messages = restClient.Messages(room); TfsTeamRoomMessage lastMessage = (messages.Count() > 0) ? restClient.Messages(room).Last() : null; lastMessageTime = (lastMessage != null) ? lastMessage.PostedTime : default(DateTime); hwm = (lastMessage != null) ? lastMessage.Id : 0; running = true; } new Thread(delegate() { imageManager.Start(); }).Start(); }