/// <summary> /// Get current IP Camera's time zone and time. /// </summary> /// <returns></returns> void GetTime(out DateTime timeUtc, out TimeZoneInfo timeZone, out string ntpServer, out bool useNtp) { ///GetTime.cgi[?JsVar=variable[&OnJs=function]] timeUtc = DateTime.MinValue; timeZone = TimeZoneInfo.Local; ntpServer = ""; useNtp = false; RovioResponse dic = this.Request("/GetTime.cgi"); if (dic == null) { return; } long sec1970; if (!(dic.ContainsKey("Sec1970") && long.TryParse(dic["Sec1970"], out sec1970))) { return; } int timeZoneMinutes; if (!(dic.ContainsKey("TimeZone") && int.TryParse(dic["TimeZone"], out timeZoneMinutes))) { return; } DateTime date1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); timeUtc = date1970.AddSeconds(sec1970); timeZone = CreateTimeZone(TimeSpan.FromMinutes(-timeZoneMinutes)); ntpServer = dic.ContainsKey("NtpServer") ? dic["NtpServer"] : ""; useNtp = dic.ContainsKey("UseNtp") ? (dic["UseNtp"] == "1") : false; }
/// <summary> /// Get the username who sent this HTTP request. /// </summary> /// <param name="ShowPrivilege"></param> /// <returns>Privilege = 0 (for common user),Privilege = 1 (for super user),(Always returns 0 if it is in Non-authorization mode under SetUserCheck.cgi)</returns> public UserInformation GetMyself(bool ShowPrivilege) { RovioResponse response = this.Request("/GetMyself.cgi", new RequestItem("ShowPrivilege", ShowPrivilege ? 1 : 0)); UserGroups group = UserGroups.Unknown; if (response.ContainsKey("Privilege")) { if (response["Privilege"] == "1") { group = UserGroups.Administrator; } else if (response["Privilege"] == "0") { group = UserGroups.User; } else { group = UserGroups.Unknown; } } UserInformation info = new UserInformation( group, response["Name"]); return(info); }
/// <summary> /// Get camera's name. /// </summary> /// <returns></returns> public string GetName() { RovioResponse response = this.Request("/GetName.cgi"); if (response == null || !response.ContainsKey("CameraName")) { return(null); } return(response["CameraName"]); }