From 859bc717a4fe4cd5810ad9889cfb9b1e7f5c2046 Mon Sep 17 00:00:00 2001 From: Dan Lake Date: Fri, 19 Mar 2010 05:51:16 -0700 Subject: [PATCH 01/32] Cleaned up access to scenepresences in scenegraph. GetScenePresences and GetAvatars have been removed to consolidate locking and iteration within SceneGraph. All callers which used these to then iterate over presences have been refactored to instead pass their delegates to Scene.ForEachScenePresence(Action). --- .../Rest/Inventory/tests/Remote.cs | 36 ++-- .../Rest/Regions/GETHandler.cs | 2 +- .../Rest/Regions/GETRegionInfoHandler.cs | 2 +- .../World/Estate/EstateManagementModule.cs | 31 ++- .../World/Land/LandManagementModule.cs | 39 ++-- .../CoreModules/World/Land/LandObject.cs | 26 +-- .../CoreModules/World/Sound/SoundModule.cs | 34 +-- .../Region/CoreModules/World/Sun/SunModule.cs | 9 +- .../CoreModules/World/Wind/WindModule.cs | 12 +- .../World/WorldMap/WorldMapModule.cs | 87 ++------ .../Examples/SimpleModule/RegionModule.cs | 10 +- OpenSim/Region/Framework/Scenes/Scene.cs | 87 +++----- OpenSim/Region/Framework/Scenes/SceneGraph.cs | 204 ++++++++---------- .../Region/Framework/Scenes/SceneManager.cs | 6 +- .../Framework/Scenes/SceneObjectPart.cs | 19 +- .../Region/Framework/Scenes/ScenePresence.cs | 58 ++--- .../Avatar/Concierge/ConciergeModule.cs | 39 ++-- .../RegionCombinerModule.cs | 25 +-- .../Shared/Api/Implementation/LSL_Api.cs | 38 ++-- .../Shared/Api/Implementation/OSSL_Api.cs | 20 +- .../Implementation/Plugins/SensorRepeat.cs | 93 ++++---- .../UserStatistics/ActiveConnectionsAJAX.cs | 14 +- 22 files changed, 378 insertions(+), 513 deletions(-) diff --git a/OpenSim/ApplicationPlugins/Rest/Inventory/tests/Remote.cs b/OpenSim/ApplicationPlugins/Rest/Inventory/tests/Remote.cs index b15b3375ab..4333ef14eb 100644 --- a/OpenSim/ApplicationPlugins/Rest/Inventory/tests/Remote.cs +++ b/OpenSim/ApplicationPlugins/Rest/Inventory/tests/Remote.cs @@ -123,10 +123,15 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory.Tests private void DoMove(RequestData rdata) { - if (rdata.Parameters.Length >= 6) + if (rdata.Parameters.Length < 6) + { + Rest.Log.WarnFormat("{0} Move: No movement information provided", MsgId); + rdata.Fail(Rest.HttpStatusCodeBadRequest, "no movement information provided"); + } + else { string[] names = rdata.Parameters[PARM_MOVE_AVATAR].Split(Rest.CA_SPACE); - ScenePresence avatar = null; + ScenePresence presence = null; Scene scene = null; if (names.Length != 2) @@ -141,21 +146,19 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory.Tests // The first parameter should be an avatar name, look for the // avatar in the known regions first. - foreach (Scene cs in Rest.main.SceneManager.Scenes) + Rest.main.SceneManager.ForEachScene(delegate(Scene s) { - foreach (ScenePresence presence in cs.GetAvatars()) + s.ForEachScenePresence(delegate(ScenePresence sp) { - if (presence.Firstname == names[0] && - presence.Lastname == names[1]) + if (sp.Firstname == names[0] && sp.Lastname == names[1]) { - scene = cs; - avatar = presence; - break; + scene = s; + presence = sp; } - } - } + }); + }); - if (avatar != null) + if (presence != null) { Rest.Log.DebugFormat("{0} Move : Avatar {1} located in region {2}", MsgId, rdata.Parameters[PARM_MOVE_AVATAR], scene.RegionInfo.RegionName); @@ -166,14 +169,13 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory.Tests float y = Convert.ToSingle(rdata.Parameters[PARM_MOVE_Y]); float z = Convert.ToSingle(rdata.Parameters[PARM_MOVE_Z]); Vector3 vector = new Vector3(x,y,z); - avatar.DoAutoPilot(0,vector,avatar.ControllingClient); + presence.DoAutoPilot(0,vector,presence.ControllingClient); } catch (Exception e) { rdata.Fail(Rest.HttpStatusCodeBadRequest, String.Format("invalid parameters: {0}", e.Message)); } - } else { @@ -183,12 +185,6 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory.Tests rdata.Complete(); rdata.Respond("OK"); - - } - else - { - Rest.Log.WarnFormat("{0} Move: No movement information provided", MsgId); - rdata.Fail(Rest.HttpStatusCodeBadRequest, "no movement information provided"); } } diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs b/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs index ed18207216..dea166d2ec 100644 --- a/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs +++ b/OpenSim/ApplicationPlugins/Rest/Regions/GETHandler.cs @@ -192,7 +192,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions protected string RegionStats(OSHttpResponse httpResponse, Scene scene) { - int users = scene.GetAvatars().Count; + int users = scene.GetRootAgentCount(); int objects = scene.Entities.Count - users; RestXmlWriter rxw = new RestXmlWriter(new StringWriter()); diff --git a/OpenSim/ApplicationPlugins/Rest/Regions/GETRegionInfoHandler.cs b/OpenSim/ApplicationPlugins/Rest/Regions/GETRegionInfoHandler.cs index 734b6685d2..279db4cbe4 100644 --- a/OpenSim/ApplicationPlugins/Rest/Regions/GETRegionInfoHandler.cs +++ b/OpenSim/ApplicationPlugins/Rest/Regions/GETRegionInfoHandler.cs @@ -117,7 +117,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Regions rxw.WriteString(s.RegionInfo.InternalEndPoint.ToString()); rxw.WriteEndAttribute(); - int users = s.GetAvatars().Count; + int users = s.GetRootAgentCount(); rxw.WriteStartAttribute(String.Empty, "avatars", String.Empty); rxw.WriteValue(users); rxw.WriteEndAttribute(); diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 464d922f38..91d40ab54a 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs @@ -468,26 +468,20 @@ namespace OpenSim.Region.CoreModules.World.Estate private void handleEstateTeleportAllUsersHomeRequest(IClientAPI remover_client, UUID invoice, UUID senderID) { - // Get a fresh list that will not change as people get teleported away - List presences = m_scene.GetScenePresences(); - - foreach(ScenePresence p in presences) + m_scene.ForEachScenePresence(delegate(ScenePresence sp) { - if (p.UUID != senderID) + if (sp.UUID != senderID) { + ScenePresence p = m_scene.GetScenePresence(sp.UUID); // make sure they are still there, we could be working down a long list - ScenePresence s = m_scene.GetScenePresence(p.UUID); - if (s != null) + // Also make sure they are actually in the region + if (p != null && !p.IsChildAgent) { - // Also make sure they are actually in the region - if (!s.IsChildAgent) - { - s.ControllingClient.SendTeleportLocationStart(); - m_scene.TeleportClientHome(s.UUID, s.ControllingClient); - } + p.ControllingClient.SendTeleportLocationStart(); + m_scene.TeleportClientHome(p.UUID, p.ControllingClient); } } - } + }); } private void AbortTerrainXferHandler(IClientAPI remoteClient, ulong XferID) { @@ -765,12 +759,11 @@ namespace OpenSim.Region.CoreModules.World.Estate public void sendRegionInfoPacketToAll() { - List avatars = m_scene.GetAvatars(); - - for (int i = 0; i < avatars.Count; i++) + m_scene.ForEachScenePresence(delegate(ScenePresence sp) { - HandleRegionInfoRequest(avatars[i].ControllingClient); - } + if (!sp.IsChildAgent) + HandleRegionInfoRequest(sp.ControllingClient); + }); } public void sendRegionHandshake(IClientAPI remoteClient) diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs index 1279ac1ad5..5750aa42fc 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs @@ -191,9 +191,9 @@ namespace OpenSim.Region.CoreModules.World.Land forcedPosition = null; } //if we are far away, teleport - else if (Vector3.Distance(clientAvatar.AbsolutePosition,forcedPosition.Value) > 3) + else if (Vector3.Distance(clientAvatar.AbsolutePosition, forcedPosition.Value) > 3) { - Debug.WriteLine(string.Format("Teleporting out because {0} is too far from avatar position {1}",forcedPosition.Value,clientAvatar.AbsolutePosition)); + Debug.WriteLine(string.Format("Teleporting out because {0} is too far from avatar position {1}", forcedPosition.Value, clientAvatar.AbsolutePosition)); clientAvatar.Teleport(forcedPosition.Value); forcedPosition = null; } @@ -374,30 +374,27 @@ namespace OpenSim.Region.CoreModules.World.Land } } - public void SendOutNearestBanLine(IClientAPI avatar) + public void SendOutNearestBanLine(IClientAPI client) { - List avatars = m_scene.GetAvatars(); - foreach (ScenePresence presence in avatars) + ScenePresence sp = m_scene.GetScenePresence(client.AgentId); + if (sp == null || sp.IsChildAgent) + return; + + List checkLandParcels = ParcelsNearPoint(sp.AbsolutePosition); + foreach (ILandObject checkBan in checkLandParcels) { - if (presence.UUID == avatar.AgentId) + if (checkBan.IsBannedFromLand(client.AgentId)) { - List checkLandParcels = ParcelsNearPoint(presence.AbsolutePosition); - foreach (ILandObject checkBan in checkLandParcels) - { - if (checkBan.IsBannedFromLand(avatar.AgentId)) - { - checkBan.SendLandProperties((int)ParcelPropertiesStatus.CollisionBanned, false, (int)ParcelResult.Single, avatar); - return; //Only send one - } - if (checkBan.IsRestrictedFromLand(avatar.AgentId)) - { - checkBan.SendLandProperties((int)ParcelPropertiesStatus.CollisionNotOnAccessList, false, (int)ParcelResult.Single, avatar); - return; //Only send one - } - } - return; + checkBan.SendLandProperties((int)ParcelPropertiesStatus.CollisionBanned, false, (int)ParcelResult.Single, client); + return; //Only send one + } + if (checkBan.IsRestrictedFromLand(client.AgentId)) + { + checkBan.SendLandProperties((int)ParcelPropertiesStatus.CollisionNotOnAccessList, false, (int)ParcelResult.Single, client); + return; //Only send one } } + return; } public void SendLandUpdate(ScenePresence avatar, bool force) diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs index e85136ae17..b2d9b662d8 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs @@ -332,36 +332,38 @@ namespace OpenSim.Region.CoreModules.World.Land public void SendLandUpdateToAvatarsOverMe(bool snap_selection) { - List avatars = m_scene.GetAvatars(); - ILandObject over = null; - for (int i = 0; i < avatars.Count; i++) + m_scene.ForEachScenePresence(delegate(ScenePresence avatar) { + if (avatar.IsChildAgent) + return; + + ILandObject over = null; try { over = - m_scene.LandChannel.GetLandObject(Util.Clamp((int)Math.Round(avatars[i].AbsolutePosition.X), 0, ((int)Constants.RegionSize - 1)), - Util.Clamp((int)Math.Round(avatars[i].AbsolutePosition.Y), 0, ((int)Constants.RegionSize - 1))); + m_scene.LandChannel.GetLandObject(Util.Clamp((int)Math.Round(avatar.AbsolutePosition.X), 0, ((int)Constants.RegionSize - 1)), + Util.Clamp((int)Math.Round(avatar.AbsolutePosition.Y), 0, ((int)Constants.RegionSize - 1))); } catch (Exception) { - m_log.Warn("[LAND]: " + "unable to get land at x: " + Math.Round(avatars[i].AbsolutePosition.X) + " y: " + - Math.Round(avatars[i].AbsolutePosition.Y)); + m_log.Warn("[LAND]: " + "unable to get land at x: " + Math.Round(avatar.AbsolutePosition.X) + " y: " + + Math.Round(avatar.AbsolutePosition.Y)); } if (over != null) { if (over.LandData.LocalID == LandData.LocalID) { - if (((over.LandData.Flags & (uint)ParcelFlags.AllowDamage) != 0) && + if (((over.LandData.Flags & (uint)ParcelFlags.AllowDamage) != 0) && m_scene.RegionInfo.RegionSettings.AllowDamage) - avatars[i].Invulnerable = false; + avatar.Invulnerable = false; else - avatars[i].Invulnerable = true; + avatar.Invulnerable = true; - SendLandUpdateToClient(snap_selection, avatars[i].ControllingClient); + SendLandUpdateToClient(snap_selection, avatar.ControllingClient); } } - } + }); } #endregion diff --git a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs index 1f5a4ffad4..a52fea46fc 100644 --- a/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs +++ b/OpenSim/Region/CoreModules/World/Sound/SoundModule.cs @@ -62,40 +62,46 @@ namespace OpenSim.Region.CoreModules.World.Sound public virtual void PlayAttachedSound( UUID soundID, UUID ownerID, UUID objectID, double gain, Vector3 position, byte flags, float radius) { - foreach (ScenePresence p in m_scene.GetAvatars()) + m_scene.ForEachScenePresence(delegate(ScenePresence sp) { - double dis = Util.GetDistanceTo(p.AbsolutePosition, position); + if (sp.IsChildAgent) + return; + + double dis = Util.GetDistanceTo(sp.AbsolutePosition, position); if (dis > 100.0) // Max audio distance - continue; - + return; + // Scale by distance if (radius == 0) gain = (float)((double)gain * ((100.0 - dis) / 100.0)); else gain = (float)((double)gain * ((radius - dis) / radius)); - - p.ControllingClient.SendPlayAttachedSound(soundID, objectID, ownerID, (float)gain, flags); - } + + sp.ControllingClient.SendPlayAttachedSound(soundID, objectID, ownerID, (float)gain, flags); + }); } public virtual void TriggerSound( UUID soundId, UUID ownerID, UUID objectID, UUID parentID, double gain, Vector3 position, UInt64 handle, float radius) { - foreach (ScenePresence p in m_scene.GetAvatars()) + m_scene.ForEachScenePresence(delegate(ScenePresence sp) { - double dis = Util.GetDistanceTo(p.AbsolutePosition, position); + if (sp.IsChildAgent) + return; + + double dis = Util.GetDistanceTo(sp.AbsolutePosition, position); if (dis > 100.0) // Max audio distance - continue; - + return; + // Scale by distance if (radius == 0) gain = (float)((double)gain * ((100.0 - dis) / 100.0)); else gain = (float)((double)gain * ((radius - dis) / radius)); - - p.ControllingClient.SendTriggeredSound( + + sp.ControllingClient.SendTriggeredSound( soundId, ownerID, objectID, parentID, handle, position, (float)gain); - } + }); } } } diff --git a/OpenSim/Region/CoreModules/World/Sun/SunModule.cs b/OpenSim/Region/CoreModules/World/Sun/SunModule.cs index 0712a7fabc..a6dc2ec79a 100644 --- a/OpenSim/Region/CoreModules/World/Sun/SunModule.cs +++ b/OpenSim/Region/CoreModules/World/Sun/SunModule.cs @@ -509,14 +509,13 @@ namespace OpenSim.Region.CoreModules private void SunUpdateToAllClients() { - List avatars = m_scene.GetAvatars(); - foreach (ScenePresence avatar in avatars) + m_scene.ForEachScenePresence(delegate(ScenePresence sp) { - if (!avatar.IsChildAgent) + if (!sp.IsChildAgent) { - SunToClient(avatar.ControllingClient); + SunToClient(sp.ControllingClient); } - } + }); } #region ISunModule Members diff --git a/OpenSim/Region/CoreModules/World/Wind/WindModule.cs b/OpenSim/Region/CoreModules/World/Wind/WindModule.cs index 3283c1ffa7..9736b73adf 100644 --- a/OpenSim/Region/CoreModules/World/Wind/WindModule.cs +++ b/OpenSim/Region/CoreModules/World/Wind/WindModule.cs @@ -425,9 +425,7 @@ namespace OpenSim.Region.CoreModules { if (m_ready) { - List avatars = m_scene.GetAvatars(); - - if (avatars.Count > 0) + if(m_scene.GetRootAgentCount() > 0) { // Ask wind plugin to generate a LL wind array to be cached locally // Try not to update this too often, as it may involve array copies @@ -437,11 +435,11 @@ namespace OpenSim.Region.CoreModules m_frameLastUpdateClientArray = m_frame; } - foreach (ScenePresence avatar in avatars) + m_scene.ForEachScenePresence(delegate(ScenePresence sp) { - if (!avatar.IsChildAgent) - avatar.ControllingClient.SendWindData(windSpeeds); - } + if (!sp.IsChildAgent) + sp.ControllingClient.SendWindData(windSpeeds); + }); } } } diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index b63d014923..f1cc0ddd44 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs @@ -304,25 +304,11 @@ namespace OpenSim.Region.CoreModules.World.WorldMap /// AgentID that logged out private void ClientLoggedOut(UUID AgentId, Scene scene) { - List presences = m_scene.GetAvatars(); - int rootcount = 0; - for (int i=0;i avatars = m_scene.GetAvatars(); int tc = Environment.TickCount; List mapitems = new List(); mapItemReply mapitem = new mapItemReply(); - if (avatars.Count == 0 || avatars.Count == 1) + if (m_scene.GetRootAgentCount() <= 1) { mapitem = new mapItemReply(); mapitem.x = (uint)(xstart + 1); @@ -392,21 +377,21 @@ namespace OpenSim.Region.CoreModules.World.WorldMap } else { - foreach (ScenePresence av in avatars) + m_scene.ForEachScenePresence(delegate(ScenePresence sp) { // Don't send a green dot for yourself - if (av.UUID != remoteClient.AgentId) + if (!sp.IsChildAgent && sp.UUID != remoteClient.AgentId) { mapitem = new mapItemReply(); - mapitem.x = (uint)(xstart + av.AbsolutePosition.X); - mapitem.y = (uint)(ystart + av.AbsolutePosition.Y); + mapitem.x = (uint)(xstart + sp.AbsolutePosition.X); + mapitem.y = (uint)(ystart + sp.AbsolutePosition.Y); mapitem.id = UUID.Zero; mapitem.name = Util.Md5Hash(m_scene.RegionInfo.RegionName + tc.ToString()); mapitem.Extra = 1; mapitem.Extra2 = 0; mapitems.Add(mapitem); } - } + }); } remoteClient.SendMapItemReply(mapitems.ToArray(), itemtype, flags); } @@ -981,51 +966,35 @@ namespace OpenSim.Region.CoreModules.World.WorldMap Utils.LongToUInts(m_scene.RegionInfo.RegionHandle,out xstart,out ystart); OSDMap responsemap = new OSDMap(); - List avatars = m_scene.GetAvatars(); - OSDArray responsearr = new OSDArray(avatars.Count); - OSDMap responsemapdata = new OSDMap(); int tc = Environment.TickCount; - /* - foreach (ScenePresence av in avatars) + if (m_scene.GetRootAgentCount() == 0) { - responsemapdata = new OSDMap(); - responsemapdata["X"] = OSD.FromInteger((int)(xstart + av.AbsolutePosition.X)); - responsemapdata["Y"] = OSD.FromInteger((int)(ystart + av.AbsolutePosition.Y)); - responsemapdata["ID"] = OSD.FromUUID(UUID.Zero); - responsemapdata["Name"] = OSD.FromString("TH"); - responsemapdata["Extra"] = OSD.FromInteger(0); - responsemapdata["Extra2"] = OSD.FromInteger(0); - responsearr.Add(responsemapdata); - } - responsemap["1"] = responsearr; - */ - if (avatars.Count == 0) - { - responsemapdata = new OSDMap(); + OSDMap responsemapdata = new OSDMap(); responsemapdata["X"] = OSD.FromInteger((int)(xstart + 1)); responsemapdata["Y"] = OSD.FromInteger((int)(ystart + 1)); responsemapdata["ID"] = OSD.FromUUID(UUID.Zero); responsemapdata["Name"] = OSD.FromString(Util.Md5Hash(m_scene.RegionInfo.RegionName + tc.ToString())); responsemapdata["Extra"] = OSD.FromInteger(0); responsemapdata["Extra2"] = OSD.FromInteger(0); + OSDArray responsearr = new OSDArray(); responsearr.Add(responsemapdata); responsemap["6"] = responsearr; } else { - responsearr = new OSDArray(avatars.Count); - foreach (ScenePresence av in avatars) + OSDArray responsearr = new OSDArray(m_scene.GetRootAgentCount()); + m_scene.ForEachScenePresence(delegate(ScenePresence sp) { - responsemapdata = new OSDMap(); - responsemapdata["X"] = OSD.FromInteger((int)(xstart + av.AbsolutePosition.X)); - responsemapdata["Y"] = OSD.FromInteger((int)(ystart + av.AbsolutePosition.Y)); + OSDMap responsemapdata = new OSDMap(); + responsemapdata["X"] = OSD.FromInteger((int)(xstart + sp.AbsolutePosition.X)); + responsemapdata["Y"] = OSD.FromInteger((int)(ystart + sp.AbsolutePosition.Y)); responsemapdata["ID"] = OSD.FromUUID(UUID.Zero); responsemapdata["Name"] = OSD.FromString(Util.Md5Hash(m_scene.RegionInfo.RegionName + tc.ToString())); responsemapdata["Extra"] = OSD.FromInteger(1); responsemapdata["Extra2"] = OSD.FromInteger(0); responsearr.Add(responsemapdata); - } + }); responsemap["6"] = responsearr; } return responsemap; @@ -1107,25 +1076,11 @@ namespace OpenSim.Region.CoreModules.World.WorldMap private void MakeChildAgent(ScenePresence avatar) { - List presences = m_scene.GetAvatars(); - int rootcount = 0; - for (int i = 0; i < presences.Count; i++) - { - if (presences[i] != null) - { - if (!presences[i].IsChildAgent) - rootcount++; - } - } - if (rootcount <= 1) - StopThread(); - lock (m_rootAgents) { - if (m_rootAgents.Contains(avatar.UUID)) - { - m_rootAgents.Remove(avatar.UUID); - } + m_rootAgents.Remove(avatar.UUID); + if (m_rootAgents.Count == 0) + StopThread(); } } diff --git a/OpenSim/Region/Examples/SimpleModule/RegionModule.cs b/OpenSim/Region/Examples/SimpleModule/RegionModule.cs index e1d5bdc0b2..6da41db45a 100644 --- a/OpenSim/Region/Examples/SimpleModule/RegionModule.cs +++ b/OpenSim/Region/Examples/SimpleModule/RegionModule.cs @@ -88,12 +88,12 @@ namespace OpenSim.Region.Examples.SimpleModule m_scene.AgentCrossing(m_character.AgentId, Vector3.Zero, false); } - List avatars = m_scene.GetAvatars(); - foreach (ScenePresence avatar in avatars) + m_scene.ForEachScenePresence(delegate(ScenePresence sp) { - avatar.AbsolutePosition = - new Vector3((float)Util.RandomClass.Next(100, 200), (float)Util.RandomClass.Next(30, 200), 2); - } + if (!sp.IsChildAgent) + sp.AbsolutePosition = + new Vector3((float)Util.RandomClass.Next(100, 200), (float)Util.RandomClass.Next(30, 200), 2); + }); } // private void AddComplexObjects(RegionInfo regionInfo, Vector3 pos) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index a86a33c09c..4b97e39e42 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -3269,7 +3269,7 @@ namespace OpenSim.Region.Framework.Scenes } } - ScenePresence sp = m_sceneGraph.GetScenePresence(agent.AgentID); + ScenePresence sp = GetScenePresence(agent.AgentID); if (sp != null) { m_log.DebugFormat( @@ -3561,8 +3561,7 @@ namespace OpenSim.Region.Framework.Scenes /// message to display to the user. Reason for being logged off public void HandleLogOffUserFromGrid(UUID AvatarID, UUID RegionSecret, string message) { - ScenePresence loggingOffUser = null; - loggingOffUser = GetScenePresence(AvatarID); + ScenePresence loggingOffUser = GetScenePresence(AvatarID); if (loggingOffUser != null) { UUID localRegionSecret = UUID.Zero; @@ -3598,8 +3597,8 @@ namespace OpenSim.Region.Framework.Scenes /// public virtual void AgentCrossing(UUID agentID, Vector3 position, bool isFlying) { - ScenePresence presence; - if(m_sceneGraph.TryGetAvatar(agentID, out presence)) + ScenePresence presence = GetScenePresence(agentID); + if(presence != null) { try { @@ -3773,8 +3772,8 @@ namespace OpenSim.Region.Framework.Scenes public void RequestTeleportLocation(IClientAPI remoteClient, ulong regionHandle, Vector3 position, Vector3 lookAt, uint teleportFlags) { - ScenePresence sp; - if(m_sceneGraph.TryGetAvatar(remoteClient.AgentId, out sp)) + ScenePresence sp = GetScenePresence(remoteClient.AgentId); + if (sp != null) { uint regionX = m_regInfo.RegionLocX; uint regionY = m_regInfo.RegionLocY; @@ -3952,17 +3951,17 @@ namespace OpenSim.Region.Framework.Scenes m_log.ErrorFormat("{0,-16}{1,-16}{2,-25}{3,-25}{4,-16}{5,-16}{6,-16}", "Firstname", "Lastname", "Agent ID", "Session ID", "Circuit", "IP", "World"); - foreach (ScenePresence scenePresence in GetAvatars()) + ForEachScenePresence(delegate(ScenePresence sp) { m_log.ErrorFormat("{0,-16}{1,-16}{2,-25}{3,-25}{4,-16},{5,-16}{6,-16}", - scenePresence.Firstname, - scenePresence.Lastname, - scenePresence.UUID, - scenePresence.ControllingClient.AgentId, + sp.Firstname, + sp.Lastname, + sp.UUID, + sp.ControllingClient.AgentId, "Unknown", "Unknown", RegionInfo.RegionName); - } + }); break; } @@ -4128,72 +4127,42 @@ namespace OpenSim.Region.Framework.Scenes m_sceneGraph.RemovePhysicalPrim(num); } - //The idea is to have a group of method that return a list of avatars meeting some requirement - // ie it could be all m_scenePresences within a certain range of the calling prim/avatar. - // - // GetAvatars returns a new list of all root agent presences in the scene - // GetScenePresences returns a new list of all presences in the scene or a filter may be passed. - // GetScenePresence returns the presence with matching UUID or first/last name. - // ForEachScenePresence requests the Scene to run a delegate function against all presences. - - /// - /// Return a list of all avatars in this region. - /// This list is a new object, so it can be iterated over without locking. - /// - /// - public List GetAvatars() + public int GetRootAgentCount() { - return m_sceneGraph.GetAvatars(); + return m_sceneGraph.GetRootAgentCount(); + } + + public int GetChildAgentCount() + { + return m_sceneGraph.GetChildAgentCount(); } /// - /// Return a list of all ScenePresences in this region. This returns child agents as well as root agents. - /// This list is a new object, so it can be iterated over without locking. + /// Request a scene presence by UUID. Fast, indexed lookup. /// - /// - public List GetScenePresences() + /// + /// null if the presence was not found + public ScenePresence GetScenePresence(UUID agentID) { - return m_sceneGraph.GetScenePresences(); + return m_sceneGraph.GetScenePresence(agentID); } /// - /// Request a filtered list of ScenePresences in this region. - /// This list is a new object, so it can be iterated over without locking. - /// - /// - /// - public List GetScenePresences(FilterAvatarList filter) - { - return m_sceneGraph.GetScenePresences(filter); - } - - /// - /// Request a scene presence by UUID - /// - /// - /// - public ScenePresence GetScenePresence(UUID avatarID) - { - return m_sceneGraph.GetScenePresence(avatarID); - } - - /// - /// Request the ScenePresence in this region by first/last name. - /// Should normally only be a single match, but first is always returned + /// Request the scene presence by name. /// /// /// - /// + /// null if the presence was not found public ScenePresence GetScenePresence(string firstName, string lastName) { return m_sceneGraph.GetScenePresence(firstName, lastName); } /// - /// Request the ScenePresence in this region by localID. + /// Request the scene presence by localID. /// /// - /// + /// null if the presence was not found public ScenePresence GetScenePresence(uint localID) { return m_sceneGraph.GetScenePresence(localID); diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index d259c42756..b6e5995579 100644 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs @@ -699,116 +699,84 @@ namespace OpenSim.Region.Framework.Scenes return null; } - // The idea is to have a group of method that return a list of avatars meeting some requirement - // ie it could be all m_scenePresences within a certain range of the calling prim/avatar. - // - // GetAvatars returns a new list of all root agent presences in the scene - // GetScenePresences returns a new list of all presences in the scene or a filter may be passed. - // GetScenePresence returns the presence with matching UUID or the first presence matching the passed filter. - // ForEachScenePresence requests the Scene to run a delegate function against all presences. - /// - /// Request a list of all avatars in this region (no child agents) - /// This list is a new object, so it can be iterated over without locking. - /// - /// - public List GetAvatars() - { - return GetScenePresences(delegate(ScenePresence scenePresence) - { - return !scenePresence.IsChildAgent; - }); - } - - /// - /// Request a list of m_scenePresences in this World - /// Returns a copy so it can be iterated without a lock. + /// Request a copy of m_scenePresences in this World /// There is no guarantee that presences will remain in the scene after the list is returned. + /// This list should remain private to SceneGraph. Callers wishing to iterate should instead + /// pass a delegate to ForEachScenePresence. /// /// - protected internal List GetScenePresences() + private List GetScenePresences() { - List result; lock (m_scenePresences) - { - result = new List(m_scenePresenceArray.Length); - result.AddRange(m_scenePresenceArray); - } - return result; + return new List(m_scenePresenceArray); } /// - /// Request a filtered list of m_scenePresences in this World - /// Returns a copy so it can be iterated without a lock. - /// There is no guarantee that presences will remain in the scene after the list is returned. - /// - /// - protected internal List GetScenePresences(FilterAvatarList filter) - { - List result = new List(); - // Check each ScenePresence against the filter - ForEachScenePresence(delegate(ScenePresence presence) - { - if (filter(presence)) - result.Add(presence); - }); - return result; - } - - /// - /// Request the ScenePresence in this region matching filter. - /// Only the first match is returned. - /// - /// - /// - /// - protected internal ScenePresence GetScenePresence(FilterAvatarList filter) - { - ScenePresence result = null; - // Get all of the ScenePresences - List presences = GetScenePresences(); - foreach (ScenePresence presence in presences) - { - if (filter(presence)) - { - result = presence; - break; - } - } - return result; - } - - protected internal ScenePresence GetScenePresence(string firstName, string lastName) - { - return GetScenePresence(delegate(ScenePresence presence) - { - return(presence.Firstname == firstName && presence.Lastname == lastName); - }); - } - - /// - /// Request a scene presence by UUID + /// Request a scene presence by UUID. Fast, indexed lookup. /// /// - /// null if the agent was not found + /// null if the presence was not found protected internal ScenePresence GetScenePresence(UUID agentID) { ScenePresence sp; - TryGetAvatar(agentID, out sp); + lock (m_scenePresences) + { + m_scenePresences.TryGetValue(agentID, out sp); + } return sp; } /// - /// Request the ScenePresence in this region by localID. + /// Request the scene presence by name. + /// + /// + /// + /// null if the presence was not found + protected internal ScenePresence GetScenePresence(string firstName, string lastName) + { + foreach (ScenePresence presence in GetScenePresences()) + { + if (presence.Firstname == firstName && presence.Lastname == lastName) + return presence; + } + return null; + } + + /// + /// Request the scene presence by localID. /// /// - /// + /// null if the presence was not found protected internal ScenePresence GetScenePresence(uint localID) { - return GetScenePresence(delegate(ScenePresence presence) + foreach (ScenePresence presence in GetScenePresences()) + if (presence.LocalId == localID) + return presence; + return null; + } + + protected internal bool TryGetAvatar(UUID agentID, out ScenePresence avatar) + { + lock (m_scenePresences) { - return (presence.LocalId == localID); - }); + m_scenePresences.TryGetValue(agentID, out avatar); + } + return (avatar != null); + } + + protected internal bool TryGetAvatarByName(string name, out ScenePresence avatar) + { + avatar = null; + foreach (ScenePresence presence in GetScenePresences()) + { + if (String.Compare(name, presence.ControllingClient.Name, true) == 0) + { + avatar = presence; + break; + } + } + return (avatar != null); } /// @@ -962,24 +930,6 @@ namespace OpenSim.Region.Framework.Scenes return group.GetChildPart(fullID); } - protected internal bool TryGetAvatar(UUID avatarId, out ScenePresence avatar) - { - lock (m_scenePresences) - { - m_scenePresences.TryGetValue(avatarId, out avatar); - } - return (avatar != null); - } - - protected internal bool TryGetAvatarByName(string avatarName, out ScenePresence avatar) - { - avatar = GetScenePresence(delegate(ScenePresence presence) - { - return (String.Compare(avatarName, presence.ControllingClient.Name, true) == 0); - }); - return (avatar != null); - } - /// /// Returns a list of the entities in the scene. This is a new list so no locking is required to iterate over /// it @@ -1042,6 +992,10 @@ namespace OpenSim.Region.Framework.Scenes return UUID.Zero; } + /// + /// Performs action on all scene object groups. + /// + /// protected internal void ForEachSOG(Action action) { List objlist = new List(SceneObjectGroupsByFullID.Values); @@ -1061,23 +1015,41 @@ namespace OpenSim.Region.Framework.Scenes /// - /// Performs action on all scene presences. + /// Performs action on all scene presences. This can ultimately run the actions in parallel but + /// any delegates passed in will need to implement their own locking on data they reference and + /// modify outside of the scope of the delegate. /// /// public void ForEachScenePresence(Action action) { - List presences = GetScenePresences(); - try - { - foreach(ScenePresence presence in presences) + // Once all callers have their delegates configured for parallelism, we can unleash this + /* + Action protectedAction = new Action(delegate(ScenePresence sp) { - action(presence); - } - } - catch (Exception e) + try + { + action(sp); + } + catch (Exception e) + { + m_log.Info("[BUG] in " + m_parentScene.RegionInfo.RegionName + ": " + e.ToString()); + m_log.Info("[BUG] Stack Trace: " + e.StackTrace); + } + }); + Parallel.ForEach(GetScenePresences(), protectedAction); + */ + // For now, perform actiona serially + foreach (ScenePresence sp in GetScenePresences()) { - m_log.Info("[BUG] in " + m_parentScene.RegionInfo.RegionName + ": " + e.ToString()); - m_log.Info("[BUG] Stack Trace: " + e.StackTrace); + try + { + action(sp); + } + catch (Exception e) + { + m_log.Info("[BUG] in " + m_parentScene.RegionInfo.RegionName + ": " + e.ToString()); + m_log.Info("[BUG] Stack Trace: " + e.StackTrace); + } } } diff --git a/OpenSim/Region/Framework/Scenes/SceneManager.cs b/OpenSim/Region/Framework/Scenes/SceneManager.cs index a9555322e3..116834190d 100644 --- a/OpenSim/Region/Framework/Scenes/SceneManager.cs +++ b/OpenSim/Region/Framework/Scenes/SceneManager.cs @@ -454,8 +454,10 @@ namespace OpenSim.Region.Framework.Scenes ForEachCurrentScene(delegate(Scene scene) { - List scenePresences = scene.GetScenePresences(); - presences.AddRange(scenePresences); + scene.ForEachScenePresence(delegate(ScenePresence sp) + { + presences.Add(sp); + }); }); return presences; diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 0e21487282..88bdf314cc 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -1321,11 +1321,11 @@ namespace OpenSim.Region.Framework.Scenes if (volume < 0) volume = 0; - List avatarts = m_parentGroup.Scene.GetAvatars(); - foreach (ScenePresence p in avatarts) + m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence sp) { - p.ControllingClient.SendAttachedSoundGainChange(UUID, (float)volume); - } + if(!sp.IsChildAgent) + sp.ControllingClient.SendAttachedSoundGainChange(UUID, (float)volume); + }); } /// @@ -2609,12 +2609,13 @@ namespace OpenSim.Region.Framework.Scenes } } - List avatarts = m_parentGroup.Scene.GetAvatars(); - foreach (ScenePresence p in avatarts) + m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence sp) { - if (!(Util.GetDistanceTo(p.AbsolutePosition, AbsolutePosition) >= 100)) - p.ControllingClient.SendPreLoadSound(objectID, objectID, soundID); - } + if (sp.IsChildAgent) + return; + if (!(Util.GetDistanceTo(sp.AbsolutePosition, AbsolutePosition) >= 100)) + sp.ControllingClient.SendPreLoadSound(objectID, objectID, soundID); + }); } public void RemFlag(PrimFlags flag) diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 766f6d35f3..b5f621721a 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2396,35 +2396,33 @@ namespace OpenSim.Region.Framework.Scenes List CoarseLocations = new List(); List AvatarUUIDs = new List(); - List avatars = m_scene.GetAvatars(); - for (int i = 0; i < avatars.Count; i++) + m_scene.ForEachScenePresence(delegate(ScenePresence sp) { - // Requested by LibOMV. Send Course Location on self. - //if (avatars[i] != this) - //{ - if (avatars[i].ParentID != 0) + if (sp.IsChildAgent) + return; + + if (sp.ParentID != 0) + { + // sitting avatar + SceneObjectPart sop = m_scene.GetSceneObjectPart(sp.ParentID); + if (sop != null) { - // sitting avatar - SceneObjectPart sop = m_scene.GetSceneObjectPart(avatars[i].ParentID); - if (sop != null) - { - CoarseLocations.Add(sop.AbsolutePosition + avatars[i].m_pos); - AvatarUUIDs.Add(avatars[i].UUID); - } - else - { - // we can't find the parent.. ! arg! - CoarseLocations.Add(avatars[i].m_pos); - AvatarUUIDs.Add(avatars[i].UUID); - } + CoarseLocations.Add(sop.AbsolutePosition + sp.m_pos); + AvatarUUIDs.Add(sp.UUID); } else { - CoarseLocations.Add(avatars[i].m_pos); - AvatarUUIDs.Add(avatars[i].UUID); + // we can't find the parent.. ! arg! + CoarseLocations.Add(sp.m_pos); + AvatarUUIDs.Add(sp.UUID); } - //} - } + } + else + { + CoarseLocations.Add(sp.m_pos); + AvatarUUIDs.Add(sp.UUID); + } + }); m_controllingClient.SendCoarseLocationUpdate(AvatarUUIDs, CoarseLocations); @@ -2498,13 +2496,15 @@ namespace OpenSim.Region.Framework.Scenes m_perfMonMS = Util.EnvironmentTickCount(); // only send update from root agents to other clients; children are only "listening posts" - List avatars = m_scene.GetAvatars(); - foreach (ScenePresence avatar in avatars) + int count = 0; + m_scene.ForEachScenePresence(delegate(ScenePresence sp) { - SendFullUpdateToOtherClient(avatar); - - } - m_scene.StatsReporter.AddAgentUpdates(avatars.Count); + if (sp.IsChildAgent) + return; + SendFullUpdateToOtherClient(sp); + ++count; + }); + m_scene.StatsReporter.AddAgentUpdates(count); m_scene.StatsReporter.AddAgentTime(Util.EnvironmentTickCountSubtract(m_perfMonMS)); Animator.SendAnimPack(); diff --git a/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs b/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs index c86499336c..b85bac6e4e 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs @@ -318,9 +318,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.Concierge { Scene scene = client.Scene as Scene; m_log.DebugFormat("[Concierge]: {0} logs off from {1}", client.Name, scene.RegionInfo.RegionName); - List avs = scene.GetAvatars(); - AnnounceToAgentsRegion(scene, String.Format(m_announceLeaving, client.Name, scene.RegionInfo.RegionName, avs.Count)); - UpdateBroker(scene, avs); + AnnounceToAgentsRegion(scene, String.Format(m_announceLeaving, client.Name, scene.RegionInfo.RegionName, scene.GetRootAgentCount())); + UpdateBroker(scene); } } @@ -331,11 +330,10 @@ namespace OpenSim.Region.OptionalModules.Avatar.Concierge { Scene scene = agent.Scene; m_log.DebugFormat("[Concierge]: {0} enters {1}", agent.Name, scene.RegionInfo.RegionName); - List avs = scene.GetAvatars(); WelcomeAvatar(agent, scene); AnnounceToAgentsRegion(scene, String.Format(m_announceEntering, agent.Name, - scene.RegionInfo.RegionName, avs.Count)); - UpdateBroker(scene, avs); + scene.RegionInfo.RegionName, scene.GetRootAgentCount())); + UpdateBroker(scene); } } @@ -346,10 +344,9 @@ namespace OpenSim.Region.OptionalModules.Avatar.Concierge { Scene scene = agent.Scene; m_log.DebugFormat("[Concierge]: {0} leaves {1}", agent.Name, scene.RegionInfo.RegionName); - List avs = scene.GetAvatars(); AnnounceToAgentsRegion(scene, String.Format(m_announceLeaving, agent.Name, - scene.RegionInfo.RegionName, avs.Count)); - UpdateBroker(scene, avs); + scene.RegionInfo.RegionName, scene.GetRootAgentCount())); + UpdateBroker(scene); } } @@ -368,7 +365,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Concierge } } - protected void UpdateBroker(IScene scene, List avatars) + protected void UpdateBroker(Scene scene) { if (String.IsNullOrEmpty(m_brokerURI)) return; @@ -377,24 +374,18 @@ namespace OpenSim.Region.OptionalModules.Avatar.Concierge // create XML sniplet StringBuilder list = new StringBuilder(); - if (0 == avatars.Count) - { - list.Append(String.Format("", - scene.RegionInfo.RegionName, scene.RegionInfo.RegionID, + list.Append(String.Format("\n", + scene.GetRootAgentCount(), scene.RegionInfo.RegionName, + scene.RegionInfo.RegionID, DateTime.UtcNow.ToString("s"))); - } - else + scene.ForEachScenePresence(delegate(ScenePresence sp) { - list.Append(String.Format("\n", - avatars.Count, scene.RegionInfo.RegionName, - scene.RegionInfo.RegionID, - DateTime.UtcNow.ToString("s"))); - foreach (ScenePresence av in avatars) + if (!sp.IsChildAgent) { - list.Append(String.Format(" \n", av.Name, av.UUID)); + list.Append(String.Format(" \n", sp.Name, sp.UUID)); + list.Append(""); } - list.Append(""); - } + }); string payload = list.ToString(); // post via REST to broker diff --git a/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs b/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs index 1a99c833f1..7a43537781 100644 --- a/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs +++ b/OpenSim/Region/RegionCombinerModule/RegionCombinerModule.cs @@ -707,36 +707,37 @@ namespace OpenSim.Region.RegionCombinerModule return; } - List avatars = connectiondata.RegionScene.GetAvatars(); List CoarseLocations = new List(); List AvatarUUIDs = new List(); - for (int i = 0; i < avatars.Count; i++) + connectiondata.RegionScene.ForEachScenePresence(delegate(ScenePresence sp) { - if (avatars[i].UUID != presence.UUID) + if (sp.IsChildAgent) + return; + if (sp.UUID != presence.UUID) { - if (avatars[i].ParentID != 0) + if (sp.ParentID != 0) { // sitting avatar - SceneObjectPart sop = connectiondata.RegionScene.GetSceneObjectPart(avatars[i].ParentID); + SceneObjectPart sop = connectiondata.RegionScene.GetSceneObjectPart(sp.ParentID); if (sop != null) { - CoarseLocations.Add(sop.AbsolutePosition + avatars[i].AbsolutePosition); - AvatarUUIDs.Add(avatars[i].UUID); + CoarseLocations.Add(sop.AbsolutePosition + sp.AbsolutePosition); + AvatarUUIDs.Add(sp.UUID); } else { // we can't find the parent.. ! arg! - CoarseLocations.Add(avatars[i].AbsolutePosition); - AvatarUUIDs.Add(avatars[i].UUID); + CoarseLocations.Add(sp.AbsolutePosition); + AvatarUUIDs.Add(sp.UUID); } } else { - CoarseLocations.Add(avatars[i].AbsolutePosition); - AvatarUUIDs.Add(avatars[i].UUID); + CoarseLocations.Add(sp.AbsolutePosition); + AvatarUUIDs.Add(sp.UUID); } } - } + }); DistributeCourseLocationUpdates(CoarseLocations, AvatarUUIDs, connectiondata, presence); } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index b040ca7748..3ccbb3abc6 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs @@ -5092,7 +5092,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api public LSL_Integer llGetRegionAgentCount() { m_host.AddScriptLPS(1); - return new LSL_Integer(World.GetAvatars().Count); + return new LSL_Integer(World.GetRootAgentCount()); } public LSL_Vector llGetRegionCorner() @@ -8771,17 +8771,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api landObject.SetMediaUrl(url); // now send to all (non-child) agents - List agents = World.GetAvatars(); - foreach (ScenePresence agent in agents) + World.ForEachScenePresence(delegate(ScenePresence sp) { - agent.ControllingClient.SendParcelMediaUpdate(landData.MediaURL, - landData.MediaID, - landData.MediaAutoScale, - mediaType, - description, - width, height, - loop); - } + if (!sp.IsChildAgent) + { + sp.ControllingClient.SendParcelMediaUpdate(landData.MediaURL, + landData.MediaID, + landData.MediaAutoScale, + mediaType, + description, + width, height, + loop); + } + }); } else if (!presence.IsChildAgent) { @@ -8802,13 +8804,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api if (presence == null) { // send to all (non-child) agents - List agents = World.GetAvatars(); - foreach (ScenePresence agent in agents) + World.ForEachScenePresence(delegate(ScenePresence sp) { - agent.ControllingClient.SendParcelMediaCommand(0x4, // TODO what is this? - (ParcelMediaCommandEnum)commandToSend, - time); - } + if (!sp.IsChildAgent) + { + sp.ControllingClient.SendParcelMediaCommand(0x4, // TODO what is this? + (ParcelMediaCommandEnum)commandToSend, + time); + } + }); } else if (!presence.IsChildAgent) { diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 85ee29df1c..7e68cc749c 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs @@ -697,10 +697,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(ThreatLevel.None, "osGetAgents"); LSL_List result = new LSL_List(); - foreach (ScenePresence avatar in World.GetAvatars()) + World.ForEachScenePresence(delegate(ScenePresence sp) { - result.Add(avatar.Name); - } + if (!sp.IsChildAgent) + result.Add(sp.Name); + }); return result; } @@ -1985,19 +1986,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api CheckThreatLevel(ThreatLevel.Severe, "osKickAvatar"); if (World.Permissions.CanRunConsoleCommand(m_host.OwnerID)) { - foreach (ScenePresence presence in World.GetAvatars()) + World.ForEachScenePresence(delegate(ScenePresence sp) { - if ((presence.Firstname == FirstName) && - presence.Lastname == SurName) + if (!sp.IsChildAgent && + sp.Firstname == FirstName && + sp.Lastname == SurName) { // kick client... if (alert != null) - presence.ControllingClient.Kick(alert); + sp.ControllingClient.Kick(alert); // ...and close on our side - presence.Scene.IncomingCloseAgent(presence.UUID); + sp.Scene.IncomingCloseAgent(sp.UUID); } - } + }); } } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs index 829fbb7fd2..6cbf2607fe 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs @@ -404,70 +404,40 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins private List doAgentSensor(SenseRepeatClass ts) { - List presences; List sensedEntities = new List(); - // If this is an avatar sense by key try to get them directly - // rather than getting a list to scan through - if (ts.keyID != UUID.Zero) - { - ScenePresence p = m_CmdManager.m_ScriptEngine.World.GetScenePresence(ts.keyID); - if (p == null) - return sensedEntities; - presences = new List(); - presences.Add(p); - } - else - { - presences = new List(m_CmdManager.m_ScriptEngine.World.GetScenePresences()); - } - // If nobody about quit fast - if (presences.Count == 0) + if(m_CmdManager.m_ScriptEngine.World.GetRootAgentCount() == 0) return sensedEntities; SceneObjectPart SensePoint = ts.host; - Vector3 fromRegionPos = SensePoint.AbsolutePosition; - Quaternion q = SensePoint.RotationOffset; LSL_Types.Quaternion r = new LSL_Types.Quaternion(q.X, q.Y, q.Z, q.W); LSL_Types.Vector3 forward_dir = (new LSL_Types.Vector3(1, 0, 0) * r); double mag_fwd = LSL_Types.Vector3.Mag(forward_dir); - bool attached = (SensePoint.AttachmentPoint != 0); - bool nameSearch = (ts.name != null && ts.name != ""); Vector3 toRegionPos; double dis; - for (int i = 0; i < presences.Count; i++) + Action senseEntity = new Action(delegate(ScenePresence presence) { - ScenePresence presence = presences[i]; - bool keep = true; + if (presence.IsDeleted || presence.IsChildAgent || presence.GodLevel > 0.0) + return; + + // if the object the script is in is attached and the avatar is the owner + // then this one is not wanted + if (attached && presence.UUID == SensePoint.OwnerID) + return; - if (presence.IsDeleted) - continue; - - if (presence.IsChildAgent) - keep = false; toRegionPos = presence.AbsolutePosition; - dis = Math.Abs(Util.GetDistanceTo(toRegionPos, fromRegionPos)); // are they in range - if (keep && dis <= ts.range) + if (dis <= ts.range) { - // if the object the script is in is attached and the avatar is the owner - // then this one is not wanted - if (attached && presence.UUID == SensePoint.OwnerID) - keep = false; - - // check the name if needed - if (keep && nameSearch && ts.name != presence.Name) - keep = false; - // Are they in the required angle of view - if (keep && ts.arc < Math.PI) + if (ts.arc < Math.PI) { // not omni-directional. Can you see it ? // vec forward_dir = llRot2Fwd(llGetRot()) @@ -488,26 +458,35 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins catch { } - if (ang_obj > ts.arc) keep = false; + if (ang_obj <= ts.arc) + { + sensedEntities.Add(new SensedEntity(dis, presence.UUID)); + } } } - else - { - keep = false; - } + }); - // Do not report gods, not even minor ones - if (keep && presence.GodLevel > 0.0) - keep = false; - - if (keep) // add to list with distance - { - sensedEntities.Add(new SensedEntity(dis, presence.UUID)); - } - - // If this is a search by name and we have just found it then no more to do - if (nameSearch && ts.name == presence.Name) + // If this is an avatar sense by key try to get them directly + // rather than getting a list to scan through + if (ts.keyID != UUID.Zero) + { + ScenePresence sp; + // Try direct lookup by UUID + if(!m_CmdManager.m_ScriptEngine.World.TryGetAvatar(ts.keyID, out sp)) return sensedEntities; + senseEntity(sp); + } + else if (ts.name != null && ts.name != "") + { + ScenePresence sp; + // Try lookup by name will return if/when found + if (!m_CmdManager.m_ScriptEngine.World.TryGetAvatarByName(ts.name, out sp)) + return sensedEntities; + senseEntity(sp); + } + else + { + m_CmdManager.m_ScriptEngine.World.ForEachScenePresence(senseEntity); } return sensedEntities; } diff --git a/OpenSim/Region/UserStatistics/ActiveConnectionsAJAX.cs b/OpenSim/Region/UserStatistics/ActiveConnectionsAJAX.cs index a567413ec8..dcbd7173d9 100644 --- a/OpenSim/Region/UserStatistics/ActiveConnectionsAJAX.cs +++ b/OpenSim/Region/UserStatistics/ActiveConnectionsAJAX.cs @@ -68,17 +68,15 @@ namespace OpenSim.Region.UserStatistics HTMLUtil.OL_O(ref output, ""); foreach (Scene scene in all_scenes) { - List avatarInScene = scene.GetScenePresences(); - HTMLUtil.LI_O(ref output, String.Empty); output.Append(scene.RegionInfo.RegionName); HTMLUtil.OL_O(ref output, String.Empty); - foreach (ScenePresence av in avatarInScene) + scene.ForEachScenePresence(delegate(ScenePresence av) { - Dictionary queues = new Dictionary(); + Dictionary queues = new Dictionary(); if (av.ControllingClient is IStatsCollector) { - IStatsCollector isClient = (IStatsCollector) av.ControllingClient; + IStatsCollector isClient = (IStatsCollector)av.ControllingClient; queues = decodeQueueReport(isClient.Report()); } HTMLUtil.LI_O(ref output, String.Empty); @@ -92,8 +90,8 @@ namespace OpenSim.Region.UserStatistics else { output.Append(string.Format("
Position: <{0},{1},{2}>", (int)av.AbsolutePosition.X, - (int) av.AbsolutePosition.Y, - (int) av.AbsolutePosition.Z)); + (int)av.AbsolutePosition.Y, + (int)av.AbsolutePosition.Z)); } Dictionary throttles = DecodeClientThrottles(av.ControllingClient.GetThrottlesPacked(1)); @@ -124,7 +122,7 @@ namespace OpenSim.Region.UserStatistics HTMLUtil.UL_C(ref output); HTMLUtil.LI_C(ref output); - } + }); HTMLUtil.OL_C(ref output); } HTMLUtil.OL_C(ref output); From 62e0b53ca4697a852ee1e36e86da6a32e93bd55e Mon Sep 17 00:00:00 2001 From: Dan Lake Date: Fri, 19 Mar 2010 05:58:34 -0700 Subject: [PATCH 02/32] Renamed TryGetAvatar to TryGetScenePresence on SceneManager, SceneBase, Scene and SceneGraph. This was the only change in this patch to keep it isolated from other recent changes to the same set of files. --- OpenSim/Framework/IScene.cs | 2 +- .../Region/ClientStack/LindenUDP/LLClientView.cs | 2 +- .../Avatar/Attachments/AttachmentsModule.cs | 8 ++++---- .../Transfer/InventoryTransferModule.cs | 2 +- .../CoreModules/Avatar/ObjectCaps/ObjectAdd.cs | 2 +- .../InventoryAccess/HGInventoryAccessModule.cs | 2 +- .../InterGrid/OpenGridProtocolModule.cs | 2 +- .../Inventory/HGInventoryBroker.cs | 4 ++-- .../Inventory/InventoryCache.cs | 2 +- .../Presence/PresenceDetector.cs | 2 +- .../CoreModules/World/WorldMap/WorldMapModule.cs | 4 ++-- .../Region/Framework/Scenes/Scene.Inventory.cs | 16 ++++++++-------- OpenSim/Region/Framework/Scenes/Scene.cs | 4 ++-- OpenSim/Region/Framework/Scenes/SceneBase.cs | 6 +++--- OpenSim/Region/Framework/Scenes/SceneGraph.cs | 2 +- OpenSim/Region/Framework/Scenes/SceneManager.cs | 6 +++--- .../Region/Framework/Scenes/SceneObjectPart.cs | 2 +- .../Framework/Scenes/Tests/SceneBaseTests.cs | 2 +- .../Avatar/Concierge/ConciergeModule.cs | 2 +- .../OptionalModules/World/NPC/NPCModule.cs | 4 ++-- .../Api/Implementation/Plugins/SensorRepeat.cs | 2 +- .../SimianGrid/SimianPresenceServiceConnector.cs | 4 ++-- 22 files changed, 41 insertions(+), 41 deletions(-) diff --git a/OpenSim/Framework/IScene.cs b/OpenSim/Framework/IScene.cs index 86d63f88a8..19ab409098 100644 --- a/OpenSim/Framework/IScene.cs +++ b/OpenSim/Framework/IScene.cs @@ -91,7 +91,7 @@ namespace OpenSim.Framework /// bool PresenceChildStatus(UUID agentId); - bool TryGetAvatar(UUID agentID, out object scenePresence); + bool TryGetScenePresence(UUID agentID, out object scenePresence); T RequestModuleInterface(); T[] RequestModuleInterfaces(); diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index a9b5c2b1da..18d3889a62 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -5978,7 +5978,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP || avSetStartLocationRequestPacket.StartLocationData.LocationPos.Y == 255.5f) { ScenePresence avatar = null; - if (((Scene)m_scene).TryGetAvatar(AgentId, out avatar)) + if (((Scene)m_scene).TryGetScenePresence(AgentId, out avatar)) { if (avSetStartLocationRequestPacket.StartLocationData.LocationPos.X == 255.5f) { diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs index f54e41abee..23828efea5 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs @@ -86,7 +86,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments // Save avatar attachment information ScenePresence presence; - if (m_scene.AvatarFactory != null && m_scene.TryGetAvatar(remoteClient.AgentId, out presence)) + if (m_scene.AvatarFactory != null && m_scene.TryGetScenePresence(remoteClient.AgentId, out presence)) { m_log.Info( "[ATTACHMENTS MODULE]: Saving avatar attachment. AgentID: " + remoteClient.AgentId @@ -255,7 +255,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments AttachmentPt = att.RootPart.AttachmentPoint; ScenePresence presence; - if (m_scene.TryGetAvatar(remoteClient.AgentId, out presence)) + if (m_scene.TryGetScenePresence(remoteClient.AgentId, out presence)) { InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); item = m_scene.InventoryService.GetItem(item); @@ -299,7 +299,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments } ScenePresence presence; - if (m_scene.TryGetAvatar(remoteClient.AgentId, out presence)) + if (m_scene.TryGetScenePresence(remoteClient.AgentId, out presence)) { // XXYY!! InventoryItemBase item = new InventoryItemBase(itemID, remoteClient.AgentId); @@ -314,7 +314,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments public void ShowDetachInUserInventory(UUID itemID, IClientAPI remoteClient) { ScenePresence presence; - if (m_scene.TryGetAvatar(remoteClient.AgentId, out presence)) + if (m_scene.TryGetScenePresence(remoteClient.AgentId, out presence)) { presence.Appearance.DetachAttachment(itemID); diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs index 4f03b0e428..be897409e8 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs @@ -358,7 +358,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer { ScenePresence presence; - if (s.TryGetAvatar(agentID, out presence)) + if (s.TryGetScenePresence(agentID, out presence)) { // If the agent is in this scene, then we // are being called twice in a single diff --git a/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs b/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs index 63a93aa026..c011776ff9 100644 --- a/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs +++ b/OpenSim/Region/CoreModules/Avatar/ObjectCaps/ObjectAdd.cs @@ -82,7 +82,7 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps responsedata["str_response_string"] = "Request wasn't what was expected"; ScenePresence avatar; - if (!m_scene.TryGetAvatar(AgentId, out avatar)) + if (!m_scene.TryGetScenePresence(AgentId, out avatar)) return responsedata; diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs index 25f5154389..93aeb9440f 100644 --- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs +++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/HGInventoryAccessModule.cs @@ -190,7 +190,7 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess if (account == null) // foreign { ScenePresence sp = null; - if (m_Scene.TryGetAvatar(userID, out sp)) + if (m_Scene.TryGetScenePresence(userID, out sp)) { AgentCircuitData aCircuit = m_Scene.AuthenticateHandler.GetAgentCircuitData(sp.ControllingClient.CircuitCode); if (aCircuit.ServiceURLs.ContainsKey("AssetServerURI")) diff --git a/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs b/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs index 8cf4619782..e95d2f8fef 100644 --- a/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs +++ b/OpenSim/Region/CoreModules/InterGrid/OpenGridProtocolModule.cs @@ -1206,7 +1206,7 @@ namespace OpenSim.Region.CoreModules.InterGrid { Scene homeScene = GetRootScene(); ScenePresence avatar = null; - if (homeScene.TryGetAvatar(avatarId,out avatar)) + if (homeScene.TryGetScenePresence(avatarId,out avatar)) { KillAUser ku = new KillAUser(avatar,mod); Watchdog.StartThread(ku.ShutdownNoLogout, "OGPShutdown", ThreadPriority.Normal, true); diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs index c6312e05cd..54508ccfa8 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/HGInventoryBroker.cs @@ -502,7 +502,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory private UUID GetSessionID(UUID userID) { ScenePresence sp = null; - if (m_Scene.TryGetAvatar(userID, out sp)) + if (m_Scene.TryGetScenePresence(userID, out sp)) { return sp.ControllingClient.SessionId; } @@ -521,7 +521,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory if (account == null) // foreign user { ScenePresence sp = null; - m_Scene.TryGetAvatar(userID, out sp); + m_Scene.TryGetScenePresence(userID, out sp); if (sp != null) { AgentCircuitData aCircuit = m_Scene.AuthenticateHandler.GetAgentCircuitData(sp.ControllingClient.CircuitCode); diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs index 3c3534f5dc..5e06580cce 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Inventory/InventoryCache.cs @@ -100,7 +100,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory ScenePresence sp = null; foreach (Scene s in m_Scenes) { - s.TryGetAvatar(clientID, out sp); + s.TryGetScenePresence(clientID, out sp); if ((sp != null) && !sp.IsChildAgent && (s != scene)) { m_log.DebugFormat("[INVENTORY CACHE]: OnClientClosed in {0}, but user {1} still in sim. Keeping system folders in cache", diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/PresenceDetector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/PresenceDetector.cs index e98df286fc..7a75a89f4c 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/PresenceDetector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Presence/PresenceDetector.cs @@ -88,7 +88,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Presence Vector3 position = new Vector3(128, 128, 0); Vector3 lookat = new Vector3(0, 1, 0); - if (client.Scene.TryGetAvatar(client.AgentId, out sp)) + if (client.Scene.TryGetScenePresence(client.AgentId, out sp)) { if (sp is ScenePresence) { diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index f1cc0ddd44..2b0e83f52f 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs @@ -210,7 +210,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap // this is here because CAPS map requests work even beyond the 10,000 limit. ScenePresence avatarPresence = null; - m_scene.TryGetAvatar(agentID, out avatarPresence); + m_scene.TryGetScenePresence(agentID, out avatarPresence); if (avatarPresence != null) { @@ -489,7 +489,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap if (mrs.agentID != UUID.Zero) { ScenePresence av = null; - m_scene.TryGetAvatar(mrs.agentID, out av); + m_scene.TryGetScenePresence(mrs.agentID, out av); if (av != null) { if (response.ContainsKey(mrs.itemtype.ToString())) diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 41533a1ef8..32311d8ff8 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs @@ -132,7 +132,7 @@ namespace OpenSim.Region.Framework.Scenes { ScenePresence avatar; - if (TryGetAvatar(avatarId, out avatar)) + if (TryGetScenePresence(avatarId, out avatar)) { IInventoryAccessModule invAccess = RequestModuleInterface(); if (invAccess != null) @@ -230,7 +230,7 @@ namespace OpenSim.Region.Framework.Scenes { ScenePresence avatar; - if (TryGetAvatar(avatarId, out avatar)) + if (TryGetScenePresence(avatarId, out avatar)) { return CapsUpdateTaskInventoryScriptAsset( avatar.ControllingClient, itemId, primId, isScriptRunning, data); @@ -683,7 +683,7 @@ namespace OpenSim.Region.Framework.Scenes if (transactionID == UUID.Zero) { ScenePresence presence; - if (TryGetAvatar(remoteClient.AgentId, out presence)) + if (TryGetScenePresence(remoteClient.AgentId, out presence)) { byte[] data = null; @@ -941,7 +941,7 @@ namespace OpenSim.Region.Framework.Scenes { ScenePresence avatar; - if (TryGetAvatar(avatarId, out avatar)) + if (TryGetScenePresence(avatarId, out avatar)) { return MoveTaskInventoryItem(avatar.ControllingClient, folderId, part, itemId); } @@ -1055,7 +1055,7 @@ namespace OpenSim.Region.Framework.Scenes ScenePresence avatar; - if (TryGetAvatar(srcTaskItem.OwnerID, out avatar)) + if (TryGetScenePresence(srcTaskItem.OwnerID, out avatar)) { destPart.GetProperties(avatar.ControllingClient); } @@ -1083,7 +1083,7 @@ namespace OpenSim.Region.Framework.Scenes } ScenePresence avatar = null; - if (TryGetAvatar(destID, out avatar)) + if (TryGetScenePresence(destID, out avatar)) { //profile.SendInventoryDecendents(avatar.ControllingClient, // profile.RootFolder.ID, true, false); @@ -1420,7 +1420,7 @@ namespace OpenSim.Region.Framework.Scenes ScenePresence avatar; - if (TryGetAvatar(srcTaskItem.OwnerID, out avatar)) + if (TryGetScenePresence(srcTaskItem.OwnerID, out avatar)) { destPart.GetProperties(avatar.ControllingClient); } @@ -1860,7 +1860,7 @@ namespace OpenSim.Region.Framework.Scenes UUID inventoryID = part.ParentGroup.GetFromItemID(); ScenePresence presence; - if (TryGetAvatar(remoteClient.AgentId, out presence)) + if (TryGetScenePresence(remoteClient.AgentId, out presence)) { if (!Permissions.CanRezObject(part.ParentGroup.Children.Count, remoteClient.AgentId, presence.AbsolutePosition)) return; diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 4b97e39e42..2080687f2c 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -4254,9 +4254,9 @@ namespace OpenSim.Region.Framework.Scenes return m_sceneGraph.GetGroupByPrim(localID); } - public override bool TryGetAvatar(UUID avatarId, out ScenePresence avatar) + public override bool TryGetScenePresence(UUID avatarId, out ScenePresence avatar) { - return m_sceneGraph.TryGetAvatar(avatarId, out avatar); + return m_sceneGraph.TryGetScenePresence(avatarId, out avatar); } public bool TryGetAvatarByName(string avatarName, out ScenePresence avatar) diff --git a/OpenSim/Region/Framework/Scenes/SceneBase.cs b/OpenSim/Region/Framework/Scenes/SceneBase.cs index 74476edd3e..3218dadc24 100644 --- a/OpenSim/Region/Framework/Scenes/SceneBase.cs +++ b/OpenSim/Region/Framework/Scenes/SceneBase.cs @@ -190,11 +190,11 @@ namespace OpenSim.Region.Framework.Scenes /// public abstract void RemoveClient(UUID agentID); - public bool TryGetAvatar(UUID agentID, out object scenePresence) + public bool TryGetScenePresence(UUID agentID, out object scenePresence) { scenePresence = null; ScenePresence sp = null; - if (TryGetAvatar(agentID, out sp)) + if (TryGetScenePresence(agentID, out sp)) { scenePresence = sp; return true; @@ -203,7 +203,7 @@ namespace OpenSim.Region.Framework.Scenes return false; } - public abstract bool TryGetAvatar(UUID agentID, out ScenePresence scenePresence); + public abstract bool TryGetScenePresence(UUID agentID, out ScenePresence scenePresence); #endregion diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs index b6e5995579..23a4ee9274 100644 --- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs +++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs @@ -756,7 +756,7 @@ namespace OpenSim.Region.Framework.Scenes return null; } - protected internal bool TryGetAvatar(UUID agentID, out ScenePresence avatar) + protected internal bool TryGetScenePresence(UUID agentID, out ScenePresence avatar) { lock (m_scenePresences) { diff --git a/OpenSim/Region/Framework/Scenes/SceneManager.cs b/OpenSim/Region/Framework/Scenes/SceneManager.cs index 116834190d..3b8473469e 100644 --- a/OpenSim/Region/Framework/Scenes/SceneManager.cs +++ b/OpenSim/Region/Framework/Scenes/SceneManager.cs @@ -486,11 +486,11 @@ namespace OpenSim.Region.Framework.Scenes ForEachCurrentScene(delegate(Scene scene) { scene.HandleEditCommand(cmdparams); }); } - public bool TryGetAvatar(UUID avatarId, out ScenePresence avatar) + public bool TryGetScenePresence(UUID avatarId, out ScenePresence avatar) { foreach (Scene scene in m_localScenes) { - if (scene.TryGetAvatar(avatarId, out avatar)) + if (scene.TryGetScenePresence(avatarId, out avatar)) { return true; } @@ -505,7 +505,7 @@ namespace OpenSim.Region.Framework.Scenes ScenePresence avatar = null; foreach (Scene mScene in m_localScenes) { - if (mScene.TryGetAvatar(avatarId, out avatar)) + if (mScene.TryGetScenePresence(avatarId, out avatar)) { scene = mScene; return true; diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index 88bdf314cc..46eadee1c3 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs @@ -680,7 +680,7 @@ namespace OpenSim.Region.Framework.Scenes if (m_parentGroup != null) // TODO can there be a SOP without a SOG? { ScenePresence avatar; - if (m_parentGroup.Scene.TryGetAvatar(m_sitTargetAvatar, out avatar)) + if (m_parentGroup.Scene.TryGetScenePresence(m_sitTargetAvatar, out avatar)) { avatar.ParentPosition = GetWorldPosition(); } diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneBaseTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneBaseTests.cs index 840039ca2a..dd9f8f6654 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneBaseTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneBaseTests.cs @@ -66,7 +66,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests throw new NotImplementedException(); } - public override bool TryGetAvatar(UUID agentID, out ScenePresence scenePresence) + public override bool TryGetScenePresence(UUID agentID, out ScenePresence scenePresence) { throw new NotImplementedException(); } diff --git a/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs b/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs index b85bac6e4e..2fcc477dc2 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Concierge/ConciergeModule.cs @@ -520,7 +520,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.Concierge // protected void AnnounceToAgentsRegion(Scene scene, string msg) // { // ScenePresence agent = null; - // if ((client.Scene is Scene) && (client.Scene as Scene).TryGetAvatar(client.AgentId, out agent)) + // if ((client.Scene is Scene) && (client.Scene as Scene).TryGetScenePresence(client.AgentId, out agent)) // AnnounceToAgentsRegion(agent, msg); // else // m_log.DebugFormat("[Concierge]: could not find an agent for client {0}", client.Name); diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs index 6e742f1ece..ab0be77715 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs @@ -110,7 +110,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC if (m_avatars.ContainsKey(agentID)) { ScenePresence sp; - scene.TryGetAvatar(agentID, out sp); + scene.TryGetScenePresence(agentID, out sp); sp.DoAutoPilot(0, pos, m_avatars[agentID]); } } @@ -165,7 +165,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC p_scene.AddNewClient(npcAvatar); ScenePresence sp; - if (p_scene.TryGetAvatar(npcAvatar.AgentId, out sp)) + if (p_scene.TryGetScenePresence(npcAvatar.AgentId, out sp)) { AvatarAppearance x = GetAppearance(p_cloneAppearanceFrom, p_scene); diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs index 6cbf2607fe..2296379da7 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs @@ -472,7 +472,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins { ScenePresence sp; // Try direct lookup by UUID - if(!m_CmdManager.m_ScriptEngine.World.TryGetAvatar(ts.keyID, out sp)) + if(!m_CmdManager.m_ScriptEngine.World.TryGetScenePresence(ts.keyID, out sp)) return sensedEntities; senseEntity(sp); } diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs index 5e0f7c25e6..f47bfbbce9 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianPresenceServiceConnector.cs @@ -301,7 +301,7 @@ namespace OpenSim.Services.Connectors.SimianGrid private void SignificantClientMovementHandler(IClientAPI client) { ScenePresence sp; - if (client.Scene is Scene && ((Scene)client.Scene).TryGetAvatar(client.AgentId, out sp)) + if (client.Scene is Scene && ((Scene)client.Scene).TryGetScenePresence(client.AgentId, out sp)) ReportAgent(sp.ControllingClient.SessionId, sp.Scene.RegionInfo.RegionID, sp.AbsolutePosition, sp.Lookat); } @@ -312,7 +312,7 @@ namespace OpenSim.Services.Connectors.SimianGrid client.OnConnectionClosed -= LogoutHandler; object obj; - if (client.Scene.TryGetAvatar(client.AgentId, out obj) && obj is ScenePresence) + if (client.Scene.TryGetScenePresence(client.AgentId, out obj) && obj is ScenePresence) { // The avatar is still in the scene, we can get the exact logout position ScenePresence sp = (ScenePresence)obj; From f020bd3206c653d7b03f5fbc66ca5ef864fc95e8 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sat, 20 Mar 2010 15:49:39 +0000 Subject: [PATCH 03/32] Fix a nullref in permissions when returning objects via right-click --- .../Region/CoreModules/World/Permissions/PermissionsModule.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs index 4dbdb015d0..0f830e12a1 100644 --- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs @@ -1324,9 +1324,9 @@ namespace OpenSim.Region.CoreModules.World.Permissions // Group voodoo // - if (land.LandData.IsGroupOwned) + if (l.LandData.IsGroupOwned) { - powers = (GroupPowers)client.GetGroupPowers(land.LandData.GroupID); + powers = (GroupPowers)client.GetGroupPowers(l.LandData.GroupID); // Not a group member, or no rights at all // if (powers == (GroupPowers)0) From 9a781e793a649c75d0054dee8271fc611318dd25 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Sat, 20 Mar 2010 19:21:58 -0700 Subject: [PATCH 04/32] * Updated libomv libraries to fix JSON (LLSD) decoding errors on null values and remove the unused OpenMetaverse.Http.dll and Mono.Security.dll * Fixed a password hash comparison error in SimianAuthenticationServiceConnector.Authenticate() --- .../SimianAuthenticationServiceConnector.cs | 2 +- bin/Mono.Security.dll | Bin 289792 -> 0 bytes bin/OpenMetaverse.Http.dll | Bin 36864 -> 0 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.dll | Bin 1675264 -> 1691648 bytes bin/OpenMetaverseTypes.dll | Bin 106496 -> 106496 bytes 6 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 bin/Mono.Security.dll delete mode 100644 bin/OpenMetaverse.Http.dll diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs index cc53d6ca0f..29c9219040 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs @@ -114,7 +114,7 @@ namespace OpenSim.Services.Connectors.SimianGrid { string credential = identity["Credential"].AsString(); - if (password == credential || Utils.MD5String(password) == credential) + if (password == credential || "$1$" + Utils.MD5String(password) == credential) return Authorize(principalID); } } diff --git a/bin/Mono.Security.dll b/bin/Mono.Security.dll deleted file mode 100644 index c027c19f73555b7f95e0286007de76e278fdb525..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289792 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 delta 6683 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 diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index a35b5aea3f201abcfcd4f85f76ec4deb4bcfeca0..8751bfc71e927a2860b58f371f088e626ddca09e 100644 GIT binary patch literal 1691648 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

+&WYN)KKSn$kO2|0|e+NW1&a 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�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

W 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�)l1e`9oeaalXD0ig@%+ztFy~eZ}OqC+4RcUXr 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 literal 1675264 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 z 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%0Ax{|o*$qFiI7I8n!(1xn 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%0A;QzDakp9V_OK4(&zc6+GnSfeA*JUENp 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 Tz#?D~un1TLECLpR!-2rR0vdgW diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index c5efaf4baafb7aacd364820af26065591322ce44..6c6440ea5b16e568cf7cdde110f7cad48644e776 100644 GIT binary patch delta 85 zcmZoTz}9epZ9)gLMcvZI?ycR7>YggD78Yhk7KTo`W~MGix+bRPF1n7!CeFI%mgW{_ p#^y$DmS*PLuX!?B2?|JSw7s~LTI;&lr?Mis=x6$Ng=oeHE&zT_8}$GH delta 85 zcmZoTz}9epZ9)gLvBi|e?ycR7>YgfQPDZBA=EhFCmIh9Sx+Z4Mrn-(!Za}WFnTe&b pqpP{Gqto_lo{Uz40@lY>vo}sS>bCm# Date: Mon, 22 Mar 2010 18:49:56 +0000 Subject: [PATCH 05/32] Remove the reading of estate_settings.xml and the associated processing of defaults. Adding code to facilitate estate creation / managemment as part of first time start up --- OpenSim/Data/MSSQL/MSSQLEstateData.cs | 23 +-- OpenSim/Data/MySQL/MySQLEstateData.cs | 18 +- OpenSim/Data/SQLite/SQLiteEstateData.cs | 20 +- OpenSim/Data/Tests/BasicEstateTest.cs | 24 +-- OpenSim/Framework/EstateSettings.cs | 194 +----------------- .../Framework/Interfaces/IEstateDataStore.cs | 2 +- OpenSim/Region/Framework/Scenes/Scene.cs | 2 +- 7 files changed, 30 insertions(+), 253 deletions(-) diff --git a/OpenSim/Data/MSSQL/MSSQLEstateData.cs b/OpenSim/Data/MSSQL/MSSQLEstateData.cs index 6f6f076e68..1624f56a20 100644 --- a/OpenSim/Data/MSSQL/MSSQLEstateData.cs +++ b/OpenSim/Data/MSSQL/MSSQLEstateData.cs @@ -83,7 +83,7 @@ namespace OpenSim.Data.MSSQL ///

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%0Dw;D+c~V3LLlyN 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

/// region ID. /// - public EstateSettings LoadEstateSettings(UUID regionID) + public EstateSettings LoadEstateSettings(UUID regionID, bool create) { EstateSettings es = new EstateSettings(); @@ -127,7 +127,7 @@ namespace OpenSim.Data.MSSQL } - if (insertEstate) + if (insertEstate && create) { List names = new List(FieldList); @@ -173,25 +173,6 @@ namespace OpenSim.Data.MSSQL } } - // Munge and transfer the ban list - - sql = string.Format("insert into estateban select {0}, bannedUUID, bannedIp, bannedIpHostMask, '' from regionban where regionban.regionUUID = @UUID", es.EstateID); - using (SqlConnection conn = new SqlConnection(m_connectionString)) - using (SqlCommand cmd = new SqlCommand(sql, conn)) - { - - cmd.Parameters.Add(_Database.CreateParameter("@UUID", regionID)); - try - { - conn.Open(); - cmd.ExecuteNonQuery(); - } - catch (Exception) - { - _Log.Debug("[ESTATE DB]: Error setting up estateban from regionban"); - } - } - //TODO check if this is needed?? es.Save(); } diff --git a/OpenSim/Data/MySQL/MySQLEstateData.cs b/OpenSim/Data/MySQL/MySQLEstateData.cs index 2eae2d82b2..e94dcda2bb 100644 --- a/OpenSim/Data/MySQL/MySQLEstateData.cs +++ b/OpenSim/Data/MySQL/MySQLEstateData.cs @@ -121,7 +121,7 @@ namespace OpenSim.Data.MySQL } } - public EstateSettings LoadEstateSettings(UUID regionID) + public EstateSettings LoadEstateSettings(UUID regionID, bool create) { EstateSettings es = new EstateSettings(); es.OnSave += StoreEstateSettings; @@ -129,12 +129,12 @@ namespace OpenSim.Data.MySQL string sql = "select estate_settings." + String.Join(",estate_settings.", FieldList) + " from estate_map left join estate_settings on estate_map.EstateID = estate_settings.EstateID where estate_settings.EstateID is not null and RegionID = ?RegionID"; - bool migration = true; - using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) { dbcon.Open(); + bool found = false; + using (MySqlCommand cmd = dbcon.CreateCommand()) { cmd.CommandText = sql; @@ -144,7 +144,7 @@ namespace OpenSim.Data.MySQL { if (r.Read()) { - migration = false; + found = true; foreach (string name in FieldList) { @@ -172,7 +172,7 @@ namespace OpenSim.Data.MySQL } } - if (migration) + if (!found && create) { // Migration case List names = new List(FieldList); @@ -220,14 +220,6 @@ namespace OpenSim.Data.MySQL try { cmd.ExecuteNonQuery(); } catch (Exception) { } - // Munge and transfer the ban list - cmd.Parameters.Clear(); - cmd.CommandText = "insert into estateban select " + es.EstateID.ToString() + ", bannedUUID, bannedIp, bannedIpHostMask, '' from regionban where regionban.regionUUID = ?UUID"; - cmd.Parameters.AddWithValue("?UUID", regionID.ToString()); - - try { cmd.ExecuteNonQuery(); } - catch (Exception) { } - es.Save(); } } diff --git a/OpenSim/Data/SQLite/SQLiteEstateData.cs b/OpenSim/Data/SQLite/SQLiteEstateData.cs index 1be99eedab..4a447d26d1 100644 --- a/OpenSim/Data/SQLite/SQLiteEstateData.cs +++ b/OpenSim/Data/SQLite/SQLiteEstateData.cs @@ -80,7 +80,7 @@ namespace OpenSim.Data.SQLite get { return new List(m_FieldMap.Keys).ToArray(); } } - public EstateSettings LoadEstateSettings(UUID regionID) + public EstateSettings LoadEstateSettings(UUID regionID, bool create) { EstateSettings es = new EstateSettings(); es.OnSave += StoreEstateSettings; @@ -120,10 +120,8 @@ namespace OpenSim.Data.SQLite } r.Close(); } - else + else if (create) { - // Migration case - // r.Close(); List names = new List(FieldList); @@ -176,20 +174,6 @@ namespace OpenSim.Data.SQLite { } - // Munge and transfer the ban list - // - cmd.Parameters.Clear(); - cmd.CommandText = "insert into estateban select "+es.EstateID.ToString()+", bannedUUID, bannedIp, bannedIpHostMask, '' from regionban where regionban.regionUUID = :UUID"; - cmd.Parameters.Add(":UUID", regionID.ToString()); - - try - { - cmd.ExecuteNonQuery(); - } - catch (Exception) - { - } - es.Save(); } diff --git a/OpenSim/Data/Tests/BasicEstateTest.cs b/OpenSim/Data/Tests/BasicEstateTest.cs index 907bb382c6..d14d405256 100644 --- a/OpenSim/Data/Tests/BasicEstateTest.cs +++ b/OpenSim/Data/Tests/BasicEstateTest.cs @@ -158,7 +158,7 @@ namespace OpenSim.Data.Tests public void T012_EstateSettingsRandomStorage() { // Letting estate store generate rows to database for us - EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID); + EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID, true); new PropertyScrambler() .DontScramble(x=>x.EstateID) .Scramble(originalSettings); @@ -167,7 +167,7 @@ namespace OpenSim.Data.Tests db.StoreEstateSettings(originalSettings); // Loading settings to another instance variable. - EstateSettings loadedSettings = db.LoadEstateSettings(REGION_ID); + EstateSettings loadedSettings = db.LoadEstateSettings(REGION_ID, true); // Checking that loaded values are correct. Assert.That(loadedSettings, Constraints.PropertyCompareConstraint(originalSettings)); @@ -177,7 +177,7 @@ namespace OpenSim.Data.Tests public void T020_EstateSettingsManagerList() { // Letting estate store generate rows to database for us - EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID); + EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID, true); originalSettings.EstateManagers = new UUID[] { MANAGER_ID_1, MANAGER_ID_2 }; @@ -185,7 +185,7 @@ namespace OpenSim.Data.Tests db.StoreEstateSettings(originalSettings); // Loading settings to another instance variable. - EstateSettings loadedSettings = db.LoadEstateSettings(REGION_ID); + EstateSettings loadedSettings = db.LoadEstateSettings(REGION_ID, true); Assert.AreEqual(2, loadedSettings.EstateManagers.Length); Assert.AreEqual(MANAGER_ID_1, loadedSettings.EstateManagers[0]); @@ -196,7 +196,7 @@ namespace OpenSim.Data.Tests public void T021_EstateSettingsUserList() { // Letting estate store generate rows to database for us - EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID); + EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID, true); originalSettings.EstateAccess = new UUID[] { USER_ID_1, USER_ID_2 }; @@ -204,7 +204,7 @@ namespace OpenSim.Data.Tests db.StoreEstateSettings(originalSettings); // Loading settings to another instance variable. - EstateSettings loadedSettings = db.LoadEstateSettings(REGION_ID); + EstateSettings loadedSettings = db.LoadEstateSettings(REGION_ID, true); Assert.AreEqual(2, loadedSettings.EstateAccess.Length); Assert.AreEqual(USER_ID_1, loadedSettings.EstateAccess[0]); @@ -215,7 +215,7 @@ namespace OpenSim.Data.Tests public void T022_EstateSettingsGroupList() { // Letting estate store generate rows to database for us - EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID); + EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID, true); originalSettings.EstateGroups = new UUID[] { GROUP_ID_1, GROUP_ID_2 }; @@ -223,7 +223,7 @@ namespace OpenSim.Data.Tests db.StoreEstateSettings(originalSettings); // Loading settings to another instance variable. - EstateSettings loadedSettings = db.LoadEstateSettings(REGION_ID); + EstateSettings loadedSettings = db.LoadEstateSettings(REGION_ID, true); Assert.AreEqual(2, loadedSettings.EstateAccess.Length); Assert.AreEqual(GROUP_ID_1, loadedSettings.EstateGroups[0]); @@ -234,7 +234,7 @@ namespace OpenSim.Data.Tests public void T022_EstateSettingsBanList() { // Letting estate store generate rows to database for us - EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID); + EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID, true); EstateBan estateBan1 = new EstateBan(); estateBan1.BannedUserID = DataTestUtil.UUID_MIN; @@ -248,7 +248,7 @@ namespace OpenSim.Data.Tests db.StoreEstateSettings(originalSettings); // Loading settings to another instance variable. - EstateSettings loadedSettings = db.LoadEstateSettings(REGION_ID); + EstateSettings loadedSettings = db.LoadEstateSettings(REGION_ID, true); Assert.AreEqual(2, loadedSettings.EstateBans.Length); Assert.AreEqual(DataTestUtil.UUID_MIN, loadedSettings.EstateBans[0].BannedUserID); @@ -290,7 +290,7 @@ namespace OpenSim.Data.Tests { // Letting estate store generate rows to database for us - EstateSettings originalSettings = db.LoadEstateSettings(regionId); + EstateSettings originalSettings = db.LoadEstateSettings(regionId, true); SetEstateSettings( originalSettings, @@ -347,7 +347,7 @@ namespace OpenSim.Data.Tests db.StoreEstateSettings(originalSettings); // Loading settings to another instance variable. - EstateSettings loadedSettings = db.LoadEstateSettings(regionId); + EstateSettings loadedSettings = db.LoadEstateSettings(regionId, true); // Checking that loaded values are correct. ValidateEstateSettings( diff --git a/OpenSim/Framework/EstateSettings.cs b/OpenSim/Framework/EstateSettings.cs index b4b5808ad3..2a495b0e8c 100644 --- a/OpenSim/Framework/EstateSettings.cs +++ b/OpenSim/Framework/EstateSettings.cs @@ -35,7 +35,6 @@ namespace OpenSim.Framework public class EstateSettings { // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - private readonly ConfigurationMember configMember; public delegate void SaveDelegate(EstateSettings rs); @@ -43,7 +42,7 @@ namespace OpenSim.Framework // Only the client uses these // - private uint m_EstateID = 100; + private uint m_EstateID = 0; public uint EstateID { @@ -51,7 +50,7 @@ namespace OpenSim.Framework set { m_EstateID = value; } } - private string m_EstateName; + private string m_EstateName = "My Estate"; public string EstateName { @@ -59,7 +58,7 @@ namespace OpenSim.Framework set { m_EstateName = value; } } - private uint m_ParentEstateID = 100; + private uint m_ParentEstateID = 1; public uint ParentEstateID { @@ -67,7 +66,7 @@ namespace OpenSim.Framework set { m_ParentEstateID = value; } } - private float m_BillableFactor; + private float m_BillableFactor = 0.0f; public float BillableFactor { @@ -75,7 +74,7 @@ namespace OpenSim.Framework set { m_BillableFactor = value; } } - private int m_PricePerMeter; + private int m_PricePerMeter = 1; public int PricePerMeter { @@ -83,7 +82,7 @@ namespace OpenSim.Framework set { m_PricePerMeter = value; } } - private int m_RedirectGridX; + private int m_RedirectGridX = 0; public int RedirectGridX { @@ -91,7 +90,7 @@ namespace OpenSim.Framework set { m_RedirectGridX = value; } } - private int m_RedirectGridY; + private int m_RedirectGridY = 0; public int RedirectGridY { @@ -273,25 +272,6 @@ namespace OpenSim.Framework public EstateSettings() { - if (configMember == null) - { - try - { - // Load legacy defaults - // - configMember = - new ConfigurationMember(Path.Combine(Util.configDir(), - "estate_settings.xml"), "ESTATE SETTINGS", - loadConfigurationOptions, - handleIncomingConfiguration, true); - - l_EstateManagers.Clear(); - configMember.performConfigurationRetrieve(); - } - catch (Exception) - { - } - } } public void Save() @@ -393,165 +373,5 @@ namespace OpenSim.Framework return l_EstateAccess.Contains(user); } - - public void loadConfigurationOptions() - { - configMember.addConfigurationOption("billable_factor", - ConfigurationOption.ConfigurationTypes.TYPE_FLOAT, - String.Empty, "0.0", true); - -// configMember.addConfigurationOption("estate_id", -// ConfigurationOption.ConfigurationTypes.TYPE_UINT32, -// String.Empty, "100", true); - -// configMember.addConfigurationOption("parent_estate_id", -// ConfigurationOption.ConfigurationTypes.TYPE_UINT32, -// String.Empty, "1", true); - - configMember.addConfigurationOption("redirect_grid_x", - ConfigurationOption.ConfigurationTypes.TYPE_INT32, - String.Empty, "0", true); - - configMember.addConfigurationOption("redirect_grid_y", - ConfigurationOption.ConfigurationTypes.TYPE_INT32, - String.Empty, "0", true); - - configMember.addConfigurationOption("price_per_meter", - ConfigurationOption.ConfigurationTypes.TYPE_UINT32, - String.Empty, "1", true); - - configMember.addConfigurationOption("estate_name", - ConfigurationOption.ConfigurationTypes.TYPE_STRING, - String.Empty, "My Estate", true); - - configMember.addConfigurationOption("estate_manager_0", - ConfigurationOption.ConfigurationTypes.TYPE_UUID, - String.Empty, "00000000-0000-0000-0000-000000000000", true); - - configMember.addConfigurationOption("estate_manager_1", - ConfigurationOption.ConfigurationTypes.TYPE_UUID, - String.Empty, "00000000-0000-0000-0000-000000000000", true); - - configMember.addConfigurationOption("estate_manager_2", - ConfigurationOption.ConfigurationTypes.TYPE_UUID, - String.Empty, "00000000-0000-0000-0000-000000000000", true); - - configMember.addConfigurationOption("estate_manager_3", - ConfigurationOption.ConfigurationTypes.TYPE_UUID, - String.Empty, "00000000-0000-0000-0000-000000000000", true); - - configMember.addConfigurationOption("estate_manager_4", - ConfigurationOption.ConfigurationTypes.TYPE_UUID, - String.Empty, "00000000-0000-0000-0000-000000000000", true); - - configMember.addConfigurationOption("estate_manager_5", - ConfigurationOption.ConfigurationTypes.TYPE_UUID, - String.Empty, "00000000-0000-0000-0000-000000000000", true); - - configMember.addConfigurationOption("estate_manager_6", - ConfigurationOption.ConfigurationTypes.TYPE_UUID, - String.Empty, "00000000-0000-0000-0000-000000000000", true); - - configMember.addConfigurationOption("estate_manager_7", - ConfigurationOption.ConfigurationTypes.TYPE_UUID, - String.Empty, "00000000-0000-0000-0000-000000000000", true); - - configMember.addConfigurationOption("estate_manager_8", - ConfigurationOption.ConfigurationTypes.TYPE_UUID, - String.Empty, "00000000-0000-0000-0000-000000000000", true); - - configMember.addConfigurationOption("estate_manager_9", - ConfigurationOption.ConfigurationTypes.TYPE_UUID, - String.Empty, "00000000-0000-0000-0000-000000000000", true); - - configMember.addConfigurationOption("region_flags", - ConfigurationOption.ConfigurationTypes.TYPE_UINT32, - String.Empty, "336723974", true); - } - - public bool handleIncomingConfiguration(string configuration_key, object configuration_result) - { - switch (configuration_key) - { - case "region_flags": - RegionFlags flags = (RegionFlags)(uint)configuration_result; - if ((flags & (RegionFlags)(1<<29)) != 0) - m_AllowVoice = true; - if ((flags & RegionFlags.AllowDirectTeleport) != 0) - m_AllowDirectTeleport = true; - if ((flags & RegionFlags.DenyAnonymous) != 0) - m_DenyAnonymous = true; - if ((flags & RegionFlags.DenyIdentified) != 0) - m_DenyIdentified = true; - if ((flags & RegionFlags.DenyTransacted) != 0) - m_DenyTransacted = true; - if ((flags & RegionFlags.AbuseEmailToEstateOwner) != 0) - m_AbuseEmailToEstateOwner = true; - if ((flags & RegionFlags.BlockDwell) != 0) - m_BlockDwell = true; - if ((flags & RegionFlags.EstateSkipScripts) != 0) - m_EstateSkipScripts = true; - if ((flags & RegionFlags.ResetHomeOnTeleport) != 0) - m_ResetHomeOnTeleport = true; - if ((flags & RegionFlags.TaxFree) != 0) - m_TaxFree = true; - if ((flags & RegionFlags.PublicAllowed) != 0) - m_PublicAccess = true; - break; - case "billable_factor": - m_BillableFactor = (float) configuration_result; - break; -// case "estate_id": -// m_EstateID = (uint) configuration_result; -// break; -// case "parent_estate_id": -// m_ParentEstateID = (uint) configuration_result; -// break; - case "redirect_grid_x": - m_RedirectGridX = (int) configuration_result; - break; - case "redirect_grid_y": - m_RedirectGridY = (int) configuration_result; - break; - case "price_per_meter": - m_PricePerMeter = Convert.ToInt32(configuration_result); - break; - case "estate_name": - m_EstateName = (string) configuration_result; - break; - case "estate_manager_0": - AddEstateManager((UUID)configuration_result); - break; - case "estate_manager_1": - AddEstateManager((UUID)configuration_result); - break; - case "estate_manager_2": - AddEstateManager((UUID)configuration_result); - break; - case "estate_manager_3": - AddEstateManager((UUID)configuration_result); - break; - case "estate_manager_4": - AddEstateManager((UUID)configuration_result); - break; - case "estate_manager_5": - AddEstateManager((UUID)configuration_result); - break; - case "estate_manager_6": - AddEstateManager((UUID)configuration_result); - break; - case "estate_manager_7": - AddEstateManager((UUID)configuration_result); - break; - case "estate_manager_8": - AddEstateManager((UUID)configuration_result); - break; - case "estate_manager_9": - AddEstateManager((UUID)configuration_result); - break; - } - - return true; - } } } diff --git a/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs b/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs index 668ff98f7b..6861544c84 100644 --- a/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs +++ b/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs @@ -34,7 +34,7 @@ namespace OpenSim.Region.Framework.Interfaces { void Initialise(string connectstring); - EstateSettings LoadEstateSettings(UUID regionID); + EstateSettings LoadEstateSettings(UUID regionID, bool create); void StoreEstateSettings(EstateSettings es); } } diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 2080687f2c..078cf030e2 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -604,7 +604,7 @@ namespace OpenSim.Region.Framework.Scenes m_regInfo.RegionSettings = m_storageManager.DataStore.LoadRegionSettings(m_regInfo.RegionID); if (m_storageManager.EstateDataStore != null) { - m_regInfo.EstateSettings = m_storageManager.EstateDataStore.LoadEstateSettings(m_regInfo.RegionID); + m_regInfo.EstateSettings = m_storageManager.EstateDataStore.LoadEstateSettings(m_regInfo.RegionID, true); } //Bind Storage Manager functions to some land manager functions for this scene From 07a6b37001080ce197a4715776d100bcb9b2bb54 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 22 Mar 2010 20:38:27 +0000 Subject: [PATCH 06/32] Somehow the starting estate number in MySQL was lost. This adds a migration to start estates at 100. Existing databases having autcreated estates below 100 will see a gap in estate numbering. Other database implementors need to ensure that no estates with numbers less that 100 are autocreated, unless they are prepared to deal with the viewer's built-in notions of Linden Mainland --- OpenSim/Data/MySQL/Resources/032_RegionStore.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 OpenSim/Data/MySQL/Resources/032_RegionStore.sql diff --git a/OpenSim/Data/MySQL/Resources/032_RegionStore.sql b/OpenSim/Data/MySQL/Resources/032_RegionStore.sql new file mode 100644 index 0000000000..dca5de7144 --- /dev/null +++ b/OpenSim/Data/MySQL/Resources/032_RegionStore.sql @@ -0,0 +1,3 @@ +BEGIN; +ALTER TABLE estate_settings AUTO_INCREMENT = 100; +COMMIT; From dcf18689b9ab29d4ceb2348bb56fc1f77a7a8912 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 23 Mar 2010 02:05:56 +0000 Subject: [PATCH 07/32] First stage of the new interactive region creation. This will allow creation of a region and joining it to an existing estate or creating a new estate, as well as creating an estate owner if in standalone, and assigning estate owners. In Grid mode, existing users must be used. MySQL ONLY!!!! so far, as I can't develop or test for either SQLite or MSSQL. --- OpenSim/Data/MSSQL/MSSQLEstateData.cs | 25 +++ OpenSim/Data/MySQL/MySQLEstateData.cs | 175 +++++++++++++----- OpenSim/Data/SQLite/SQLiteEstateData.cs | 25 +++ .../Framework/Interfaces/IEstateDataStore.cs | 6 + OpenSim/Region/Framework/Scenes/Scene.cs | 115 +++++++++++- .../Interfaces/IUserAccountService.cs | 4 +- 6 files changed, 302 insertions(+), 48 deletions(-) diff --git a/OpenSim/Data/MSSQL/MSSQLEstateData.cs b/OpenSim/Data/MSSQL/MSSQLEstateData.cs index 1624f56a20..474f706ed3 100644 --- a/OpenSim/Data/MSSQL/MSSQLEstateData.cs +++ b/OpenSim/Data/MSSQL/MSSQLEstateData.cs @@ -346,6 +346,31 @@ namespace OpenSim.Data.MSSQL } } } + + public EstateSettings LoadEstateSettings(int estateID) + { + return new EstateSettings(); + } + + public List GetEstates(string search) + { + return new List(); + } + + public bool LinkRegion(UUID regionID, int estateID) + { + return false; + } + + public List GetRegions(int estateID) + { + return new List(); + } + + public bool DeleteEstate(int estateID) + { + return false; + } #endregion } } diff --git a/OpenSim/Data/MySQL/MySQLEstateData.cs b/OpenSim/Data/MySQL/MySQLEstateData.cs index e94dcda2bb..7fe1fcc9cc 100644 --- a/OpenSim/Data/MySQL/MySQLEstateData.cs +++ b/OpenSim/Data/MySQL/MySQLEstateData.cs @@ -123,50 +123,57 @@ namespace OpenSim.Data.MySQL public EstateSettings LoadEstateSettings(UUID regionID, bool create) { - EstateSettings es = new EstateSettings(); - es.OnSave += StoreEstateSettings; - string sql = "select estate_settings." + String.Join(",estate_settings.", FieldList) + " from estate_map left join estate_settings on estate_map.EstateID = estate_settings.EstateID where estate_settings.EstateID is not null and RegionID = ?RegionID"; + using (MySqlCommand cmd = new MySqlCommand()) + { + cmd.CommandText = sql; + cmd.Parameters.AddWithValue("?RegionID", regionID.ToString()); + + return DoLoad(cmd, regionID, create); + } + } + + private EstateSettings DoLoad(MySqlCommand cmd, UUID regionID, bool create) + { + EstateSettings es = new EstateSettings(); + es.OnSave += StoreEstateSettings; + using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) { dbcon.Open(); + cmd.Connection = dbcon; + bool found = false; - using (MySqlCommand cmd = dbcon.CreateCommand()) + using (IDataReader r = cmd.ExecuteReader()) { - cmd.CommandText = sql; - cmd.Parameters.AddWithValue("?RegionID", regionID.ToString()); - - using (IDataReader r = cmd.ExecuteReader()) + if (r.Read()) { - if (r.Read()) + found = true; + + foreach (string name in FieldList) { - found = true; - - foreach (string name in FieldList) + if (m_FieldMap[name].GetValue(es) is bool) { - if (m_FieldMap[name].GetValue(es) is bool) - { - int v = Convert.ToInt32(r[name]); - if (v != 0) - m_FieldMap[name].SetValue(es, true); - else - m_FieldMap[name].SetValue(es, false); - } - else if (m_FieldMap[name].GetValue(es) is UUID) - { - UUID uuid = UUID.Zero; - - UUID.TryParse(r[name].ToString(), out uuid); - m_FieldMap[name].SetValue(es, uuid); - } + int v = Convert.ToInt32(r[name]); + if (v != 0) + m_FieldMap[name].SetValue(es, true); else - { - m_FieldMap[name].SetValue(es, r[name]); - } + m_FieldMap[name].SetValue(es, false); + } + else if (m_FieldMap[name].GetValue(es) is UUID) + { + UUID uuid = UUID.Zero; + + UUID.TryParse(r[name].ToString(), out uuid); + m_FieldMap[name].SetValue(es, uuid); + } + else + { + m_FieldMap[name].SetValue(es, r[name]); } } } @@ -179,45 +186,45 @@ namespace OpenSim.Data.MySQL names.Remove("EstateID"); - sql = "insert into estate_settings (" + String.Join(",", names.ToArray()) + ") values ( ?" + String.Join(", ?", names.ToArray()) + ")"; + string sql = "insert into estate_settings (" + String.Join(",", names.ToArray()) + ") values ( ?" + String.Join(", ?", names.ToArray()) + ")"; - using (MySqlCommand cmd = dbcon.CreateCommand()) + using (MySqlCommand cmd2 = dbcon.CreateCommand()) { - cmd.CommandText = sql; - cmd.Parameters.Clear(); + cmd2.CommandText = sql; + cmd2.Parameters.Clear(); foreach (string name in FieldList) { if (m_FieldMap[name].GetValue(es) is bool) { if ((bool)m_FieldMap[name].GetValue(es)) - cmd.Parameters.AddWithValue("?" + name, "1"); + cmd2.Parameters.AddWithValue("?" + name, "1"); else - cmd.Parameters.AddWithValue("?" + name, "0"); + cmd2.Parameters.AddWithValue("?" + name, "0"); } else { - cmd.Parameters.AddWithValue("?" + name, m_FieldMap[name].GetValue(es).ToString()); + cmd2.Parameters.AddWithValue("?" + name, m_FieldMap[name].GetValue(es).ToString()); } } - cmd.ExecuteNonQuery(); + cmd2.ExecuteNonQuery(); - cmd.CommandText = "select LAST_INSERT_ID() as id"; - cmd.Parameters.Clear(); + cmd2.CommandText = "select LAST_INSERT_ID() as id"; + cmd2.Parameters.Clear(); - using (IDataReader r = cmd.ExecuteReader()) + using (IDataReader r = cmd2.ExecuteReader()) { r.Read(); es.EstateID = Convert.ToUInt32(r["id"]); } - cmd.CommandText = "insert into estate_map values (?RegionID, ?EstateID)"; - cmd.Parameters.AddWithValue("?RegionID", regionID.ToString()); - cmd.Parameters.AddWithValue("?EstateID", es.EstateID.ToString()); + cmd2.CommandText = "insert into estate_map values (?RegionID, ?EstateID)"; + cmd2.Parameters.AddWithValue("?RegionID", regionID.ToString()); + cmd2.Parameters.AddWithValue("?EstateID", es.EstateID.ToString()); // This will throw on dupe key - try { cmd.ExecuteNonQuery(); } + try { cmd2.ExecuteNonQuery(); } catch (Exception) { } es.Save(); @@ -390,5 +397,83 @@ namespace OpenSim.Data.MySQL return uuids.ToArray(); } + + public EstateSettings LoadEstateSettings(int estateID) + { + using (MySqlCommand cmd = new MySqlCommand()) + { + string sql = "select estate_settings." + String.Join(",estate_settings.", FieldList) + " from estate_settings where EstateID = ?EstateID"; + + cmd.CommandText = sql; + cmd.Parameters.AddWithValue("?EstateID", estateID); + + return DoLoad(cmd, UUID.Zero, false); + } + } + + public List GetEstates(string search) + { + List result = new List(); + + using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) + { + dbcon.Open(); + + using (MySqlCommand cmd = dbcon.CreateCommand()) + { + cmd.CommandText = "select estateID from estate_settings where EstateName = ?EstateName"; + cmd.Parameters.AddWithValue("?EstateName", search); + + using (IDataReader reader = cmd.ExecuteReader()) + { + while (reader.Read()) + { + result.Add(Convert.ToInt32(reader["EstateID"])); + } + reader.Close(); + } + } + + + dbcon.Close(); + } + + return result; + } + + public bool LinkRegion(UUID regionID, int estateID) + { + using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) + { + dbcon.Open(); + + using (MySqlCommand cmd = dbcon.CreateCommand()) + { + cmd.CommandText = "insert into estate_map values (?RegionID, ?EstateID)"; + cmd.Parameters.AddWithValue("?RegionID", regionID); + cmd.Parameters.AddWithValue("?EstateID", estateID); + + if (cmd.ExecuteNonQuery() == 0) + { + dbcon.Close(); + return false; + } + } + + dbcon.Close(); + } + + return true; + } + + public List GetRegions(int estateID) + { + return new List(); + } + + public bool DeleteEstate(int estateID) + { + return false; + } } } diff --git a/OpenSim/Data/SQLite/SQLiteEstateData.cs b/OpenSim/Data/SQLite/SQLiteEstateData.cs index 4a447d26d1..5b6135edd4 100644 --- a/OpenSim/Data/SQLite/SQLiteEstateData.cs +++ b/OpenSim/Data/SQLite/SQLiteEstateData.cs @@ -320,5 +320,30 @@ namespace OpenSim.Data.SQLite return uuids.ToArray(); } + + public EstateSettings LoadEstateSettings(int estateID) + { + return new EstateSettings(); + } + + public List GetEstates(string search) + { + return new List(); + } + + public bool LinkRegion(UUID regionID, int estateID) + { + return false; + } + + public List GetRegions(int estateID) + { + return new List(); + } + + public bool DeleteEstate(int estateID) + { + return false; + } } } diff --git a/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs b/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs index 6861544c84..87c7a05f6d 100644 --- a/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs +++ b/OpenSim/Region/Framework/Interfaces/IEstateDataStore.cs @@ -25,6 +25,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +using System.Collections.Generic; using OpenMetaverse; using OpenSim.Framework; @@ -35,6 +36,11 @@ namespace OpenSim.Region.Framework.Interfaces void Initialise(string connectstring); EstateSettings LoadEstateSettings(UUID regionID, bool create); + EstateSettings LoadEstateSettings(int estateID); void StoreEstateSettings(EstateSettings es); + List GetEstates(string search); + bool LinkRegion(UUID regionID, int estateID); + List GetRegions(int estateID); + bool DeleteEstate(int estateID); } } diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 078cf030e2..da81c032e6 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -604,7 +604,44 @@ namespace OpenSim.Region.Framework.Scenes m_regInfo.RegionSettings = m_storageManager.DataStore.LoadRegionSettings(m_regInfo.RegionID); if (m_storageManager.EstateDataStore != null) { - m_regInfo.EstateSettings = m_storageManager.EstateDataStore.LoadEstateSettings(m_regInfo.RegionID, true); + m_regInfo.EstateSettings = m_storageManager.EstateDataStore.LoadEstateSettings(m_regInfo.RegionID, false); + if (m_regInfo.EstateSettings.EstateID == 0) // No record at all + { + MainConsole.Instance.Output("Your region is not part of an estate."); + while (true) + { + string response = MainConsole.Instance.CmdPrompt("Do you wish to join an existing estate?", "no", new List() {"yes", "no"}); + if (response == "no") + { + // Create a new estate + m_regInfo.EstateSettings = m_storageManager.EstateDataStore.LoadEstateSettings(m_regInfo.RegionID, true); + + m_regInfo.EstateSettings.EstateName = MainConsole.Instance.CmdPrompt("New estate name", m_regInfo.EstateSettings.EstateName); + m_regInfo.EstateSettings.Save(); + break; + } + else + { + response = MainConsole.Instance.CmdPrompt("Estate name to join", "None"); + if (response == "None") + continue; + + List estateIDs = m_storageManager.EstateDataStore.GetEstates(response); + if (estateIDs.Count < 1) + { + MainConsole.Instance.Output("The name you have entered matches no known estate. Please try again"); + continue; + } + + int estateID = estateIDs[0]; + + if (m_storageManager.EstateDataStore.LinkRegion(m_regInfo.RegionID, estateID)) + break; + + MainConsole.Instance.Output("Joining the estate failed. Please try again."); + } + } + } } //Bind Storage Manager functions to some land manager functions for this scene @@ -1215,6 +1252,82 @@ namespace OpenSim.Region.Framework.Scenes m_dialogModule = RequestModuleInterface(); m_capsModule = RequestModuleInterface(); m_teleportModule = RequestModuleInterface(); + + // Shoving this in here for now, because we have the needed + // interfaces at this point + // + // TODO: Find a better place for this + // + while (m_regInfo.EstateSettings.EstateOwner == UUID.Zero) + { + MainConsole.Instance.Output("The current estate has no owner set."); + string first = MainConsole.Instance.CmdPrompt("Estate owner first name", "Test"); + string last = MainConsole.Instance.CmdPrompt("Estate owner last name", "User"); + + UserAccount account = UserAccountService.GetUserAccount(m_regInfo.ScopeID, first, last); + + if (account == null) + { + account = new UserAccount(m_regInfo.ScopeID, first, last, String.Empty); + if (account.ServiceURLs == null || (account.ServiceURLs != null && account.ServiceURLs.Count == 0)) + { + account.ServiceURLs = new Dictionary(); + account.ServiceURLs["HomeURI"] = string.Empty; + account.ServiceURLs["GatekeeperURI"] = string.Empty; + account.ServiceURLs["InventoryServerURI"] = string.Empty; + account.ServiceURLs["AssetServerURI"] = string.Empty; + } + + if (UserAccountService.StoreUserAccount(account)) + { + string password = MainConsole.Instance.PasswdPrompt("Password"); + string email = MainConsole.Instance.CmdPrompt("Email", ""); + + account.Email = email; + UserAccountService.StoreUserAccount(account); + + bool success = false; + success = AuthenticationService.SetPassword(account.PrincipalID, password); + if (!success) + m_log.WarnFormat("[USER ACCOUNT SERVICE]: Unable to set password for account {0} {1}.", + first, last); + + GridRegion home = null; + if (GridService != null) + { + List defaultRegions = GridService.GetDefaultRegions(UUID.Zero); + if (defaultRegions != null && defaultRegions.Count >= 1) + home = defaultRegions[0]; + + if (PresenceService != null && home != null) + PresenceService.SetHomeLocation(account.PrincipalID.ToString(), home.RegionID, new Vector3(128, 128, 0), new Vector3(0, 1, 0)); + else + m_log.WarnFormat("[USER ACCOUNT SERVICE]: Unable to set home for account {0} {1}.", + first, last); + + } + else + m_log.WarnFormat("[USER ACCOUNT SERVICE]: Unable to retrieve home region for account {0} {1}.", + first, last); + + if (InventoryService != null) + success = InventoryService.CreateUserInventory(account.PrincipalID); + if (!success) + m_log.WarnFormat("[USER ACCOUNT SERVICE]: Unable to create inventory for account {0} {1}.", + first, last); + + + m_log.InfoFormat("[USER ACCOUNT SERVICE]: Account {0} {1} created successfully", first, last); + + m_regInfo.EstateSettings.EstateOwner = account.PrincipalID; + m_regInfo.EstateSettings.Save(); + } + } + else + { + MainConsole.Instance.Output("You appear to be connected to a grid and can't create users from here. Please enter the name of an existing user"); + } + } } #endregion diff --git a/OpenSim/Services/Interfaces/IUserAccountService.cs b/OpenSim/Services/Interfaces/IUserAccountService.cs index a45bf8c79b..befd14e02a 100644 --- a/OpenSim/Services/Interfaces/IUserAccountService.cs +++ b/OpenSim/Services/Interfaces/IUserAccountService.cs @@ -150,10 +150,10 @@ namespace OpenSim.Services.Interfaces List GetUserAccounts(UUID scopeID, string query); /// - /// Store the data given, wich replaces the sotred data, therefore must be complete. + /// Store the data given, wich replaces the stored data, therefore must be complete. /// /// /// bool StoreUserAccount(UserAccount data); } -} \ No newline at end of file +} From 3fb73e4e266d7ac94281ec5a41a04a15c0b39ca7 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 23 Mar 2010 02:18:55 +0000 Subject: [PATCH 08/32] UNTESTED SQLite code to enable estate setup in interactive confguration --- OpenSim/Data/SQLite/SQLiteEstateData.cs | 52 +++++++++++++++++++++---- 1 file changed, 45 insertions(+), 7 deletions(-) diff --git a/OpenSim/Data/SQLite/SQLiteEstateData.cs b/OpenSim/Data/SQLite/SQLiteEstateData.cs index 5b6135edd4..bd6b776f80 100644 --- a/OpenSim/Data/SQLite/SQLiteEstateData.cs +++ b/OpenSim/Data/SQLite/SQLiteEstateData.cs @@ -82,9 +82,6 @@ namespace OpenSim.Data.SQLite public EstateSettings LoadEstateSettings(UUID regionID, bool create) { - EstateSettings es = new EstateSettings(); - es.OnSave += StoreEstateSettings; - string sql = "select estate_settings."+String.Join(",estate_settings.", FieldList)+" from estate_map left join estate_settings on estate_map.EstateID = estate_settings.EstateID where estate_settings.EstateID is not null and RegionID = :RegionID"; SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand(); @@ -92,6 +89,14 @@ namespace OpenSim.Data.SQLite cmd.CommandText = sql; cmd.Parameters.Add(":RegionID", regionID.ToString()); + return DoLoad(cmd, regionID, create); + } + + private EstateSettings DoLoad(SqliteCommand cmd, UUID regionID, bool create) + { + EstateSettings es = new EstateSettings(); + es.OnSave += StoreEstateSettings; + IDataReader r = cmd.ExecuteReader(); if (r.Read()) @@ -128,7 +133,7 @@ namespace OpenSim.Data.SQLite names.Remove("EstateID"); - sql = "insert into estate_settings ("+String.Join(",", names.ToArray())+") values ( :"+String.Join(", :", names.ToArray())+")"; + string sql = "insert into estate_settings ("+String.Join(",", names.ToArray())+") values ( :"+String.Join(", :", names.ToArray())+")"; cmd.CommandText = sql; cmd.Parameters.Clear(); @@ -323,17 +328,50 @@ namespace OpenSim.Data.SQLite public EstateSettings LoadEstateSettings(int estateID) { - return new EstateSettings(); + string sql = "select estate_settings."+String.Join(",estate_settings.", FieldList)+" from estate_settings where estate_settings.EstateID :EstateID"; + + SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand(); + + cmd.CommandText = sql; + cmd.Parameters.Add(":EstateID", estateID.ToString()); + + return DoLoad(cmd, UUID.Zero, false); } public List GetEstates(string search) { - return new List(); + List result = new List(); + + string sql = "select EstateID from estate_settings where estate_settings.EstateName :EstateName"; + + SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand(); + + cmd.CommandText = sql; + cmd.Parameters.Add(":EstateName", search); + + IDataReader r = cmd.ExecuteReader(); + + while (r.Read()) + { + result.Add(Convert.ToInt32(r["EstateID"])); + } + r.Close(); + + return result; } public bool LinkRegion(UUID regionID, int estateID) { - return false; + SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand(); + + cmd.CommandText = "insert into estate_map values (:RegionID, :EstateID)"; + cmd.Parameters.Add(":RegionID", regionID.ToString()); + cmd.Parameters.Add(":EstateID", estateID.ToString()); + + if (cmd.ExecuteNonQuery() == 0) + return false; + + return true; } public List GetRegions(int estateID) From 6ad85dc2590ff6007ff03da6424d5ef718c37602 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 25 Mar 2010 20:33:46 +0000 Subject: [PATCH 09/32] put out full exception stack if something reaches top of base http server OnRequest() on both mono and .net replace Newtonsoft.Json.XML since the updated copy got accidentally reverted by another commit --- .../Servers/HttpServer/BaseHttpServer.cs | 2 +- bin/Newtonsoft.Json.XML | 11654 ++++++++-------- 2 files changed, 5828 insertions(+), 5828 deletions(-) diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index 350c041f7d..43a675761a 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs @@ -310,7 +310,7 @@ namespace OpenSim.Framework.Servers.HttpServer } catch (Exception e) { - m_log.ErrorFormat("[BASE HTTP SERVER]: OnRequest() failed with {0} {1}", e.Message, e.StackTrace); + m_log.Error(string.Format("[BASE HTTP SERVER]: OnRequest() failed with "), e); } } diff --git a/bin/Newtonsoft.Json.XML b/bin/Newtonsoft.Json.XML index 1a1e56cef3..5af3593d22 100644 --- a/bin/Newtonsoft.Json.XML +++ b/bin/Newtonsoft.Json.XML @@ -1,5827 +1,5827 @@ - - - - Newtonsoft.Json.Net20 - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A or a null reference if the next JSON token is null. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Gets the type of the current Json token. - - - - - Gets the text value of the current Json token. - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the end of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes the end of the current Json object or array. - - - - - Writes the current token. - - The to read the token from. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Indicates how the output is formatted. - - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Gets the token being writen. - - The token being writen. - - - - Initializes a new instance of the class. - - The stream. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor then fall back to single paramatized constructor. - - - - - Allow Json.NET to use a non-public default constructor. - - - - - Converts a binary value to and from a base 64 string value. - - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Create a custom object - - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - Type of the property. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The value. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Represents a raw JSON string. - - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Represents an abstract JSON token. - - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - The that matches the object path or a null reference if no matching token is found. - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - A flag to indicate whether an error should be thrown if no token is found. - The that matches the object path. - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The reference. - The object to reference. - - - - Specifies reference handling options for the . - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Instructs the how to serialize the collection. - - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets or sets a value that indicates whether to preserve object reference data. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Specifies default value handling options for the . - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Gets the type of the converter. - - The type of the converter. - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the member serialization. - - The member serialization. - - - - Specifies the settings on a object. - - - - - Initializes a new instance of the class. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Represents a reader that provides validation. - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current Json token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current Json token. - - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Specifies the member serialization options for the . - - - - - All members are serialized by default. Members can be excluded using the . - - - - - Only members must be marked with the are serialized. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. - - - - - The time represented is local time. - - - - - The time represented is UTC. - - - - - The time represented is not specified as either local time or Coordinated Universal Time (UTC). - - - - - Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. - - - - - Converts an to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Converts a object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Instructs the to always serialize the member with the specified name. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Represents a collection of . - - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be is used. - - A JSON string representation of the object. - - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The of object being deserialized. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The type of the object to deserialize. - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The object to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The object to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The JSON to deserialize. - The type of the object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - The exception thrown when an error occurs during Json serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance using the specified . - - The settings to be applied to the . - A new instance using the specified . - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the Json structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every node in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every node in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every node in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every node in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every node in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every node in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a JSON constructor. - - - - - Represents a token that can contain other tokens. - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Gets the with the specified key. - - - - - - Represents a JSON object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Occurs when a property value changes. - - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a JSON array. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a JSON property. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Gets the node type for this . - - The type. - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - Contains the JSON schema extension methods. - - - - - Determines whether the is valid. - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - Validates the specified . - - The source to test. - The schema to test with. - - - - Validates the specified . - - The source to test. - The schema to test with. - The validation event handler. - - - - Returns detailed information about the schema exception. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Resolves from an id. - - - - - Initializes a new instance of the class. - - - - - Gets a for the specified id. - - The id. - A for the specified id. - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Specifies undefined schema Id handling options for the . - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - Returns detailed information related to the . - - - - - Gets the associated with the validation event. - - The JsonSchemaException associated with the validation event. - - - - Gets the text description corresponding to the validation event. - - The text description. - - - - Represents the callback method that will handle JSON schema validation events and the . - - - - - Resolves member mappings for a type, camel casing property names. - - - - - Used by to resolves a for a given . - - - - - Used by to resolves a for a given . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Initializes a new instance of the class. - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Resolves the default for the contract. - - Type of the object. - - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The contract to create properties for. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's declaring types . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Name of the property. - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - Get and set values for a using dynamic methods. - - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides information surrounding an error. - - - - - Gets or sets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Provides data for the Error event. - - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Contract details for a used by the . - - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the default creator. - - The default creator. - - - - Gets or sets a value indicating whether [default creator non public]. - - true if the default object creator is non-public; otherwise, false. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member. - - - - - Gets the name of the property. - - The name of the property. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets the member converter. - - The member converter. - - - - Gets the default value. - - The default value. - - - - Gets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets the property null value handling. - - The null value handling. - - - - Gets the property default value handling. - - The default value handling. - - - - Gets the property reference loop handling. - - The reference loop handling. - - - - Gets the property object creation handling. - - The object creation handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The contract. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - An in-memory representation of a JSON Schema. - - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is optional. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets the maximum decimals. - - The maximum decimals. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the identity. - - The identity. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets a collection of options. - - A collection of options. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the extend . - - The extended . - - - - Gets or sets the format. - - The format. - - - - Generates a from a specified . - - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - The value types allowed by the . - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted type. - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The culture to use when converting. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - If set to true ignore case. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Gets the maximum valid value of an Enum type. Flags enums are ORed. - - The type of the returned value. Must be assignable from the enum's underlying value type. - The enum type to get the maximum value for. - - - - - Specifies the type of Json token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An interger. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null, empty or its contents are uninitialized values. - - The list. - - true if the collection is null or empty or its contents are uninitialized values; otherwise, false. - - - - - Makes a slice of the specified list in between the start and end indexes. - - The list. - The start index. - The end index. - A slice of the list. - - - - Makes a slice of the specified list in between the start and end indexes, - getting every so many items based upon the step. - - The list. - The start index. - The end index. - The step. - A slice of the list. - - - - Group the collection using a function which returns the key. - - The source collection to group. - The key selector. - A Dictionary with each key relating to a list of objects in a list grouped under it. - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Tests whether the list's items are their unitialized value. - - The list. - Whether the list's items are their unitialized value - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Determines whether the string contains white space. - - The string to test for white space. - - true if the string contains white space; otherwise, false. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Ensures the target string ends with the specified string. - - The target. - The value. - The target string with the value string at the end. - - - - Perform an action if the string is not null or empty. - - The value. - The action to perform. - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - The indent character. - - - - - Numbers the lines. - - The string to number. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - + + + + Newtonsoft.Json.Net20 + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets the type of the current Json token. + + + + + Gets the text value of the current Json token. + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Indicates how the output is formatted. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Initializes a new instance of the class. + + The stream. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The value. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The reference. + The object to reference. + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets a value that indicates whether to preserve object reference data. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + + + + + The time represented is local time. + + + + + The time represented is UTC. + + + + + The time represented is not specified as either local time or Coordinated Universal Time (UTC). + + + + + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Converts a object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the specified object to a Json object. + + The object to deserialize. + The deserialized object from the Json string. + + + + Deserializes the specified object to a Json object. + + The object to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the specified object to a Json object. + + The type of the object to deserialize. + The object to deserialize. + The deserialized object from the Json string. + + + + Deserializes the specified JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The object to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON string to the specified type. + + The type of the object to deserialize. + The object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON string to the specified type. + + The type of the object to deserialize. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON string to the specified type. + + The object to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON string to the specified type. + + The JSON to deserialize. + The type of the object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The contract to create properties for. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's declaring types . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator. + + The default creator. + + + + Gets or sets a value indicating whether [default creator non public]. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member. + + + + + Gets the name of the property. + + The name of the property. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the member converter. + + The member converter. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The contract. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is optional. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets the maximum decimals. + + The maximum decimals. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An interger. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null, empty or its contents are uninitialized values. + + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + + + + + Makes a slice of the specified list in between the start and end indexes. + + The list. + The start index. + The end index. + A slice of the list. + + + + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + + The list. + The start index. + The end index. + The step. + A slice of the list. + + + + Group the collection using a function which returns the key. + + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string contains white space. + + The string to test for white space. + + true if the string contains white space; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Ensures the target string ends with the specified string. + + The target. + The value. + The target string with the value string at the end. + + + + Perform an action if the string is not null or empty. + + The value. + The action to perform. + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + The indent character. + + + + + Numbers the lines. + + The string to number. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + From bfbf25c542ac13b3056261064e14c15844bf94fe Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 25 Mar 2010 21:36:57 +0000 Subject: [PATCH 10/32] minor: Print out port that http servers are using do this in callers so that we know who is setting up these things --- OpenSim/Framework/MainServer.cs | 8 +++++++- .../Framework/Servers/HttpServer/BaseHttpServer.cs | 2 -- OpenSim/Region/ClientStack/RegionApplicationBase.cs | 6 +++--- .../CoreModules/Scripting/XMLRPC/XMLRPCModule.cs | 12 ++++++------ OpenSim/Server/Base/HttpServerBase.cs | 3 +++ 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/OpenSim/Framework/MainServer.cs b/OpenSim/Framework/MainServer.cs index 84cc05eb74..1f5f2088fc 100644 --- a/OpenSim/Framework/MainServer.cs +++ b/OpenSim/Framework/MainServer.cs @@ -25,13 +25,17 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -using OpenSim.Framework.Servers.HttpServer; using System.Collections.Generic; +using System.Reflection; +using log4net; +using OpenSim.Framework.Servers.HttpServer; namespace OpenSim.Framework { public class MainServer { + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); + private static BaseHttpServer instance = null; private static Dictionary m_Servers = new Dictionary(); @@ -53,6 +57,8 @@ namespace OpenSim.Framework return m_Servers[port]; m_Servers[port] = new BaseHttpServer(port); + + m_log.InfoFormat("[MAIN HTTP SERVER]: Starting main http server on port {0}", port); m_Servers[port].Start(); return m_Servers[port]; diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index 43a675761a..a6e00c2251 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs @@ -1580,7 +1580,6 @@ namespace OpenSim.Framework.Servers.HttpServer public void Start() { - m_log.Info("[BASE HTTP SERVER]: Starting up HTTP Server"); StartHTTP(); } @@ -1588,7 +1587,6 @@ namespace OpenSim.Framework.Servers.HttpServer { try { - m_log.Debug("[BASE HTTP SERVER]: Spawned main thread OK"); //m_httpListener = new HttpListener(); NotSocketErrors = 0; if (!m_ssl) diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs index 0ec87e598c..e683821d95 100644 --- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs +++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs @@ -98,10 +98,10 @@ namespace OpenSim.Region.ClientStack if (m_networkServersInfo.HttpUsesSSL && (m_networkServersInfo.HttpListenerPort == m_networkServersInfo.httpSSLPort)) { - m_log.Error("[HTTP]: HTTP Server config failed. HTTP Server and HTTPS server must be on different ports"); + m_log.Error("[REGION SERVER]: HTTP Server config failed. HTTP Server and HTTPS server must be on different ports"); } - m_log.Info("[REGION]: Starting HTTP server"); + m_log.InfoFormat("[REGION SERVER]: Starting HTTP server on port {0}", m_httpServerPort); m_httpServer.Start(); MainServer.Instance = m_httpServer; @@ -129,4 +129,4 @@ namespace OpenSim.Region.ClientStack return physicsPluginManager.GetPhysicsScene(engine, meshEngine, config, osSceneIdentifier); } } -} +} \ No newline at end of file diff --git a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs index 27b64bffc0..40ffcb4a70 100644 --- a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs @@ -131,8 +131,8 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC { // Start http server // Attach xmlrpc handlers - m_log.Info("[REMOTE_DATA]: " + - "Starting XMLRPC Server on port " + m_remoteDataPort + " for llRemoteData commands."); + m_log.Info("[XML RPC MODULE]: " + + "Starting up XMLRPC Server on port " + m_remoteDataPort + " for llRemoteData commands."); BaseHttpServer httpServer = new BaseHttpServer((uint) m_remoteDataPort); httpServer.AddXmlRPCHandler("llRemoteData", XmlRpcRemoteData); httpServer.Start(); @@ -192,7 +192,7 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC // This should no longer happen, but the check is reasonable anyway if (null == m_openChannels) { - m_log.Warn("[RemoteDataReply] Attempt to open channel before initialization is complete"); + m_log.Warn("[XML RPC MODULE]: Attempt to open channel before initialization is complete"); return newChannel; } @@ -279,7 +279,7 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC } else { - m_log.Warn("[RemoteDataReply]: Channel or message_id not found"); + m_log.Warn("[XML RPC MODULE]: Channel or message_id not found"); } } @@ -340,7 +340,7 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC } else { - m_log.Error("UNABLE TO REMOVE COMPLETED REQUEST"); + m_log.Error("[XML RPC MODULE]: UNABLE TO REMOVE COMPLETED REQUEST"); } } } @@ -728,4 +728,4 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC return ReqID; } } -} +} \ No newline at end of file diff --git a/OpenSim/Server/Base/HttpServerBase.cs b/OpenSim/Server/Base/HttpServerBase.cs index 77184a498a..9e4593e19e 100644 --- a/OpenSim/Server/Base/HttpServerBase.cs +++ b/OpenSim/Server/Base/HttpServerBase.cs @@ -71,6 +71,8 @@ namespace OpenSim.Server.Base return m_Servers[port]; m_Servers[port] = new BaseHttpServer(port); + + m_Log.InfoFormat("[SERVER]: Starting new HTTP server on port {0}", port); m_Servers[port].Start(); return m_Servers[port]; @@ -109,6 +111,7 @@ namespace OpenSim.Server.Base protected override void Initialise() { + m_Log.InfoFormat("[SERVER]: Starting HTTP server on port {0}", m_HttpServer.Port); m_HttpServer.Start(); if (MainConsole.Instance is RemoteConsole) From 19c659ca99349a974564d87fcdf42a2c66d2a875 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 25 Mar 2010 21:46:23 +0000 Subject: [PATCH 11/32] fix unit tests broken by commit dcf18689b9ab29d4ceb2348bb56fc1f77a7a8912 can't prompt for estate owner in unit tests --- OpenSim/Region/Framework/Scenes/Scene.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index da81c032e6..6495899117 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -1258,7 +1258,7 @@ namespace OpenSim.Region.Framework.Scenes // // TODO: Find a better place for this // - while (m_regInfo.EstateSettings.EstateOwner == UUID.Zero) + while (m_regInfo.EstateSettings.EstateOwner == UUID.Zero && MainConsole.Instance != null) { MainConsole.Instance.Output("The current estate has no owner set."); string first = MainConsole.Instance.CmdPrompt("Estate owner first name", "Test"); From f0703cad2ce6894ef2ccbf6a9c3cc93fe3c960b6 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 25 Mar 2010 22:47:52 +0000 Subject: [PATCH 12/32] add get group by name method to IGroupsModule --- .../Framework/Interfaces/IGroupsModule.cs | 29 +++++++++++++-- .../Avatar/XmlRpcGroups/GroupsModule.cs | 36 ++++++++++++++----- .../XmlRpcGroupsServicesConnectorModule.cs | 1 - 3 files changed, 53 insertions(+), 13 deletions(-) diff --git a/OpenSim/Region/Framework/Interfaces/IGroupsModule.cs b/OpenSim/Region/Framework/Interfaces/IGroupsModule.cs index 8980b2deec..368f2cdb42 100644 --- a/OpenSim/Region/Framework/Interfaces/IGroupsModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IGroupsModule.cs @@ -37,6 +37,30 @@ namespace OpenSim.Region.Framework.Interfaces { event NewGroupNotice OnNewGroupNotice; + /// + /// Create a group + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// The UUID of the created group + UUID CreateGroup( + IClientAPI remoteClient, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, + bool openEnrollment, bool allowPublish, bool maturePublish); + + /// + /// Get a group given its name + /// + /// + /// The group's data. Null if there is no such group. + DirGroupsReplyData? GetGroup(string name); + void ActivateGroup(IClientAPI remoteClient, UUID groupID); List GroupTitlesRequest(IClientAPI remoteClient, UUID groupID); List GroupMembersRequest(IClientAPI remoteClient, UUID groupID); @@ -50,8 +74,7 @@ namespace OpenSim.Region.Framework.Interfaces void SetGroupAcceptNotices(IClientAPI remoteClient, UUID groupID, bool acceptNotices, bool listInProfile); - void GroupTitleUpdate(IClientAPI remoteClient, UUID GroupID, UUID TitleRoleID); - UUID CreateGroup(IClientAPI remoteClient, string name, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish); + void GroupTitleUpdate(IClientAPI remoteClient, UUID GroupID, UUID TitleRoleID); GroupNoticeData[] GroupNoticesListRequest(IClientAPI remoteClient, UUID GroupID); string GetGroupTitle(UUID avatarID); @@ -67,4 +90,4 @@ namespace OpenSim.Region.Framework.Interfaces GroupRecord GetGroupRecord(UUID GroupID); void NotifyChange(UUID GroupID); } -} +} \ No newline at end of file diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs index 68e6497026..93c2d095b1 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs @@ -328,17 +328,19 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups } */ - void OnDirFindQuery(IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, int queryStart) { if (((DirFindFlags)queryFlags & DirFindFlags.Groups) == DirFindFlags.Groups) { - if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called with queryText({1}) queryFlags({2}) queryStart({3})", System.Reflection.MethodBase.GetCurrentMethod().Name, queryText, (DirFindFlags)queryFlags, queryStart); + if (m_debugEnabled) + m_log.DebugFormat( + "[GROUPS]: {0} called with queryText({1}) queryFlags({2}) queryStart({3})", + System.Reflection.MethodBase.GetCurrentMethod().Name, queryText, (DirFindFlags)queryFlags, queryStart); // TODO: This currently ignores pretty much all the query flags including Mature and sort order - remoteClient.SendDirGroupsReply(queryID, m_groupData.FindGroups(GetClientGroupRequestID(remoteClient), queryText).ToArray()); - } - + remoteClient.SendDirGroupsReply( + queryID, m_groupData.FindGroups(GetClientGroupRequestID(remoteClient), queryText).ToArray()); + } } private void OnAgentDataUpdateRequest(IClientAPI remoteClient, UUID dataForAgentID, UUID sessionID) @@ -652,7 +654,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups List data = m_groupData.GetGroupRoles(GetClientGroupRequestID(remoteClient), groupID); return data; - } public List GroupRoleMembersRequest(IClientAPI remoteClient, UUID groupID) @@ -662,8 +663,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups List data = m_groupData.GetGroupRoleMembers(GetClientGroupRequestID(remoteClient), groupID); return data; - - } public GroupProfileData GroupProfileRequest(IClientAPI remoteClient, UUID groupID) @@ -746,7 +745,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups return UUID.Zero; } // is there is a money module present ? - IMoneyModule money=remoteClient.Scene.RequestModuleInterface(); + IMoneyModule money = remoteClient.Scene.RequestModuleInterface(); if (money != null) { // do the transaction, that is if the agent has got sufficient funds @@ -766,6 +765,25 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups return groupID; } + public DirGroupsReplyData? GetGroup(string name) + { + if (m_debugEnabled) + m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + List groups = m_groupData.FindGroups(null, name); + + DirGroupsReplyData? foundGroup = null; + + foreach (DirGroupsReplyData group in groups) + { + // We must have an exact match - I believe FindGroups will return partial matches + if (group.groupName == name) + foundGroup = group; + } + + return foundGroup; + } + public GroupNoticeData[] GroupNoticesListRequest(IClientAPI remoteClient, UUID groupID) { if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs index 964d0bbbf1..2115376619 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs @@ -470,7 +470,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups XmlRpcCall(requestID, "groups.removeAgentFromGroupRole", param); } - public List FindGroups(GroupRequestID requestID, string search) { Hashtable param = new Hashtable(); From 857918d3b032df27e7ee1fe26cebc7421ec4ee0e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Thu, 25 Mar 2010 23:53:05 +0000 Subject: [PATCH 13/32] minor: some debugging information and spacing changes to group module --- OpenSim/Region/Framework/Interfaces/IGroupsModule.cs | 2 +- .../OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs | 5 ++++- .../Avatar/XmlRpcGroups/IGroupsServicesConnector.cs | 1 - .../XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs | 8 +++----- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/OpenSim/Region/Framework/Interfaces/IGroupsModule.cs b/OpenSim/Region/Framework/Interfaces/IGroupsModule.cs index 368f2cdb42..e357969b5f 100644 --- a/OpenSim/Region/Framework/Interfaces/IGroupsModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IGroupsModule.cs @@ -67,7 +67,7 @@ namespace OpenSim.Region.Framework.Interfaces List GroupRoleDataRequest(IClientAPI remoteClient, UUID groupID); List GroupRoleMembersRequest(IClientAPI remoteClient, UUID groupID); GroupProfileData GroupProfileRequest(IClientAPI remoteClient, UUID groupID); - GroupMembershipData[] GetMembershipData(UUID UserID); + GroupMembershipData[] GetMembershipData(UUID UserID); GroupMembershipData GetMembershipData(UUID GroupID, UUID UserID); void UpdateGroupInfo(IClientAPI remoteClient, UUID groupID, string charter, bool showInList, UUID insigniaID, int membershipFee, bool openEnrollment, bool allowPublish, bool maturePublish); diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs index 93c2d095b1..8ea4b9342c 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs @@ -711,7 +711,10 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups public GroupMembershipData GetMembershipData(UUID groupID, UUID agentID) { - if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + if (m_debugEnabled) + m_log.DebugFormat( + "[GROUPS]: {0} called with groupID={1}, agentID={2}", + System.Reflection.MethodBase.GetCurrentMethod().Name, groupID, agentID); return m_groupData.GetAgentGroupMembership(null, agentID, groupID); } diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/IGroupsServicesConnector.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/IGroupsServicesConnector.cs index 9e0fa2de4a..621ab28565 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/IGroupsServicesConnector.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/IGroupsServicesConnector.cs @@ -55,7 +55,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups GroupInviteInfo GetAgentToGroupInvite(GroupRequestID requestID, UUID inviteID); void RemoveAgentToGroupInvite(GroupRequestID requestID, UUID inviteID); - void AddAgentToGroupRole(GroupRequestID requestID, UUID AgentID, UUID GroupID, UUID RoleID); void RemoveAgentFromGroupRole(GroupRequestID requestID, UUID AgentID, UUID GroupID, UUID RoleID); List GetAgentGroupRoles(GroupRequestID requestID, UUID AgentID, UUID GroupID); diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs index 2115376619..af1018f893 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs @@ -47,9 +47,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups [Extension(Path = "/OpenSim/RegionModules", NodeName = "RegionModule")] public class XmlRpcGroupsServicesConnectorModule : ISharedRegionModule, IGroupsServicesConnector { - private static readonly ILog m_log = - LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); - + private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public const GroupPowers m_DefaultEveryonePowers = GroupPowers.AllowSetHome | GroupPowers.Accountable | @@ -530,7 +528,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups return HashTableToGroupMembershipData(respData); } - public List GetAgentGroupMemberships(GroupRequestID requestID, UUID AgentID) { Hashtable param = new Hashtable(); @@ -777,7 +774,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups private GroupRecord GroupProfileHashtableToGroupRecord(Hashtable groupProfile) { - GroupRecord group = new GroupRecord(); group.GroupID = UUID.Parse((string)groupProfile["GroupID"]); group.GroupName = groupProfile["Name"].ToString(); @@ -796,6 +792,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups return group; } + private static GroupMembershipData HashTableToGroupMembershipData(Hashtable respData) { GroupMembershipData data = new GroupMembershipData(); @@ -828,6 +825,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups data.MembershipFee = int.Parse((string)respData["MembershipFee"]); data.OpenEnrollment = ((string)respData["OpenEnrollment"] == "1"); data.ShowInList = ((string)respData["ShowInList"] == "1"); + return data; } From 87fe96ae2c48216d006a02ef22392f0838fba17f Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 26 Mar 2010 00:10:29 +0000 Subject: [PATCH 14/32] replace recent IModule.GetGroup() with better GetGroupRecord(string name) --- OpenSim/Data/Null/NullRegionData.cs | 4 +- OpenSim/Framework/GroupData.cs | 2 - .../Framework/Interfaces/IGroupsModule.cs | 14 ++++-- .../Avatar/XmlRpcGroups/GroupsModule.cs | 46 +++++++++++-------- .../XmlRpcGroupsServicesConnectorModule.cs | 3 -- 5 files changed, 38 insertions(+), 31 deletions(-) diff --git a/OpenSim/Data/Null/NullRegionData.cs b/OpenSim/Data/Null/NullRegionData.cs index 5b9898c3c8..30ad747d25 100644 --- a/OpenSim/Data/Null/NullRegionData.cs +++ b/OpenSim/Data/Null/NullRegionData.cs @@ -40,7 +40,7 @@ namespace OpenSim.Data.Null { private static NullRegionData Instance = null; - private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); +// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); Dictionary m_regionData = new Dictionary(); @@ -192,4 +192,4 @@ namespace OpenSim.Data.Null return ret; } } -} +} \ No newline at end of file diff --git a/OpenSim/Framework/GroupData.cs b/OpenSim/Framework/GroupData.cs index e3b86265d6..815946cac1 100644 --- a/OpenSim/Framework/GroupData.cs +++ b/OpenSim/Framework/GroupData.cs @@ -48,7 +48,6 @@ namespace OpenSim.Framework public class GroupMembershipData { // Group base data - // public UUID GroupID; public string GroupName; public bool AllowPublish = true; @@ -61,7 +60,6 @@ namespace OpenSim.Framework public bool ShowInList = true; // Per user data - // public bool AcceptNotices = true; public int Contribution = 0; public ulong GroupPowers = 0; diff --git a/OpenSim/Region/Framework/Interfaces/IGroupsModule.cs b/OpenSim/Region/Framework/Interfaces/IGroupsModule.cs index e357969b5f..2c091e753f 100644 --- a/OpenSim/Region/Framework/Interfaces/IGroupsModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IGroupsModule.cs @@ -55,11 +55,18 @@ namespace OpenSim.Region.Framework.Interfaces bool openEnrollment, bool allowPublish, bool maturePublish); /// - /// Get a group given its name + /// Get a group /// - /// + /// Name of the group /// The group's data. Null if there is no such group. - DirGroupsReplyData? GetGroup(string name); + GroupRecord GetGroupRecord(string name); + + /// + /// Get a group + /// + /// ID of the group + /// The group's data. Null if there is no such group. + GroupRecord GetGroupRecord(UUID GroupID); void ActivateGroup(IClientAPI remoteClient, UUID groupID); List GroupTitlesRequest(IClientAPI remoteClient, UUID groupID); @@ -87,7 +94,6 @@ namespace OpenSim.Region.Framework.Interfaces void LeaveGroupRequest(IClientAPI remoteClient, UUID GroupID); void EjectGroupMemberRequest(IClientAPI remoteClient, UUID GroupID, UUID EjecteeID); void InviteGroupRequest(IClientAPI remoteClient, UUID GroupID, UUID InviteeID, UUID RoleID); - GroupRecord GetGroupRecord(UUID GroupID); void NotifyChange(UUID GroupID); } } \ No newline at end of file diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs index 8ea4b9342c..b0112953eb 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs @@ -365,7 +365,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups SendScenePresenceUpdate(dataForAgentID, activeGroupTitle); } - private void HandleUUIDGroupNameRequest(UUID GroupID,IClientAPI remoteClient) + private void HandleUUIDGroupNameRequest(UUID GroupID, IClientAPI remoteClient) { if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); @@ -595,6 +595,31 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups return m_groupData.GetGroupRecord(null, GroupID, null); } + public GroupRecord GetGroupRecord(string name) + { + if (m_debugEnabled) + m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); + + // XXX: Two call implementation. This could be done in a single call if the server itself were to + // implement the code below. + + List groups = m_groupData.FindGroups(null, name); + + DirGroupsReplyData? foundGroup = null; + + foreach (DirGroupsReplyData group in groups) + { + // We must have an exact match - I believe FindGroups will return partial matches + if (group.groupName == name) + foundGroup = group; + } + + if (null == foundGroup) + return null; + + return GetGroupRecord(((DirGroupsReplyData)foundGroup).groupID); + } + public void ActivateGroup(IClientAPI remoteClient, UUID groupID) { if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); @@ -768,25 +793,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups return groupID; } - public DirGroupsReplyData? GetGroup(string name) - { - if (m_debugEnabled) - m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); - - List groups = m_groupData.FindGroups(null, name); - - DirGroupsReplyData? foundGroup = null; - - foreach (DirGroupsReplyData group in groups) - { - // We must have an exact match - I believe FindGroups will return partial matches - if (group.groupName == name) - foundGroup = group; - } - - return foundGroup; - } - public GroupNoticeData[] GroupNoticesListRequest(IClientAPI remoteClient, UUID groupID) { if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs index af1018f893..24ae4f7975 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsServicesConnectorModule.cs @@ -352,11 +352,8 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups MemberGroupProfile.PowersMask = MemberInfo.GroupPowers; return MemberGroupProfile; - } - - public void SetAgentActiveGroup(GroupRequestID requestID, UUID AgentID, UUID GroupID) { Hashtable param = new Hashtable(); From dd1c1b3bcd89daf2cd47b79d8f46d70a9970f773 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Fri, 26 Mar 2010 11:08:14 -0700 Subject: [PATCH 15/32] Fixed a backwards null check that was preventing estate owner from being set and a misleading error message (in grid mode it tries to get a user, not create one) --- OpenSim/Region/Framework/Scenes/Scene.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 6495899117..7fed1ea9ed 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -1266,7 +1266,7 @@ namespace OpenSim.Region.Framework.Scenes UserAccount account = UserAccountService.GetUserAccount(m_regInfo.ScopeID, first, last); - if (account == null) + if (account != null) { account = new UserAccount(m_regInfo.ScopeID, first, last, String.Empty); if (account.ServiceURLs == null || (account.ServiceURLs != null && account.ServiceURLs.Count == 0)) @@ -1325,7 +1325,7 @@ namespace OpenSim.Region.Framework.Scenes } else { - MainConsole.Instance.Output("You appear to be connected to a grid and can't create users from here. Please enter the name of an existing user"); + MainConsole.Instance.Output("User account not found. Please enter the name of an existing user"); } } } From 4565e5dfbccace2698b262c2b73a12b789c4853b Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 26 Mar 2010 18:56:05 +0000 Subject: [PATCH 16/32] change trunk version to 0.7.Dev --- OpenSim/Framework/Servers/VersionInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenSim/Framework/Servers/VersionInfo.cs b/OpenSim/Framework/Servers/VersionInfo.cs index ec94b2db61..90b5f57929 100644 --- a/OpenSim/Framework/Servers/VersionInfo.cs +++ b/OpenSim/Framework/Servers/VersionInfo.cs @@ -29,7 +29,7 @@ namespace OpenSim { public class VersionInfo { - private const string VERSION_NUMBER = "0.6.9"; + private const string VERSION_NUMBER = "0.7"; private const Flavour VERSION_FLAVOUR = Flavour.Dev; public enum Flavour @@ -71,4 +71,4 @@ namespace OpenSim /// public readonly static int MajorInterfaceVersion = 6; } -} +} \ No newline at end of file From 5a2315c68c7ccac2fafeb7e2cd51ecda863a9fa7 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Fri, 26 Mar 2010 12:21:05 -0700 Subject: [PATCH 17/32] * Fixed a bug with null value handling in WebUtil.BuildQueryString() * Changed the null check back in estate manager setup but fixed the case for an existing account being found * Implemented SetPassword() in the SimianGrid auth connector --- OpenSim/Framework/WebUtil.cs | 8 +- OpenSim/Region/Framework/Scenes/Scene.cs | 6 +- .../SimianAuthenticationServiceConnector.cs | 43 +- bin/Newtonsoft.Json.XML | 11654 ++++++++-------- 4 files changed, 5877 insertions(+), 5834 deletions(-) diff --git a/OpenSim/Framework/WebUtil.cs b/OpenSim/Framework/WebUtil.cs index 16e44aff44..2843e202be 100644 --- a/OpenSim/Framework/WebUtil.cs +++ b/OpenSim/Framework/WebUtil.cs @@ -263,8 +263,12 @@ namespace OpenSim.Framework foreach (string key in parameters.Keys) { - foreach (string value in parameters.GetValues(key)) - items.Add(String.Concat(key, "=", HttpUtility.UrlEncode(value ?? String.Empty))); + string[] values = parameters.GetValues(key); + if (values != null) + { + foreach (string value in values) + items.Add(String.Concat(key, "=", HttpUtility.UrlEncode(value ?? String.Empty))); + } } return String.Join("&", items.ToArray()); diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 7fed1ea9ed..8a583c11e4 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -1266,8 +1266,9 @@ namespace OpenSim.Region.Framework.Scenes UserAccount account = UserAccountService.GetUserAccount(m_regInfo.ScopeID, first, last); - if (account != null) + if (account == null) { + // Create a new account account = new UserAccount(m_regInfo.ScopeID, first, last, String.Empty); if (account.ServiceURLs == null || (account.ServiceURLs != null && account.ServiceURLs.Count == 0)) { @@ -1325,7 +1326,8 @@ namespace OpenSim.Region.Framework.Scenes } else { - MainConsole.Instance.Output("User account not found. Please enter the name of an existing user"); + m_regInfo.EstateSettings.EstateOwner = account.PrincipalID; + m_regInfo.EstateSettings.Save(); } } } diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs index 29c9219040..031b3262b2 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianAuthenticationServiceConnector.cs @@ -177,9 +177,46 @@ namespace OpenSim.Services.Connectors.SimianGrid public bool SetPassword(UUID principalID, string passwd) { - // TODO: Use GetIdentities to find the md5hash identity for principalID - // and then update it with AddIdentity - m_log.Error("[AUTH CONNECTOR]: Changing passwords is not implemented yet"); + // Fetch the user name first + NameValueCollection requestArgs = new NameValueCollection + { + { "RequestMethod", "GetUser" }, + { "UserID", principalID.ToString() } + }; + + OSDMap response = WebUtil.PostToService(m_serverUrl, requestArgs); + if (response["Success"].AsBoolean() && response["User"] is OSDMap) + { + OSDMap userMap = (OSDMap)response["User"]; + string identifier = userMap["Name"].AsString(); + + if (!String.IsNullOrEmpty(identifier)) + { + // Add/update the md5hash identity + requestArgs = new NameValueCollection + { + { "RequestMethod", "AddIdentity" }, + { "Identifier", identifier }, + { "Credential", "$1$" + Utils.MD5String(passwd) }, + { "Type", "md5hash" }, + { "UserID", principalID.ToString() } + }; + + response = WebUtil.PostToService(m_serverUrl, requestArgs); + bool success = response["Success"].AsBoolean(); + + if (!success) + m_log.WarnFormat("[AUTH CONNECTOR]: Failed to set password for {0} ({1})", identifier, principalID); + + return success; + } + } + else + { + m_log.Warn("[AUTH CONNECTOR]: Failed to retrieve identities for " + principalID + ": " + + response["Message"].AsString()); + } + return false; } diff --git a/bin/Newtonsoft.Json.XML b/bin/Newtonsoft.Json.XML index 5af3593d22..1a1e56cef3 100644 --- a/bin/Newtonsoft.Json.XML +++ b/bin/Newtonsoft.Json.XML @@ -1,5827 +1,5827 @@ - - - - Newtonsoft.Json.Net20 - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A or a null reference if the next JSON token is null. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Gets the type of the current Json token. - - - - - Gets the text value of the current Json token. - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the end of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes the end of the current Json object or array. - - - - - Writes the current token. - - The to read the token from. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Indicates how the output is formatted. - - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Gets the token being writen. - - The token being writen. - - - - Initializes a new instance of the class. - - The stream. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor then fall back to single paramatized constructor. - - - - - Allow Json.NET to use a non-public default constructor. - - - - - Converts a binary value to and from a base 64 string value. - - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Create a custom object - - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - Type of the property. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The value. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Represents a raw JSON string. - - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Represents an abstract JSON token. - - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - The that matches the object path or a null reference if no matching token is found. - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - A flag to indicate whether an error should be thrown if no token is found. - The that matches the object path. - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The reference. - The object to reference. - - - - Specifies reference handling options for the . - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Instructs the how to serialize the collection. - - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets or sets a value that indicates whether to preserve object reference data. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Specifies default value handling options for the . - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Gets the type of the converter. - - The type of the converter. - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the member serialization. - - The member serialization. - - - - Specifies the settings on a object. - - - - - Initializes a new instance of the class. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Represents a reader that provides validation. - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current Json token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current Json token. - - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Specifies the member serialization options for the . - - - - - All members are serialized by default. Members can be excluded using the . - - - - - Only members must be marked with the are serialized. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. - - - - - The time represented is local time. - - - - - The time represented is UTC. - - - - - The time represented is not specified as either local time or Coordinated Universal Time (UTC). - - - - - Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. - - - - - Converts an to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Converts a object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Instructs the to always serialize the member with the specified name. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Represents a collection of . - - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be is used. - - A JSON string representation of the object. - - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The of object being deserialized. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The type of the object to deserialize. - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The object to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The object to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The JSON to deserialize. - The type of the object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - The exception thrown when an error occurs during Json serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance using the specified . - - The settings to be applied to the . - A new instance using the specified . - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the Json structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every node in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every node in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every node in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every node in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every node in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every node in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a JSON constructor. - - - - - Represents a token that can contain other tokens. - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Gets the with the specified key. - - - - - - Represents a JSON object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Occurs when a property value changes. - - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a JSON array. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a JSON property. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Gets the node type for this . - - The type. - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - Contains the JSON schema extension methods. - - - - - Determines whether the is valid. - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - Validates the specified . - - The source to test. - The schema to test with. - - - - Validates the specified . - - The source to test. - The schema to test with. - The validation event handler. - - - - Returns detailed information about the schema exception. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Resolves from an id. - - - - - Initializes a new instance of the class. - - - - - Gets a for the specified id. - - The id. - A for the specified id. - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Specifies undefined schema Id handling options for the . - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - Returns detailed information related to the . - - - - - Gets the associated with the validation event. - - The JsonSchemaException associated with the validation event. - - - - Gets the text description corresponding to the validation event. - - The text description. - - - - Represents the callback method that will handle JSON schema validation events and the . - - - - - Resolves member mappings for a type, camel casing property names. - - - - - Used by to resolves a for a given . - - - - - Used by to resolves a for a given . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Initializes a new instance of the class. - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Resolves the default for the contract. - - Type of the object. - - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The contract to create properties for. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's declaring types . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Name of the property. - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - Get and set values for a using dynamic methods. - - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides information surrounding an error. - - - - - Gets or sets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Provides data for the Error event. - - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Contract details for a used by the . - - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the default creator. - - The default creator. - - - - Gets or sets a value indicating whether [default creator non public]. - - true if the default object creator is non-public; otherwise, false. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member. - - - - - Gets the name of the property. - - The name of the property. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets the member converter. - - The member converter. - - - - Gets the default value. - - The default value. - - - - Gets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets the property null value handling. - - The null value handling. - - - - Gets the property default value handling. - - The default value handling. - - - - Gets the property reference loop handling. - - The reference loop handling. - - - - Gets the property object creation handling. - - The object creation handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The contract. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - An in-memory representation of a JSON Schema. - - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is optional. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets the maximum decimals. - - The maximum decimals. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the identity. - - The identity. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets a collection of options. - - A collection of options. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the extend . - - The extended . - - - - Gets or sets the format. - - The format. - - - - Generates a from a specified . - - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - The value types allowed by the . - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted type. - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The culture to use when converting. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - If set to true ignore case. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Gets the maximum valid value of an Enum type. Flags enums are ORed. - - The type of the returned value. Must be assignable from the enum's underlying value type. - The enum type to get the maximum value for. - - - - - Specifies the type of Json token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An interger. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null, empty or its contents are uninitialized values. - - The list. - - true if the collection is null or empty or its contents are uninitialized values; otherwise, false. - - - - - Makes a slice of the specified list in between the start and end indexes. - - The list. - The start index. - The end index. - A slice of the list. - - - - Makes a slice of the specified list in between the start and end indexes, - getting every so many items based upon the step. - - The list. - The start index. - The end index. - The step. - A slice of the list. - - - - Group the collection using a function which returns the key. - - The source collection to group. - The key selector. - A Dictionary with each key relating to a list of objects in a list grouped under it. - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Tests whether the list's items are their unitialized value. - - The list. - Whether the list's items are their unitialized value - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Determines whether the string contains white space. - - The string to test for white space. - - true if the string contains white space; otherwise, false. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Ensures the target string ends with the specified string. - - The target. - The value. - The target string with the value string at the end. - - - - Perform an action if the string is not null or empty. - - The value. - The action to perform. - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - The indent character. - - - - - Numbers the lines. - - The string to number. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - + + + + Newtonsoft.Json.Net20 + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets the type of the current Json token. + + + + + Gets the text value of the current Json token. + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Indicates how the output is formatted. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Initializes a new instance of the class. + + The stream. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The value. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The reference. + The object to reference. + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets a value that indicates whether to preserve object reference data. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + + + + + The time represented is local time. + + + + + The time represented is UTC. + + + + + The time represented is not specified as either local time or Coordinated Universal Time (UTC). + + + + + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Converts a object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the specified object to a Json object. + + The object to deserialize. + The deserialized object from the Json string. + + + + Deserializes the specified object to a Json object. + + The object to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the specified object to a Json object. + + The type of the object to deserialize. + The object to deserialize. + The deserialized object from the Json string. + + + + Deserializes the specified JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The object to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON string to the specified type. + + The type of the object to deserialize. + The object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON string to the specified type. + + The type of the object to deserialize. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON string to the specified type. + + The object to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON string to the specified type. + + The JSON to deserialize. + The type of the object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The contract to create properties for. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's declaring types . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator. + + The default creator. + + + + Gets or sets a value indicating whether [default creator non public]. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member. + + + + + Gets the name of the property. + + The name of the property. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the member converter. + + The member converter. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The contract. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is optional. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets the maximum decimals. + + The maximum decimals. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An interger. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null, empty or its contents are uninitialized values. + + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + + + + + Makes a slice of the specified list in between the start and end indexes. + + The list. + The start index. + The end index. + A slice of the list. + + + + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + + The list. + The start index. + The end index. + The step. + A slice of the list. + + + + Group the collection using a function which returns the key. + + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string contains white space. + + The string to test for white space. + + true if the string contains white space; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Ensures the target string ends with the specified string. + + The target. + The value. + The target string with the value string at the end. + + + + Perform an action if the string is not null or empty. + + The value. + The action to perform. + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + The indent character. + + + + + Numbers the lines. + + The string to number. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + From 9d747cb53b7b19933fd32e4e727dd3a2e633f449 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 26 Mar 2010 19:33:19 +0000 Subject: [PATCH 18/32] comment out very probably unused dist and distdir nant targets --- .nant/local.include | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/.nant/local.include b/.nant/local.include index 114c12d28f..3da7c1cd48 100644 --- a/.nant/local.include +++ b/.nant/local.include @@ -1,8 +1,23 @@ - + + @@ -296,17 +312,3 @@ - - - - - - - - - - - - - - From 05123c6bd5442a7711660fcfb2eedd12c0b82efa Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Fri, 26 Mar 2010 12:39:22 -0700 Subject: [PATCH 19/32] * Fixed a dictionary value retrieval in GroupsModule --- .../OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs index b0112953eb..eb630de9b0 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs @@ -1193,8 +1193,9 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups else { string domain = string.Empty; //m_sceneList[0].CommsManager.NetworkServersInfo.UserURL; - if (account.ServiceURLs["HomeURI"] != null) - domain = account.ServiceURLs["HomeURI"].ToString(); + object homeUriObj; + if (account.ServiceURLs.TryGetValue("HomeURI", out homeUriObj) && homeUriObj != null) + domain = homeUriObj.ToString(); // They're a local user, use this: info.RequestID.UserServiceURL = domain; } From bcac984f5d7d57db46a7459dc238481929d22a3e Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 26 Mar 2010 19:56:53 +0000 Subject: [PATCH 20/32] fix nant related build break --- .nant/local.include | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.nant/local.include b/.nant/local.include index 3da7c1cd48..0f3b9cd1ea 100644 --- a/.nant/local.include +++ b/.nant/local.include @@ -36,10 +36,9 @@ - - + From 9fb17e7ab235cdf21b2b0865aadf31e3f63bd018 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 27 Mar 2010 08:16:41 +1300 Subject: [PATCH 21/32] Select Random Region if Home or Last cant be found --- .../Services/LLLoginService/LLLoginService.cs | 48 +++++++++++++------ 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 1eaf4d4158..9846364cd9 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -332,16 +332,24 @@ namespace OpenSim.Services.LLLoginService if (tryDefaults) { - List defaults = m_GridService.GetDefaultRegions(account.ScopeID); - if (defaults != null && defaults.Count > 0) - { - region = defaults[0]; - where = "safe"; + List defaults = m_GridService.GetDefaultRegions(account.ScopeID); + if (defaults != null && defaults.Count > 0) + { + region = defaults[0]; + where = "safe"; + } + else + { + m_log.WarnFormat("[LLOGIN SERVICE]: User {0} {1} does not have a valid home and this grid does not have default locations.", + account.FirstName, account.LastName); + m_log.Info("[LLOGIN SERVICE]: Home Region Not Found Attempting to find random region"); + defaults = m_GridService.GetRegionsByName(account.ScopeID, "", 1); + if (defaults != null && defaults.Count > 0) + { + region = defaults[0]; + where = "safe"; + } } - else - m_log.WarnFormat( - "[LLOGIN SERVICE]: User {0} {1} does not have a valid home and this grid does not have default locations.", - account.FirstName, account.LastName); } return region; @@ -363,7 +371,18 @@ namespace OpenSim.Services.LLLoginService { region = defaults[0]; where = "safe"; + } + else + { + m_log.Info("[LLOGIN SERVICE]: Last Region Not Found Attempting to find random region"); + defaults = m_GridService.GetRegionsByName(account.ScopeID, "", 1); + if (defaults != null && defaults.Count > 0) + { + region = defaults[0]; + where = "safe"; + } } + } else { @@ -374,7 +393,7 @@ namespace OpenSim.Services.LLLoginService return region; } else - { + { // free uri form // e.g. New Moon&135&46 New Moon@osgrid.org:8002&153&34 where = "url"; @@ -395,8 +414,7 @@ namespace OpenSim.Services.LLLoginService if (regionName != null) { if (!regionName.Contains("@")) - { - + { List regions = m_GridService.GetRegionsByName(account.ScopeID, regionName, 1); if ((regions == null) || (regions != null && regions.Count == 0)) { @@ -416,7 +434,7 @@ namespace OpenSim.Services.LLLoginService return regions[0]; } else - { + { if (m_UserAgentService == null) { m_log.WarnFormat("[LLLOGIN SERVICE]: This llogin service is not running a user agent service, as such it can't lauch agents at foreign grids"); @@ -428,7 +446,8 @@ namespace OpenSim.Services.LLLoginService m_log.InfoFormat("[LLLOGIN SERVICE]: Got Custom Login URI {0}, can't locate region {1}", startLocation, regionName); return null; } - // Valid specification of a remote grid + // Valid specification of a remote grid + regionName = parts[0]; string domainLocator = parts[1]; parts = domainLocator.Split(new char[] {':'}); @@ -436,6 +455,7 @@ namespace OpenSim.Services.LLLoginService uint port = 0; if (parts.Length > 1) UInt32.TryParse(parts[1], out port); + GridRegion region = FindForeignRegion(domainName, port, regionName, out gatekeeper); return region; } From 8ee0bdb86e9dbc841a0ae5a581c18f63d06a548c Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 26 Mar 2010 13:13:33 -0700 Subject: [PATCH 22/32] Minor improvement on debug message. --- .../Services/LLLoginService/LLLoginService.cs | 61 +++++++++---------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/OpenSim/Services/LLLoginService/LLLoginService.cs b/OpenSim/Services/LLLoginService/LLLoginService.cs index 9846364cd9..7b25274b47 100644 --- a/OpenSim/Services/LLLoginService/LLLoginService.cs +++ b/OpenSim/Services/LLLoginService/LLLoginService.cs @@ -332,23 +332,22 @@ namespace OpenSim.Services.LLLoginService if (tryDefaults) { - List defaults = m_GridService.GetDefaultRegions(account.ScopeID); - if (defaults != null && defaults.Count > 0) - { - region = defaults[0]; - where = "safe"; - } - else - { - m_log.WarnFormat("[LLOGIN SERVICE]: User {0} {1} does not have a valid home and this grid does not have default locations.", - account.FirstName, account.LastName); - m_log.Info("[LLOGIN SERVICE]: Home Region Not Found Attempting to find random region"); - defaults = m_GridService.GetRegionsByName(account.ScopeID, "", 1); - if (defaults != null && defaults.Count > 0) - { - region = defaults[0]; - where = "safe"; - } + List defaults = m_GridService.GetDefaultRegions(account.ScopeID); + if (defaults != null && defaults.Count > 0) + { + region = defaults[0]; + where = "safe"; + } + else + { + m_log.WarnFormat("[LLOGIN SERVICE]: User {0} {1} does not have a valid home and this grid does not have default locations. Attempting to find random region", + account.FirstName, account.LastName); + defaults = m_GridService.GetRegionsByName(account.ScopeID, "", 1); + if (defaults != null && defaults.Count > 0) + { + region = defaults[0]; + where = "safe"; + } } } @@ -371,16 +370,16 @@ namespace OpenSim.Services.LLLoginService { region = defaults[0]; where = "safe"; - } - else - { - m_log.Info("[LLOGIN SERVICE]: Last Region Not Found Attempting to find random region"); - defaults = m_GridService.GetRegionsByName(account.ScopeID, "", 1); - if (defaults != null && defaults.Count > 0) - { - region = defaults[0]; - where = "safe"; - } + } + else + { + m_log.Info("[LLOGIN SERVICE]: Last Region Not Found Attempting to find random region"); + defaults = m_GridService.GetRegionsByName(account.ScopeID, "", 1); + if (defaults != null && defaults.Count > 0) + { + region = defaults[0]; + where = "safe"; + } } } @@ -393,7 +392,7 @@ namespace OpenSim.Services.LLLoginService return region; } else - { + { // free uri form // e.g. New Moon&135&46 New Moon@osgrid.org:8002&153&34 where = "url"; @@ -414,7 +413,7 @@ namespace OpenSim.Services.LLLoginService if (regionName != null) { if (!regionName.Contains("@")) - { + { List regions = m_GridService.GetRegionsByName(account.ScopeID, regionName, 1); if ((regions == null) || (regions != null && regions.Count == 0)) { @@ -434,7 +433,7 @@ namespace OpenSim.Services.LLLoginService return regions[0]; } else - { + { if (m_UserAgentService == null) { m_log.WarnFormat("[LLLOGIN SERVICE]: This llogin service is not running a user agent service, as such it can't lauch agents at foreign grids"); @@ -446,7 +445,7 @@ namespace OpenSim.Services.LLLoginService m_log.InfoFormat("[LLLOGIN SERVICE]: Got Custom Login URI {0}, can't locate region {1}", startLocation, regionName); return null; } - // Valid specification of a remote grid + // Valid specification of a remote grid regionName = parts[0]; string domainLocator = parts[1]; From f55dd3704d114615318a0b09ed4f1f709e85ad71 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 26 Mar 2010 13:14:13 -0700 Subject: [PATCH 23/32] Hippos with bin/Newtonsoft.Json.XML --- bin/Newtonsoft.Json.XML | 11654 +++++++++++++++++++------------------- 1 file changed, 5827 insertions(+), 5827 deletions(-) diff --git a/bin/Newtonsoft.Json.XML b/bin/Newtonsoft.Json.XML index 5af3593d22..1a1e56cef3 100644 --- a/bin/Newtonsoft.Json.XML +++ b/bin/Newtonsoft.Json.XML @@ -1,5827 +1,5827 @@ - - - - Newtonsoft.Json.Net20 - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - - - - Reads the next JSON token from the stream. - - true if the next token was read successfully; false if there are no more tokens to read. - - - - Reads the next JSON token from the stream as a . - - A or a null reference if the next JSON token is null. - - - - Skips the children of the current token. - - - - - Sets the current token. - - The new token. - - - - Sets the current token and value. - - The new token. - The value. - - - - Sets the state based on current token type. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Changes the to Closed. - - - - - Gets the current reader state. - - The current reader state. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - Gets the type of the current Json token. - - - - - Gets the text value of the current Json token. - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Specifies the state of the reader. - - - - - The Read method has not been called. - - - - - The end of the file has been reached successfully. - - - - - Reader is at a property. - - - - - Reader is at the start of an object. - - - - - Reader is in an object. - - - - - Reader is at the start of an array. - - - - - Reader is in an array. - - - - - The Close method has been called. - - - - - Reader has just read a value. - - - - - Reader is at the start of a constructor. - - - - - Reader in a constructor. - - - - - An error occurred that prevents the read operation from continuing. - - - - - The end of the file has been reached successfully. - - - - - Initializes a new instance of the class. - - The stream. - - - - Initializes a new instance of the class. - - The stream. - if set to true the root object will be read as a JSON array. - The used when reading values from BSON. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Gets or sets a value indicating whether the root object will be read as a JSON array. - - - true if the root object will be read as a JSON array; otherwise, false. - - - - - Gets or sets the used when reading values from BSON. - - The used when reading values from BSON. - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the end of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the end of an array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end constructor. - - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes the end of the current Json object or array. - - - - - Writes the current token. - - The to read the token from. - - - - Writes the specified end token. - - The end token to write. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON without changing the writer's state. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - An error will raised if the value cannot be written as a single JSON token. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets the top. - - The top. - - - - Gets the state of the writer. - - - - - Indicates how the output is formatted. - - - - - Initializes a new instance of the class writing to the given . - - The container being written to. - - - - Initializes a new instance of the class. - - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the end. - - The token. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Gets the token being writen. - - The token being writen. - - - - Initializes a new instance of the class. - - The stream. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Writes the end. - - The token. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes raw JSON where a value is expected and updates the writer's state. - - The raw JSON to write. - - - - Specifies how constructors are used when initializing objects during deserialization by the . - - - - - First attempt to use the public default constructor then fall back to single paramatized constructor. - - - - - Allow Json.NET to use a non-public default constructor. - - - - - Converts a binary value to and from a base 64 string value. - - - - - Converts an object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Create a custom object - - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Creates an object which will then be populated by the serializer. - - Type of the object. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Converts a to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Provides a base class for converting a to and from JSON. - - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Converts an to and from its name string value. - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Determines whether this instance can convert the specified object type. - - Type of the object. - - true if this instance can convert the specified object type; otherwise, false. - - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The name. - Type of the property. - - - - When overridden in a derived class, returns whether resetting an object changes its value. - - - true if resetting the component changes its value; otherwise, false. - - The component to test for reset capability. - - - - - When overridden in a derived class, gets the current value of the property on a component. - - - The value of a property for a given component. - - The component with the property for which to retrieve the value. - - - - - When overridden in a derived class, resets the value for this property of the component to the default value. - - The component with the property value that is to be reset to the default value. - - - - - When overridden in a derived class, sets the value of the component to a different value. - - The component with the property value that is to be set. - The new value. - - - - - When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. - - - true if the property should be persisted; otherwise, false. - - The component with the property to be examined for persistence. - - - - - When overridden in a derived class, gets the type of the component this property is bound to. - - - A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. - - - - - When overridden in a derived class, gets a value indicating whether this property is read-only. - - - true if the property is read-only; otherwise, false. - - - - - When overridden in a derived class, gets the type of the property. - - - A that represents the type of the property. - - - - - Gets the hash code for the name of the member. - - - - The hash code for the name of the member. - - - - - Represents a view of a . - - - - - Initializes a new instance of the class. - - The value. - - - - Returns the properties for this instance of a component. - - - A that represents the properties for this component instance. - - - - - Returns the properties for this instance of a component using the attribute array as a filter. - - An array of type that is used as a filter. - - A that represents the filtered properties for this component instance. - - - - - Returns a collection of custom attributes for this instance of a component. - - - An containing the attributes for this object. - - - - - Returns the class name of this instance of a component. - - - The class name of the object, or null if the class does not have a name. - - - - - Returns the name of this instance of a component. - - - The name of the object, or null if the object does not have a name. - - - - - Returns a type converter for this instance of a component. - - - A that is the converter for this object, or null if there is no for this object. - - - - - Returns the default event for this instance of a component. - - - An that represents the default event for this object, or null if this object does not have events. - - - - - Returns the default property for this instance of a component. - - - A that represents the default property for this object, or null if this object does not have properties. - - - - - Returns an editor of the specified type for this instance of a component. - - A that represents the editor for this object. - - An of the specified type that is the editor for this object, or null if the editor cannot be found. - - - - - Returns the events for this instance of a component using the specified attribute array as a filter. - - An array of type that is used as a filter. - - An that represents the filtered events for this component instance. - - - - - Returns the events for this instance of a component. - - - An that represents the events for this component instance. - - - - - Returns an object that contains the property described by the specified property descriptor. - - A that represents the property whose owner is to be found. - - An that represents the owner of the specified property. - - - - - Represents a raw JSON string. - - - - - Represents a value in JSON (string, integer, date, etc). - - - - - Represents an abstract JSON token. - - - - - Represents a collection of objects. - - The type of token - - - - Gets the with the specified key. - - - - - - Provides an interface to enable a class to return line and position information. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Gets the current line position. - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - Compares the values of two tokens, including the values of all descendant tokens. - - The first to compare. - The second to compare. - true if the tokens are equal; otherwise false. - - - - Adds the specified content immediately after this token. - - A content object that contains simple content or a collection of content objects to be added after this token. - - - - Adds the specified content immediately before this token. - - A content object that contains simple content or a collection of content objects to be added before this token. - - - - Returns a collection of the ancestor tokens of this token. - - A collection of the ancestor tokens of this token. - - - - Returns a collection of the sibling tokens after this token, in document order. - - A collection of the sibling tokens after this tokens, in document order. - - - - Returns a collection of the sibling tokens before this token, in document order. - - A collection of the sibling tokens before this token, in document order. - - - - Gets the with the specified key converted to the specified type. - - The type to convert the token to. - The token key. - The converted token value. - - - - Returns a collection of the child tokens of this token, in document order. - - An of containing the child tokens of this , in document order. - - - - Returns a collection of the child tokens of this token, in document order, filtered by the specified type. - - The type to filter the child tokens on. - A containing the child tokens of this , in document order. - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - A containing the child values of this , in document order. - - - - Removes this token from its parent. - - - - - Replaces this token with the specified token. - - The value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Returns the indented JSON for this token. - - - The indented JSON for this token. - - - - - Returns the JSON for this token using the given formatting and converters. - - Indicates how the output is formatted. - A collection of which will be used when writing the token. - The JSON for this token using the given formatting and converters. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Performs an implicit conversion from to . - - The value to create a from. - The initialized with the specified value. - - - - Creates an for this token. - - An that can be used to read this token and its descendants. - - - - Creates a from an object. - - The object that will be used to create . - A with the value of the specified object - - - - Creates a from an object using the specified . - - The object that will be used to create . - The that will be used when reading the object. - A with the value of the specified object - - - - Creates a from a . - - An positioned at the token to read into this . - - An that contains the token and its descendant tokens - that were read from the reader. The runtime type of the token is determined - by the token type of the first token encountered in the reader. - - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - The that matches the object path or a null reference if no matching token is found. - - - - Selects the token that matches the object path. - - - The object path from the current to the - to be returned. This must be a string of property names or array indexes separated - by periods, such as Tables[0].DefaultView[0].Price in C# or - Tables(0).DefaultView(0).Price in Visual Basic. - - A flag to indicate whether an error should be thrown if no token is found. - The that matches the object path. - - - - Gets a comparer that can compare two tokens for value equality. - - A that can compare two nodes for value equality. - - - - Gets or sets the parent. - - The parent. - - - - Gets the root of this . - - The root of this . - - - - Gets the node type for this . - - The type. - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the next sibling token of this node. - - The that contains the next sibling token. - - - - Gets the previous sibling token of this node. - - The that contains the previous sibling token. - - - - Gets the with the specified key. - - The with the specified key. - - - - Get the first child token of this token. - - A containing the first child token of the . - - - - Get the last child token of this token. - - A containing the last child token of the . - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Initializes a new instance of the class with the given value. - - The value. - - - - Creates a comment with the given value. - - The value. - A comment with the given value. - - - - Creates a string with the given value. - - The value. - A string with the given value. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - - The parameter is null. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Gets the node type for this . - - The type. - - - - Gets or sets the underlying token value. - - The underlying token value. - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class. - - The raw json. - - - - Creates an instance of with the content of the reader's current token. - - The reader. - An instance of with the content of the reader's current token. - - - - Indicating whether a property is required. - - - - - The property is not required. The default state. - - - - - The property must be defined in JSON but can be a null value. - - - - - The property must be defined in JSON and cannot be a null value. - - - - - Used to resolve references when serializing and deserializing JSON by the . - - - - - Resolves a reference to its object. - - The reference to resolve. - The object that - - - - Gets the reference for the sepecified object. - - The object to get a reference for. - The reference to the object. - - - - Determines whether the specified object is referenced. - - The object to test for a reference. - - true if the specified object is referenced; otherwise, false. - - - - - Adds a reference to the specified object. - - The reference. - The object to reference. - - - - Specifies reference handling options for the . - - - - - Do not preserve references when serializing types. - - - - - Preserve references when serializing into a JSON object structure. - - - - - Preserve references when serializing into a JSON array structure. - - - - - Preserve references when serializing. - - - - - Instructs the how to serialize the collection. - - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the id. - - The id. - - - - Gets or sets the title. - - The title. - - - - Gets or sets the description. - - The description. - - - - Gets or sets a value that indicates whether to preserve object reference data. - - - true to keep object reference; otherwise, false. The default is false. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a flag indicating whether the array can contain null items - - A flag indicating whether the array can contain null items. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets a value indicating whether null items are allowed in the collection. - - true if null items are allowed in the collection; otherwise, false. - - - - Specifies default value handling options for the . - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Instructs the to use the specified when serializing the member or class. - - - - - Initializes a new instance of the class. - - Type of the converter. - - - - Gets the type of the converter. - - The type of the converter. - - - - Instructs the how to serialize the object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified member serialization. - - The member serialization. - - - - Initializes a new instance of the class with the specified container Id. - - The container Id. - - - - Gets or sets the member serialization. - - The member serialization. - - - - Specifies the settings on a object. - - - - - Initializes a new instance of the class. - - - - - Gets or sets how reference loops (e.g. a class referencing itself) is handled. - - Reference loop handling. - - - - Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - Missing member handling. - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how null values are handled during serialization and deserialization. - - Null value handling. - - - - Gets or sets how null default are handled during serialization and deserialization. - - The default value handling. - - - - Gets or sets a collection that will be used during serialization. - - The converters. - - - - Gets or sets how object references are preserved by the serializer. - - The preserve references handling. - - - - Gets or sets how type name writing and reading is handled by the serializer. - - The type name handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - The contract resolver. - - - - Gets or sets the used by the serializer when resolving references. - - The reference resolver. - - - - Gets or sets the used by the serializer when resolving type names. - - The binder. - - - - Gets or sets the error handler called during serialization and deserialization. - - The error handler called during serialization and deserialization. - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Represents a reader that provides validation. - - - - - Initializes a new instance of the class that - validates the content returned from the given . - - The to read from while validating. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Sets an event handler for receiving schema validation errors. - - - - - Gets the text value of the current Json token. - - - - - - Gets the depth of the current token in the JSON document. - - The depth of the current token in the JSON document. - - - - Gets the quotation mark character used to enclose the value of a string. - - - - - - Gets the type of the current Json token. - - - - - - Gets The Common Language Runtime (CLR) type for the current Json token. - - - - - - Gets or sets the schema. - - The schema. - - - - Gets the used to construct this . - - The specified in the constructor. - - - - Compares tokens to determine whether they are equal. - - - - - Determines whether the specified objects are equal. - - The first object of type to compare. - The second object of type to compare. - - true if the specified objects are equal; otherwise, false. - - - - - Returns a hash code for the specified object. - - The for which a hash code is to be returned. - A hash code for the specified object. - The type of is a reference type and is null. - - - - Specifies the member serialization options for the . - - - - - All members are serialized by default. Members can be excluded using the . - - - - - Only members must be marked with the are serialized. - - - - - Specifies how object creation is handled by the . - - - - - Reuse existing objects, create new objects when needed. - - - - - Only reuse existing objects. - - - - - Always create new objects. - - - - - Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Gets or sets the date time styles used when converting a date to and from JSON. - - The date time styles used when converting a date to and from JSON. - - - - Gets or sets the date time format used when converting a date to and from JSON. - - The date time format used when converting a date to and from JSON. - - - - Gets or sets the culture used when converting a date to and from JSON. - - The culture used when converting a date to and from JSON. - - - - Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). - - - - - Writes the JSON representation of the object. - - The to write to. - The value. - The calling serializer. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. - - - - - The time represented is local time. - - - - - The time represented is UTC. - - - - - The time represented is not specified as either local time or Coordinated Universal Time (UTC). - - - - - Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. - - - - - Converts an to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Checks if the attributeName is a namespace attribute. - - Attribute name to test. - The attribute name prefix if it has one, otherwise an empty string. - True if attribute name is for a namespace attribute, otherwise false. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. - - The name of the deserialize root element. - - - - Converts a object to and from JSON. - - - - - Writes the JSON representation of the object. - - The to write to. - The calling serializer. - The value. - - - - Determines whether this instance can convert the specified value type. - - Type of the value. - - true if this instance can convert the specified value type; otherwise, false. - - - - - Reads the JSON representation of the object. - - The to read from. - Type of the object. - The calling serializer. - The object value. - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class with the specified . - - The TextReader containing the XML data to read. - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Changes the state to closed. - - - - - Gets a value indicating whether the class can return line information. - - - true if LineNumber and LinePosition can be provided; otherwise, false. - - - - - Gets the current line number. - - - The current line number or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Gets the current line position. - - - The current line position or 0 if no line information is available (for example, HasLineInfo returns false). - - - - - Instructs the to always serialize the member with the specified name. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with the specified name. - - Name of the property. - - - - Gets or sets the null value handling used when serializing this property. - - The null value handling. - - - - Gets or sets the default value handling used when serializing this property. - - The default value handling. - - - - Gets or sets the reference loop handling used when serializing this property. - - The reference loop handling. - - - - Gets or sets the object creation handling used when deserializing this property. - - The object creation handling. - - - - Gets or sets whether this property's value is serialized as a reference. - - Whether this property's value is serialized as a reference. - - - - Gets or sets the name of the property. - - The name of the property. - - - - Gets or sets a value indicating whether this property is required. - - - A value indicating whether this property is required. - - - - - Instructs the not to serialize the public field or public read/write property value. - - - - - Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. - - - - - Creates an instance of the JsonWriter class using the specified . - - The TextWriter to write to. - - - - Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. - - - - - Closes this stream and the underlying stream. - - - - - Writes the beginning of a Json object. - - - - - Writes the beginning of a Json array. - - - - - Writes the start of a constructor with the given name. - - The name of the constructor. - - - - Writes the specified end token. - - The end token to write. - - - - Writes the property name of a name/value pair on a Json object. - - The name of the property. - - - - Writes indent characters. - - - - - Writes the JSON value delimiter. - - - - - Writes an indent space. - - - - - Writes a null value. - - - - - Writes an undefined value. - - - - - Writes raw JSON. - - The raw JSON to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes a value. - - The value to write. - - - - Writes out a comment /*...*/ containing the specified text. - - Text to place inside the comment. - - - - Writes out the given white space. - - The string of white space characters. - - - - Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. - - - - - Gets or sets which character to use to quote attribute values. - - - - - Gets or sets which character to use for indenting when is set to Formatting.Indented. - - - - - Gets or sets a value indicating whether object names will be surrounded with quotes. - - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - The exception thrown when an error occurs while reading Json text. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Represents a collection of . - - - - - Provides methods for converting between common language runtime types and JSON types. - - - - - Represents JavaScript's boolean value true as a string. This field is read-only. - - - - - Represents JavaScript's boolean value false as a string. This field is read-only. - - - - - Represents JavaScript's null as a string. This field is read-only. - - - - - Represents JavaScript's undefined as a string. This field is read-only. - - - - - Represents JavaScript's positive infinity as a string. This field is read-only. - - - - - Represents JavaScript's negative infinity as a string. This field is read-only. - - - - - Represents JavaScript's NaN as a string. This field is read-only. - - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - The string delimiter character. - A JSON string representation of the . - - - - Converts the to its JSON string representation. - - The value to convert. - A JSON string representation of the . - - - - Serializes the specified object to a JSON string. - - The object to serialize. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string. - - The object to serialize. - Indicates how the output is formatted. - - A JSON string representation of the object. - - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - A collection converters used while serializing. - A JSON string representation of the object. - - - - Serializes the specified object to a JSON string using a collection of . - - The object to serialize. - Indicates how the output is formatted. - The used to serialize the object. - If this is null, default serialization settings will be is used. - - A JSON string representation of the object. - - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The object to deserialize. - The of object being deserialized. - The deserialized object from the Json string. - - - - Deserializes the specified object to a Json object. - - The type of the object to deserialize. - The object to deserialize. - The deserialized object from the Json string. - - - - Deserializes the specified JSON to the given anonymous type. - - - The anonymous type to deserialize to. This can't be specified - traditionally and must be infered from the anonymous type passed - as a parameter. - - The object to deserialize. - The anonymous type object. - The deserialized anonymous type from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The type of the object to deserialize. - The object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The object to deserialize. - The type of the object to deserialize. - Converters to use while deserializing. - The deserialized object from the JSON string. - - - - Deserializes the JSON string to the specified type. - - The JSON to deserialize. - The type of the object to deserialize. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - The deserialized object from the JSON string. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - - - Populates the object with values from the JSON string. - - The JSON to populate values from. - The target object to populate values onto. - - The used to deserialize the object. - If this is null, default serialization settings will be is used. - - - - - Serializes the XML node to a JSON string. - - The node to serialize. - A JSON string of the XmlNode. - - - - Deserializes the XmlNode from a JSON string. - - The JSON string. - The deserialized XmlNode - - - - Deserializes the XmlNode from a JSON string nested in a root elment. - - The JSON string. - The name of the root element to append when deserializing. - The deserialized XmlNode - - - - The exception thrown when an error occurs during Json serialization or deserialization. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Serializes and deserializes objects into and from the JSON format. - The enables you to control how objects are encoded into JSON. - - - - - Initializes a new instance of the class. - - - - - Creates a new instance using the specified . - - The settings to be applied to the . - A new instance using the specified . - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Populates the JSON values onto the target object. - - The that contains the JSON structure to reader values from. - The target object to populate values onto. - - - - Deserializes the Json structure contained by the specified . - - The that contains the JSON structure to deserialize. - The being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The type of the object to deserialize. - The instance of being deserialized. - - - - Deserializes the Json structure contained by the specified - into an instance of the specified type. - - The containing the object. - The of object being deserialized. - The instance of being deserialized. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Serializes the specified and writes the Json structure - to a Stream using the specified . - - The used to write the Json structure. - The to serialize. - - - - Occurs when the errors during serialization and deserialization. - - - - - Gets or sets the used by the serializer when resolving references. - - - - - Gets or sets the used by the serializer when resolving type names. - - - - - Gets or sets how type name writing and reading is handled by the serializer. - - - - - Gets or sets how object references are preserved by the serializer. - - - - - Get or set how reference loops (e.g. a class referencing itself) is handled. - - - - - Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. - - - - - Get or set how null values are handled during serialization and deserialization. - - - - - Get or set how null default are handled during serialization and deserialization. - - - - - Gets or sets how objects are created during deserialization. - - The object creation handling. - - - - Gets or sets how constructors are used during deserialization. - - The constructor handling. - - - - Gets a collection that will be used during serialization. - - Collection that will be used during serialization. - - - - Gets or sets the contract resolver used by the serializer when - serializing .NET objects to JSON and vice versa. - - - - - Gets or sets the used by the serializer when invoking serialization callback methods. - - The context. - - - - Contains the LINQ to JSON extension methods. - - - - - Returns a collection of tokens that contains the ancestors of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the ancestors of every node in the source collection. - - - - Returns a collection of tokens that contains the descendants of every token in the source collection. - - The type of the objects in source, constrained to . - An of that contains the source collection. - An of that contains the descendants of every node in the source collection. - - - - Returns a collection of child properties of every object in the source collection. - - An of that contains the source collection. - An of that contains the properties of every object in the source collection. - - - - Returns a collection of child values of every object in the source collection with the given key. - - An of that contains the source collection. - The token key. - An of that contains the values of every node in the source collection with the given key. - - - - Returns a collection of child values of every object in the source collection. - - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child values of every object in the source collection with the given key. - - The type to convert the values to. - An of that contains the source collection. - The token key. - An that contains the converted values of every node in the source collection with the given key. - - - - Returns a collection of converted child values of every object in the source collection. - - The type to convert the values to. - An of that contains the source collection. - An that contains the converted values of every node in the source collection. - - - - Converts the value. - - The type to convert the value to. - A cast as a of . - A converted value. - - - - Converts the value. - - The source collection type. - The type to convert the value to. - A cast as a of . - A converted value. - - - - Returns a collection of child tokens of every array in the source collection. - - The source collection type. - An of that contains the source collection. - An of that contains the values of every node in the source collection. - - - - Returns a collection of converted child tokens of every array in the source collection. - - An of that contains the source collection. - The type to convert the values to. - The source collection type. - An that contains the converted values of every node in the source collection. - - - - Returns the input typed as . - - An of that contains the source collection. - The input typed as . - - - - Returns the input typed as . - - The source collection type. - An of that contains the source collection. - The input typed as . - - - - Represents a JSON constructor. - - - - - Represents a token that can contain other tokens. - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Returns a collection of the child values of this token, in document order. - - The type to convert the values to. - - A containing the child values of this , in document order. - - - - - Returns a collection of the descendant tokens for this token in document order. - - An containing the descendant tokens of the . - - - - Adds the specified content as children of this . - - The content to be added. - - - - Adds the specified content as the first children of this . - - The content to be added. - - - - Creates an that can be used to add tokens to the . - - An that is ready to have content written to it. - - - - Replaces the children nodes of this token with the specified content. - - The content. - - - - Removes the child nodes from this token. - - - - - Occurs when the list changes or an item in the list changes. - - - - - Occurs before an item is added to the collection. - - - - - Gets a value indicating whether this token has childen tokens. - - - true if this token has child values; otherwise, false. - - - - - Get the first child token of this token. - - - A containing the first child token of the . - - - - - Get the last child token of this token. - - - A containing the last child token of the . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name and content. - - The constructor name. - The contents of the constructor. - - - - Initializes a new instance of the class with the specified name. - - The constructor name. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets or sets the name of this constructor. - - The constructor name. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Represents a collection of objects. - - The type of token - - - - An empty collection of objects. - - - - - Initializes a new instance of the struct. - - The enumerable. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Gets the with the specified key. - - - - - - Represents a JSON object. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Initializes a new instance of the class with the specified content. - - The contents of the object. - - - - Gets an of this object's properties. - - An of this object's properties. - - - - Gets a the specified name. - - The property name. - A with the specified name or null. - - - - Gets an of this object's property values. - - An of this object's property values. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Adds the specified property name. - - Name of the property. - The value. - - - - Removes the property with the specified name. - - Name of the property. - true if item was successfully removed; otherwise, false. - - - - Tries the get value. - - Name of the property. - The value. - true if a value was successfully retrieved; otherwise, false. - - - - Returns an enumerator that iterates through the collection. - - - A that can be used to iterate through the collection. - - - - - Raises the event with the provided arguments. - - Name of the property. - - - - Occurs when a property value changes. - - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the with the specified property name. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a JSON array. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Initializes a new instance of the class with the specified content. - - The contents of the array. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Load a from a string that contains JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Creates a from an object. - - The object that will be used to create . - A with the values of the specified object - - - - Creates a from an object. - - The object that will be used to create . - The that will be used to read the object. - A with the values of the specified object - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Determines the index of a specific item in the . - - The object to locate in the . - - The index of if found in the list; otherwise, -1. - - - - - Inserts an item to the at the specified index. - - The zero-based index at which should be inserted. - The object to insert into the . - - is not a valid index in the . - The is read-only. - - - - Removes the item at the specified index. - - The zero-based index of the item to remove. - - is not a valid index in the . - The is read-only. - - - - Adds an item to the . - - The object to add to the . - The is read-only. - - - - Removes all items from the . - - The is read-only. - - - - Determines whether the contains a specific value. - - The object to locate in the . - - true if is found in the ; otherwise, false. - - - - - Removes the first occurrence of a specific object from the . - - The object to remove from the . - - true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . - - The is read-only. - - - - Gets the node type for this . - - The type. - - - - Gets the with the specified key. - - The with the specified key. - - - - Gets or sets the at the specified index. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. - - - - - Initializes a new instance of the class. - - The token to read from. - - - - Reads the next JSON token from the stream as a . - - - A or a null reference if the next JSON token is null. - - - - - Reads the next JSON token from the stream. - - - true if the next token was read successfully; false if there are no more tokens to read. - - - - - Represents a JSON property. - - - - - Initializes a new instance of the class from another object. - - A object to copy from. - - - - Returns a collection of the child tokens of this token, in document order. - - - An of containing the child tokens of this , in document order. - - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Initializes a new instance of the class. - - The property name. - The property content. - - - - Writes this token to a . - - A into which this method will write. - A collection of which will be used when writing the token. - - - - Loads an from a . - - A that will be read for the content of the . - A that contains the JSON that was read from the specified . - - - - Gets the property name. - - The property name. - - - - Gets or sets the property value. - - The property value. - - - - Gets the node type for this . - - The type. - - - - Specifies the type of token. - - - - - No token type has been set. - - - - - A JSON object. - - - - - A JSON array. - - - - - A JSON constructor. - - - - - A JSON object property. - - - - - A comment. - - - - - An integer value. - - - - - A float value. - - - - - A string value. - - - - - A boolean value. - - - - - A null value. - - - - - An undefined value. - - - - - A date value. - - - - - A raw JSON value. - - - - - A collection of bytes value. - - - - - Contains the JSON schema extension methods. - - - - - Determines whether the is valid. - - The source to test. - The schema to test with. - - true if the specified is valid; otherwise, false. - - - - - Validates the specified . - - The source to test. - The schema to test with. - - - - Validates the specified . - - The source to test. - The schema to test with. - The validation event handler. - - - - Returns detailed information about the schema exception. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with a specified error message. - - The error message that explains the reason for the exception. - - - - Initializes a new instance of the class - with a specified error message and a reference to the inner exception that is the cause of this exception. - - The error message that explains the reason for the exception. - The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. - - - - Gets the line number indicating where the error occurred. - - The line number indicating where the error occurred. - - - - Gets the line position indicating where the error occurred. - - The line position indicating where the error occurred. - - - - Resolves from an id. - - - - - Initializes a new instance of the class. - - - - - Gets a for the specified id. - - The id. - A for the specified id. - - - - Gets or sets the loaded schemas. - - The loaded schemas. - - - - Specifies undefined schema Id handling options for the . - - - - - Do not infer a schema Id. - - - - - Use the .NET type name as the schema Id. - - - - - Use the assembly qualified .NET type name as the schema Id. - - - - - Returns detailed information related to the . - - - - - Gets the associated with the validation event. - - The JsonSchemaException associated with the validation event. - - - - Gets the text description corresponding to the validation event. - - The text description. - - - - Represents the callback method that will handle JSON schema validation events and the . - - - - - Resolves member mappings for a type, camel casing property names. - - - - - Used by to resolves a for a given . - - - - - Used by to resolves a for a given . - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Initializes a new instance of the class. - - - - - Resolves the contract for a given type. - - The type to resolve a contract for. - The contract for a given type. - - - - Gets the serializable members for the type. - - The type to get serializable members for. - The serializable members for the type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Resolves the default for the contract. - - Type of the object. - - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates a for the given type. - - Type of the object. - A for the given type. - - - - Creates properties for the given . - - The contract to create properties for. - Properties for the given . - - - - Creates the used by the serializer to get and set values from a member. - - The member. - The used by the serializer to get and set values from a member. - - - - Creates a for the given . - - The member's declaring types . - The member to create a for. - A created for the given . - - - - Resolves the name of the property. - - Name of the property. - Name of the property. - - - - Gets or sets the default members search flags. - - The default members search flags. - - - - Resolves the name of the property. - - Name of the property. - The property name camel cased. - - - - The default serialization binder used when resolving and loading classes from type names. - - - - - When overridden in a derived class, controls the binding of a serialized object to a type. - - Specifies the name of the serialized object. - Specifies the name of the serialized object. - - The type of the object the formatter creates a new instance of. - - - - - Get and set values for a using dynamic methods. - - - - - Provides methods to get and set values. - - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Provides information surrounding an error. - - - - - Gets or sets the error. - - The error. - - - - Gets the original object that caused the error. - - The original object that caused the error. - - - - Gets the member that caused the error. - - The member that caused the error. - - - - Gets or sets a value indicating whether this is handled. - - true if handled; otherwise, false. - - - - Provides data for the Error event. - - - - - Initializes a new instance of the class. - - The current object. - The error context. - - - - Gets the current object the error event is being raised against. - - The current object the error event is being raised against. - - - - Gets the error context. - - The error context. - - - - Contract details for a used by the . - - - - - Contract details for a used by the . - - - - - Gets the underlying type for the contract. - - The underlying type for the contract. - - - - Gets or sets the type created during deserialization. - - The type created during deserialization. - - - - Gets or sets whether this type contract is serialized as a reference. - - Whether this type contract is serialized as a reference. - - - - Gets or sets the default for this contract. - - The converter. - - - - Gets or sets the method called immediately after deserialization of the object. - - The method called immediately after deserialization of the object. - - - - Gets or sets the method called during deserialization of the object. - - The method called during deserialization of the object. - - - - Gets or sets the method called after serialization of the object graph. - - The method called after serialization of the object graph. - - - - Gets or sets the method called before serialization of the object. - - The method called before serialization of the object. - - - - Gets or sets the default creator. - - The default creator. - - - - Gets or sets a value indicating whether [default creator non public]. - - true if the default object creator is non-public; otherwise, false. - - - - Gets or sets the method called when an error is thrown during the serialization of the object. - - The method called when an error is thrown during the serialization of the object. - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Maps a JSON property to a .NET member. - - - - - Gets the name of the property. - - The name of the property. - - - - Gets the that will get and set the during serialization. - - The that will get and set the during serialization. - - - - Gets or sets the type of the property. - - The type of the property. - - - - Gets or sets the for the property. - If set this converter takes presidence over the contract converter for the property type. - - The converter. - - - - Gets a value indicating whether this is ignored. - - true if ignored; otherwise, false. - - - - Gets a value indicating whether this is readable. - - true if readable; otherwise, false. - - - - Gets a value indicating whether this is writable. - - true if writable; otherwise, false. - - - - Gets the member converter. - - The member converter. - - - - Gets the default value. - - The default value. - - - - Gets a value indicating whether this is required. - - A value indicating whether this is required. - - - - Gets a value indicating whether this property preserves object references. - - - true if this instance is reference; otherwise, false. - - - - - Gets the property null value handling. - - The null value handling. - - - - Gets the property default value handling. - - The default value handling. - - - - Gets the property reference loop handling. - - The reference loop handling. - - - - Gets the property object creation handling. - - The object creation handling. - - - - A collection of objects. - - - - - Initializes a new instance of the class. - - The contract. - - - - When implemented in a derived class, extracts the key from the specified element. - - The element from which to extract the key. - The key for the specified element. - - - - Adds a object. - - The property to add to the collection. - - - - Gets the closest matching object. - First attempts to get an exact case match of propertyName and then - a case insensitive match. - - Name of the property. - A matching property if found. - - - - Gets a property by property name. - - The name of the property to get. - Type property name string comparison. - A matching property if found. - - - - Specifies missing member handling options for the . - - - - - Ignore a missing member and do not attempt to deserialize it. - - - - - Throw a when a missing member is encountered during deserialization. - - - - - Specifies null value handling options for the . - - - - - Include null values when serializing and deserializing objects. - - - - - Ignore null values when serializing and deserializing objects. - - - - - Specifies reference loop handling options for the . - - - - - Throw a when a loop is encountered. - - - - - Ignore loop references and do not serialize. - - - - - Serialize loop references. - - - - - An in-memory representation of a JSON Schema. - - - - - Initializes a new instance of the class. - - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The object representing the JSON Schema. - - - - Reads a from the specified . - - The containing the JSON Schema to read. - The to use when resolving schema references. - The object representing the JSON Schema. - - - - Load a from a string that contains schema JSON. - - A that contains JSON. - A populated from the string that contains JSON. - - - - Parses the specified json. - - The json. - The resolver. - A populated from the string that contains JSON. - - - - Writes this schema to a . - - A into which this method will write. - - - - Writes this schema to a using the specified . - - A into which this method will write. - The resolver used. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Gets or sets the id. - - - - - Gets or sets the title. - - - - - Gets or sets whether the object is optional. - - - - - Gets or sets whether the object is read only. - - - - - Gets or sets whether the object is visible to users. - - - - - Gets or sets whether the object is transient. - - - - - Gets or sets the description of the object. - - - - - Gets or sets the types of values allowed by the object. - - The type. - - - - Gets or sets the pattern. - - The pattern. - - - - Gets or sets the minimum length. - - The minimum length. - - - - Gets or sets the maximum length. - - The maximum length. - - - - Gets or sets the maximum decimals. - - The maximum decimals. - - - - Gets or sets the minimum. - - The minimum. - - - - Gets or sets the maximum. - - The maximum. - - - - Gets or sets the minimum number of items. - - The minimum number of items. - - - - Gets or sets the maximum number of items. - - The maximum number of items. - - - - Gets or sets the of items. - - The of items. - - - - Gets or sets the of properties. - - The of properties. - - - - Gets or sets the of additional properties. - - The of additional properties. - - - - Gets or sets a value indicating whether additional properties are allowed. - - - true if additional properties are allowed; otherwise, false. - - - - - Gets or sets the required property if this property is present. - - The required property if this property is present. - - - - Gets or sets the identity. - - The identity. - - - - Gets or sets the a collection of valid enum values allowed. - - A collection of valid enum values allowed. - - - - Gets or sets a collection of options. - - A collection of options. - - - - Gets or sets disallowed types. - - The disallow types. - - - - Gets or sets the default value. - - The default value. - - - - Gets or sets the extend . - - The extended . - - - - Gets or sets the format. - - The format. - - - - Generates a from a specified . - - - - - Generate a from the specified type. - - The type to generate a from. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Generate a from the specified type. - - The type to generate a from. - The used to resolve schema references. - Specify whether the generated root will be nullable. - A generated from the specified type. - - - - Gets or sets how undefined schemas are handled by the serializer. - - - - - Gets or sets the contract resolver. - - The contract resolver. - - - - The value types allowed by the . - - - - - No type specified. - - - - - String type. - - - - - Float type. - - - - - Integer type. - - - - - Boolean type. - - - - - Object type. - - - - - Array type. - - - - - Null type. - - - - - Any type. - - - - - Contract details for a used by the . - - - - - Initializes a new instance of the class. - - The underlying type for the contract. - - - - Gets or sets the object member serialization. - - The member object serialization. - - - - Gets the object's properties. - - The object's properties. - - - - Gets or sets the parametrized constructor used to create the object. - - The parametrized constructor. - - - - When applied to a method, specifies that the method is called when an error occurs serializing an object. - - - - - Get and set values for a using reflection. - - - - - Initializes a new instance of the class. - - The member info. - - - - Sets the value. - - The target to set the value on. - The value to set on the target. - - - - Gets the value. - - The target to get the value from. - The value. - - - - Specifies type name handling options for the . - - - - - Do not include the .NET type name when serializing types. - - - - - Include the .NET type name when serializing into a JSON object structure. - - - - - Include the .NET type name when serializing into a JSON array structure. - - - - - Always include the .NET type name when serializing. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted type. - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted type. - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert or cast the value to. - The value to convert. - The culture to use when converting. - The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert or cast the value to. - - The converted type. If conversion was unsuccessful, the initial value - is returned if assignable to the target type. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The type to convert the value to. - The value to convert. - The culture to use when converting. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Converts the value to the specified type. If the value is unable to be converted, the - value is checked whether it assignable to the specified type. - - The value to convert. - The culture to use when converting. - The type to convert the value to. - The converted value if the conversion was successful or the default value of T if it failed. - - true if initialValue was converted successfully or is assignable; otherwise, false. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - - - - - Parses the specified enum member name, returning it's value. - - Name of the enum member. - If set to true ignore case. - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - - - - - Gets a dictionary of the names and values of an Enum type. - - The enum type to get names and values for. - - - - - Gets the maximum valid value of an Enum type. Flags enums are ORed. - - The type of the returned value. Must be assignable from the enum's underlying value type. - The enum type to get the maximum value for. - - - - - Specifies the type of Json token. - - - - - This is returned by the if a method has not been called. - - - - - An object start token. - - - - - An array start token. - - - - - A constructor start token. - - - - - An object property name. - - - - - A comment. - - - - - Raw JSON. - - - - - An interger. - - - - - A float. - - - - - A string. - - - - - A boolean. - - - - - A null token. - - - - - An undefined token. - - - - - An object end token. - - - - - An array end token. - - - - - A constructor end token. - - - - - A Date. - - - - - Byte data. - - - - - Specifies the state of the . - - - - - An exception has been thrown, which has left the in an invalid state. - You may call the method to put the in the Closed state. - Any other method calls results in an being thrown. - - - - - The method has been called. - - - - - An object is being written. - - - - - A array is being written. - - - - - A constructor is being written. - - - - - A property is being written. - - - - - A write method has not been called. - - - - - Specifies formatting options for the . - - - - - No special formatting is applied. This is the default. - - - - - Causes child objects to be indented according to the and settings. - - - - - Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null or empty. - - The collection. - - true if the collection is null or empty; otherwise, false. - - - - - Determines whether the collection is null, empty or its contents are uninitialized values. - - The list. - - true if the collection is null or empty or its contents are uninitialized values; otherwise, false. - - - - - Makes a slice of the specified list in between the start and end indexes. - - The list. - The start index. - The end index. - A slice of the list. - - - - Makes a slice of the specified list in between the start and end indexes, - getting every so many items based upon the step. - - The list. - The start index. - The end index. - The step. - A slice of the list. - - - - Group the collection using a function which returns the key. - - The source collection to group. - The key selector. - A Dictionary with each key relating to a list of objects in a list grouped under it. - - - - Adds the elements of the specified collection to the specified generic IList. - - The list to add to. - The collection of elements to add. - - - - Gets the type of the typed collection's items. - - The type. - The type of the typed collection's items. - - - - Tests whether the list's items are their unitialized value. - - The list. - Whether the list's items are their unitialized value - - - - Gets the member's underlying type. - - The member. - The underlying type of the member. - - - - Determines whether the member is an indexed property. - - The member. - - true if the member is an indexed property; otherwise, false. - - - - - Determines whether the property is an indexed property. - - The property. - - true if the property is an indexed property; otherwise, false. - - - - - Gets the member's value on the object. - - The member. - The target object. - The member's value on the object. - - - - Sets the member's value on the target object. - - The member. - The target. - The value. - - - - Determines whether the specified MemberInfo can be read. - - The MemberInfo to determine whether can be read. - - true if the specified MemberInfo can be read; otherwise, false. - - - - - Determines whether the specified MemberInfo can be set. - - The MemberInfo to determine whether can be set. - - true if the specified MemberInfo can be set; otherwise, false. - - - - - Determines whether the string contains white space. - - The string to test for white space. - - true if the string contains white space; otherwise, false. - - - - - Determines whether the string is all white space. Empty string will return false. - - The string to test whether it is all white space. - - true if the string is all white space; otherwise, false. - - - - - Ensures the target string ends with the specified string. - - The target. - The value. - The target string with the value string at the end. - - - - Perform an action if the string is not null or empty. - - The value. - The action to perform. - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - - - - - Indents the specified string. - - The string to indent. - The number of characters to indent by. - The indent character. - - - - - Numbers the lines. - - The string to number. - - - - - Nulls an empty string. - - The string. - Null if the string was null, otherwise the string unchanged. - - - + + + + Newtonsoft.Json.Net20 + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets the type of the current Json token. + + + + + Gets the text value of the current Json token. + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Indicates how the output is formatted. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Initializes a new instance of the class. + + The stream. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The value. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The reference. + The object to reference. + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets a value that indicates whether to preserve object reference data. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + + + + + The time represented is local time. + + + + + The time represented is UTC. + + + + + The time represented is not specified as either local time or Coordinated Universal Time (UTC). + + + + + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Converts a object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The calling serializer. + The object value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the specified object to a Json object. + + The object to deserialize. + The deserialized object from the Json string. + + + + Deserializes the specified object to a Json object. + + The object to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the specified object to a Json object. + + The type of the object to deserialize. + The object to deserialize. + The deserialized object from the Json string. + + + + Deserializes the specified JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The object to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON string to the specified type. + + The type of the object to deserialize. + The object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON string to the specified type. + + The type of the object to deserialize. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON string to the specified type. + + The object to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON string to the specified type. + + The JSON to deserialize. + The type of the object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The contract to create properties for. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's declaring types . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator. + + The default creator. + + + + Gets or sets a value indicating whether [default creator non public]. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member. + + + + + Gets the name of the property. + + The name of the property. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the member converter. + + The member converter. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The contract. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is optional. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets the maximum decimals. + + The maximum decimals. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An interger. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null, empty or its contents are uninitialized values. + + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + + + + + Makes a slice of the specified list in between the start and end indexes. + + The list. + The start index. + The end index. + A slice of the list. + + + + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + + The list. + The start index. + The end index. + The step. + A slice of the list. + + + + Group the collection using a function which returns the key. + + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string contains white space. + + The string to test for white space. + + true if the string contains white space; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Ensures the target string ends with the specified string. + + The target. + The value. + The target string with the value string at the end. + + + + Perform an action if the string is not null or empty. + + The value. + The action to perform. + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + The indent character. + + + + + Numbers the lines. + + The string to number. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + From fd53deb6fc55845067b5adcd05f23acaccf56868 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 26 Mar 2010 20:47:26 +0000 Subject: [PATCH 24/32] add nant distbin target this will delete all extraneous source code files and copy OpenSim.ini.example to OpenSim.ini --- .nant/local.include | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/.nant/local.include b/.nant/local.include index 0f3b9cd1ea..2591aba963 100644 --- a/.nant/local.include +++ b/.nant/local.include @@ -2,6 +2,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +