bool IExperiencePermissionsInterface.TryGetValue(UEI experienceID, UGUI agent, out bool allowed) { using (var conn = new SqlConnection(m_ConnectionString)) { conn.Open(); using (var cmd = new SqlCommand("SELECT User,IsAllowed FROM experienceusers WHERE ExperienceID = @experienceid AND User LIKE @user", conn)) { cmd.Parameters.AddParameter("@experienceid", experienceID.ID); cmd.Parameters.AddParameter("@user", agent.ID.ToString() + "%"); using (SqlDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { UGUI ret = reader.GetUGUI("User"); if (ret.EqualsGrid(agent)) { allowed = (bool)reader["IsAllowed"]; return(true); } } } } } allowed = false; return(false); }
bool IExperiencePermissionsInterface.this[UEI experienceID, UGUI agent] { get { bool ret; if (!Permissions.TryGetValue(experienceID, agent, out ret)) { throw new KeyNotFoundException(); } return(ret); } set { var vals = new Dictionary <string, object> { ["ExperienceID"] = experienceID.ID, ["User"] = agent, ["IsAllowed"] = value }; using (var conn = new SqlConnection(m_ConnectionString)) { conn.Open(); conn.ReplaceInto("experienceusers", vals, new string[] { "ExperienceID", "User" }); } } }
bool IExperiencePermissionsInterface.TryGetValue(UEI experienceID, UGUI agent, out bool allowed) { RwLockedDictionary <UGUI, bool> k; allowed = false; return(m_Perms.TryGetValue(experienceID, out k) && k.TryGetValue(agent, out allowed)); }
bool IRegionExperienceList.TryGetValue(UUID regionID, UEI experienceID, out RegionExperienceInfo info) { using (var conn = new SqlConnection(m_ConnectionString)) { conn.Open(); using (var cmd = new SqlCommand("SELECT TOP(1) * FROM regionexperiences WHERE RegionID = @regionid AND ExperienceID = @experienceid", conn)) { cmd.Parameters.AddParameter("@regionid", regionID); cmd.Parameters.AddParameter("@experienceid", experienceID.ID); using (SqlDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { info = new RegionExperienceInfo { ExperienceID = new UEI(reader.GetUUID("ExperienceID")), RegionID = reader.GetUUID("RegionID"), IsAllowed = (bool)reader["IsAllowed"] }; return(true); } } } } info = default(RegionExperienceInfo); return(false); }
public ParcelExperienceEntry(ParcelExperienceEntry src) { RegionID = src.RegionID; ParcelID = src.ParcelID; ExperienceID = src.ExperienceID; IsAllowed = src.IsAllowed; }
bool IParcelExperienceList.TryGetValue(UUID regionID, UUID parcelID, UEI experienceID, out ParcelExperienceEntry entry) { using (var connection = new MySqlConnection(m_ConnectionString)) { connection.Open(); /* we use a specific implementation to reduce the result set here */ using (var cmd = new MySqlCommand("SELECT IsAllowed FROM parcelexperiences WHERE RegionID = @regionid AND ParcelID = @parcelid AND ExperienceID LIKE @experienceid LIMIT 1", connection)) { cmd.Parameters.AddParameter("@regionid", regionID); cmd.Parameters.AddParameter("@parcelid", parcelID); cmd.Parameters.AddParameter("@experienceid", experienceID.ID); using (MySqlDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { entry = new ParcelExperienceEntry { RegionID = regionID, ParcelID = parcelID, ExperienceID = new UEI(experienceID), IsAllowed = reader.GetBool("IsAllowed") }; return(true); } } } entry = default(ParcelExperienceEntry); return(false); } }
bool IEstateExperienceServiceInterface.TryGetValue(uint estateID, UEI experienceID, out EstateExperienceInfo info) { using (var conn = new NpgsqlConnection(m_ConnectionString)) { conn.Open(); using (var cmd = new NpgsqlCommand("SELECT * FROM estateexperiences WHERE \"EstateID\" = @estateid AND \"ExperienceID\" = @experienceid LIMIT 1", conn)) { cmd.Parameters.AddParameter("@estateid", estateID); cmd.Parameters.AddParameter("@experienceid", experienceID.ID); using (NpgsqlDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { info = new EstateExperienceInfo { EstateID = estateID, ExperienceID = new UEI(experienceID), IsAllowed = (bool)reader["IsAllowed"] }; return(true); } } } } info = default(EstateExperienceInfo); return(false); }
bool IEstateTrustedExperienceServiceInterface.TryGetValue(uint estateID, UEI experienceID, out bool trusted) { RwLockedDictionary <UUID, bool> exp; trusted = m_TrustedExperiences.TryGetValue(estateID, out exp) && exp.ContainsKey(experienceID.ID); return(true); }
bool IExperienceKeyValueInterface.GetDatasize(UEI experienceID, out int used, out int quota) { used = 0; quota = -1; return(true); }
bool IExperienceKeyValueInterface.StoreOnlyIfEqualOrig(UEI experienceID, string key, string value, string orig_value) { using (var conn = new SqlConnection(m_ConnectionString)) { conn.Open(); return(conn.InsideTransaction <bool>((transaction) => { using (var cmd = new SqlCommand("SELECT TOP(1) [Value] FROM experiencekeyvalues WHERE ExperienceID = @experienceid AND [Key] = @key", conn)) { cmd.Transaction = transaction; cmd.Parameters.AddParameter("@experienceid", experienceID.ID); cmd.Parameters.AddParameter("@key", key); using (SqlDataReader reader = cmd.ExecuteReader()) { if (reader.Read() && (string)reader["Value"] != orig_value) { return false; } } } var vals = new Dictionary <string, object> { ["ExperienceID"] = experienceID.ID, ["Key"] = key, ["Value"] = value }; conn.ReplaceInto("experiencekeyvalues", vals, new string[] { "ExperienceID", "Key" }, transaction); return true; })); } }
public override bool TryGetValue(UEI experienceID, out ExperienceInfo experienceInfo) { ExperienceInfoCache info; if (m_ExperienceInfoCache.TryGetValue(experienceID.ID, out info) && m_ClockSource.TicksElapsed(m_ClockSource.TickCount, info.ExpiryTickCount) < m_ClockSource.SecsToTicks(ExperienceInfoTimeout)) { experienceInfo = new ExperienceInfo(info.Info); return(true); } ExperienceInfo expInfo; if (InnerExperienceService.TryGetValue(experienceID, out expInfo)) { info = new ExperienceInfoCache { Info = expInfo, ExpiryTickCount = m_ClockSource.TickCount }; m_ExperienceInfoCache[experienceID.ID] = info; experienceInfo = new ExperienceInfo(expInfo); return(true); } experienceInfo = default(ExperienceInfo); return(false); }
bool IExperienceKeyValueInterface.TryGetValue(UEI experienceID, string key, out string val) { RwLockedDictionary <string, string> exp; val = string.Empty; return(m_KeyValues.TryGetValue(experienceID, out exp) && exp.TryGetValue(key, out val)); }
bool IExperiencePermissionsInterface.TryGetValue(UEI experienceID, UGUI agent, out bool allowed) { ExperienceServiceInterface experienceService; allowed = false; return(TryGetExperienceService(experienceID, out experienceService) && experienceService.Permissions.TryGetValue(experienceID, agent, out allowed)); }
bool IExperienceKeyValueInterface.TryGetValue(UEI experienceID, string key, out string val) { ExperienceServiceInterface experienceService; val = default(string); return(TryGetExperienceService(experienceID, out experienceService) && experienceService.KeyValueStore.TryGetValue(experienceID, key, out val)); }
bool IEstateTrustedExperienceServiceInterface.this[uint estateID, UEI experienceID] { get { bool trusted; TrustedExperiences.TryGetValue(estateID, experienceID, out trusted); return(trusted); } set { if (value) { var vals = new Dictionary <string, object> { ["EstateID"] = estateID, ["ExperienceID"] = experienceID.ID }; using (var conn = new NpgsqlConnection(m_ConnectionString)) { conn.Open(); conn.ReplaceInto("estatetrustedexperiences", vals, EstateTrustedExperienceKeys, m_EnableOnConflict); } } else { TrustedExperiences.Remove(estateID, experienceID); } } }
bool IExperienceKeyValueInterface.GetDatasize(UEI experienceID, out int used, out int quota) { ExperienceServiceInterface experienceService; used = 0; quota = 0; return(TryGetExperienceService(experienceID, out experienceService) && experienceService.KeyValueStore.GetDatasize(experienceID, out used, out quota)); }
public void Startup(ConfigurationLoader loader) { IConfig config = loader.Config.Configs[GetType().FullName]; m_ExperienceServiceName = config.GetString("ExperienceService", "ExperienceService"); m_ExperienceService = loader.GetService <ExperienceServiceInterface>(m_ExperienceServiceName); m_UEI = new UEI(m_ExperienceID, "Name", new Uri("http://example.com/")); }
void IExperienceKeyValueInterface.Store(UEI experienceID, string key, string value) { RwLockedDictionary <string, string> exp = m_KeyValues[experienceID]; lock (m_UpdateLock) { exp[key] = value; } }
private ExperienceServiceInterface GetExperienceService(UEI experience) { ExperienceServiceInterface experienceService; if (!TryGetExperienceService(experience, out experienceService)) { throw new ExperienceServiceNotFoundException(); } return(experienceService); }
public override bool TryRequestAuthorization(UGUI requestingAgent, UEI uei) { ExperienceServiceInterface experienceService; if (TryGetExperienceService(requestingAgent, out experienceService) && experienceService.TryRequestAuthorization(requestingAgent, uei)) { m_ExperienceNameService.Store(uei); return(true); } return(false); }
bool IRegionTrustedExperienceList.TryGetValue(UUID regionID, UEI experienceID, out bool trusted) { trusted = false; RwLockedDictionary <UUID, bool> exp; if (m_TrustedExperiences.TryGetValue(regionID, out exp)) { exp.TryGetValue(experienceID.ID, out trusted); } return(true); }
bool IExperienceAdminInterface.TryGetValue(UEI experienceID, UGUI agent, out bool allowed) { RwLockedDictionary <UGUI, bool> k; if (m_Admins.TryGetValue(experienceID, out k)) { allowed = k.ContainsKey(agent); return(true); } allowed = false; return(false); }
bool IEstateExperienceServiceInterface.TryGetValue(uint estateID, UEI experienceID, out EstateExperienceInfo info) { RwLockedDictionary <UUID, EstateExperienceInfo> experiences; if (m_Experiences.TryGetValue(estateID, out experiences) && experiences.TryGetValue(experienceID.ID, out info)) { info = new EstateExperienceInfo(info); return(true); } info = default(EstateExperienceInfo); return(false); }
public override bool TryGetValue(UEI experienceID, out ExperienceInfo experienceInfo) { ExperienceInfo res; if (m_Experiences.TryGetValue(experienceID.ID, out res)) { experienceInfo = new ExperienceInfo(res); return(true); } experienceInfo = null; return(false); }
bool IExperiencePermissionsInterface.this[UEI experienceID, UGUI agent] { get { return(GetExperienceService(experienceID).Permissions[experienceID, agent]); } set { GetExperienceService(experienceID).Permissions[experienceID, agent] = value; } }
public override bool TryGetValue(UUID experienceID, out UEI uei) { ExperienceInfo info; if (TryGetValue(new UEI(experienceID), out info)) { uei = info.ID; return(true); } uei = default(UEI); return(false); }
public ExperienceInfo this[UEI experienceID] { get { ExperienceInfo info; if (!TryGetValue(experienceID, out info)) { throw new KeyNotFoundException(); } return(info); } }
RegionExperienceInfo IRegionExperienceList.this[UUID regionID, UEI experienceID] { get { RegionExperienceInfo info; if (!RegionExperiences.TryGetValue(regionID, experienceID, out info)) { throw new KeyNotFoundException(); } return(info); } }
bool IExperienceAdminInterface.this[UEI experienceID, UGUI agent] { get { return(GetExperienceService(agent).Admins[experienceID, agent]); } set { GetExperienceService(agent).Admins[experienceID, agent] = value; } }
public override bool TryGetValue(UUID id, out UEI uei) { ExperienceInfo res; if (m_Experiences.TryGetValue(id, out res)) { uei = new UEI(res.ID); return(true); } uei = null; return(false); }
private void FirmwareVersionResult(UEI.HidIf.CommandType retVal, string version) { if(this.InvokeRequired) { this.Invoke(new GetFirmwareVersion.GetFirmwareVersionResult_delegate(FirmwareVersionResult), new object[] {retVal,version}); } else { lbl_FirmwareVersion.Text = version; lbl_RetVal.Text = String.Format("{0}", retVal); } }
private void SerialNumberResult(UEI.HidIf.CommandType retVal, string serialnumber) { if(this.InvokeRequired) { this.Invoke(new GetSerialNumber.GetSerialNumberResult_delegate(SerialNumberResult), new object[] {retVal,serialnumber}); } else { lbl_SerialNumber.Text = serialnumber; lbl_RetVal.Text = String.Format("{0}", retVal); } }