/// <summary> /// Remove the specified object from the bridge. /// </summary> /// <typeparam name="T">HueObject (Light,Group,Sensor,Rule,Schedule,Scene)</typeparam> /// <param name="obj">Object to modify</param> /// <returns>HueObject (Light,Group,Sensor,Rule,Schedule,Scene)</returns> public bool RemoveObject(string Id, HueObjectType type) { string typename = type.ToString(); string url = BridgeUrl + $@"/{typename}/{Id}"; CommResult comres; if (!Virtual) { comres = Comm.SendRequest(new Uri(url), WebRequestType.Delete); if (comres.Status == WebExceptionStatus.Success) { return(LastCommandMessages.Success); } } else { LastCommandMessages.AddMessage(new Success() { Address = url, value = $"Deleted Virtual object : {Id},{type.ToString()}" }); return(LastCommandMessages.Success); } ProcessCommandFailure(url, comres.Status); return(false); }
/// <summary> /// Remove the specified object from the bridge. /// </summary> /// <typeparam name="T">HueObject (Light,Group,Sensor,Rule,Schedule,Scene)</typeparam> /// <param name="obj">Object to modify</param> /// <returns>HueObject (Light,Group,Sensor,Rule,Schedule,Scene)</returns> public bool RemoveObject(string Id, HueObjectType type) { string typename = type.ToString(); string url = BridgeUrl + $@"/{typename}/{Id}"; HttpResult comres; if (!Virtual) { comres = HueHttpClient.SendRequest(new Uri(url), WebRequestType.Delete); if (comres.Success) { return(LastCommandMessages.Success); } } else { LastCommandMessages.AddMessage(new Success() { Address = url, value = $"Deleted Virtual object : {Id},{type.ToString()}" }); return(LastCommandMessages.Success); } BridgeNotResponding?.Invoke(this, new BridgeNotRespondingEventArgs(this, url, WebExceptionStatus.NameResolutionFailure)); return(false); }
public static HueObjectBase CreateHueObject(JObject jObject, string id, HueConnection hueConnection, HueObjectType type) { if (jObject["error"] != null) { return(new Error(jObject)); } switch (type) { case HueObjectType.Light: return(new Light(jObject, hueConnection, id)); case HueObjectType.Client: return(new Client(jObject, id)); case HueObjectType.Group: return(new Group(jObject, hueConnection, id)); case HueObjectType.Schedule: return(new Schedule(jObject, hueConnection, id)); default: return(new Error(jObject)); } }
public static HueObjectBase CreateHueObject(JObject jObject, HueConnection hueConnection, HueObjectType type) { if (jObject["error"] != null) { return(new Error(jObject)); } switch (type) { case HueObjectType.Success: return(new Success(jObject)); case HueObjectType.Bridge: return(new Bridge(jObject, hueConnection)); case HueObjectType.BridgeConfig: return(new BridgeConfig(jObject)); case HueObjectType.BridgeSoftwareUpdate: return(new BridgeSoftwareUpdate(jObject)); case HueObjectType.Light: return(new HueObjectCollectionBase <Light>(jObject, hueConnection)); case HueObjectType.LastAddedLights: return(new LastAddedLights(jObject)); case HueObjectType.LightState: return(new State(jObject)); case HueObjectType.Group: return(new HueObjectCollectionBase <Group>(jObject, hueConnection)); case HueObjectType.Schedule: return(new HueObjectCollectionBase <Schedule>(jObject, hueConnection)); case HueObjectType.Command: return(new Command(jObject)); default: throw new ArgumentOutOfRangeException(String.Format(Resources.NoObjectConstructorForType, type)); } }
private static HueObjectBase CreateHueObject(JArray jArray, HueConnection hueConnection, HueObjectType type) { if (jArray[0]["error"] != null) { type = HueObjectType.Error; } switch (type) { case HueObjectType.Success: return(new HueObjectCollectionBase <Success>(jArray, hueConnection)); case HueObjectType.Error: return(new HueObjectCollectionBase <Error>(jArray, hueConnection)); case HueObjectType.Bridge: return(new HueObjectCollectionBase <Bridge>(jArray, hueConnection)); default: throw new ArgumentOutOfRangeException(String.Format(Resources.NoCollectionConstructorForType, type)); } }
public static HueObjectBase CreateHueObject(string myString, HueConnection hueConnection, HueObjectType type) { var myObject = myString.JSONParse(); if (myObject is JObject) { return(CreateHueObject(myObject as JObject, hueConnection, type)); } if (myObject is JArray) { return(CreateHueObject(myObject as JArray, hueConnection, type)); } throw new ArgumentException(Resources.NoObjectConstructorForType, myObject.GetType().ToString()); }
public static HueObjectBase CreateHueObject(string myString, HueObjectType type) { return(CreateHueObject(myString, null, type)); }