aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xbin/Axiom.MathLib.dllbin0 -> 69632 bytes
-rwxr-xr-xbin/BulletXNA.dllbin0 -> 618496 bytes
-rw-r--r--bin/BulletXNA.pdbbin0 -> 1889792 bytes
-rwxr-xr-xbin/C5.dllbin0 -> 276992 bytes
-rwxr-xr-xbin/CSJ2K.dllbin0 -> 502784 bytes
-rwxr-xr-xbin/CookComputing.XmlRpcV2.dllbin0 -> 110592 bytes
-rwxr-xr-xbin/DotNetOpenId.dllbin0 -> 281088 bytes
-rwxr-xr-xbin/DotNetOpenMail.dllbin0 -> 57344 bytes
-rw-r--r--bin/Gloebit.ini82
-rwxr-xr-xbin/GlynnTucker.Cache.dllbin0 -> 22016 bytes
-rwxr-xr-xbin/HttpServer_OpenSim.dllbin0 -> 117248 bytes
-rw-r--r--bin/HttpServer_OpenSim.pdbbin0 -> 323072 bytes
-rw-r--r--bin/HttpServer_OpenSim.xml5574
-rw-r--r--bin/ICSharpCode.SharpZipLib.dllbin0 -> 200704 bytes
-rwxr-xr-xbin/Ionic.Zip.dllbin0 -> 491520 bytes
-rw-r--r--bin/LaunchSLClient.ini15
-rw-r--r--bin/Library/.keep0
-rwxr-xr-xbin/LukeSkywalker.IPNetwork.dllbin0 -> 18432 bytes
-rwxr-xr-xbin/Mono.Addins.CecilReflector.dllbin0 -> 225280 bytes
-rwxr-xr-xbin/Mono.Addins.Setup.dllbin0 -> 126464 bytes
-rw-r--r--bin/Mono.Addins.Setup.xml1140
-rwxr-xr-xbin/Mono.Addins.dllbin0 -> 232960 bytes
-rw-r--r--bin/Mono.Addins.dll.config6
-rw-r--r--bin/Mono.Addins.xml6120
-rwxr-xr-xbin/Mono.Data.Sqlite.dllbin0 -> 169984 bytes
-rw-r--r--bin/Mono.Data.Sqlite.dll.config5
-rwxr-xr-xbin/Mono.Data.SqliteClient.dllbin0 -> 52224 bytes
-rwxr-xr-xbin/MySql.Data.dllbin0 -> 424448 bytes
-rwxr-xr-xbin/NDesk.Options.dllbin0 -> 22016 bytes
-rw-r--r--bin/Newtonsoft.Json.xml8626
-rwxr-xr-xbin/Nini.dllbin0 -> 56320 bytes
-rw-r--r--bin/Npgsql.dllbin0 -> 342016 bytes
-rw-r--r--bin/Npgsql.xml5620
-rwxr-xr-xbin/OpenMetaverse.Rendering.Meshmerizer.dllbin0 -> 28672 bytes
-rwxr-xr-xbin/OpenMetaverse.StructuredData.dllbin0 -> 102400 bytes
-rwxr-xr-xbin/OpenMetaverse.dllbin0 -> 2195456 bytes
-rw-r--r--bin/OpenMetaverse.dll.config7
-rwxr-xr-xbin/OpenMetaverseTypes.dllbin0 -> 110592 bytes
-rw-r--r--bin/OpenSim.ConsoleClient.exe.config34
-rw-r--r--bin/OpenSim.ConsoleClient.ini.example14
-rw-r--r--bin/OpenSim.Region.PhysicsModule.BulletS.dll.config8
-rw-r--r--bin/OpenSim.Region.PhysicsModule.Ode.dll.config7
-rw-r--r--bin/OpenSim.Region.PhysicsModule.ubOde.dll.config7
-rw-r--r--bin/OpenSim.exe.config63
-rw-r--r--bin/OpenSim.ini63
-rw-r--r--bin/OpenSim.ini.example1219
-rw-r--r--bin/OpenSim32.exe.config75
-rw-r--r--bin/OpenSimDefaults.ini2579
-rwxr-xr-xbin/Prebuild.exebin0 -> 234496 bytes
-rwxr-xr-xbin/PrimMesher.dllbin0 -> 46592 bytes
-rw-r--r--bin/Regions/Regions.ini.example101
-rw-r--r--bin/RestSharp.xml3024
-rw-r--r--bin/Robust.HG.ini.example811
-rw-r--r--bin/Robust.Tests.dll.config43
-rw-r--r--bin/Robust.Tests.ini468
-rw-r--r--bin/Robust.exe.config57
-rw-r--r--bin/Robust.ini789
-rw-r--r--bin/Robust.ini.example568
-rw-r--r--bin/Robust32.exe.config72
-rw-r--r--bin/Robust32.vshost.exe.config72
-rwxr-xr-xbin/Tools.dllbin0 -> 153088 bytes
-rwxr-xr-xbin/Warp3D.dllbin0 -> 68608 bytes
-rwxr-xr-xbin/XMLRPC.dllbin0 -> 40960 bytes
l---------bin/addin-db-0011
l---------bin/addin-db-0021
l---------bin/addin-db-0031
l---------bin/addin-db-0041
-rw-r--r--bin/assets/AnimationsAssetSet/autograph_right.datbin0 -> 1234 bytes
-rw-r--r--bin/assets/AnimationsAssetSet/bouncy_ball_left.datbin0 -> 2510 bytes
-rw-r--r--bin/assets/AnimationsAssetSet/bouncy_ball_right.datbin0 -> 2846 bytes
-rw-r--r--bin/assets/AnimationsAssetSet/bouncy_ball_run.datbin0 -> 2950 bytes
-rw-r--r--bin/assets/AnimationsAssetSet/bouncy_ball_super.datbin0 -> 4030 bytes
-rw-r--r--bin/assets/AnimationsAssetSet/bouncy_ball_walk.datbin0 -> 2806 bytes
-rw-r--r--bin/assets/AnimationsAssetSet/give_and_handshake.datbin0 -> 1571 bytes
-rw-r--r--bin/assets/AnimationsAssetSet/handshake_01.datbin0 -> 915 bytes
-rw-r--r--bin/assets/AnimationsAssetSet/index.xml87
-rw-r--r--bin/assets/AnimationsAssetSet/place_marker.datbin0 -> 600 bytes
-rw-r--r--bin/assets/AnimationsAssetSet/tpose.datbin0 -> 630 bytes
-rw-r--r--bin/assets/AnimationsAssetSet/tpose2.datbin0 -> 790 bytes
-rw-r--r--bin/assets/AnimationsAssetSet/windsurf_left.datbin0 -> 790 bytes
-rw-r--r--bin/assets/AssetSets.xml81
-rw-r--r--bin/assets/Avatar/Newruth/Settings.txt120
-rw-r--r--bin/assets/Avatar/Newruth/eyes.j2cbin0 -> 28088 bytes
-rw-r--r--bin/assets/Avatar/Newruth/female body.j2cbin0 -> 49557 bytes
-rw-r--r--bin/assets/Avatar/Newruth/female bottom.j2cbin0 -> 36212 bytes
-rw-r--r--bin/assets/Avatar/Newruth/female face.j2cbin0 -> 44749 bytes
-rw-r--r--bin/assets/Avatar/Newruth/open sim hair base.j2cbin0 -> 74339 bytes
-rw-r--r--bin/assets/BodyPartsAssetSet/BodyPartsAssetSet.xml60
-rw-r--r--bin/assets/BodyPartsAssetSet/base_eyes.dat26
-rw-r--r--bin/assets/BodyPartsAssetSet/base_hair.dat114
-rw-r--r--bin/assets/BodyPartsAssetSet/base_shape.dat165
-rw-r--r--bin/assets/BodyPartsAssetSet/base_skin.dat52
-rw-r--r--bin/assets/BodyPartsAssetSet/goblin_skin.dat49
-rw-r--r--bin/assets/BodyPartsAssetSet/jim_shape.dat105
-rw-r--r--bin/assets/BodyPartsAssetSet/jim_skin.dat50
-rw-r--r--bin/assets/BodyPartsAssetSet/little_goblin_shape.dat105
-rw-r--r--bin/assets/ClothingAssetSet/ClothingAssetSet.xml14
-rw-r--r--bin/assets/ClothingAssetSet/newpants.dat33
-rw-r--r--bin/assets/ClothingAssetSet/newshirt.dat34
-rw-r--r--bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml341
-rw-r--r--bin/assets/CollisionSoundsAssetSet/attribution.txt8
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_FleshFlesh.oggbin0 -> 8829 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_FleshGlass.oggbin0 -> 8537 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_FleshMetal.oggbin0 -> 12830 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_FleshPlastic.oggbin0 -> 8858 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_FleshRubber.oggbin0 -> 10037 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_FleshStone.oggbin0 -> 10985 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_FleshWood.oggbin0 -> 8835 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_GlassFlesh.oggbin0 -> 8579 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_GlassGlass.oggbin0 -> 5456 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_GlassMetal.oggbin0 -> 13092 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_GlassPlastic.oggbin0 -> 6797 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_GlassRubber.oggbin0 -> 9760 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_GlassStone.oggbin0 -> 11185 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_GlassWood.oggbin0 -> 7048 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_MetalFlesh.oggbin0 -> 12917 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_MetalGlass.oggbin0 -> 13500 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_MetalMetal.oggbin0 -> 13513 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_MetalPlastic.oggbin0 -> 12814 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_MetalRubber.oggbin0 -> 13008 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_MetalStone.oggbin0 -> 13578 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_MetalWood.oggbin0 -> 13040 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_PlasticFlesh.oggbin0 -> 8510 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_PlasticGlass.oggbin0 -> 6797 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_PlasticMetal.oggbin0 -> 12814 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_PlasticPlastic.oggbin0 -> 6635 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_PlasticRubber.oggbin0 -> 9648 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_PlasticStone.oggbin0 -> 10640 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_PlasticWood.oggbin0 -> 6845 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_RubberFlesh.oggbin0 -> 9758 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_RubberGlass.oggbin0 -> 9871 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_RubberMetal.oggbin0 -> 12797 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_RubberPlastic.oggbin0 -> 9648 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_RubberRubber.oggbin0 -> 9647 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_RubberStone.oggbin0 -> 10850 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_RubberWood.oggbin0 -> 9716 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_StoneFlesh.oggbin0 -> 10896 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_StoneGlass.oggbin0 -> 11188 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_StoneMetal.oggbin0 -> 13517 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_StonePlastic.oggbin0 -> 11196 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_StoneRubber.oggbin0 -> 10885 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_StoneStone.oggbin0 -> 11040 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_StoneWood.oggbin0 -> 10947 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_TerrainFlesh.oggbin0 -> 8750 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_TerrainGlass.oggbin0 -> 8126 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_TerrainMetal.oggbin0 -> 12839 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_TerrainPlastic.oggbin0 -> 7920 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_TerrainRubber.oggbin0 -> 9480 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_TerrainStone.oggbin0 -> 10807 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_TerrainWood.oggbin0 -> 7999 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_WoodFlesh.oggbin0 -> 8827 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_WoodGlass.oggbin0 -> 7057 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_WoodMetal.oggbin0 -> 12818 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_WoodPlastic.oggbin0 -> 6990 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_WoodRubber.oggbin0 -> 9626 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_WoodStone.oggbin0 -> 10931 bytes
-rw-r--r--bin/assets/CollisionSoundsAssetSet/snd_WoodWood.oggbin0 -> 6696 bytes
-rw-r--r--bin/assets/GesturesAssetSet/GesturesAssetSet.xml114
-rw-r--r--bin/assets/GesturesAssetSet/LOL.datbin0 -> 71 bytes
-rw-r--r--bin/assets/GesturesAssetSet/Wave.datbin0 -> 65 bytes
-rw-r--r--bin/assets/GesturesAssetSet/can_we_move_along_.datbin0 -> 67 bytes
-rw-r--r--bin/assets/GesturesAssetSet/clap.datbin0 -> 65 bytes
-rw-r--r--bin/assets/GesturesAssetSet/dance1.datbin0 -> 70 bytes
-rw-r--r--bin/assets/GesturesAssetSet/dance2.datbin0 -> 63 bytes
-rw-r--r--bin/assets/GesturesAssetSet/dance3.datbin0 -> 70 bytes
-rw-r--r--bin/assets/GesturesAssetSet/definitely_YES.datbin0 -> 72 bytes
-rw-r--r--bin/assets/GesturesAssetSet/me_.datbin0 -> 72 bytes
-rw-r--r--bin/assets/GesturesAssetSet/no.datbin0 -> 72 bytes
-rw-r--r--bin/assets/GesturesAssetSet/not_sure.datbin0 -> 67 bytes
-rw-r--r--bin/assets/GesturesAssetSet/raise_hand.datbin0 -> 69 bytes
-rw-r--r--bin/assets/GesturesAssetSet/suprised.datbin0 -> 70 bytes
-rw-r--r--bin/assets/GesturesAssetSet/take_it_outside.datbin0 -> 74 bytes
-rw-r--r--bin/assets/GesturesAssetSet/whoohoo_.datbin0 -> 71 bytes
-rw-r--r--bin/assets/GesturesAssetSet/wink_.datbin0 -> 77 bytes
-rw-r--r--bin/assets/LandmarksAssetSet/LandmarksAssetSet.xml3
-rw-r--r--bin/assets/MyAssetSet/MyAssetSet.xml2
-rw-r--r--bin/assets/NotecardsAssetSet/NotecardsAssetSet.xml14
-rw-r--r--bin/assets/NotecardsAssetSet/exampleNote.txt1
-rw-r--r--bin/assets/NotecardsAssetSet/welcomeNote.txt4
-rw-r--r--bin/assets/ObjectsAssetSet/ObjectsAssetSet.xml3
-rw-r--r--bin/assets/PhotosAssetSet/PhotosAssetSet.xml3
-rw-r--r--bin/assets/README.txt12
-rw-r--r--bin/assets/ScriptsAssetSet/GrafittiBoard.lsl74
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test01.lsl13
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test02.lsl31
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test03.lsl49
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test04.lsl51
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test05.lsl30
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test06.lsl8
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test07.lsl38
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test08.lsl23
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test09.lsl71
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test10.lsl57
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test11.lsl52
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test12.lsl46
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test13.lsl16
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test14.lsl70
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test15.lsl10
-rw-r--r--bin/assets/ScriptsAssetSet/KanEd-Test16.lsl66
-rw-r--r--bin/assets/ScriptsAssetSet/ScriptsAssetSet.xml243
-rw-r--r--bin/assets/ScriptsAssetSet/llAbs.lsl7
-rw-r--r--bin/assets/ScriptsAssetSet/llAcos.lsl8
-rw-r--r--bin/assets/ScriptsAssetSet/llAddToLandBanList.lsl84
-rw-r--r--bin/assets/ScriptsAssetSet/llAddToLandPassList.lsl84
-rw-r--r--bin/assets/ScriptsAssetSet/llAdjustSoundVolume.lsl13
-rw-r--r--bin/assets/ScriptsAssetSet/llAllowInventoryDrop.lsl17
-rw-r--r--bin/assets/ScriptsAssetSet/llAngleBetween.lsl11
-rw-r--r--bin/assets/ScriptsAssetSet/llApplyImpulse.lsl16
-rw-r--r--bin/assets/ScriptsAssetSet/llAsin.lsl9
-rw-r--r--bin/assets/ScriptsAssetSet/llAtan2.lsl11
-rw-r--r--bin/assets/ScriptsAssetSet/llAvatarOnSitTarget.lsl20
-rw-r--r--bin/assets/ScriptsAssetSet/llBase64ToString.lsl8
-rw-r--r--bin/assets/ScriptsAssetSet/llRemoveFromLandBanList.lsl84
-rw-r--r--bin/assets/ScriptsAssetSet/llRemoveFromLandPassList.lsl84
-rw-r--r--bin/assets/ScriptsAssetSet/llResetLandBanList.lsl84
-rw-r--r--bin/assets/ScriptsAssetSet/llResetLandPassList.lsl84
-rw-r--r--bin/assets/ScriptsAssetSet/llSay.lsl7
-rw-r--r--bin/assets/ScriptsAssetSet/llSetParcelMusicURL.lsl7
-rw-r--r--bin/assets/ScriptsAssetSet/llSetRot.lsl13
-rw-r--r--bin/assets/ScriptsAssetSet/osTextBoard.lsl48
-rw-r--r--bin/assets/ScriptsAssetSet/osWeatherMap.lsl43
-rw-r--r--bin/assets/SoundsAssetSet/OSSndAlert.oggbin0 -> 9431 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndBadKeystroke.oggbin0 -> 5336 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndClick.oggbin0 -> 4717 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndHealthReductionF.oggbin0 -> 10399 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndHealthReductionM.oggbin0 -> 10791 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndInvalidOp.oggbin0 -> 11150 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndMoneyChangeDown.oggbin0 -> 8919 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndMoneyChangeUp.oggbin0 -> 10761 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndNewIncomingIMSession.oggbin0 -> 16048 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndObjectCreate.oggbin0 -> 20396 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndObjectDelete.oggbin0 -> 8430 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndObjectRezIn.oggbin0 -> 27267 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndPieMenuAppear.oggbin0 -> 7278 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndPieMenuSliceHighlight.oggbin0 -> 6527 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndSnapshot.oggbin0 -> 14859 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndStartIM.oggbin0 -> 7211 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndTeleportOut.oggbin0 -> 56469 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndTyping.oggbin0 -> 16680 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndWindowClose.oggbin0 -> 6348 bytes
-rw-r--r--bin/assets/SoundsAssetSet/OSSndWindowOpen.oggbin0 -> 6455 bytes
-rw-r--r--bin/assets/SoundsAssetSet/SoundsAssetSet.xml164
-rw-r--r--bin/assets/TexturesAssetSet/0187babf-6c0d-5891-ebed-4ecab1426683.j2cbin0 -> 130977 bytes
-rw-r--r--bin/assets/TexturesAssetSet/058c75c0-a0d5-f2f8-43f3-e9699a89c2fc.j2cbin0 -> 32420 bytes
-rw-r--r--bin/assets/TexturesAssetSet/073c9723-540c-5449-cdd4-0e87fdc159e3.j2cbin0 -> 28776 bytes
-rw-r--r--bin/assets/TexturesAssetSet/10d2a01a-0818-84b9-4b96-c2eb63256519.j2cbin0 -> 131060 bytes
-rw-r--r--bin/assets/TexturesAssetSet/18fb888b-e8f1-dce7-7da7-321d651ea6b0.j2cbin0 -> 130888 bytes
-rw-r--r--bin/assets/TexturesAssetSet/2a4880b6-b7a3-690a-2049-bfbe38eafb9f.j2cbin0 -> 45583 bytes
-rw-r--r--bin/assets/TexturesAssetSet/2caf1179-7861-6ff3-4b7d-46e17780bdfa.j2cbin0 -> 60248 bytes
-rw-r--r--bin/assets/TexturesAssetSet/2d784476-d0db-9979-0cff-9408745a7cf3.j2cbin0 -> 130949 bytes
-rw-r--r--bin/assets/TexturesAssetSet/30047cec-269d-408e-0c30-b2603b887268.j2cbin0 -> 130834 bytes
-rw-r--r--bin/assets/TexturesAssetSet/4-tile2.jp2bin0 -> 24410 bytes
-rw-r--r--bin/assets/TexturesAssetSet/4-tile3.jp2bin0 -> 98273 bytes
-rw-r--r--bin/assets/TexturesAssetSet/4726f13e-bd07-f2fb-feb0-bfa2ac58ab61.j2cbin0 -> 32567 bytes
-rw-r--r--bin/assets/TexturesAssetSet/5894e2e7-ab8d-edfa-e61c-18cf16854ba3.j2cbin0 -> 106851 bytes
-rw-r--r--bin/assets/TexturesAssetSet/5bc11cd6-2f40-071e-a8da-0903394204f9.j2cbin0 -> 131031 bytes
-rw-r--r--bin/assets/TexturesAssetSet/64367bd1-697e-b3e6-0b65-3f862a577366.j2cbin0 -> 131044 bytes
-rw-r--r--bin/assets/TexturesAssetSet/67931331-0c02-4876-1255-28770896c6a2.j2cbin0 -> 131051 bytes
-rw-r--r--bin/assets/TexturesAssetSet/6c4727b8-ac79-ba44-3b81-f9aa887b47eb.j2cbin0 -> 131049 bytes
-rw-r--r--bin/assets/TexturesAssetSet/6c9fa78a-1c69-2168-325b-3e03ffa348ce.j2cbin0 -> 32742 bytes
-rw-r--r--bin/assets/TexturesAssetSet/6de37e4e-7029-61f5-54b8-f5e63f983f58.j2cbin0 -> 131026 bytes
-rw-r--r--bin/assets/TexturesAssetSet/735198cf-6ea0-2550-e222-21d3c6a341ae.j2cbin0 -> 27371 bytes
-rw-r--r--bin/assets/TexturesAssetSet/79504bf5-c3ec-0763-6563-d843de66d0a1.j2cbin0 -> 131065 bytes
-rw-r--r--bin/assets/TexturesAssetSet/7a2b3a4a-53c2-53ac-5716-aac7d743c020.j2cbin0 -> 130928 bytes
-rw-r--r--bin/assets/TexturesAssetSet/7c0cf89b-44b1-1ce2-dd74-07102a98ac2a.j2cbin0 -> 131027 bytes
-rw-r--r--bin/assets/TexturesAssetSet/822ded49-9a6c-f61c-cb89-6df54f42cdf4.j2cbin0 -> 23911 bytes
-rw-r--r--bin/assets/TexturesAssetSet/83b77fc6-10b4-63ec-4de7-f40629f238c5.j2cbin0 -> 22709 bytes
-rw-r--r--bin/assets/TexturesAssetSet/8872f2b8-31db-42d8-580a-b3e4a91262de.j2cbin0 -> 130977 bytes
-rw-r--r--bin/assets/TexturesAssetSet/8a515889-eac9-fb55-8eba-d2dc09eb32c8.j2cbin0 -> 130810 bytes
-rw-r--r--bin/assets/TexturesAssetSet/8f458549-173b-23ff-d4ff-bfaa5ea2371b.j2cbin0 -> 131038 bytes
-rw-r--r--bin/assets/TexturesAssetSet/92e66e00-f56f-598a-7997-048aa64cde18.j2cbin0 -> 32708 bytes
-rw-r--r--bin/assets/TexturesAssetSet/96b4de31-f4fa-337d-ec78-451e3609769e.j2cbin0 -> 85238 bytes
-rw-r--r--bin/assets/TexturesAssetSet/99bd60a2-3250-efc9-2e39-2fbcadefbecc.j2cbin0 -> 131032 bytes
-rw-r--r--bin/assets/TexturesAssetSet/9deab416-9c63-78d6-d558-9a156f12044c.j2cbin0 -> 32390 bytes
-rw-r--r--bin/assets/TexturesAssetSet/IMG_BLOOM1.jp2bin0 -> 11276 bytes
-rw-r--r--bin/assets/TexturesAssetSet/Terrain Dirt-b8d3965a-ad78-bf43-699b-bff8eca6c975.texturebin0 -> 6004 bytes
-rw-r--r--bin/assets/TexturesAssetSet/Terrain Grass-abb783e6-3e93-26c0-248a-247666855da3.texturebin0 -> 6139 bytes
-rw-r--r--bin/assets/TexturesAssetSet/Terrain Mountain-179cdabd-398a-9b6b-1391-4dc333ba321f.texturebin0 -> 6077 bytes
-rw-r--r--bin/assets/TexturesAssetSet/Terrain Rock-beb169c7-11ea-fff2-efe5-0f24dc881df2.texturebin0 -> 6140 bytes
-rw-r--r--bin/assets/TexturesAssetSet/TexturesAssetSet.xml767
-rw-r--r--bin/assets/TexturesAssetSet/a6162133-724b-54df-a12f-51cd070ad6f3.j2cbin0 -> 131029 bytes
-rw-r--r--bin/assets/TexturesAssetSet/a85ac674-cb75-4af6-9499-df7c5aaf7a28.j2cbin0 -> 3313 bytes
-rw-r--r--bin/assets/TexturesAssetSet/ae874d1a-93ef-54fb-5fd3-eb0cb156afc0.j2cbin0 -> 32456 bytes
-rw-r--r--bin/assets/TexturesAssetSet/b8eed5f0-64b7-6e12-b67f-43fa8e773440.j2cbin0 -> 32583 bytes
-rw-r--r--bin/assets/TexturesAssetSet/blank.jpcbin0 -> 148 bytes
-rw-r--r--bin/assets/TexturesAssetSet/brick1_256.jp2bin0 -> 24468 bytes
-rw-r--r--bin/assets/TexturesAssetSet/brick2_256.jp2bin0 -> 24455 bytes
-rw-r--r--bin/assets/TexturesAssetSet/brick_mono.jp2bin0 -> 23102 bytes
-rw-r--r--bin/assets/TexturesAssetSet/bricks.jp2bin0 -> 98101 bytes
-rw-r--r--bin/assets/TexturesAssetSet/ca4e8c27-473c-eb1c-2f5d-50ee3f07d85c.j2cbin0 -> 131063 bytes
-rw-r--r--bin/assets/TexturesAssetSet/cdd9a9fc-6d0b-f90d-8416-c72b6019bca8.j2cbin0 -> 129703 bytes
-rw-r--r--bin/assets/TexturesAssetSet/cedar.jp2bin0 -> 76710 bytes
-rw-r--r--bin/assets/TexturesAssetSet/cement_block.jp2bin0 -> 24538 bytes
-rw-r--r--bin/assets/TexturesAssetSet/clear.jp2bin0 -> 330 bytes
-rw-r--r--bin/assets/TexturesAssetSet/cloud.jp2bin0 -> 77158 bytes
-rw-r--r--bin/assets/TexturesAssetSet/cobbles.jp2bin0 -> 98294 bytes
-rw-r--r--bin/assets/TexturesAssetSet/coffee.jp2bin0 -> 32756 bytes
-rw-r--r--bin/assets/TexturesAssetSet/creambrick.jp2bin0 -> 98132 bytes
-rw-r--r--bin/assets/TexturesAssetSet/d21e44ca-ff1c-a96e-b2ef-c0753426b7d9.j2cbin0 -> 21410 bytes
-rw-r--r--bin/assets/TexturesAssetSet/d691a01c-13b7-578d-57c0-5caef0b4e7e1.j2cbin0 -> 130950 bytes
-rw-r--r--bin/assets/TexturesAssetSet/d9258671-868f-7511-c321-7baef9e948a4.j2cbin0 -> 32763 bytes
-rw-r--r--bin/assets/TexturesAssetSet/db9d39ec-a896-c287-1ced-64566217021e.j2cbin0 -> 32754 bytes
-rw-r--r--bin/assets/TexturesAssetSet/default_alpha.jp2bin0 -> 319 bytes
-rw-r--r--bin/assets/TexturesAssetSet/default_avatar.jp2bin0 -> 36044 bytes
-rw-r--r--bin/assets/TexturesAssetSet/default_clear.jp2bin0 -> 328 bytes
-rw-r--r--bin/assets/TexturesAssetSet/default_iris.jp2bin0 -> 15719 bytes
-rw-r--r--bin/assets/TexturesAssetSet/default_media.jp2bin0 -> 308 bytes
-rw-r--r--bin/assets/TexturesAssetSet/defaultalpha.jp2bin0 -> 319 bytes
-rw-r--r--bin/assets/TexturesAssetSet/e569711a-27c2-aad4-9246-0c910239a179.j2cbin0 -> 32475 bytes
-rw-r--r--bin/assets/TexturesAssetSet/f2d7b6f6-4200-1e9a-fd5b-96459e950f94.j2cbin0 -> 32394 bytes
-rw-r--r--bin/assets/TexturesAssetSet/fb2ae204-3fd1-df33-594f-c9f882830e66.j2cbin0 -> 130740 bytes
-rw-r--r--bin/assets/TexturesAssetSet/fe_face.jp2bin0 -> 33716 bytes
-rw-r--r--bin/assets/TexturesAssetSet/fe_lower.jp2bin0 -> 11949 bytes
-rw-r--r--bin/assets/TexturesAssetSet/fe_upper.jp2bin0 -> 12445 bytes
-rw-r--r--bin/assets/TexturesAssetSet/femalebody.jp2bin0 -> 56124 bytes
-rw-r--r--bin/assets/TexturesAssetSet/femalebottom.jp2bin0 -> 54574 bytes
-rw-r--r--bin/assets/TexturesAssetSet/femaleface.jp2bin0 -> 76425 bytes
-rw-r--r--bin/assets/TexturesAssetSet/femalehair.jp2bin0 -> 131038 bytes
-rw-r--r--bin/assets/TexturesAssetSet/fgrass.jp2bin0 -> 32597 bytes
-rw-r--r--bin/assets/TexturesAssetSet/glasstile2.jp2bin0 -> 393170 bytes
-rw-r--r--bin/assets/TexturesAssetSet/granite.jp2bin0 -> 98022 bytes
-rw-r--r--bin/assets/TexturesAssetSet/graniteblock.jp2bin0 -> 98271 bytes
-rw-r--r--bin/assets/TexturesAssetSet/grass.jp2bin0 -> 393153 bytes
-rw-r--r--bin/assets/TexturesAssetSet/grass2.jp2bin0 -> 98241 bytes
-rw-r--r--bin/assets/TexturesAssetSet/gravel.jp2bin0 -> 392995 bytes
-rw-r--r--bin/assets/TexturesAssetSet/greybrick.jp2bin0 -> 393124 bytes
-rw-r--r--bin/assets/TexturesAssetSet/hardwood.jp2bin0 -> 98231 bytes
-rw-r--r--bin/assets/TexturesAssetSet/hg2.jp2bin0 -> 24574 bytes
-rw-r--r--bin/assets/TexturesAssetSet/ivy.jp2bin0 -> 393100 bytes
-rw-r--r--bin/assets/TexturesAssetSet/le_face.jp2bin0 -> 45289 bytes
-rw-r--r--bin/assets/TexturesAssetSet/le_lower.jp2bin0 -> 19628 bytes
-rw-r--r--bin/assets/TexturesAssetSet/le_upper.jp2bin0 -> 18383 bytes
-rw-r--r--bin/assets/TexturesAssetSet/licenses.txt59
-rw-r--r--bin/assets/TexturesAssetSet/mahogany.jp2bin0 -> 98250 bytes
-rw-r--r--bin/assets/TexturesAssetSet/map1.jp2bin0 -> 570 bytes
-rw-r--r--bin/assets/TexturesAssetSet/map_base.jp2bin0 -> 153 bytes
-rw-r--r--bin/assets/TexturesAssetSet/maple.jp2bin0 -> 98125 bytes
-rw-r--r--bin/assets/TexturesAssetSet/moon.jp2bin0 -> 32741 bytes
-rw-r--r--bin/assets/TexturesAssetSet/mosaic02.jp2bin0 -> 98286 bytes
-rw-r--r--bin/assets/TexturesAssetSet/palm1.jp2bin0 -> 65526 bytes
-rw-r--r--bin/assets/TexturesAssetSet/papaya.jp2bin0 -> 65387 bytes
-rw-r--r--bin/assets/TexturesAssetSet/papaya_bark.jp2bin0 -> 12254 bytes
-rw-r--r--bin/assets/TexturesAssetSet/pastelbrick.jp2bin0 -> 196352 bytes
-rw-r--r--bin/assets/TexturesAssetSet/pine1_10m.jp2bin0 -> 65485 bytes
-rw-r--r--bin/assets/TexturesAssetSet/plywood.jp2bin0 -> 79234 bytes
-rw-r--r--bin/assets/TexturesAssetSet/poplar.jp2bin0 -> 16375 bytes
-rw-r--r--bin/assets/TexturesAssetSet/re_face.jp2bin0 -> 43771 bytes
-rw-r--r--bin/assets/TexturesAssetSet/re_lower.jp2bin0 -> 19314 bytes
-rw-r--r--bin/assets/TexturesAssetSet/re_upper.jp2bin0 -> 22172 bytes
-rw-r--r--bin/assets/TexturesAssetSet/redtri_tile.jp2bin0 -> 98187 bytes
-rw-r--r--bin/assets/TexturesAssetSet/rockbuilding.jp2bin0 -> 24251 bytes
-rw-r--r--bin/assets/TexturesAssetSet/rocks.jp2bin0 -> 98251 bytes
-rw-r--r--bin/assets/TexturesAssetSet/rockwallbig.jp2bin0 -> 98223 bytes
-rw-r--r--bin/assets/TexturesAssetSet/roof01.jp2bin0 -> 24310 bytes
-rw-r--r--bin/assets/TexturesAssetSet/rooftiles1.jp2bin0 -> 6121 bytes
-rw-r--r--bin/assets/TexturesAssetSet/rooftiles2_peach.jp2bin0 -> 24548 bytes
-rw-r--r--bin/assets/TexturesAssetSet/rooftiles2_roy.jp2bin0 -> 24444 bytes
-rw-r--r--bin/assets/TexturesAssetSet/saguaro_8m.jp2bin0 -> 63056 bytes
-rw-r--r--bin/assets/TexturesAssetSet/se_face.jp2bin0 -> 40013 bytes
-rw-r--r--bin/assets/TexturesAssetSet/se_lower.jp2bin0 -> 15661 bytes
-rw-r--r--bin/assets/TexturesAssetSet/se_upper.jp2bin0 -> 15881 bytes
-rw-r--r--bin/assets/TexturesAssetSet/seawater.jp2bin0 -> 98285 bytes
-rw-r--r--bin/assets/TexturesAssetSet/shingle.jp2bin0 -> 24560 bytes
-rw-r--r--bin/assets/TexturesAssetSet/skins_license.txt5
-rw-r--r--bin/assets/TexturesAssetSet/snow1.jp2bin0 -> 97993 bytes
-rw-r--r--bin/assets/TexturesAssetSet/steel.jp2bin0 -> 98186 bytes
-rw-r--r--bin/assets/TexturesAssetSet/stone1wall.jp2bin0 -> 98251 bytes
-rw-r--r--bin/assets/TexturesAssetSet/stonetile.jp2bin0 -> 393159 bytes
-rw-r--r--bin/assets/TexturesAssetSet/street2.jp2bin0 -> 196334 bytes
-rw-r--r--bin/assets/TexturesAssetSet/testpic2.jp2bin0 -> 291 bytes
-rw-r--r--bin/assets/TexturesAssetSet/thatch.jp2bin0 -> 98178 bytes
-rw-r--r--bin/assets/TexturesAssetSet/water1.jp2bin0 -> 98298 bytes
-rw-r--r--bin/assets/TexturesAssetSet/water3.jp2bin0 -> 98190 bytes
-rw-r--r--bin/assets/TexturesAssetSet/wood1.jp2bin0 -> 24522 bytes
-rw-r--r--bin/avatar-texture.datbin0 -> 203 bytes
l---------bin/common.sh1
-rw-r--r--bin/config-include/CenomeCache.ini.example14
-rw-r--r--bin/config-include/FlotsamCache.ini97
-rw-r--r--bin/config-include/FlotsamCache.ini.example97
-rw-r--r--bin/config-include/Grid.ini60
-rw-r--r--bin/config-include/GridCommon.ini255
-rw-r--r--bin/config-include/GridCommon.ini.example252
-rw-r--r--bin/config-include/GridHypergrid.ini86
-rw-r--r--bin/config-include/HyperSimianGrid.ini97
-rw-r--r--bin/config-include/SimBalanced.ini889
-rw-r--r--bin/config-include/SimDefault.ini884
-rw-r--r--bin/config-include/SimFast.ini884
-rw-r--r--bin/config-include/SimLean.ini884
-rw-r--r--bin/config-include/SimianGrid.ini77
-rw-r--r--bin/config-include/Standalone.ini122
-rw-r--r--bin/config-include/StandaloneCommon.ini401
-rw-r--r--bin/config-include/StandaloneCommon.ini.example401
-rw-r--r--bin/config-include/StandaloneHypergrid.ini198
-rw-r--r--bin/config-include/config_IG.ini105
-rw-r--r--bin/config-include/config_MG.ini125
-rw-r--r--bin/config-include/config_localhost.ini49
-rw-r--r--bin/config-include/extra_MG.ini51
-rw-r--r--bin/config-include/osslEnable.ini272
-rw-r--r--bin/config-include/storage/SQLiteStandalone.ini39
-rw-r--r--bin/data/LICENSE-README-IMPORTANT.txt5
-rw-r--r--bin/data/avataranimations.xml142
-rw-r--r--bin/data/prototype.js4222
-rw-r--r--bin/data/sim.css85
-rw-r--r--bin/data/sim.html291
-rw-r--r--bin/data/updater.js20
-rw-r--r--bin/defaultstripe.pngbin0 -> 887 bytes
-rw-r--r--bin/enter_uuid.xml7
-rw-r--r--bin/excuses460
-rw-r--r--bin/http_404.html.example1
-rw-r--r--bin/http_500.html.example1
-rw-r--r--bin/http_loginform.html.example61
-rw-r--r--bin/inventory/AnimationsLibrary/AnimationsLibraryFolders.xml17
-rw-r--r--bin/inventory/AnimationsLibrary/AnimationsLibraryItems.xml134
-rw-r--r--bin/inventory/BodyPartsLibrary/BodyPartsLibraryFolders.xml17
-rw-r--r--bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml107
-rw-r--r--bin/inventory/ClothingLibrary/ClothingLibraryFolders.xml17
-rw-r--r--bin/inventory/ClothingLibrary/ClothingLibraryItems.xml37
-rw-r--r--bin/inventory/GesturesLibrary/GesturesLibraryFolders.xml17
-rw-r--r--bin/inventory/GesturesLibrary/GesturesLibraryItems.xml174
-rw-r--r--bin/inventory/LandmarksLibrary/LandmarksLibraryFolders.xml17
-rw-r--r--bin/inventory/LandmarksLibrary/LandmarksLibraryItems.xml27
-rw-r--r--bin/inventory/Libraries.xml86
-rw-r--r--bin/inventory/NotecardsLibrary/NotecardsLibraryFolders.xml17
-rw-r--r--bin/inventory/NotecardsLibrary/NotecardsLibraryItems.xml47
-rw-r--r--bin/inventory/ObjectsLibrary/ObjectsLibraryFolders.xml17
-rw-r--r--bin/inventory/ObjectsLibrary/ObjectsLibraryItems.xml27
-rw-r--r--bin/inventory/OpenSimLibrary/OpenSimLibrary.xml16
-rw-r--r--bin/inventory/OpenSimLibrary/OpenSimLibraryFolders.xml14
-rw-r--r--bin/inventory/PhotosLibrary/PhotosLibraryFolders.xml17
-rw-r--r--bin/inventory/PhotosLibrary/PhotosLibraryItems.xml27
-rw-r--r--bin/inventory/README.txt21
-rw-r--r--bin/inventory/ScriptsLibrary/ScriptsLibraryFolders.xml62
-rw-r--r--bin/inventory/ScriptsLibrary/ScriptsLibraryItems.xml436
-rw-r--r--bin/inventory/SoundsLibrary/SoundsLibraryFolders.xml17
-rw-r--r--bin/inventory/SoundsLibrary/SoundsLibraryItems.xml27
-rw-r--r--bin/inventory/TexturesLibrary/TexturesLibraryFolders.xml17
-rw-r--r--bin/inventory/TexturesLibrary/TexturesLibraryItems.xml586
-rwxr-xr-xbin/lib32/BulletSim.dllbin0 -> 1484800 bytes
-rwxr-xr-xbin/lib32/libBulletSim.dylibbin0 -> 2243876 bytes
-rwxr-xr-xbin/lib32/libBulletSim.sobin0 -> 2376133 bytes
-rwxr-xr-xbin/lib32/libode.dylibbin0 -> 2490468 bytes
-rwxr-xr-xbin/lib32/libode.sobin0 -> 4386269 bytes
-rwxr-xr-xbin/lib32/libopenjpeg-dotnet.sobin0 -> 140028 bytes
-rw-r--r--bin/lib32/libsqlite3.txt1
-rwxr-xr-xbin/lib32/libsqlite3_32.sobin0 -> 635852 bytes
-rwxr-xr-xbin/lib32/ode.dllbin0 -> 541696 bytes
-rwxr-xr-xbin/lib32/sqlite3.dllbin0 -> 559244 bytes
-rwxr-xr-xbin/lib64/BulletSim.dllbin0 -> 1653760 bytes
-rwxr-xr-xbin/lib64/libBulletSim.dylibbin0 -> 2243876 bytes
-rwxr-xr-xbin/lib64/libBulletSim.sobin0 -> 2544706 bytes
-rwxr-xr-xbin/lib64/libode-x86_64.sobin0 -> 5813749 bytes
-rwxr-xr-xbin/lib64/libode.dylibbin0 -> 2490468 bytes
-rwxr-xr-xbin/lib64/libopenjpeg-dotnet-x86_64.sobin0 -> 149368 bytes
-rwxr-xr-xbin/lib64/libopenjpeg-dotnet.dylibbin0 -> 130560 bytes
-rwxr-xr-xbin/lib64/libsqlite3.dylibbin0 -> 2175300 bytes
-rwxr-xr-xbin/lib64/libsqlite3_64.sobin0 -> 783200 bytes
-rwxr-xr-xbin/lib64/ode.dllbin0 -> 635904 bytes
-rwxr-xr-xbin/lib64/sqlite3.dllbin0 -> 1083392 bytes
-rw-r--r--bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-i686.sobin0 -> 140028 bytes
-rw-r--r--bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-x86_64.sobin0 -> 149368 bytes
-rw-r--r--bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylibbin0 -> 130560 bytes
-rwxr-xr-xbin/log4net.dllbin0 -> 270336 bytes
-rwxr-xr-xbin/nunit.framework.dllbin0 -> 135168 bytes
-rwxr-xr-xbin/openjpeg-dotnet-x86_64.dllbin0 -> 215040 bytes
-rwxr-xr-xbin/openjpeg-dotnet.dllbin0 -> 201216 bytes
-rw-r--r--bin/openmetaverse_data/avatar_lad.xml12308
-rw-r--r--bin/openmetaverse_data/avatar_skeleton.xml81
-rw-r--r--bin/openmetaverse_data/blush_alpha.tgabin0 -> 17352 bytes
-rw-r--r--bin/openmetaverse_data/body_skingrain.tgabin0 -> 262188 bytes
-rw-r--r--bin/openmetaverse_data/bodyfreckles_alpha.tgabin0 -> 257249 bytes
-rw-r--r--bin/openmetaverse_data/bump_face_wrinkles.tgabin0 -> 25243 bytes
-rw-r--r--bin/openmetaverse_data/bump_head_base.tgabin0 -> 105525 bytes
-rw-r--r--bin/openmetaverse_data/bump_lowerbody_base.tgabin0 -> 112782 bytes
-rw-r--r--bin/openmetaverse_data/bump_pants_wrinkles.tgabin0 -> 83183 bytes
-rw-r--r--bin/openmetaverse_data/bump_shirt_wrinkles.tgabin0 -> 81501 bytes
-rw-r--r--bin/openmetaverse_data/bump_upperbody_base.tgabin0 -> 147581 bytes
-rw-r--r--bin/openmetaverse_data/eyebrows_alpha.tgabin0 -> 9469 bytes
-rw-r--r--bin/openmetaverse_data/eyeliner_alpha.tgabin0 -> 4720 bytes
-rw-r--r--bin/openmetaverse_data/eyeshadow_inner_alpha.tgabin0 -> 5466 bytes
-rw-r--r--bin/openmetaverse_data/eyeshadow_outer_alpha.tgabin0 -> 7382 bytes
-rw-r--r--bin/openmetaverse_data/eyewhite.tgabin0 -> 42353 bytes
-rw-r--r--bin/openmetaverse_data/facehair_chincurtains_alpha.tgabin0 -> 34610 bytes
-rw-r--r--bin/openmetaverse_data/facehair_moustache_alpha.tgabin0 -> 14017 bytes
-rw-r--r--bin/openmetaverse_data/facehair_sideburns_alpha.tgabin0 -> 27328 bytes
-rw-r--r--bin/openmetaverse_data/facehair_soulpatch_alpha.tgabin0 -> 11277 bytes
-rw-r--r--bin/openmetaverse_data/freckles_alpha.tgabin0 -> 140558 bytes
-rw-r--r--bin/openmetaverse_data/glove_length_alpha.tgabin0 -> 49745 bytes
-rw-r--r--bin/openmetaverse_data/gloves_fingers_alpha.tgabin0 -> 39616 bytes
-rw-r--r--bin/openmetaverse_data/head_alpha.tgabin0 -> 6066 bytes
-rw-r--r--bin/openmetaverse_data/head_color.tgabin0 -> 70715 bytes
-rw-r--r--bin/openmetaverse_data/head_hair.tgabin0 -> 75600 bytes
-rw-r--r--bin/openmetaverse_data/head_highlights_alpha.tgabin0 -> 20503 bytes
-rw-r--r--bin/openmetaverse_data/head_shading_alpha.tgabin0 -> 35304 bytes
-rw-r--r--bin/openmetaverse_data/head_skingrain.tgabin0 -> 262376 bytes
-rw-r--r--bin/openmetaverse_data/jacket_length_lower_alpha.tgabin0 -> 9768 bytes
-rw-r--r--bin/openmetaverse_data/jacket_length_upper_alpha.tgabin0 -> 14617 bytes
-rw-r--r--bin/openmetaverse_data/jacket_open_lower_alpha.tgabin0 -> 19732 bytes
-rw-r--r--bin/openmetaverse_data/jacket_open_upper_alpha.tgabin0 -> 41606 bytes
-rw-r--r--bin/openmetaverse_data/lipgloss_alpha.tgabin0 -> 4738 bytes
-rw-r--r--bin/openmetaverse_data/lips_mask.tgabin0 -> 6110 bytes
-rw-r--r--bin/openmetaverse_data/lipstick_alpha.tgabin0 -> 7966 bytes
-rw-r--r--bin/openmetaverse_data/lowerbody_color.tgabin0 -> 135395 bytes
-rw-r--r--bin/openmetaverse_data/lowerbody_highlights_alpha.tgabin0 -> 8695 bytes
-rw-r--r--bin/openmetaverse_data/lowerbody_shading_alpha.tgabin0 -> 41766 bytes
-rw-r--r--bin/openmetaverse_data/nailpolish_alpha.tgabin0 -> 4656 bytes
-rw-r--r--bin/openmetaverse_data/pants_length_alpha.tgabin0 -> 26843 bytes
-rw-r--r--bin/openmetaverse_data/pants_waist_alpha.tgabin0 -> 10487 bytes
-rw-r--r--bin/openmetaverse_data/rosyface_alpha.tgabin0 -> 44382 bytes
-rw-r--r--bin/openmetaverse_data/rouge_alpha.tgabin0 -> 44382 bytes
-rw-r--r--bin/openmetaverse_data/shirt_bottom_alpha.tgabin0 -> 32242 bytes
-rw-r--r--bin/openmetaverse_data/shirt_collar_alpha.tgabin0 -> 14417 bytes
-rw-r--r--bin/openmetaverse_data/shirt_collar_back_alpha.tgabin0 -> 12789 bytes
-rw-r--r--bin/openmetaverse_data/shirt_sleeve_alpha.tgabin0 -> 72196 bytes
-rw-r--r--bin/openmetaverse_data/shoe_height_alpha.tgabin0 -> 24461 bytes
-rw-r--r--bin/openmetaverse_data/skirt_length_alpha.tgabin0 -> 4114 bytes
-rw-r--r--bin/openmetaverse_data/skirt_slit_back_alpha.tgabin0 -> 90350 bytes
-rw-r--r--bin/openmetaverse_data/skirt_slit_front_alpha.tgabin0 -> 90350 bytes
-rw-r--r--bin/openmetaverse_data/skirt_slit_left_alpha.tgabin0 -> 82006 bytes
-rw-r--r--bin/openmetaverse_data/skirt_slit_right_alpha.tgabin0 -> 91410 bytes
-rw-r--r--bin/openmetaverse_data/underpants_trial_female.tgabin0 -> 48063 bytes
-rw-r--r--bin/openmetaverse_data/underpants_trial_male.tgabin0 -> 144983 bytes
-rw-r--r--bin/openmetaverse_data/undershirt_trial_female.tgabin0 -> 81390 bytes
-rw-r--r--bin/openmetaverse_data/upperbody_color.tgabin0 -> 23348 bytes
-rw-r--r--bin/openmetaverse_data/upperbody_highlights_alpha.tgabin0 -> 6509 bytes
-rw-r--r--bin/openmetaverse_data/upperbody_shading_alpha.tgabin0 -> 25297 bytes
-rw-r--r--bin/openmetaverse_data/upperbodyfreckles_alpha.tgabin0 -> 180104 bytes
-rwxr-xr-xbin/opensim.sh5
-rw-r--r--bin/pCampBot.exe.config52
-rw-r--r--bin/pCampBot.ini.example19
-rw-r--r--bin/pCampBotSentences.txt0
-rw-r--r--bin/set_object_owner.xml8
-rw-r--r--bin/shutdown_commands.txt.example3
-rw-r--r--bin/startup_commands.txt.example3
-rw-r--r--bin/startuplogo.txt0
-rwxr-xr-xbin/zlib.net.dllbin0 -> 65536 bytes
535 files changed, 67671 insertions, 0 deletions
diff --git a/bin/Axiom.MathLib.dll b/bin/Axiom.MathLib.dll
new file mode 100755
index 0000000..b00cf1d
--- /dev/null
+++ b/bin/Axiom.MathLib.dll
Binary files differ
diff --git a/bin/BulletXNA.dll b/bin/BulletXNA.dll
new file mode 100755
index 0000000..b3ddc32
--- /dev/null
+++ b/bin/BulletXNA.dll
Binary files differ
diff --git a/bin/BulletXNA.pdb b/bin/BulletXNA.pdb
new file mode 100644
index 0000000..ed3baad
--- /dev/null
+++ b/bin/BulletXNA.pdb
Binary files differ
diff --git a/bin/C5.dll b/bin/C5.dll
new file mode 100755
index 0000000..42093e5
--- /dev/null
+++ b/bin/C5.dll
Binary files differ
diff --git a/bin/CSJ2K.dll b/bin/CSJ2K.dll
new file mode 100755
index 0000000..238291f
--- /dev/null
+++ b/bin/CSJ2K.dll
Binary files differ
diff --git a/bin/CookComputing.XmlRpcV2.dll b/bin/CookComputing.XmlRpcV2.dll
new file mode 100755
index 0000000..4dd869c
--- /dev/null
+++ b/bin/CookComputing.XmlRpcV2.dll
Binary files differ
diff --git a/bin/DotNetOpenId.dll b/bin/DotNetOpenId.dll
new file mode 100755
index 0000000..aa62790
--- /dev/null
+++ b/bin/DotNetOpenId.dll
Binary files differ
diff --git a/bin/DotNetOpenMail.dll b/bin/DotNetOpenMail.dll
new file mode 100755
index 0000000..70af3bf
--- /dev/null
+++ b/bin/DotNetOpenMail.dll
Binary files differ
diff --git a/bin/Gloebit.ini b/bin/Gloebit.ini
new file mode 100644
index 0000000..0e4e4d6
--- /dev/null
+++ b/bin/Gloebit.ini
@@ -0,0 +1,82 @@
1[Gloebit]
2 ;;;;;; ENABLE GLOBALLY OR FOR INDIVIDUAL REGIONS ;;;;;
3
4 ;# {Enabled} {[Startup]economymodule:Gloebit} {Enable Gloebit Money Module Globally?} {false, true} false
5 ;; Set to true to enable GMM for all regions controlled by this OpenSim process.
6 ;; Requires that "economymodule = Gloebit" is set in [Economy] or [Startup] section of opensim.ini
7 ;; If set to false, can be enabled for individual regions - see GLBEnabledOnlyInRegions below
8 Enabled = false
9
10 ;# {GLBEnabledOnlyInRegions} {Enabled:false} {Enable Gloebit Money Module in specific regions by region UUID (space delimited list)?} {*} ""
11 ;; If Enabled is false above, you can enable for individual regions controlled by this OpenSim process.
12 ;; Set this variable to a whitespace delimited list of region UUIDs
13 ; GLBEnabledOnlyInRegions =
14
15 ;;;;;; CONFIGURE ENVIRONMENT AND APPLICATION ;;;;;;
16 ;; Configure GMM to environment and Gloebit application on that environment to interact with
17 ;; see http://dev.gloebit.com/opensim/configuration-instructions/ for more details.
18
19 ;; Environments:
20 ;; sandbox - connects to sandbox.gloebit.com; fake/sandboxed payments and gloebits;
21 ;; https://sandbox.gloebit.com/signup/ - create sandbox account
22 ;; https://sandbox.gloebit.com/merchant-signup/ - request ability to create apps
23 ;; https://sandbox.gloebit.com/merchant-tools/ - create app and retrieve Key and Secret
24 ;; production - connects to www.gloebit.com; real payments and gloebits;
25 ;; https://www.gloebit.com/signup/ - create production account
26 ;; https://www.gloebit.com/merchant-signup/ - request ability to create apps
27 ;; (requires manual approval on production before gaining access to merchant tools)
28 ;; https://www.gloebit.com/merchant-tools/ - create app and retrieve Key and Secret
29 GLBEnvironment = sandbox
30
31 ;; Application the GMM on this process will connect to within the environment specified above
32 ;; Fill in GLBKey and GLBSecret with values from app created at https://sandbox.gloebit.com/merchant-tools/
33 ;; See http://dev.gloebit.com/opensim/configuration-instructions/ for more details.
34 GLBKey = 00000000-0000-0000-0000-000000000000
35 GLBSecret = 00000000-0000-0000-0000-000000000000
36
37 ;; GLBKeyAlias is optional and can be left out.
38 ;; If included, this will be used to make some URLs more user-friendly and human-readalbe
39 ;; To use, fill this with the OAuth Key Alias registered for this application on Gloebit
40 ; GLBKeyAlias =
41
42
43 ;;;;;; CONFIGURE HELPFUL ERROR CONTACT INFO FOR USER MESSAGES ;;;;;;
44 ;; The following are supplied to users in error messages for certain errors for which they should
45 ;; contact the person who configured this GMM and app and may need to fix something
46 ;; Those messages will include a trailing instruction string formatted like:
47 ;; Please contact GLBOnwerName at GLBOwnerEmail if this problem persists.
48
49 ;; GLBOwnerName should be replaced with the neme of the person or avatar which manages this OpenSim process.
50 GLBOwnerName = Region or Grid Owner
51
52 ;; GLBOwnerEmail should be replaced with the email address (or other contact mechanism) for the person who manages this OpenSim process.
53 ; GLBOwnerEmail = Manager@example.com
54
55 ;;;;; CONFIGURE NEW SESSION MESSAGING ;;;;;
56 ;; The following determine if a user receives messaging at the start of a new session
57 ;; A new session is defined as the first time a user enters a Gloebit enabled region for a Gloebit app during a viewer login
58 ;# {GLBShowNewSessionPurchaseIM} {Show purchase gloebits IM to user at session start?} {false, true} false
59 ; GLBShowNewSessionPurchaseIM = false
60 ;# {GLBShowNewSessionAuthIM} {Show auth app IM to user at session start?} {false, true} true
61 ; GLBShowNewSessionAuthIM = true
62
63 ;;;;; CONFIGURE SINGLE GLOEBIT DB FOR APP OR GRID ;;;;;;
64 ;; Optional - If not configured here, Gloebit will use the DataService
65 ;; ConnectionString
66 ;;
67 ;; Purpose - If each Sim process uses it's own database and separate
68 ;; set of DB tables from each other sim, then a user will have
69 ;; to authorize Gloebit form every sim process and will receive
70 ;; our welcome message upon entering every Sim process each
71 ;; session. However, if you configure the Gloebit system on every
72 ;; sim to point to a single DB either here, or if that is your default
73 ;; configuration for your sim, then your users will only have to authorize
74 ;; Gloebit once for your app and will only receive our welcome message
75 ;; once each session, the first time they enter a gloebit enabled region.
76 ;;
77 ;; Both of these settings must be configured together. See StandaloneCommon.ini.example
78 ;; for ConnectionString examples and availiable StorageProviders
79 ;GLBSpecificStorageProvider = OpenSim.Data.MySQL.dll
80 ;GLBSpecificConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
81 ;GLBSpecificStorageProvider = "OpenSim.Data.PGSQL.dll"
82 ;GLBSpecificConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;"
diff --git a/bin/GlynnTucker.Cache.dll b/bin/GlynnTucker.Cache.dll
new file mode 100755
index 0000000..c6ab8d5
--- /dev/null
+++ b/bin/GlynnTucker.Cache.dll
Binary files differ
diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll
new file mode 100755
index 0000000..5db99ef
--- /dev/null
+++ b/bin/HttpServer_OpenSim.dll
Binary files differ
diff --git a/bin/HttpServer_OpenSim.pdb b/bin/HttpServer_OpenSim.pdb
new file mode 100644
index 0000000..25b6760
--- /dev/null
+++ b/bin/HttpServer_OpenSim.pdb
Binary files differ
diff --git a/bin/HttpServer_OpenSim.xml b/bin/HttpServer_OpenSim.xml
new file mode 100644
index 0000000..7b6912e
--- /dev/null
+++ b/bin/HttpServer_OpenSim.xml
@@ -0,0 +1,5574 @@
1<?xml version="1.0"?>
2<doc>
3 <assembly>
4 <name>HttpServer_OpenSim</name>
5 </assembly>
6 <members>
7 <member name="T:HttpServer.Authentication.AuthenticationHandler">
8 <summary>
9 Delegate used to let authentication modules authenticate the user name and password.
10 </summary>
11 <param name="realm">Realm that the user want to authenticate in</param>
12 <param name="userName">User name specified by client</param>
13 <param name="token">Can either be user password or implementation specific token.</param>
14 <param name="login">object that will be stored in a session variable called <see cref="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag"/> if authentication was successful.</param>
15 <exception cref="T:HttpServer.Exceptions.ForbiddenException">throw forbidden exception if too many attempts have been made.</exception>
16 <remarks>
17 <para>
18 Use <see cref="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"/> to specify that the token is a HA1 token. (MD5 generated
19 string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password);
20 </para>
21 </remarks>
22 </member>
23 <member name="T:HttpServer.Authentication.AuthenticationRequiredHandler">
24 <summary>
25 Let's you decide on a system level if authentication is required.
26 </summary>
27 <param name="request">HTTP request from client</param>
28 <returns>true if user should be authenticated.</returns>
29 <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> if no more attempts are allowed.</remarks>
30 <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception>
31 </member>
32 <member name="T:HttpServer.Authentication.AuthenticationModule">
33 <summary>
34 Authentication modules are used to implement different
35 kind of HTTP authentication.
36 </summary>
37 </member>
38 <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)">
39 <summary>
40 Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class.
41 </summary>
42 <param name="authenticator">Delegate used to provide information used during authentication.</param>
43 <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param>
44 </member>
45 <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler)">
46 <summary>
47 Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class.
48 </summary>
49 <param name="authenticator">Delegate used to provide information used during authentication.</param>
50 </member>
51 <member name="P:HttpServer.Authentication.AuthenticationModule.Name">
52 <summary>
53 name used in HTTP request.
54 </summary>
55 </member>
56 <member name="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag">
57 <summary>
58 Tag used for authentication.
59 </summary>
60 </member>
61 <member name="M:HttpServer.Authentication.AuthenticationModule.CreateResponse(System.String,System.Object[])">
62 <summary>
63 Create a response that can be sent in the WWW-Authenticate header.
64 </summary>
65 <param name="realm">Realm that the user should authenticate in</param>
66 <param name="options">Array with optional options.</param>
67 <returns>A correct authentication request.</returns>
68 <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception>
69 </member>
70 <member name="M:HttpServer.Authentication.AuthenticationModule.Authenticate(System.String,System.String,System.String,System.Object[])">
71 <summary>
72 An authentication response have been received from the web browser.
73 Check if it's correct
74 </summary>
75 <param name="authenticationHeader">Contents from the Authorization header</param>
76 <param name="realm">Realm that should be authenticated</param>
77 <param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
78 <param name="options">options to specific implementations</param>
79 <returns>Authentication object that is stored for the request. A user class or something like that.</returns>
80 <exception cref="T:System.ArgumentException">if <paramref name="authenticationHeader"/> is invalid</exception>
81 <exception cref="T:System.ArgumentNullException">If any of the parameters is empty or null.</exception>
82 </member>
83 <member name="M:HttpServer.Authentication.AuthenticationModule.CheckAuthentication(System.String,System.String,System.String@,System.Object@)">
84 <summary>
85 Used to invoke the authentication delegate that is used to lookup the user name/realm.
86 </summary>
87 <param name="realm">Realm (domain) that user want to authenticate in</param>
88 <param name="userName">User name</param>
89 <param name="password">Password used for validation. Some implementations got password in clear text, they are then sent to client.</param>
90 <param name="login">object that will be stored in the request to help you identify the user if authentication was successful.</param>
91 <returns>true if authentication was successful</returns>
92 </member>
93 <member name="M:HttpServer.Authentication.AuthenticationModule.AuthenticationRequired(HttpServer.IHttpRequest)">
94 <summary>
95 Determines if authentication is required.
96 </summary>
97 <param name="request">HTTP request from browser</param>
98 <returns>true if user should be authenticated.</returns>
99 <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> from your delegate if no more attempts are allowed.</remarks>
100 <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception>
101 </member>
102 <member name="T:HttpServer.Authentication.BasicAuthentication">
103 <summary>
104 The "basic" authentication scheme is based on the model that the
105 client must authenticate itself with a user-ID and a password for
106 each realm. The realm value should be considered an opaque string
107 which can only be compared for equality with other realms on that
108 server. The server will service the request only if it can validate
109 the user-ID and password for the protection space of the Request-URI.
110 There are no optional authentication parameters.
111 </summary>
112 </member>
113 <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)">
114 <summary>
115 Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class.
116 </summary>
117 <param name="authenticator">Delegate used to provide information used during authentication.</param>
118 <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param>
119 </member>
120 <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)">
121 <summary>
122 Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class.
123 </summary>
124 <param name="authenticator">Delegate used to provide information used during authentication.</param>
125 </member>
126 <member name="M:HttpServer.Authentication.BasicAuthentication.CreateResponse(System.String,System.Object[])">
127 <summary>
128 Create a response that can be sent in the WWW-Authenticate header.
129 </summary>
130 <param name="realm">Realm that the user should authenticate in</param>
131 <param name="options">Not used in basic auth</param>
132 <returns>A correct auth request.</returns>
133 </member>
134 <member name="M:HttpServer.Authentication.BasicAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])">
135 <summary>
136 An authentication response have been received from the web browser.
137 Check if it's correct
138 </summary>
139 <param name="authenticationHeader">Contents from the Authorization header</param>
140 <param name="realm">Realm that should be authenticated</param>
141 <param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
142 <param name="options">Not used in basic auth</param>
143 <returns>Authentication object that is stored for the request. A user class or something like that.</returns>
144 <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception>
145 <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception>
146 </member>
147 <member name="P:HttpServer.Authentication.BasicAuthentication.Name">
148 <summary>
149 name used in http request.
150 </summary>
151 </member>
152 <member name="T:HttpServer.Authentication.DigestAuthentication">
153 <summary>
154 Implements HTTP Digest authentication. It's more secure than Basic auth since password is
155 encrypted with a "key" from the server.
156 </summary>
157 <remarks>
158 Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure.
159 </remarks>
160 </member>
161 <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)">
162 <summary>
163 Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class.
164 </summary>
165 <param name="authenticator">Delegate used to provide information used during authentication.</param>
166 <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param>
167 </member>
168 <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)">
169 <summary>
170 Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class.
171 </summary>
172 <param name="authenticator">Delegate used to provide information used during authentication.</param>
173 </member>
174 <member name="F:HttpServer.Authentication.DigestAuthentication.DisableNonceCheck">
175 <summary>
176 Used by test classes to be able to use hardcoded values
177 </summary>
178 </member>
179 <member name="P:HttpServer.Authentication.DigestAuthentication.Name">
180 <summary>
181 name used in http request.
182 </summary>
183 </member>
184 <member name="M:HttpServer.Authentication.DigestAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])">
185 <summary>
186 An authentication response have been received from the web browser.
187 Check if it's correct
188 </summary>
189 <param name="authenticationHeader">Contents from the Authorization header</param>
190 <param name="realm">Realm that should be authenticated</param>
191 <param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
192 <param name="options">First option: true if username/password is correct but not cnonce</param>
193 <returns>
194 Authentication object that is stored for the request. A user class or something like that.
195 </returns>
196 <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception>
197 <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception>
198 </member>
199 <member name="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1">
200 <summary>
201 Gets or sets whether the token supplied in <see cref="T:HttpServer.Authentication.AuthenticationHandler"/> is a
202 HA1 generated string.
203 </summary>
204 </member>
205 <member name="M:HttpServer.Authentication.DigestAuthentication.Encrypt(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
206 <summary>
207 Encrypts parameters into a Digest string
208 </summary>
209 <param name="realm">Realm that the user want to log into.</param>
210 <param name="userName">User logging in</param>
211 <param name="password">Users password.</param>
212 <param name="method">HTTP method.</param>
213 <param name="uri">Uri/domain that generated the login prompt.</param>
214 <param name="qop">Quality of Protection.</param>
215 <param name="nonce">"Number used ONCE"</param>
216 <param name="nc">Hexadecimal request counter.</param>
217 <param name="cnonce">"Client Number used ONCE"</param>
218 <returns>Digest encrypted string</returns>
219 </member>
220 <member name="M:HttpServer.Authentication.DigestAuthentication.Encrypt(System.String,System.String,System.String,System.String,System.String,System.String)">
221 <summary>
222
223 </summary>
224 <param name="ha1">Md5 hex encoded "userName:realm:password", without the quotes.</param>
225 <param name="ha2">Md5 hex encoded "method:uri", without the quotes</param>
226 <param name="qop">Quality of Protection</param>
227 <param name="nonce">"Number used ONCE"</param>
228 <param name="nc">Hexadecimal request counter.</param>
229 <param name="cnonce">Client number used once</param>
230 <returns></returns>
231 </member>
232 <member name="M:HttpServer.Authentication.DigestAuthentication.CreateResponse(System.String,System.Object[])">
233 <summary>
234 Create a response that can be sent in the WWW-Authenticate header.
235 </summary>
236 <param name="realm">Realm that the user should authenticate in</param>
237 <param name="options">First options specifies if true if username/password is correct but not cnonce.</param>
238 <returns>A correct auth request.</returns>
239 <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception>
240 </member>
241 <member name="M:HttpServer.Authentication.DigestAuthentication.Decode(System.String,System.Text.Encoding)">
242 <summary>
243 Decodes authorization header value
244 </summary>
245 <param name="buffer">header value</param>
246 <param name="encoding">Encoding that the buffer is in</param>
247 <returns>All headers and their values if successful; otherwise null</returns>
248 <example>
249 NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII);
250 </example>
251 <remarks>Can handle lots of whitespaces and new lines without failing.</remarks>
252 </member>
253 <member name="M:HttpServer.Authentication.DigestAuthentication.GetCurrentNonce">
254 <summary>
255 Gets the current nonce.
256 </summary>
257 <returns></returns>
258 </member>
259 <member name="M:HttpServer.Authentication.DigestAuthentication.GetMD5HashBinHex2(System.String)">
260 <summary>
261 Gets the Md5 hash bin hex2.
262 </summary>
263 <param name="toBeHashed">To be hashed.</param>
264 <returns></returns>
265 </member>
266 <member name="M:HttpServer.Authentication.DigestAuthentication.IsValidNonce(System.String)">
267 <summary>
268 determines if the nonce is valid or has expired.
269 </summary>
270 <param name="nonce">nonce value (check wikipedia for info)</param>
271 <returns>true if the nonce has not expired.</returns>
272 </member>
273 <member name="T:HttpServer.Check">
274 <summary>
275 Small design by contract implementation.
276 </summary>
277 </member>
278 <member name="M:HttpServer.Check.NotEmpty(System.String,System.String)">
279 <summary>
280 Check whether a parameter is empty.
281 </summary>
282 <param name="value">Parameter value</param>
283 <param name="parameterOrErrorMessage">Parameter name, or error description.</param>
284 <exception cref="T:System.ArgumentException">value is empty.</exception>
285 </member>
286 <member name="M:HttpServer.Check.Require(System.Object,System.String)">
287 <summary>
288 Checks whether a parameter is null.
289 </summary>
290 <param name="value">Parameter value</param>
291 <param name="parameterOrErrorMessage">Parameter name, or error description.</param>
292 <exception cref="T:System.ArgumentNullException">value is null.</exception>
293 </member>
294 <member name="M:HttpServer.Check.Min(System.Int32,System.Object,System.String)">
295 <summary>
296 Checks whether a parameter is null.
297 </summary>
298 <param name="minValue"></param>
299 <param name="value">Parameter value</param>
300 <param name="parameterOrErrorMessage">Parameter name, or error description.</param>
301 <exception cref="T:System.ArgumentException">value is null.</exception>
302 </member>
303 <member name="T:HttpServer.ClientAcceptedEventArgs">
304 <summary>
305 Invoked when a client have been accepted by the <see cref="T:HttpServer.HttpListener"/>
306 </summary>
307 <remarks>
308 Can be used to revoke incoming connections
309 </remarks>
310 </member>
311 <member name="M:HttpServer.ClientAcceptedEventArgs.#ctor(System.Net.Sockets.Socket)">
312 <summary>
313 Initializes a new instance of the <see cref="T:HttpServer.ClientAcceptedEventArgs"/> class.
314 </summary>
315 <param name="socket">The socket.</param>
316 </member>
317 <member name="P:HttpServer.ClientAcceptedEventArgs.Socket">
318 <summary>
319 Accepted socket.
320 </summary>
321 </member>
322 <member name="P:HttpServer.ClientAcceptedEventArgs.Revoked">
323 <summary>
324 Client should be revoked.
325 </summary>
326 </member>
327 <member name="M:HttpServer.ClientAcceptedEventArgs.Revoke">
328 <summary>
329 Client may not be handled.
330 </summary>
331 </member>
332 <member name="M:HttpServer.ComponentProvider.AddInstance``1(System.Object)">
333 <summary>
334 Add a component instance
335 </summary>
336 <typeparam name="T">Interface type</typeparam>
337 <param name="instance">Instance to add</param>
338 </member>
339 <member name="M:HttpServer.ComponentProvider.Get``1">
340 <summary>
341 Get a component.
342 </summary>
343 <typeparam name="T">Interface type</typeparam>
344 <returns>Component if registered, otherwise null.</returns>
345 <remarks>
346 Component will get created if needed.
347 </remarks>
348 </member>
349 <member name="M:HttpServer.ComponentProvider.Create(HttpServer.ComponentProvider.TypeInformation)">
350 <exception cref="T:System.InvalidOperationException">If instance cannot be created.</exception>
351 </member>
352 <member name="M:HttpServer.ComponentProvider.Contains(System.Type)">
353 <summary>
354 Checks if the specified component interface have been added.
355 </summary>
356 <param name="interfaceType"></param>
357 <returns>true if found; otherwise false.</returns>
358 </member>
359 <member name="M:HttpServer.ComponentProvider.Add``2">
360 <summary>
361 Add a component.
362 </summary>
363 <typeparam name="InterfaceType">Type being requested.</typeparam>
364 <typeparam name="InstanceType">Type being created.</typeparam>
365 <exception cref="T:System.InvalidOperationException">Type have already been mapped.</exception>
366 </member>
367 <member name="T:HttpServer.ContentType">
368 <summary>
369 Lists content type mime types.
370 </summary>
371 </member>
372 <member name="F:HttpServer.ContentType.Text">
373 <summary>
374 text/plain
375 </summary>
376 </member>
377 <member name="F:HttpServer.ContentType.Html">
378 <summary>
379 text/haml
380 </summary>
381 </member>
382 <member name="F:HttpServer.ContentType.Javascript">
383 <summary>
384 content type for javascript documents = application/javascript
385 </summary>
386 <remarks>
387 <para>
388 RFC 4329 states that text/javascript have been superseeded by
389 application/javascript. You might still want to check browser versions
390 since older ones do not support application/javascript.
391 </para>
392 <para>Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/</para>
393 </remarks>
394 </member>
395 <member name="F:HttpServer.ContentType.Xml">
396 <summary>
397 text/xml
398 </summary>
399 </member>
400 <member name="T:HttpServer.ContentTypes">
401 <summary>
402 A list of content types
403 </summary>
404 </member>
405 <member name="M:HttpServer.ContentTypes.#ctor(System.String)">
406 <summary>
407
408 </summary>
409 <param name="types">Semicolon separated content types.</param>
410 </member>
411 <member name="P:HttpServer.ContentTypes.First">
412 <summary>
413 Get this first content type.
414 </summary>
415 </member>
416 <member name="P:HttpServer.ContentTypes.Item(System.String)">
417 <summary>
418 Fetch a content type
419 </summary>
420 <param name="type">Part of type ("xml" would return "application/xml")</param>
421 <returns></returns>
422 <remarks>All content types are in lower case.</remarks>
423 </member>
424 <member name="M:HttpServer.ContentTypes.GetEnumerator">
425 <summary>
426 Returns an enumerator that iterates through a collection.
427 </summary>
428 <returns>
429 An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
430 </returns>
431 </member>
432 <member name="M:HttpServer.ContentTypes.Contains(System.String)">
433 <summary>
434 Searches for the specified type
435 </summary>
436 <param name="type">Can also be a part of a type (searching for "xml" would return true for "application/xml").</param>
437 <returns>true if type was found.</returns>
438 </member>
439 <member name="T:HttpServer.ContextTimeoutManager">
440 <summary>
441 Timeout Manager. Checks for dead clients. Clients with open connections that are not doing anything. Closes sessions opened with keepalive.
442 </summary>
443 </member>
444 <member name="T:HttpServer.ContextTimeoutManager.MonitorType">
445 <summary>
446 Use a Thread or a Timer to monitor the ugly
447 </summary>
448 </member>
449 <member name="M:HttpServer.ContextTimeoutManager.ProcessContextTimeouts">
450 <summary>
451 Causes the watcher to immediately check the connections.
452 </summary>
453 </member>
454 <member name="M:HttpServer.ContextTimeoutManager.EnvironmentTickCount">
455 <summary>
456 Environment.TickCount is an int but it counts all 32 bits so it goes positive
457 and negative every 24.9 days. This trims down TickCount so it doesn't wrap
458 for the callers.
459 This trims it to a 12 day interval so don't let your frame time get too long.
460 </summary>
461 <returns></returns>
462 </member>
463 <member name="M:HttpServer.ContextTimeoutManager.EnvironmentTickCountSubtract(System.Int32,System.Int32)">
464 <summary>
465 Environment.TickCount is an int but it counts all 32 bits so it goes positive
466 and negative every 24.9 days. Subtracts the passed value (previously fetched by
467 'EnvironmentTickCount()') and accounts for any wrapping.
468 </summary>
469 <param name="newValue"></param>
470 <param name="prevValue"></param>
471 <returns>subtraction of passed prevValue from current Environment.TickCount</returns>
472 </member>
473 <member name="M:HttpServer.ContextTimeoutManager.EnvironmentTickCountAdd(System.Int32,System.Int32)">
474 <summary>
475 Environment.TickCount is an int but it counts all 32 bits so it goes positive
476 and negative every 24.9 days. Subtracts the passed value (previously fetched by
477 'EnvironmentTickCount()') and accounts for any wrapping.
478 </summary>
479 <param name="newValue"></param>
480 <param name="prevValue"></param>
481 <returns>subtraction of passed prevValue from current Environment.TickCount</returns>
482 </member>
483 <member name="M:HttpServer.ContextTimeoutManager.EnvironmentTickCountSubtract(System.Int32)">
484 <summary>
485 Environment.TickCount is an int but it counts all 32 bits so it goes positive
486 and negative every 24.9 days. Subtracts the passed value (previously fetched by
487 'EnvironmentTickCount()') and accounts for any wrapping.
488 </summary>
489 <returns>subtraction of passed prevValue from current Environment.TickCount</returns>
490 </member>
491 <member name="T:HttpServer.ExceptionHandler">
492 <summary>
493 We dont want to let the server to die due to exceptions thrown in worker threads.
494 therefore we use this delegate to give you a change to handle uncaught exceptions.
495 </summary>
496 <param name="source">Class that the exception was thrown in.</param>
497 <param name="exception">Exception</param>
498 <remarks>
499 Server will throw a InternalServerException in release version if you dont
500 handle this delegate.
501 </remarks>
502 </member>
503 <member name="T:HttpServer.Exceptions.BadRequestException">
504 <summary>
505 The request could not be understood by the server due to malformed syntax.
506 The client SHOULD NOT repeat the request without modifications.
507
508 Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php
509 </summary>
510 </member>
511 <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String)">
512 <summary>
513 Create a new bad request exception.
514 </summary>
515 <param name="errMsg">reason to why the request was bad.</param>
516 </member>
517 <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String,System.Exception)">
518 <summary>
519 Create a new bad request exception.
520 </summary>
521 <param name="errMsg">reason to why the request was bad.</param>
522 <param name="inner">inner exception</param>
523 </member>
524 <member name="T:HttpServer.Exceptions.ForbiddenException">
525 <summary>
526 The server understood the request, but is refusing to fulfill it.
527 Authorization will not help and the request SHOULD NOT be repeated.
528 If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled,
529 it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information
530 available to the client, the status code 404 (Not Found) can be used instead.
531
532 Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php
533 </summary>
534 </member>
535 <member name="M:HttpServer.Exceptions.ForbiddenException.#ctor(System.String)">
536 <summary>
537 Initializes a new instance of the <see cref="T:HttpServer.Exceptions.ForbiddenException"/> class.
538 </summary>
539 <param name="errorMsg">error message</param>
540 </member>
541 <member name="T:HttpServer.Exceptions.HttpException">
542 <summary>
543 All HTTP based exceptions will derive this class.
544 </summary>
545 </member>
546 <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String)">
547 <summary>
548 Create a new HttpException
549 </summary>
550 <param name="code">http status code (sent in the response)</param>
551 <param name="message">error description</param>
552 </member>
553 <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String,System.Exception)">
554 <summary>
555 Create a new HttpException
556 </summary>
557 <param name="code">http status code (sent in the response)</param>
558 <param name="message">error description</param>
559 <param name="inner">inner exception</param>
560 </member>
561 <member name="P:HttpServer.Exceptions.HttpException.HttpStatusCode">
562 <summary>
563 status code to use in the response.
564 </summary>
565 </member>
566 <member name="T:HttpServer.Exceptions.InternalServerException">
567 <summary>
568 The server encountered an unexpected condition which prevented it from fulfilling the request.
569 </summary>
570 </member>
571 <member name="M:HttpServer.Exceptions.InternalServerException.#ctor">
572 <summary>
573 Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
574 </summary>
575 </member>
576 <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String)">
577 <summary>
578 Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
579 </summary>
580 <param name="message">error message.</param>
581 </member>
582 <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String,System.Exception)">
583 <summary>
584 Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
585 </summary>
586 <param name="message">error message.</param>
587 <param name="inner">inner exception.</param>
588 </member>
589 <member name="T:HttpServer.Exceptions.NotFoundException">
590 <summary>
591 The requested resource was not found in the web server.
592 </summary>
593 </member>
594 <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String,System.Exception)">
595 <summary>
596 Create a new exception
597 </summary>
598 <param name="message">message describing the error</param>
599 <param name="inner">inner exception</param>
600 </member>
601 <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String)">
602 <summary>
603 Create a new exception
604 </summary>
605 <param name="message">message describing the error</param>
606 </member>
607 <member name="T:HttpServer.Exceptions.UnauthorizedException">
608 <summary>
609 The request requires user authentication. The response MUST include a
610 WWW-Authenticate header field (section 14.47) containing a challenge
611 applicable to the requested resource.
612
613 The client MAY repeat the request with a suitable Authorization header
614 field (section 14.8). If the request already included Authorization
615 credentials, then the 401 response indicates that authorization has been
616 refused for those credentials. If the 401 response contains the same challenge
617 as the prior response, and the user agent has already attempted authentication
618 at least once, then the user SHOULD be presented the entity that was given in the response,
619 since that entity might include relevant diagnostic information.
620
621 HTTP access authentication is explained in rfc2617:
622 http://www.ietf.org/rfc/rfc2617.txt
623
624 (description is taken from
625 http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2)
626 </summary>
627 </member>
628 <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor">
629 <summary>
630 Create a new unauhtorized exception.
631 </summary>
632 <seealso cref="T:HttpServer.Exceptions.UnauthorizedException"/>
633 </member>
634 <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String,System.Exception)">
635 <summary>
636 Create a new unauhtorized exception.
637 </summary>
638 <param name="message">reason to why the request was unauthorized.</param>
639 <param name="inner">inner exception</param>
640 </member>
641 <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String)">
642 <summary>
643 Create a new unauhtorized exception.
644 </summary>
645 <param name="message">reason to why the request was unauthorized.</param>
646 </member>
647 <member name="T:HttpServer.FormDecoders.FormDecoderProvider">
648 <summary>
649 This provider is used to let us implement any type of form decoding we want without
650 having to rewrite anything else in the server.
651 </summary>
652 </member>
653 <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Decode(System.String,System.IO.Stream,System.Text.Encoding)">
654 <summary>
655
656 </summary>
657 <param name="contentType">Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959</param>
658 <param name="stream">Stream containing form data.</param>
659 <param name="encoding">Encoding used when decoding the stream</param>
660 <returns><see cref="F:HttpServer.HttpInput.Empty"/> if no parser was found.</returns>
661 <exception cref="T:System.ArgumentException">If stream is null or not readable.</exception>
662 <exception cref="T:System.IO.InvalidDataException">If stream contents cannot be decoded properly.</exception>
663 </member>
664 <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Add(HttpServer.FormDecoders.IFormDecoder)">
665 <summary>
666 Add a decoder.
667 </summary>
668 <param name="decoder"></param>
669 <exception cref="T:System.ArgumentNullException"></exception>
670 </member>
671 <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Count">
672 <summary>
673 Number of added decoders.
674 </summary>
675 </member>
676 <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Decoders">
677 <summary>
678 Use with care.
679 </summary>
680 </member>
681 <member name="P:HttpServer.FormDecoders.FormDecoderProvider.DefaultDecoder">
682 <summary>
683 Decoder used for unknown content types.
684 </summary>
685 </member>
686 <member name="T:HttpServer.FormDecoders.HttpMultipart.Element">
687 <summary>Represents a field in a multipart form</summary>
688 </member>
689 <member name="M:HttpServer.FormDecoders.HttpMultipart.ReadLine">
690 <summary>
691
692 </summary>
693 <returns></returns>
694 <exception cref="T:System.ArgumentOutOfRangeException"></exception>
695 <exception cref="T:System.ObjectDisposedException"></exception>
696 </member>
697 <member name="T:HttpServer.FormDecoders.IFormDecoder">
698 <summary>
699 Interface for form content decoders.
700 </summary>
701 </member>
702 <member name="M:HttpServer.FormDecoders.IFormDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
703 <summary>
704
705 </summary>
706 <param name="stream">Stream containing the content</param>
707 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
708 <param name="encoding">Stream enconding</param>
709 <returns>A http form, or null if content could not be parsed.</returns>
710 <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
711 </member>
712 <member name="M:HttpServer.FormDecoders.IFormDecoder.CanParse(System.String)">
713 <summary>
714 Checks if the decoder can handle the mime type
715 </summary>
716 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
717 <returns>True if the decoder can parse the specified content type</returns>
718 </member>
719 <member name="T:HttpServer.FormDecoders.MultipartDecoder">
720 <summary>
721
722 </summary>
723 <remarks>
724 http://www.faqs.org/rfcs/rfc1867.html
725 </remarks>
726 </member>
727 <member name="F:HttpServer.FormDecoders.MultipartDecoder.MimeType">
728 <summary>
729 multipart/form-data
730 </summary>
731 </member>
732 <member name="F:HttpServer.FormDecoders.MultipartDecoder.FormData">
733 <summary>
734 form-data
735 </summary>
736 </member>
737 <member name="M:HttpServer.FormDecoders.MultipartDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
738 <summary>
739
740 </summary>
741 <param name="stream">Stream containing the content</param>
742 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
743 <param name="encoding">Stream enconding</param>
744 <returns>A http form, or null if content could not be parsed.</returns>
745 <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
746 <exception cref="T:System.ArgumentNullException">If any parameter is null</exception>
747 </member>
748 <member name="M:HttpServer.FormDecoders.MultipartDecoder.CanParse(System.String)">
749 <summary>
750 Checks if the decoder can handle the mime type
751 </summary>
752 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
753 <returns>True if the decoder can parse the specified content type</returns>
754 </member>
755 <member name="T:HttpServer.FormDecoders.UrlDecoder">
756 <summary>
757 Can handle application/x-www-form-urlencoded
758 </summary>
759 </member>
760 <member name="M:HttpServer.FormDecoders.UrlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
761 <summary>
762 </summary>
763 <param name="stream">Stream containing the content</param>
764 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
765 <param name="encoding">Stream encoding</param>
766 <returns>
767 A HTTP form, or null if content could not be parsed.
768 </returns>
769 <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
770 </member>
771 <member name="M:HttpServer.FormDecoders.UrlDecoder.CanParse(System.String)">
772 <summary>
773 Checks if the decoder can handle the mime type
774 </summary>
775 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
776 <returns>True if the decoder can parse the specified content type</returns>
777 </member>
778 <member name="T:HttpServer.FormDecoders.XmlDecoder">
779 <summary>
780 This decoder converts XML documents to form items.
781 Each element becomes a subitem in the form, and each attribute becomes an item.
782 </summary>
783 <example>
784 // xml: <hello id="1">something<world id="2">data</world></hello>
785 // result:
786 // form["hello"].Value = "something"
787 // form["hello"]["id"].Value = 1
788 // form["hello"]["world]["id"].Value = 1
789 // form["hello"]["world"].Value = "data"
790 </example>
791 <remarks>
792 The original xml document is stored in form["__xml__"].Value.
793 </remarks>
794 </member>
795 <member name="M:HttpServer.FormDecoders.XmlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
796 <summary>
797
798 </summary>
799 <param name="stream">Stream containing the content</param>
800 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
801 <param name="encoding">Stream encoding</param>
802 Note: contentType and encoding are not used?
803 <returns>A http form, or null if content could not be parsed.</returns>
804 <exception cref="T:System.IO.InvalidDataException"></exception>
805 </member>
806 <member name="M:HttpServer.FormDecoders.XmlDecoder.TraverseNode(HttpServer.IHttpInput,System.Xml.XmlNode)">
807 <summary>
808 Recursive function that will go through an xml element and store it's content
809 to the form item.
810 </summary>
811 <param name="item">(parent) Item in form that content should be added to.</param>
812 <param name="node">Node that should be parsed.</param>
813 </member>
814 <member name="M:HttpServer.FormDecoders.XmlDecoder.CanParse(System.String)">
815 <summary>
816 Checks if the decoder can handle the mime type
817 </summary>
818 <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
819 <returns>True if the decoder can parse the specified content type</returns>
820 </member>
821 <member name="T:HttpServer.Helpers.FormHelper">
822 <summary>
823 Helpers making it easier to work with forms.
824 </summary>
825 <seealso cref="T:HttpServer.Helpers.ObjectForm"/>
826 </member>
827 <member name="F:HttpServer.Helpers.FormHelper.JSImplementation">
828 <summary>
829 Used to let the website use different JavaScript libraries.
830 Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/>
831 </summary>
832 </member>
833 <member name="M:HttpServer.Helpers.FormHelper.Start(System.String,System.String,System.Boolean,System.String[])">
834 <summary>
835 Create a &lt;form&gt; tag.
836 </summary>
837 <param name="id">name of form</param>
838 <param name="action">action to invoke on submit</param>
839 <param name="isAjax">form should be posted as Ajax</param>
840 <returns>HTML code</returns>
841 <example>
842 <code>
843 // without options
844 WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax);
845
846 // with options
847 WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm");
848 </code>
849 </example>
850 <param name="options">HTML attributes or JavaScript options.</param>
851 <remarks>Method will ALWAYS be POST.</remarks>
852 <exception cref="T:System.ArgumentException">options must consist of name, value, name, value</exception>
853 </member>
854 <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
855 <summary>
856 Creates a select list with the values in a collection.
857 </summary>
858 <param name="name">Name of the SELECT-tag</param>
859 <param name="collection">collection used to generate options.</param>
860 <param name="getIdTitle">delegate used to return id and title from objects.</param>
861 <param name="selectedValue">value that should be marked as selected.</param>
862 <param name="firstEmpty">First row should contain an empty value.</param>
863 <returns>string containing a SELECT-tag.</returns>
864 <seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
865 </member>
866 <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
867 <summary>
868 Creates a select list with the values in a collection.
869 </summary>
870 <param name="name">Name of the SELECT-tag</param>
871 <param name="id">Id of the SELECT-tag</param>
872 <param name="collection">collection used to generate options.</param>
873 <param name="getIdTitle">delegate used to return id and title from objects.</param>
874 <param name="selectedValue">value that should be marked as selected.</param>
875 <param name="firstEmpty">First row should contain an empty value.</param>
876 <returns>string containing a SELECT-tag.</returns>
877 <seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
878 <example>
879 <code>
880 // Class that is going to be used in a SELECT-tag.
881 public class User
882 {
883 private readonly string _realName;
884 private readonly int _id;
885 public User(int id, string realName)
886 {
887 _id = id;
888 _realName = realName;
889 }
890 public string RealName
891 {
892 get { return _realName; }
893 }
894
895 public int Id
896 {
897 get { return _id; }
898 }
899 }
900
901 // Using an inline delegate to generate the select list
902 public void UserInlineDelegate()
903 {
904 List&lt;User&gt; items = new List&lt;User&gt;();
905 items.Add(new User(1, "adam"));
906 items.Add(new User(2, "bertial"));
907 items.Add(new User(3, "david"));
908 string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value)
909 {
910 User user = (User)o;
911 id = user.Id;
912 value = user.RealName;
913 }, 2, true);
914 }
915
916 // Using an method as delegate to generate the select list.
917 public void UseExternalDelegate()
918 {
919 List&lt;User&gt; items = new List&lt;User&gt;();
920 items.Add(new User(1, "adam"));
921 items.Add(new User(2, "bertial"));
922 items.Add(new User(3, "david"));
923 string htmlSelect = Select("users", "users", items, UserOptions, 1, true);
924 }
925
926 // delegate returning id and title
927 public static void UserOptions(object o, out object id, out object title)
928 {
929 User user = (User)o;
930 id = user.Id;
931 value = user.RealName;
932 }
933 </code>
934 </example>
935 <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception>
936 </member>
937 <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean,System.String[])">
938 <summary>
939 Creates a select list with the values in a collection.
940 </summary>
941 <param name="name">Name of the SELECT-tag</param>
942 <param name="id">Id of the SELECT-tag</param>
943 <param name="collection">collection used to generate options.</param>
944 <param name="getIdTitle">delegate used to return id and title from objects.</param>
945 <param name="selectedValue">value that should be marked as selected.</param>
946 <param name="firstEmpty">First row should contain an empty value.</param>
947 <param name="htmlAttributes">name, value collection of extra HTML attributes.</param>
948 <returns>string containing a SELECT-tag.</returns>
949 <seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
950 <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception>
951 <exception cref="T:System.ArgumentException">Invalid HTML attribute list.</exception>
952 </member>
953 <member name="M:HttpServer.Helpers.FormHelper.Options(System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
954 <summary>
955 Generate a list of HTML options
956 </summary>
957 <param name="collection">collection used to generate options.</param>
958 <param name="getIdTitle">delegate used to return id and title from objects.</param>
959 <param name="selectedValue">value that should be marked as selected.</param>
960 <param name="firstEmpty">First row should contain an empty value.</param>
961 <returns></returns>
962 <exception cref="T:System.ArgumentNullException"><c>collection</c> or <c>getIdTitle</c> is null.</exception>
963 </member>
964 <member name="M:HttpServer.Helpers.FormHelper.Options(System.Text.StringBuilder,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
965 <exception cref="T:System.ArgumentNullException"><c>sb</c> is null.</exception>
966 </member>
967 <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.Object,System.Object,System.String[])">
968 <summary>
969 Creates a check box.
970 </summary>
971 <param name="name">element name</param>
972 <param name="value">element value</param>
973 <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the
974 type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
975 the box is checked or not. </param>
976 <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
977 <returns>a generated radio button</returns>
978 </member>
979 <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.Object,System.String[])">
980 <summary>
981 Creates a check box.
982 </summary>
983 <param name="name">element name</param>
984 <param name="id">element id</param>
985 <param name="value">element value</param>
986 <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the
987 type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
988 the box is checked or not. </param>
989 <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
990 <returns>a generated radio button</returns>
991 <remarks>
992 value in your business object. (check box will be selected if it matches the element value)
993 </remarks>
994 </member>
995 <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.String[])">
996 <summary>
997 Creates a check box.
998 </summary>
999 <param name="name">element name</param>
1000 <param name="id">element id</param>
1001 <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the
1002 type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
1003 the box is checked or not. </param>
1004 <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
1005 <returns>a generated radio button</returns>
1006 <remarks>will set value to "1".</remarks>
1007 </member>
1008 <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.Object,System.Object,System.String[])">
1009 <summary>
1010 Creates a RadioButton.
1011 </summary>
1012 <param name="name">element name</param>
1013 <param name="value">element value</param>
1014 <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the
1015 type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
1016 the box is checked or not. </param>
1017 <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
1018 <returns>a generated radio button</returns>
1019 </member>
1020 <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.String,System.Object,System.Object,System.String[])">
1021 <summary>
1022 Creates a RadioButton.
1023 </summary>
1024 <param name="name">element name</param>
1025 <param name="id">element id</param>
1026 <param name="value">element value</param>
1027 <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the
1028 type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
1029 the box is checked or not. </param>
1030 <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
1031 <returns>a generated radio button</returns>
1032 </member>
1033 <member name="M:HttpServer.Helpers.FormHelper.End">
1034 <summary>
1035 form close tag
1036 </summary>
1037 <returns></returns>
1038 </member>
1039 <member name="T:HttpServer.Helpers.GetIdTitle">
1040 <summary>
1041 Delegate used by <see cref="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"/> to populate select options.
1042 </summary>
1043 <param name="obj">current object (for instance a User).</param>
1044 <param name="id">Text that should be displayed in the value part of a &lt;optiongt;-tag.</param>
1045 <param name="title">Text shown in the select list.</param>
1046 <example>
1047 // Class that is going to be used in a SELECT-tag.
1048 public class User
1049 {
1050 private readonly string _realName;
1051 private readonly int _id;
1052 public User(int id, string realName)
1053 {
1054 _id = id;
1055 _realName = realName;
1056 }
1057 public string RealName
1058 {
1059 get { return _realName; }
1060 }
1061
1062 public int Id
1063 {
1064 get { return _id; }
1065 }
1066 }
1067
1068 // Using an inline delegate to generate the select list
1069 public void UserInlineDelegate()
1070 {
1071 List&lt;User&gt; items = new List&lt;User&gt;();
1072 items.Add(new User(1, "adam"));
1073 items.Add(new User(2, "bertial"));
1074 items.Add(new User(3, "david"));
1075 string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value)
1076 {
1077 User user = (User)o;
1078 id = user.Id;
1079 value = user.RealName;
1080 }, 2, true);
1081 }
1082
1083 // Using an method as delegate to generate the select list.
1084 public void UseExternalDelegate()
1085 {
1086 List&lt;User&gt; items = new List&lt;User&gt;();
1087 items.Add(new User(1, "adam"));
1088 items.Add(new User(2, "bertial"));
1089 items.Add(new User(3, "david"));
1090 string htmlSelect = Select("users", "users", items, UserOptions, 1, true);
1091 }
1092
1093 // delegate returning id and title
1094 public static void UserOptions(object o, out object id, out object title)
1095 {
1096 User user = (User)o;
1097 id = user.Id;
1098 value = user.RealName;
1099 } /// </example>
1100 </member>
1101 <member name="T:HttpServer.Helpers.Implementations.PrototypeImp">
1102 <summary>
1103 PrototypeJS implementation of the javascript functions.
1104 </summary>
1105 </member>
1106 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxRequest(System.String,System.String[])">
1107 <summary>
1108 Requests a url through ajax
1109 </summary>
1110 <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
1111 <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param>
1112 <returns>a link tag</returns>
1113 <remarks>onclick attribute is used by this method.</remarks>
1114 <example>
1115 <code>
1116 // plain text
1117 JSHelper.AjaxRequest("'/user/show/1'");
1118
1119 // ajax request using this.href
1120 string link = "&lt;a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/&lt;call user&lt;/a&gt;";
1121 </code>
1122 </example>
1123 </member>
1124 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.Contains(System.Collections.Generic.IEnumerable{System.String},System.String)">
1125 <summary>
1126 Determins if a list of strings contains a specific value
1127 </summary>
1128 <param name="options">options to check in</param>
1129 <param name="value">value to find</param>
1130 <returns>true if value was found</returns>
1131 <remarks>case insensitive</remarks>
1132 </member>
1133 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxUpdater(System.String,System.String,System.String[])">
1134 <summary>
1135 Ajax requests that updates an element with
1136 the fetched content
1137 </summary>
1138 <param name="url">URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
1139 <param name="targetId">element to update</param>
1140 <param name="options">options in format "key, value, key, value". All keys should end with colon.</param>
1141 <returns>A link tag.</returns>
1142 <example>
1143 <code>
1144 JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true");
1145 </code>
1146 </example>
1147 </member>
1148 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])">
1149 <summary>
1150 A link that pop ups a Dialog (overlay div)
1151 </summary>
1152 <param name="url">URL to contents of dialog</param>
1153 <param name="title">link title</param>
1154 <param name="htmlAttributes">name, value, name, value</param>
1155 <returns>
1156 A "a"-tag that popups a dialog when clicked
1157 </returns>
1158 <remarks><para>Requires Control.Modal found here: http://livepipe.net/projects/control_modal/</para>
1159 And the following JavaScript (load it in application.js):
1160 <code>
1161 Event.observe(window, 'load',
1162 function() {
1163 document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); });
1164 }
1165 );
1166 </code>
1167 </remarks>
1168 <example>
1169 WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
1170 </example>
1171 </member>
1172 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CreateDialog(System.String,System.String,System.String[])">
1173 <summary>
1174 create a modal dialog (usually using DIVs)
1175 </summary>
1176 <param name="url">url to fetch</param>
1177 <param name="title">dialog title</param>
1178 <param name="options">javascript/html attributes. javascript options ends with colon ':'.</param>
1179 <returns></returns>
1180 </member>
1181 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CloseDialog">
1182 <summary>
1183 Close a javascript dialog window/div.
1184 </summary>
1185 <returns>javascript for closing a dialog.</returns>
1186 <see cref="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])" />
1187 </member>
1188 <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxFormOnSubmit(System.String[])">
1189 <summary>
1190 javascript action that should be added to the "onsubmit" event in the form tag.
1191 </summary>
1192 <param name="options">remember to encapsulate strings in ''</param>
1193 <returns></returns>
1194 <remarks>All javascript option names should end with colon.</remarks>
1195 <example>
1196 <code>
1197 JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
1198 </code>
1199 </example>
1200 </member>
1201 <member name="T:HttpServer.Helpers.JSHelper">
1202 <summary>
1203 Will contain helper functions for javascript.
1204 </summary>
1205 </member>
1206 <member name="M:HttpServer.Helpers.JSHelper.AjaxRequest(System.String,System.String[])">
1207 <summary>
1208 Requests a url through ajax
1209 </summary>
1210 <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
1211 <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param>
1212 <returns>a link tag</returns>
1213 <remarks>onclick attribute is used by this method.</remarks>
1214 <example>
1215 <code>
1216 // plain text
1217 JSHelper.AjaxRequest("'/user/show/1'");
1218
1219 // ajax request using this.href
1220 string link = "&lt;a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/&lt;call user&lt;/a&gt;";
1221 </code>
1222 </example>
1223 </member>
1224 <member name="M:HttpServer.Helpers.JSHelper.AjaxUpdater(System.String,System.String,System.String[])">
1225 <summary>
1226 Ajax requests that updates an element with
1227 the fetched content
1228 </summary>
1229 <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
1230 <param name="targetId">element to update</param>
1231 <param name="options">options in format "key, value, key, value". All keys should end with colon.</param>
1232 <returns>A link tag.</returns>
1233 <example>
1234 <code>
1235 JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true");
1236 </code>
1237 </example>
1238 </member>
1239 <member name="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])">
1240 <summary>
1241 Opens contents in a dialog window.
1242 </summary>
1243 <param name="url">url to contents of dialog</param>
1244 <param name="title">link title</param>
1245 <param name="options">name, value, name, value, all parameter names should end with colon.</param>
1246 </member>
1247 <member name="M:HttpServer.Helpers.JSHelper.CloseDialog">
1248 <summary>
1249 Close a javascript dialog window/div.
1250 </summary>
1251 <returns>javascript for closing a dialog.</returns>
1252 <see cref="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])" />
1253 </member>
1254 <member name="T:HttpServer.Helpers.ObjectForm">
1255 <summary>
1256 The object form class takes an object and creates form items for it.
1257 </summary>
1258 </member>
1259 <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object,System.String)">
1260 <summary>
1261 Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
1262 </summary>
1263 <param name="method"></param>
1264 <param name="name">form name *and* id.</param>
1265 <param name="action">action to do when form is posted.</param>
1266 <param name="obj"></param>
1267 </member>
1268 <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object)">
1269 <summary>
1270 Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
1271 </summary>
1272 <param name="name">form name *and* id.</param>
1273 <param name="action">action to do when form is posted.</param>
1274 <param name="obj">object to get values from</param>
1275 </member>
1276 <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.Object)">
1277 <summary>
1278 Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
1279 </summary>
1280 <param name="action">form action.</param>
1281 <param name="obj">object to get values from.</param>
1282 </member>
1283 <member name="M:HttpServer.Helpers.ObjectForm.Begin">
1284 <summary>
1285 write out the FORM-tag.
1286 </summary>
1287 <returns>generated html code</returns>
1288 </member>
1289 <member name="M:HttpServer.Helpers.ObjectForm.Begin(System.Boolean)">
1290 <summary>
1291 Writeout the form tag
1292 </summary>
1293 <param name="isAjax">form should be posted through ajax.</param>
1294 <returns>generated html code</returns>
1295 </member>
1296 <member name="M:HttpServer.Helpers.ObjectForm.Tb(System.String,System.Object[])">
1297 <summary>
1298 Generates a text box.
1299 </summary>
1300 <param name="propertyName"></param>
1301 <param name="options"></param>
1302 <returns>generated html code</returns>
1303 </member>
1304 <member name="M:HttpServer.Helpers.ObjectForm.Pb(System.String,System.Object[])">
1305 <summary>
1306 password box
1307 </summary>
1308 <param name="propertyName"></param>
1309 <param name="options"></param>
1310 <returns>generated html code</returns>
1311 </member>
1312 <member name="M:HttpServer.Helpers.ObjectForm.Hidden(System.String,System.Object[])">
1313 <summary>
1314 Hiddens the specified property name.
1315 </summary>
1316 <param name="propertyName">Name of the property.</param>
1317 <param name="options">The options.</param>
1318 <returns>generated html code</returns>
1319 </member>
1320 <member name="M:HttpServer.Helpers.ObjectForm.Label(System.String,System.String)">
1321 <summary>
1322 Labels the specified property name.
1323 </summary>
1324 <param name="propertyName">property in object.</param>
1325 <param name="label">caption</param>
1326 <returns>generated html code</returns>
1327 </member>
1328 <member name="M:HttpServer.Helpers.ObjectForm.Cb(System.String,System.String,System.Object[])">
1329 <summary>
1330 Generate a checkbox
1331 </summary>
1332 <param name="propertyName">property in object</param>
1333 <param name="value">checkbox value</param>
1334 <param name="options">additional html attributes.</param>
1335 <returns>generated html code</returns>
1336 </member>
1337 <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.String,System.String,System.Object[])">
1338 <summary>
1339 Write a html select tag
1340 </summary>
1341 <param name="propertyName">object property.</param>
1342 <param name="idColumn">id column</param>
1343 <param name="titleColumn">The title column.</param>
1344 <param name="options">The options.</param>
1345 <returns></returns>
1346 </member>
1347 <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.Collections.IEnumerable,System.String,System.String,System.Object[])">
1348 <summary>
1349 Selects the specified property name.
1350 </summary>
1351 <param name="propertyName">Name of the property.</param>
1352 <param name="items">The items.</param>
1353 <param name="idColumn">The id column.</param>
1354 <param name="titleColumn">The title column.</param>
1355 <param name="options">The options.</param>
1356 <returns></returns>
1357 </member>
1358 <member name="M:HttpServer.Helpers.ObjectForm.Submit(System.String)">
1359 <summary>
1360 Write a submit tag.
1361 </summary>
1362 <param name="value">button caption</param>
1363 <returns>html submit tag</returns>
1364 </member>
1365 <member name="M:HttpServer.Helpers.ObjectForm.End">
1366 <summary>
1367 html end form tag
1368 </summary>
1369 <returns>html</returns>
1370 </member>
1371 <member name="T:HttpServer.Helpers.ResourceInfo">
1372 <summary>
1373 Container to bind resource names to assemblies
1374 </summary>
1375 </member>
1376 <member name="M:HttpServer.Helpers.ResourceInfo.#ctor(System.String,System.String,System.Reflection.Assembly)">
1377 <summary>
1378 Instantiates an instance of <see cref="T:HttpServer.Helpers.ResourceInfo"/>
1379 </summary>
1380 <param name="uri">The dot seperated uri the resource maps to</param>
1381 <param name="resourceName">The full resource name</param>
1382 <param name="assembly">The assembly the resource exists in</param>
1383 </member>
1384 <member name="P:HttpServer.Helpers.ResourceInfo.Assembly">
1385 <summary>
1386 Retrieves the assembly the resource resides in
1387 </summary>
1388 </member>
1389 <member name="P:HttpServer.Helpers.ResourceInfo.Uri">
1390 <summary>
1391 Retrieves the full name/path of the assembly
1392 </summary>
1393 </member>
1394 <member name="P:HttpServer.Helpers.ResourceInfo.Extension">
1395 <summary>
1396 Retrieves the extension of the resource
1397 </summary>
1398 </member>
1399 <member name="P:HttpServer.Helpers.ResourceInfo.ExtensionLessUri">
1400 <summary>Returns the Uri without extension</summary>
1401 </member>
1402 <member name="P:HttpServer.Helpers.ResourceInfo.ResourceName">
1403 <summary>Retrieves the full path name to the resource file</summary>
1404 </member>
1405 <member name="M:HttpServer.Helpers.ResourceInfo.GetStream">
1406 <summary>
1407 Retrieves a stream to the resource
1408 </summary>
1409 <returns>Null if the resource couldn't be located somehow</returns>
1410 </member>
1411 <member name="T:HttpServer.Helpers.ResourceManager">
1412 <summary>Class to handle loading of resource files</summary>
1413 </member>
1414 <member name="M:HttpServer.Helpers.ResourceManager.#ctor">
1415 <summary>
1416 Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class.
1417 </summary>
1418 </member>
1419 <member name="M:HttpServer.Helpers.ResourceManager.#ctor(HttpServer.ILogWriter)">
1420 <summary>
1421 Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class.
1422 </summary>
1423 <param name="writer">logger.</param>
1424 </member>
1425 <member name="M:HttpServer.Helpers.ResourceManager.LoadResources(System.String,System.Reflection.Assembly,System.String)">
1426 <summary>
1427 Loads resources from a namespace in the given assembly to an URI
1428 </summary>
1429 <param name="toUri">The URI to map the resources to</param>
1430 <param name="fromAssembly">The assembly in which the resources reside</param>
1431 <param name="fromNamespace">The namespace from which to load the resources</param>
1432 <usage>
1433 <code>
1434 resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views");
1435 </code>
1436 Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/
1437 </usage>
1438 <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns>
1439 <exception cref="T:System.InvalidOperationException">If a resource has already been mapped to an uri</exception>
1440 </member>
1441 <member name="M:HttpServer.Helpers.ResourceManager.GetResourceStream(System.String)">
1442 <summary>
1443 Retrieves a stream for the specified resource path if loaded otherwise null
1444 </summary>
1445 <param name="path">Path to the resource to retrieve a stream for</param>
1446 <returns>A stream or null if the resource couldn't be found</returns>
1447 </member>
1448 <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String)">
1449 <summary>
1450 Fetch all files from the resource that matches the specified arguments.
1451 </summary>
1452 <param name="path">The path to the resource to extract</param>
1453 <returns>
1454 a list of files if found; or an empty array if no files are found.
1455 </returns>
1456 <exception cref="T:System.ArgumentException">Search path must end with an asterisk for finding arbitrary files</exception>
1457 </member>
1458 <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String,System.String)">
1459 <summary>
1460 Fetch all files from the resource that matches the specified arguments.
1461 </summary>
1462 <param name="path">Where the file should reside.</param>
1463 <param name="filename">Files to check</param>
1464 <returns>
1465 a list of files if found; or an empty array if no files are found.
1466 </returns>
1467 </member>
1468 <member name="M:HttpServer.Helpers.ResourceManager.ContainsResource(System.String)">
1469 <summary>
1470 Returns whether or not the loader has an instance of the file requested
1471 </summary>
1472 <param name="filename">The name of the template/file</param>
1473 <returns>True if the loader can provide the file</returns>
1474 </member>
1475 <member name="T:HttpServer.Helpers.WebHelper">
1476 <summary>
1477 Webhelper provides helpers for common tasks in HTML.
1478 </summary>
1479 </member>
1480 <member name="F:HttpServer.Helpers.WebHelper.JSImplementation">
1481 <summary>
1482 Used to let the website use different javascript libraries.
1483 Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/>
1484 </summary>
1485 </member>
1486 <member name="M:HttpServer.Helpers.WebHelper.AjaxRequest(System.String,System.String,System.String[])">
1487 <summary>
1488 Creates a link that invokes through ajax.
1489 </summary>
1490 <param name="url">url to fetch</param>
1491 <param name="title">link title</param>
1492 <param name="options">
1493 optional options in format "key, value, key, value".
1494 Javascript options starts with ':'.
1495 </param>
1496 <returns>a link tag</returns>
1497 <example>
1498 WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');");
1499 </example>
1500 </member>
1501 <member name="M:HttpServer.Helpers.WebHelper.AjaxUpdater(System.String,System.String,System.String,System.String[])">
1502 <summary>
1503 Builds a link that updates an element with the fetched ajax content.
1504 </summary>
1505 <param name="url">Url to fetch content from</param>
1506 <param name="title">link title</param>
1507 <param name="targetId">html element to update with the results of the ajax request.</param>
1508 <param name="options">optional options in format "key, value, key, value"</param>
1509 <returns>A link tag.</returns>
1510 </member>
1511 <member name="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])">
1512 <summary>
1513 A link that pop ups a Dialog (overlay div)
1514 </summary>
1515 <param name="url">url to contents of dialog</param>
1516 <param name="title">link title</param>
1517 <param name="htmlAttributes">name/value of html attributes.</param>
1518 <returns>A "a"-tag that popups a dialog when clicked</returns>
1519 <example>
1520 WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
1521 </example>
1522 </member>
1523 <member name="M:HttpServer.Helpers.WebHelper.CreateDialog(System.String,System.String,System.String[])">
1524 <summary>
1525 Create/Open a dialog box using ajax
1526 </summary>
1527 <param name="url"></param>
1528 <param name="title"></param>
1529 <param name="parameters"></param>
1530 <returns></returns>
1531 </member>
1532 <member name="M:HttpServer.Helpers.WebHelper.CloseDialog">
1533 <summary>
1534 Close a javascript dialog window/div.
1535 </summary>
1536 <returns>javascript for closing a dialog.</returns>
1537 <see cref="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"/>
1538 </member>
1539 <member name="M:HttpServer.Helpers.WebHelper.FormStart(System.String,System.String,System.Boolean)">
1540 <summary>
1541 Create a &lt;form&gt; tag.
1542 </summary>
1543 <param name="name">name of form</param>
1544 <param name="action">action to invoke on submit</param>
1545 <param name="isAjax">form should be posted as ajax</param>
1546 <returns>html code</returns>
1547 <example>
1548 WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax);
1549 </example>
1550 </member>
1551 <member name="M:HttpServer.Helpers.WebHelper.Link(System.String,System.String,System.String[])">
1552 <summary>
1553 Create a link tag.
1554 </summary>
1555 <param name="url">url to go to</param>
1556 <param name="title">link title (text that is displayed)</param>
1557 <param name="htmlAttributes">html attributes, name, value, name, value</param>
1558 <returns>html code</returns>
1559 <example>
1560 WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');");
1561 </example>
1562 </member>
1563 <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[])">
1564 <summary>
1565 Build a link
1566 </summary>
1567 <param name="url">url to go to.</param>
1568 <param name="title">title of link (displayed text)</param>
1569 <param name="htmlAttributes">extra html attributes.</param>
1570 <returns>a complete link</returns>
1571 </member>
1572 <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[],System.String[])">
1573 <summary>
1574 Build a link
1575 </summary>
1576 <param name="url">url to go to.</param>
1577 <param name="title">title of link (displayed text)</param>
1578 <param name="htmlAttributes">extra html attributes.</param>
1579 <returns>a complete link</returns>
1580 <param name="options">more options</param>
1581 </member>
1582 <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
1583 <summary>
1584 Obsolete
1585 </summary>
1586 <param name="name">Obsolete</param>
1587 <param name="collection">Obsolete</param>
1588 <param name="getIdTitle">Obsolete</param>
1589 <param name="selectedValue">Obsolete</param>
1590 <param name="firstEmpty">Obsolete</param>
1591 <returns>Obsolete</returns>
1592 </member>
1593 <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
1594 <summary>
1595 Obsolete
1596 </summary>
1597 <param name="name">Obsolete</param>
1598 <param name="id">Obsolete</param>
1599 <param name="collection">Obsolete</param>
1600 <param name="getIdTitle">Obsolete</param>
1601 <param name="selectedValue">Obsolete</param>
1602 <param name="firstEmpty">Obsolete</param>
1603 <returns>Obsolete</returns>
1604 </member>
1605 <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Generic.IEnumerable{System.Object},System.String)">
1606 <summary>
1607 Render errors into a UL with class "errors"
1608 </summary>
1609 <param name="className">class used by UL-tag.</param>
1610 <param name="theList">items to list</param>
1611 <returns>an unordered html list.</returns>
1612 </member>
1613 <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Specialized.NameValueCollection,System.String)">
1614 <summary>
1615 Render errors into a UL with class "errors"
1616 </summary>
1617 <param name="className">class used by UL-tag.</param>
1618 <param name="theList">items to list</param>
1619 <returns>an unordered html list.</returns>
1620 </member>
1621 <member name="M:HttpServer.Helpers.WebHelper.Errors(System.Collections.Specialized.NameValueCollection)">
1622 <summary>
1623 Render errors into a UL with class "errors"
1624 </summary>
1625 <param name="errors"></param>
1626 <returns></returns>
1627 </member>
1628 <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[],System.String[])">
1629 <summary>
1630 Generates a list with html attributes.
1631 </summary>
1632 <param name="sb">StringBuilder that the options should be added to.</param>
1633 <param name="firstOptions">attributes set by user.</param>
1634 <param name="secondOptions">attributes set by any of the helper classes.</param>
1635 </member>
1636 <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[])">
1637 <summary>
1638 Generates a list with html attributes.
1639 </summary>
1640 <param name="sb">StringBuilder that the options should be added to.</param>
1641 <param name="options"></param>
1642 </member>
1643 <member name="T:HttpServer.Helpers.JavascriptHelperImplementation">
1644 <summary>
1645 Purpose of this class is to create a javascript toolkit independent javascript helper.
1646 </summary>
1647 </member>
1648 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.GenerateOptions(System.Text.StringBuilder,System.String[],System.Boolean)">
1649 <summary>
1650 Generates a list with JS options.
1651 </summary>
1652 <param name="sb">StringBuilder that the options should be added to.</param>
1653 <param name="options">the javascript options. name, value pairs. each string value should be escaped by YOU!</param>
1654 <param name="startWithComma">true if we should start with a comma.</param>
1655 </member>
1656 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.RemoveJavascriptOptions(System.String[])">
1657 <summary>
1658 Removes any javascript parameters from an array of parameters
1659 </summary>
1660 <param name="options">The array of parameters to remove javascript params from</param>
1661 <returns>An array of html parameters</returns>
1662 </member>
1663 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxFormOnSubmit(System.String[])">
1664 <summary>
1665 javascript action that should be added to the "onsubmit" event in the form tag.
1666 </summary>
1667 <returns></returns>
1668 <remarks>All javascript option names should end with colon.</remarks>
1669 <example>
1670 <code>
1671 JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
1672 </code>
1673 </example>
1674 </member>
1675 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxRequest(System.String,System.String[])">
1676 <summary>
1677 Requests a url through ajax
1678 </summary>
1679 <param name="url">url to fetch</param>
1680 <param name="options">optional options in format "key, value, key, value", used in JS request object.</param>
1681 <returns>a link tag</returns>
1682 <remarks>All javascript option names should end with colon.</remarks>
1683 <example>
1684 <code>
1685 JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
1686 </code>
1687 </example>
1688 </member>
1689 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxUpdater(System.String,System.String,System.String[])">
1690 <summary>
1691 Ajax requests that updates an element with
1692 the fetched content
1693 </summary>
1694 <param name="url">Url to fetch content from</param>
1695 <param name="targetId">element to update</param>
1696 <param name="options">optional options in format "key, value, key, value", used in JS updater object.</param>
1697 <returns>A link tag.</returns>
1698 <remarks>All javascript option names should end with colon.</remarks>
1699 <example>
1700 <code>
1701 JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');");
1702 </code>
1703 </example>
1704 </member>
1705 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])">
1706 <summary>
1707 A link that pop ups a Dialog (overlay div)
1708 </summary>
1709 <param name="url">url to contents of dialog</param>
1710 <param name="title">link title</param>
1711 <returns>A "a"-tag that popups a dialog when clicked</returns>
1712 <param name="htmlAttributes">name/value of html attributes</param>
1713 <example>
1714 WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
1715 </example>
1716 </member>
1717 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CloseDialog">
1718 <summary>
1719 Close a javascript dialog window/div.
1720 </summary>
1721 <returns>javascript for closing a dialog.</returns>
1722 <see cref="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"/>
1723 </member>
1724 <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CreateDialog(System.String,System.String,System.String[])">
1725 <summary>
1726 Creates a new modal dialog window
1727 </summary>
1728 <param name="url">url to open in window.</param>
1729 <param name="title">window title (may not be supported by all js implementations)</param>
1730 <param name="options"></param>
1731 <returns></returns>
1732 </member>
1733 <member name="T:HttpServer.Helpers.XmlHelper">
1734 <summary>
1735 Helpers to make XML handling easier
1736 </summary>
1737 </member>
1738 <member name="M:HttpServer.Helpers.XmlHelper.Serialize(System.Object)">
1739 <summary>
1740 Serializes object to XML.
1741 </summary>
1742 <param name="value">object to serialize.</param>
1743 <returns>XML</returns>
1744 <remarks>
1745 Removes name spaces and adds indentation
1746 </remarks>
1747 </member>
1748 <member name="M:HttpServer.Helpers.XmlHelper.Deserialize``1(System.String)">
1749 <summary>
1750 Create an object from a XML string
1751 </summary>
1752 <typeparam name="T">Type of object</typeparam>
1753 <param name="xml">XML string</param>
1754 <returns>object</returns>
1755 </member>
1756 <member name="T:HttpServer.HttpClientContext">
1757 <summary>
1758 Contains a connection to a browser/client.
1759 </summary>
1760 <remarks>
1761 Remember to <see cref="M:HttpServer.HttpClientContext.Start"/> after you have hooked the <see cref="E:HttpServer.HttpClientContext.RequestReceived"/> event.
1762 </remarks>
1763 TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext?
1764 </member>
1765 <member name="E:HttpServer.HttpClientContext.Cleaned">
1766 <summary>
1767 This context have been cleaned, which means that it can be reused.
1768 </summary>
1769 </member>
1770 <member name="E:HttpServer.HttpClientContext.Started">
1771 <summary>
1772 Context have been started (a new client have connected)
1773 </summary>
1774 </member>
1775 <member name="M:HttpServer.HttpClientContext.#ctor(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,HttpServer.IRequestParserFactory,System.Int32,System.Net.Sockets.Socket)">
1776 <summary>
1777 Initializes a new instance of the <see cref="T:HttpServer.HttpClientContext"/> class.
1778 </summary>
1779 <param name="secured">true if the connection is secured (SSL/TLS)</param>
1780 <param name="remoteEndPoint">client that connected.</param>
1781 <param name="stream">Stream used for communication</param>
1782 <param name="parserFactory">Used to create a <see cref="T:HttpServer.IHttpRequestParser"/>.</param>
1783 <param name="bufferSize">Size of buffer to use when reading data. Must be at least 4096 bytes.</param>
1784 <exception cref="T:System.Net.Sockets.SocketException">If <see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> fails</exception>
1785 <exception cref="T:System.ArgumentException">Stream must be writable and readable.</exception>
1786 </member>
1787 <member name="M:HttpServer.HttpClientContext.OnBodyBytesReceived(System.Object,HttpServer.Parser.BodyEventArgs)">
1788 <summary>
1789 Process incoming body bytes.
1790 </summary>
1791 <param name="sender"><see cref="T:HttpServer.IHttpRequestParser"/></param>
1792 <param name="e">Bytes</param>
1793 </member>
1794 <member name="M:HttpServer.HttpClientContext.OnHeaderReceived(System.Object,HttpServer.Parser.HeaderEventArgs)">
1795 <summary>
1796
1797 </summary>
1798 <param name="sender"></param>
1799 <param name="e"></param>
1800 </member>
1801 <member name="P:HttpServer.HttpClientContext.CurrentRequest">
1802 <summary>
1803 Overload to specify own type.
1804 </summary>
1805 <remarks>
1806 Must be specified before the context is being used.
1807 </remarks>
1808 </member>
1809 <member name="M:HttpServer.HttpClientContext.Start">
1810 <summary>
1811 Start reading content.
1812 </summary>
1813 <remarks>
1814 Make sure to call base.Start() if you override this method.
1815 </remarks>
1816 </member>
1817 <member name="M:HttpServer.HttpClientContext.Cleanup">
1818 <summary>
1819 Clean up context.
1820 </summary>
1821 <remarks>
1822 Make sure to call base.Cleanup() if you override the method.
1823 </remarks>
1824 </member>
1825 <member name="P:HttpServer.HttpClientContext.Secured">
1826 <summary>
1827 Using SSL or other encryption method.
1828 </summary>
1829 </member>
1830 <member name="P:HttpServer.HttpClientContext.IsSecured">
1831 <summary>
1832 Using SSL or other encryption method.
1833 </summary>
1834 </member>
1835 <member name="P:HttpServer.HttpClientContext.LogWriter">
1836 <summary>
1837 Specify which logger to use.
1838 </summary>
1839 </member>
1840 <member name="P:HttpServer.HttpClientContext.Stream">
1841 <summary>
1842 Gets or sets the network stream.
1843 </summary>
1844 </member>
1845 <member name="P:HttpServer.HttpClientContext.RemoteAddress">
1846 <summary>
1847 Gets or sets IP address that the client connected from.
1848 </summary>
1849 </member>
1850 <member name="P:HttpServer.HttpClientContext.RemotePort">
1851 <summary>
1852 Gets or sets port that the client connected from.
1853 </summary>
1854 </member>
1855 <member name="M:HttpServer.HttpClientContext.Disconnect(System.Net.Sockets.SocketError)">
1856 <summary>
1857 Disconnect from client
1858 </summary>
1859 <param name="error">error to report in the <see cref="E:HttpServer.HttpClientContext.Disconnected"/> event.</param>
1860 </member>
1861 <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)">
1862 <summary>
1863 Send a response.
1864 </summary>
1865 <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
1866 <param name="statusCode">HTTP status code</param>
1867 <param name="reason">reason for the status code.</param>
1868 <param name="body">HTML body contents, can be null or empty.</param>
1869 <param name="contentType">A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty</param>
1870 <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception>
1871 </member>
1872 <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)">
1873 <summary>
1874 Send a response.
1875 </summary>
1876 <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
1877 <param name="statusCode">HTTP status code</param>
1878 <param name="reason">reason for the status code.</param>
1879 </member>
1880 <member name="M:HttpServer.HttpClientContext.Respond(System.String)">
1881 <summary>
1882 Send a response.
1883 </summary>
1884 <exception cref="T:System.ArgumentNullException"></exception>
1885 </member>
1886 <member name="M:HttpServer.HttpClientContext.Send(System.Byte[])">
1887 <summary>
1888 send a whole buffer
1889 </summary>
1890 <param name="buffer">buffer to send</param>
1891 <exception cref="T:System.ArgumentNullException"></exception>
1892 </member>
1893 <member name="M:HttpServer.HttpClientContext.Send(System.Byte[],System.Int32,System.Int32)">
1894 <summary>
1895 Send data using the stream
1896 </summary>
1897 <param name="buffer">Contains data to send</param>
1898 <param name="offset">Start position in buffer</param>
1899 <param name="size">number of bytes to send</param>
1900 <exception cref="T:System.ArgumentNullException"></exception>
1901 <exception cref="T:System.ArgumentOutOfRangeException"></exception>
1902 </member>
1903 <member name="E:HttpServer.HttpClientContext.Disconnected">
1904 <summary>
1905 The context have been disconnected.
1906 </summary>
1907 <remarks>
1908 Event can be used to clean up a context, or to reuse it.
1909 </remarks>
1910 </member>
1911 <member name="E:HttpServer.HttpClientContext.RequestReceived">
1912 <summary>
1913 A request have been received in the context.
1914 </summary>
1915 </member>
1916 <member name="T:HttpServer.HttpContextFactory">
1917 <summary>
1918 Used to create and reuse contexts.
1919 </summary>
1920 </member>
1921 <member name="M:HttpServer.HttpContextFactory.#ctor(HttpServer.ILogWriter,System.Int32,HttpServer.IRequestParserFactory)">
1922 <summary>
1923 Initializes a new instance of the <see cref="T:HttpServer.HttpContextFactory"/> class.
1924 </summary>
1925 <param name="writer">The writer.</param>
1926 <param name="bufferSize">Amount of bytes to read from the incoming socket stream.</param>
1927 <param name="factory">Used to create a request parser.</param>
1928 </member>
1929 <member name="P:HttpServer.HttpContextFactory.UseTraceLogs">
1930 <summary>
1931 True if detailed trace logs should be written.
1932 </summary>
1933 </member>
1934 <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)">
1935 <summary>
1936 Create a new context.
1937 </summary>
1938 <param name="isSecured">true if socket is running HTTPS.</param>
1939 <param name="endPoint">Client that connected</param>
1940 <param name="stream">Network/SSL stream.</param>
1941 <returns>A context.</returns>
1942 </member>
1943 <member name="M:HttpServer.HttpContextFactory.CreateNewContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)">
1944 <summary>
1945 Create a new context.
1946 </summary>
1947 <param name="isSecured">true if HTTPS is used.</param>
1948 <param name="endPoint">Remote client</param>
1949 <param name="stream">Network stream, <see cref="T:HttpServer.HttpClientContext"/> uses <see cref="T:HttpServer.ReusableSocketNetworkStream"/>.</param>
1950 <returns>A new context (always).</returns>
1951 </member>
1952 <member name="M:HttpServer.HttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
1953 <summary>
1954 Create a secure <see cref="T:HttpServer.IHttpClientContext"/>.
1955 </summary>
1956 <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
1957 <param name="certificate">HTTPS certificate to use.</param>
1958 <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param>
1959 <returns>
1960 A created <see cref="T:HttpServer.IHttpClientContext"/>.
1961 </returns>
1962 </member>
1963 <member name="E:HttpServer.HttpContextFactory.RequestReceived">
1964 <summary>
1965 A request have been received from one of the contexts.
1966 </summary>
1967 </member>
1968 <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Net.Sockets.Socket)">
1969 <summary>
1970 Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client.
1971 </summary>
1972 <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
1973 <returns>
1974 A creates <see cref="T:HttpServer.IHttpClientContext"/>.
1975 </returns>
1976 </member>
1977 <member name="M:HttpServer.HttpContextFactory.Shutdown">
1978 <summary>
1979 Server is shutting down so shut down the factory
1980 </summary>
1981 </member>
1982 <member name="T:HttpServer.ReusableSocketNetworkStream">
1983 <summary>
1984 Custom network stream to mark sockets as reusable when disposing the stream.
1985 </summary>
1986 </member>
1987 <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket)">
1988 <summary>
1989 Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" />.
1990 </summary>
1991 <param name="socket">
1992 The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
1993 </param>
1994 <exception cref="T:System.ArgumentNullException">
1995 The <paramref name="socket" /> parameter is null.
1996 </exception>
1997 <exception cref="T:System.IO.IOException">
1998 The <paramref name="socket" /> parameter is not connected.
1999 -or-
2000 The <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />.
2001 -or-
2002 The <paramref name="socket" /> parameter is in a nonblocking state.
2003 </exception>
2004 </member>
2005 <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.Boolean)">
2006 <summary>
2007 Initializes a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified <see cref="T:System.Net.Sockets.Socket" /> ownership.
2008 </summary>
2009 <param name="socket">
2010 The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
2011 </param>
2012 <param name="ownsSocket">
2013 Set to true to indicate that the <see cref="T:System.Net.Sockets.NetworkStream" /> will take ownership of the <see cref="T:System.Net.Sockets.Socket" />; otherwise, false.
2014 </param>
2015 <exception cref="T:System.ArgumentNullException">
2016 The <paramref name="socket" /> parameter is null.
2017 </exception>
2018 <exception cref="T:System.IO.IOException">
2019 The <paramref name="socket" /> parameter is not connected.
2020 -or-
2021 the value of the <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />.
2022 -or-
2023 the <paramref name="socket" /> parameter is in a nonblocking state.
2024 </exception>
2025 </member>
2026 <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess)">
2027 <summary>
2028 Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified access rights.
2029 </summary>
2030 <param name="socket">
2031 The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
2032 </param>
2033 <param name="access">
2034 A bitwise combination of the <see cref="T:System.IO.FileAccess" /> values that specify the type of access given to the <see cref="T:System.Net.Sockets.NetworkStream" /> over the provided <see cref="T:System.Net.Sockets.Socket" />.
2035 </param>
2036 <exception cref="T:System.ArgumentNullException">
2037 The <paramref name="socket" /> parameter is null.
2038 </exception>
2039 <exception cref="T:System.IO.IOException">
2040 The <paramref name="socket" /> parameter is not connected.
2041 -or-
2042 the <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />.
2043 -or-
2044 the <paramref name="socket" /> parameter is in a nonblocking state.
2045 </exception>
2046 </member>
2047 <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean)">
2048 <summary>
2049 Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified access rights and the specified <see cref="T:System.Net.Sockets.Socket" /> ownership.
2050 </summary>
2051 <param name="socket">
2052 The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
2053 </param>
2054 <param name="access">
2055 A bitwise combination of the <see cref="T:System.IO.FileAccess" /> values that specifies the type of access given to the <see cref="T:System.Net.Sockets.NetworkStream" /> over the provided <see cref="T:System.Net.Sockets.Socket" />.
2056 </param>
2057 <param name="ownsSocket">
2058 Set to true to indicate that the <see cref="T:System.Net.Sockets.NetworkStream" /> will take ownership of the <see cref="T:System.Net.Sockets.Socket" />; otherwise, false.
2059 </param>
2060 <exception cref="T:System.ArgumentNullException">
2061 The <paramref name="socket" /> parameter is null.
2062 </exception>
2063 <exception cref="T:System.IO.IOException">
2064 The <paramref name="socket" /> parameter is not connected.
2065 -or-
2066 The <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />.
2067 -or-
2068 The <paramref name="socket" /> parameter is in a nonblocking state.
2069 </exception>
2070 </member>
2071 <member name="M:HttpServer.ReusableSocketNetworkStream.Close">
2072 <summary>
2073 Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream.
2074 </summary>
2075 </member>
2076 <member name="M:HttpServer.ReusableSocketNetworkStream.Dispose(System.Boolean)">
2077 <summary>
2078 Releases the unmanaged resources used by the <see cref="T:System.Net.Sockets.NetworkStream"/> and optionally releases the managed resources.
2079 </summary>
2080 <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
2081 </member>
2082 <member name="T:HttpServer.IHttpContextFactory">
2083 <summary>
2084 Used to create <see cref="T:HttpServer.IHttpClientContext"/>es.
2085 </summary>
2086 </member>
2087 <member name="M:HttpServer.IHttpContextFactory.CreateContext(System.Net.Sockets.Socket)">
2088 <summary>
2089 Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client.
2090 </summary>
2091 <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
2092 <returns>A creates <see cref="T:HttpServer.IHttpClientContext"/>.</returns>
2093 </member>
2094 <member name="M:HttpServer.IHttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
2095 <summary>
2096 Create a secure <see cref="T:HttpServer.IHttpClientContext"/>.
2097 </summary>
2098 <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
2099 <param name="certificate">HTTPS certificate to use.</param>
2100 <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param>
2101 <returns>A created <see cref="T:HttpServer.IHttpClientContext"/>.</returns>
2102 </member>
2103 <member name="E:HttpServer.IHttpContextFactory.RequestReceived">
2104 <summary>
2105 A request have been received from one of the contexts.
2106 </summary>
2107 </member>
2108 <member name="M:HttpServer.IHttpContextFactory.Shutdown">
2109 <summary>
2110 Server is shutting down so shut down the factory
2111 </summary>
2112 </member>
2113 <member name="T:HttpServer.HttpFile">
2114 <summary>
2115 Container class for posted files
2116 </summary>
2117 </member>
2118 <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)">
2119 <summary>
2120 Creates a container for a posted file
2121 </summary>
2122 <param name="name">The identifier of the post field</param>
2123 <param name="filename">The file path</param>
2124 <param name="contentType">The content type of the file</param>
2125 <param name="uploadFilename">The name of the file uploaded</param>
2126 <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception>
2127 </member>
2128 <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String)">
2129 <summary>
2130 Creates a container for a posted file <see cref="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"/>
2131 </summary>
2132 <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception>
2133 </member>
2134 <member name="M:HttpServer.HttpFile.Finalize">
2135 <summary>Destructor disposing the file</summary>
2136 </member>
2137 <member name="P:HttpServer.HttpFile.Name">
2138 <summary>
2139 The name/id of the file
2140 </summary>
2141 </member>
2142 <member name="P:HttpServer.HttpFile.Filename">
2143 <summary>
2144 The full file path
2145 </summary>
2146 </member>
2147 <member name="P:HttpServer.HttpFile.UploadFilename">
2148 <summary>
2149 The name of the uploaded file
2150 </summary>
2151 </member>
2152 <member name="P:HttpServer.HttpFile.ContentType">
2153 <summary>
2154 The type of file
2155 </summary>
2156 </member>
2157 <member name="M:HttpServer.HttpFile.Dispose(System.Boolean)">
2158 <summary>
2159 Deletes the temporary file
2160 </summary>
2161 <param name="disposing">True if manual dispose</param>
2162 </member>
2163 <member name="M:HttpServer.HttpFile.Dispose">
2164 <summary>
2165 Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization
2166 </summary>
2167 </member>
2168 <member name="T:HttpServer.HttpForm">
2169 <summary>Container for posted form data</summary>
2170 </member>
2171 <member name="F:HttpServer.HttpForm.EmptyForm">
2172 <summary>Instance to help mark a non-initialized form</summary>
2173 </member>
2174 <member name="M:HttpServer.HttpForm.#ctor">
2175 <summary>Initializes a form container with the specified name</summary>
2176 </member>
2177 <member name="M:HttpServer.HttpForm.#ctor(HttpServer.HttpInput)">
2178 <summary>
2179 Makes a deep copy of the input
2180 </summary>
2181 <param name="input">The input to copy</param>
2182 </member>
2183 <member name="M:HttpServer.HttpForm.AddFile(HttpServer.HttpFile)">
2184 <summary>
2185 Adds a file to the collection of posted files
2186 </summary>
2187 <param name="file">The file to add</param>
2188 <exception cref="T:System.ArgumentException">If the file is already added</exception>
2189 <exception cref="T:System.ArgumentNullException">If file is null</exception>
2190 <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
2191 </member>
2192 <member name="M:HttpServer.HttpForm.ContainsFile(System.String)">
2193 <summary>
2194 Checks if the form contains a specified file
2195 </summary>
2196 <param name="name">Field name of the file parameter</param>
2197 <returns>True if the file exists</returns>
2198 <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
2199 </member>
2200 <member name="M:HttpServer.HttpForm.GetFile(System.String)">
2201 <summary>
2202 Retrieves a file held by by the form
2203 </summary>
2204 <param name="name">The identifier of the file</param>
2205 <returns>The requested file or null if the file was not found</returns>
2206 <exception cref="T:System.ArgumentNullException">If name is null or empty</exception>
2207 <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
2208 </member>
2209 <member name="P:HttpServer.HttpForm.Files">
2210 <summary>
2211 Retrieves the number of files added to the <see cref="T:HttpServer.HttpForm"/>
2212 </summary>
2213 <returns>0 if no files are added</returns>
2214 </member>
2215 <member name="M:HttpServer.HttpForm.Clear">
2216 <summary>Disposes all held HttpFile's and resets values</summary>
2217 </member>
2218 <member name="T:HttpServer.HttpHelper">
2219 <summary>
2220 Generic helper functions for HTTP
2221 </summary>
2222 </member>
2223 <member name="F:HttpServer.HttpHelper.HTTP10">
2224 <summary>
2225 Version string for HTTP v1.0
2226 </summary>
2227 </member>
2228 <member name="F:HttpServer.HttpHelper.HTTP11">
2229 <summary>
2230 Version string for HTTP v1.1
2231 </summary>
2232 </member>
2233 <member name="F:HttpServer.HttpHelper.EmptyUri">
2234 <summary>
2235 An empty URI
2236 </summary>
2237 </member>
2238 <member name="M:HttpServer.HttpHelper.ParseQueryString(System.String)">
2239 <summary>
2240 Parses a query string.
2241 </summary>
2242 <param name="queryString">Query string (URI encoded)</param>
2243 <returns>A <see cref="T:HttpServer.HttpInput"/> object if successful; otherwise <see cref="F:HttpServer.HttpInput.Empty"/></returns>
2244 <exception cref="T:System.ArgumentNullException"><c>queryString</c> is null.</exception>
2245 <exception cref="T:System.FormatException">If string cannot be parsed.</exception>
2246 </member>
2247 <member name="T:HttpServer.HttpInput">
2248 <summary>
2249 Contains some kind of input from the browser/client.
2250 can be QueryString, form data or any other request body content.
2251 </summary>
2252 </member>
2253 <member name="F:HttpServer.HttpInput.Empty">
2254 <summary> Representation of a non-initialized class instance </summary>
2255 </member>
2256 <member name="F:HttpServer.HttpInput._ignoreChanges">
2257 <summary> Variable telling the class that it is non-initialized <see cref="F:HttpServer.HttpInput.Empty"/> </summary>
2258 </member>
2259 <member name="M:HttpServer.HttpInput.#ctor(System.String)">
2260 <summary>
2261 Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class.
2262 </summary>
2263 <param name="name">form name.</param>
2264 </member>
2265 <member name="M:HttpServer.HttpInput.#ctor(System.String,System.Boolean)">
2266 <summary>
2267 Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class.
2268 </summary>
2269 <param name="name">form name.</param>
2270 <param name="ignoreChanges">if set to <c>true</c> all changes will be ignored. </param>
2271 <remarks>this constructor should only be used by Empty</remarks>
2272 </member>
2273 <member name="M:HttpServer.HttpInput.#ctor(HttpServer.HttpInput)">
2274 <summary>Creates a deep copy of the HttpInput class</summary>
2275 <param name="input">The object to copy</param>
2276 <remarks>The function makes a deep copy of quite a lot which can be slow</remarks>
2277 </member>
2278 <member name="P:HttpServer.HttpInput.Name">
2279 <summary>
2280 Form name as lower case
2281 </summary>
2282 </member>
2283 <member name="M:HttpServer.HttpInput.Add(System.String,System.String)">
2284 <summary>
2285 Add a new element. Form array elements are parsed
2286 and added in a correct hierarchy.
2287 </summary>
2288 <param name="name">Name is converted to lower case.</param>
2289 <param name="value"></param>
2290 <exception cref="T:System.ArgumentNullException"><c>name</c> is null.</exception>
2291 <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception>
2292 </member>
2293 <member name="P:HttpServer.HttpInput.Item(System.String)">
2294 <summary>
2295 Get a form item.
2296 </summary>
2297 <param name="name"></param>
2298 <returns>Returns <see cref="F:HttpServer.HttpInputItem.Empty"/> if item was not found.</returns>
2299 </member>
2300 <member name="M:HttpServer.HttpInput.Contains(System.String)">
2301 <summary>
2302 Returns true if the class contains a <see cref="T:HttpServer.HttpInput"/> with the corresponding name.
2303 </summary>
2304 <param name="name">The field/query string name</param>
2305 <returns>True if the value exists</returns>
2306 </member>
2307 <member name="M:HttpServer.HttpInput.ParseItem(System.String,System.String)">
2308 <summary>
2309 Parses an item and returns it.
2310 This function is primarily used to parse array items as in user[name].
2311 </summary>
2312 <param name="name"></param>
2313 <param name="value"></param>
2314 <returns></returns>
2315 </member>
2316 <member name="M:HttpServer.HttpInput.ToString">
2317 <summary> Outputs the instance representing all its values joined together </summary>
2318 <returns></returns>
2319 </member>
2320 <member name="M:HttpServer.HttpInput.ToString(System.Boolean)">
2321 <summary>Returns all items as an unescaped query string.</summary>
2322 <returns></returns>
2323 </member>
2324 <member name="M:HttpServer.HttpInput.ExtractOne(System.String)">
2325 <summary>
2326 Extracts one parameter from an array
2327 </summary>
2328 <param name="value">Containing the string array</param>
2329 <returns>All but the first value</returns>
2330 <example>
2331 string test1 = ExtractOne("system[user][extension][id]");
2332 string test2 = ExtractOne(test1);
2333 string test3 = ExtractOne(test2);
2334 // test1 = user[extension][id]
2335 // test2 = extension[id]
2336 // test3 = id
2337 </example>
2338 </member>
2339 <member name="M:HttpServer.HttpInput.Clear">
2340 <summary>Resets all data contained by class</summary>
2341 </member>
2342 <member name="M:HttpServer.HttpInput.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator">
2343 <summary>
2344 Returns an enumerator that iterates through the collection.
2345 </summary>
2346
2347 <returns>
2348 A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
2349 </returns>
2350 <filterpriority>1</filterpriority>
2351 </member>
2352 <member name="M:HttpServer.HttpInput.GetEnumerator">
2353 <summary>
2354 Returns an enumerator that iterates through a collection.
2355 </summary>
2356
2357 <returns>
2358 An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
2359 </returns>
2360 <filterpriority>2</filterpriority>
2361 </member>
2362 <member name="T:HttpServer.IHttpInput">
2363 <summary>
2364 Base class for request data containers
2365 </summary>
2366 </member>
2367 <member name="M:HttpServer.IHttpInput.Add(System.String,System.String)">
2368 <summary>
2369 Adds a parameter mapped to the presented name
2370 </summary>
2371 <param name="name">The name to map the parameter to</param>
2372 <param name="value">The parameter value</param>
2373 </member>
2374 <member name="P:HttpServer.IHttpInput.Item(System.String)">
2375 <summary>
2376 Returns a request parameter
2377 </summary>
2378 <param name="name">The name associated with the parameter</param>
2379 <returns></returns>
2380 </member>
2381 <member name="M:HttpServer.IHttpInput.Contains(System.String)">
2382 <summary>
2383 Returns true if the container contains the requested parameter
2384 </summary>
2385 <param name="name">Parameter id</param>
2386 <returns>True if parameter exists</returns>
2387 </member>
2388 <member name="T:HttpServer.HttpInputItem">
2389 <summary>
2390 represents a HTTP input item. Each item can have multiple sub items, a sub item
2391 is made in a HTML form by using square brackets
2392 </summary>
2393 <example>
2394 // <input type="text" name="user[FirstName]" value="jonas" /> becomes:
2395 Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value);
2396 </example>
2397 <remarks>
2398 All names in a form SHOULD be in lowercase.
2399 </remarks>
2400 </member>
2401 <member name="F:HttpServer.HttpInputItem.Empty">
2402 <summary> Representation of a non-initialized <see cref="T:HttpServer.HttpInputItem"/>.</summary>
2403 </member>
2404 <member name="M:HttpServer.HttpInputItem.#ctor(System.String,System.String)">
2405 <summary>
2406 Initializes an input item setting its name/identifier and value
2407 </summary>
2408 <param name="name">Parameter name/id</param>
2409 <param name="value">Parameter value</param>
2410 </member>
2411 <member name="M:HttpServer.HttpInputItem.#ctor(HttpServer.HttpInputItem)">
2412 <summary>Creates a deep copy of the item specified</summary>
2413 <param name="item">The item to copy</param>
2414 <remarks>The function makes a deep copy of quite a lot which can be slow</remarks>
2415 </member>
2416 <member name="P:HttpServer.HttpInputItem.Count">
2417 <summary>
2418 Number of values
2419 </summary>
2420 </member>
2421 <member name="P:HttpServer.HttpInputItem.Item(System.String)">
2422 <summary>
2423 Get a sub item
2424 </summary>
2425 <param name="name">name in lower case.</param>
2426 <returns><see cref="F:HttpServer.HttpInputItem.Empty"/> if no item was found.</returns>
2427 </member>
2428 <member name="P:HttpServer.HttpInputItem.Name">
2429 <summary>
2430 Name of item (in lower case).
2431 </summary>
2432 </member>
2433 <member name="P:HttpServer.HttpInputItem.Value">
2434 <summary>
2435 Returns the first value, or null if no value exist.
2436 </summary>
2437 </member>
2438 <member name="P:HttpServer.HttpInputItem.LastValue">
2439 <summary>
2440 Returns the last value, or null if no value exist.
2441 </summary>
2442 </member>
2443 <member name="P:HttpServer.HttpInputItem.Values">
2444 <summary>
2445 Returns the list with values.
2446 </summary>
2447 </member>
2448 <member name="M:HttpServer.HttpInputItem.Add(System.String)">
2449 <summary>
2450 Add another value to this item
2451 </summary>
2452 <param name="value">Value to add.</param>
2453 <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception>
2454 </member>
2455 <member name="M:HttpServer.HttpInputItem.Contains(System.String)">
2456 <summary>
2457 checks if a sub-item exists (and has a value).
2458 </summary>
2459 <param name="name">name in lower case</param>
2460 <returns>true if the sub-item exists and has a value; otherwise false.</returns>
2461 </member>
2462 <member name="M:HttpServer.HttpInputItem.ToString">
2463 <summary> Returns a formatted representation of the instance with the values of all contained parameters </summary>
2464 </member>
2465 <member name="M:HttpServer.HttpInputItem.ToString(System.String,System.Boolean)">
2466 <summary>
2467 Outputs the string in a formatted manner
2468 </summary>
2469 <param name="prefix">A prefix to append, used internally</param>
2470 <param name="asQuerySting">produce a query string</param>
2471 </member>
2472 <member name="P:HttpServer.HttpInputItem.HttpServer#IHttpInput#Item(System.String)">
2473 <summary>
2474
2475 </summary>
2476 <param name="name">name in lower case</param>
2477 <returns></returns>
2478 </member>
2479 <member name="M:HttpServer.HttpInputItem.Add(System.String,System.String)">
2480 <summary>
2481 Add a sub item.
2482 </summary>
2483 <param name="name">Can contain array formatting, the item is then parsed and added in multiple levels</param>
2484 <param name="value">Value to add.</param>
2485 <exception cref="T:System.ArgumentNullException">Argument is null.</exception>
2486 <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception>
2487 </member>
2488 <member name="M:HttpServer.HttpInputItem.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator">
2489 <summary>
2490 Returns an enumerator that iterates through the collection.
2491 </summary>
2492
2493 <returns>
2494 A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
2495 </returns>
2496 <filterpriority>1</filterpriority>
2497 </member>
2498 <member name="M:HttpServer.HttpInputItem.GetEnumerator">
2499 <summary>
2500 Returns an enumerator that iterates through a collection.
2501 </summary>
2502
2503 <returns>
2504 An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
2505 </returns>
2506 <filterpriority>2</filterpriority>
2507 </member>
2508 <member name="M:HttpServer.HttpInputItem.ToString(System.String)">
2509 <summary>
2510 Outputs the string in a formatted manner
2511 </summary>
2512 <param name="prefix">A prefix to append, used internally</param>
2513 <returns></returns>
2514 </member>
2515 <member name="T:HttpServer.HttpListener">
2516 <summary>
2517 New implementation of the HTTP listener.
2518 </summary>
2519 <remarks>
2520 Use the <c>Create</c> methods to create a default listener.
2521 </remarks>
2522 </member>
2523 <member name="E:HttpServer.HttpListener.Accepted">
2524 <summary>
2525 A client have been accepted, but not handled, by the listener.
2526 </summary>
2527 </member>
2528 <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)">
2529 <summary>
2530 Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class.
2531 </summary>
2532 <param name="address">IP Address to accept connections on</param>
2533 <param name="port">TCP Port to listen on, default HTTP port is 80.</param>
2534 <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
2535 <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
2536 <exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
2537 </member>
2538 <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)">
2539 <summary>
2540 Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class.
2541 </summary>
2542 <param name="address">The address.</param>
2543 <param name="port">The port.</param>
2544 <param name="factory">The factory.</param>
2545 <param name="certificate">The certificate.</param>
2546 </member>
2547 <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
2548 <summary>
2549 Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class.
2550 </summary>
2551 <param name="address">The address.</param>
2552 <param name="port">The port.</param>
2553 <param name="factory">The factory.</param>
2554 <param name="certificate">The certificate.</param>
2555 <param name="protocol">The protocol.</param>
2556 </member>
2557 <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32)">
2558 <summary>
2559 Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories.
2560 </summary>
2561 <param name="address">Address that the listener should accept connections on.</param>
2562 <param name="port">Port that listener should accept connections on.</param>
2563 <returns>Created HTTP listener.</returns>
2564 </member>
2565 <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)">
2566 <summary>
2567 Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories.
2568 </summary>
2569 <param name="address">Address that the listener should accept connections on.</param>
2570 <param name="port">Port that listener should accept connections on.</param>
2571 <param name="certificate">Certificate to use</param>
2572 <returns>Created HTTP listener.</returns>
2573 </member>
2574 <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
2575 <summary>
2576 Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories.
2577 </summary>
2578 <param name="address">Address that the listener should accept connections on.</param>
2579 <param name="port">Port that listener should accept connections on.</param>
2580 <param name="certificate">Certificate to use</param>
2581 <param name="protocol">which HTTPS protocol to use, default is TLS.</param>
2582 <returns>Created HTTP listener.</returns>
2583 </member>
2584 <member name="M:HttpServer.HttpListener.OnAcceptingSocket(System.Net.Sockets.Socket)">
2585 <summary>
2586 Can be used to create filtering of new connections.
2587 </summary>
2588 <param name="socket">Accepted socket</param>
2589 <returns>
2590 true if connection can be accepted; otherwise false.
2591 </returns>
2592 </member>
2593 <member name="T:HttpServer.HttpListenerBase">
2594 <summary>
2595 Contains a listener that doesn't do anything with the connections.
2596 </summary>
2597 </member>
2598 <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)">
2599 <summary>
2600 Listen for regular HTTP connections
2601 </summary>
2602 <param name="address">IP Address to accept connections on</param>
2603 <param name="port">TCP Port to listen on, default HTTP port is 80.</param>
2604 <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
2605 <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
2606 <exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
2607 </member>
2608 <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)">
2609 <summary>
2610 Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class.
2611 </summary>
2612 <param name="address">IP Address to accept connections on</param>
2613 <param name="port">TCP Port to listen on, default HTTPS port is 443</param>
2614 <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
2615 <param name="certificate">Certificate to use</param>
2616 </member>
2617 <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
2618 <summary>
2619 Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class.
2620 </summary>
2621 <param name="address">IP Address to accept connections on</param>
2622 <param name="port">TCP Port to listen on, default HTTPS port is 443</param>
2623 <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
2624 <param name="certificate">Certificate to use</param>
2625 <param name="protocol">which HTTPS protocol to use, default is TLS.</param>
2626 </member>
2627 <member name="P:HttpServer.HttpListenerBase.LogWriter">
2628 <summary>
2629 Gives you a change to receive log entries for all internals of the HTTP library.
2630 </summary>
2631 <remarks>
2632 You may not switch log writer after starting the listener.
2633 </remarks>
2634 </member>
2635 <member name="P:HttpServer.HttpListenerBase.UseTraceLogs">
2636 <summary>
2637 True if we should turn on trace logs.
2638 </summary>
2639 </member>
2640 <member name="M:HttpServer.HttpListenerBase.OnAccept(System.IAsyncResult)">
2641 <exception cref="T:System.Exception"><c>Exception</c>.</exception>
2642 </member>
2643 <member name="M:HttpServer.HttpListenerBase.RetryBeginAccept">
2644 <summary>
2645 Will try to accept connections one more time.
2646 </summary>
2647 <exception cref="T:System.Exception">If any exceptions is thrown.</exception>
2648 </member>
2649 <member name="M:HttpServer.HttpListenerBase.OnAcceptingSocket(System.Net.Sockets.Socket)">
2650 <summary>
2651 Can be used to create filtering of new connections.
2652 </summary>
2653 <param name="socket">Accepted socket</param>
2654 <returns>true if connection can be accepted; otherwise false.</returns>
2655 </member>
2656 <member name="M:HttpServer.HttpListenerBase.Start(System.Int32)">
2657 <summary>
2658 Start listen for new connections
2659 </summary>
2660 <param name="backlog">Number of connections that can stand in a queue to be accepted.</param>
2661 <exception cref="T:System.InvalidOperationException">Listener have already been started.</exception>
2662 </member>
2663 <member name="M:HttpServer.HttpListenerBase.Stop">
2664 <summary>
2665 Stop the listener
2666 </summary>
2667 <exception cref="T:System.Net.Sockets.SocketException"></exception>
2668 </member>
2669 <member name="E:HttpServer.HttpListenerBase.ExceptionThrown">
2670 <summary>
2671 Catch exceptions not handled by the listener.
2672 </summary>
2673 <remarks>
2674 Exceptions will be thrown during debug mode if this event is not used,
2675 exceptions will be printed to console and suppressed during release mode.
2676 </remarks>
2677 </member>
2678 <member name="E:HttpServer.HttpListenerBase.RequestReceived">
2679 <summary>
2680 A request have been received from a <see cref="T:HttpServer.IHttpClientContext"/>.
2681 </summary>
2682 </member>
2683 <member name="T:HttpServer.HttpModules.FileModule">
2684 <summary>
2685 The purpose of this module is to serve files.
2686 </summary>
2687 </member>
2688 <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String,System.Boolean)">
2689 <summary>
2690 Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class.
2691 </summary>
2692 <param name="baseUri">Uri to serve, for instance "/files/"</param>
2693 <param name="basePath">Path on hard drive where we should start looking for files</param>
2694 <param name="useLastModifiedHeader">If true a Last-Modifed header will be sent upon requests urging web browser to cache files</param>
2695 </member>
2696 <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String)">
2697 <summary>
2698 Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class.
2699 </summary>
2700 <param name="baseUri">Uri to serve, for instance "/files/"</param>
2701 <param name="basePath">Path on hard drive where we should start looking for files</param>
2702 </member>
2703 <member name="P:HttpServer.HttpModules.FileModule.MimeTypes">
2704 <summary>
2705 List with all mime-type that are allowed.
2706 </summary>
2707 <remarks>All other mime types will result in a Forbidden http status code.</remarks>
2708 </member>
2709 <member name="P:HttpServer.HttpModules.FileModule.ForbiddenChars">
2710 <summary>
2711 characters that may not exist in a path.
2712 </summary>
2713 <example>
2714 fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" };
2715 </example>
2716 </member>
2717 <member name="M:HttpServer.HttpModules.FileModule.AddDefaultMimeTypes">
2718 <summary>
2719 Mimtypes that this class can handle per default
2720 </summary>
2721 </member>
2722 <member name="M:HttpServer.HttpModules.FileModule.CanHandle(System.Uri)">
2723 <summary>
2724 Determines if the request should be handled by this module.
2725 Invoked by the <see cref="T:HttpServer.HttpServer"/>
2726 </summary>
2727 <param name="uri"></param>
2728 <returns>true if this module should handle it.</returns>
2729 </member>
2730 <member name="M:HttpServer.HttpModules.FileModule.GetPath(System.Uri)">
2731 <exception cref="T:HttpServer.Exceptions.BadRequestException">Illegal path</exception>
2732 </member>
2733 <member name="M:HttpServer.HttpModules.FileModule.Contains(System.String,System.Collections.Generic.IEnumerable{System.String})">
2734 <summary>
2735 check if source contains any of the chars.
2736 </summary>
2737 <param name="source"></param>
2738 <param name="chars"></param>
2739 <returns></returns>
2740 </member>
2741 <member name="M:HttpServer.HttpModules.FileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
2742 <summary>
2743 Method that process the Uri.
2744 </summary>
2745 <param name="request">Information sent by the browser about the request</param>
2746 <param name="response">Information that is being sent back to the client.</param>
2747 <param name="session">Session used to </param>
2748 <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to find file extension</exception>
2749 <exception cref="T:HttpServer.Exceptions.ForbiddenException">File type is forbidden.</exception>
2750 </member>
2751 <member name="M:HttpServer.HttpModules.FileModule.GetFileExtension(System.String)">
2752 <summary>
2753 return a file extension from an absolute Uri path (or plain filename)
2754 </summary>
2755 <param name="uri"></param>
2756 <returns></returns>
2757 </member>
2758 <member name="T:HttpServer.HttpModules.HttpModule">
2759 <summary>
2760 A HttpModule can be used to serve Uri's. The module itself
2761 decides if it should serve a Uri or not. In this way, you can
2762 get a very flexible http application since you can let multiple modules
2763 serve almost similar urls.
2764 </summary>
2765 <remarks>
2766 Throw <see cref="T:HttpServer.Exceptions.UnauthorizedException"/> if you are using a <see cref="T:HttpServer.Authentication.AuthenticationModule"/> and want to prompt for user name/password.
2767 </remarks>
2768 </member>
2769 <member name="M:HttpServer.HttpModules.HttpModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
2770 <summary>
2771 Method that process the url
2772 </summary>
2773 <param name="request">Information sent by the browser about the request</param>
2774 <param name="response">Information that is being sent back to the client.</param>
2775 <param name="session">Session used to </param>
2776 <returns>true if this module handled the request.</returns>
2777 </member>
2778 <member name="M:HttpServer.HttpModules.HttpModule.SetLogWriter(HttpServer.ILogWriter)">
2779 <summary>
2780 Set the log writer to use.
2781 </summary>
2782 <param name="writer">logwriter to use.</param>
2783 </member>
2784 <member name="M:HttpServer.HttpModules.HttpModule.Write(HttpServer.LogPrio,System.String)">
2785 <summary>
2786 Log something.
2787 </summary>
2788 <param name="prio">importance of log message</param>
2789 <param name="message">message</param>
2790 </member>
2791 <member name="P:HttpServer.HttpModules.HttpModule.AllowSecondaryProcessing">
2792 <summary>
2793 If true specifies that the module doesn't consume the processing of a request so that subsequent modules
2794 can continue processing afterwards. Default is false.
2795 </summary>
2796 </member>
2797 <member name="T:HttpServer.HttpModules.HttpModuleExceptionEventArgs">
2798 <summary>
2799 Used to inform http server that
2800 </summary>
2801 </member>
2802 <member name="M:HttpServer.HttpModules.HttpModuleExceptionEventArgs.#ctor(System.Exception)">
2803 <summary>
2804 Eventarguments used when an exception is thrown by a module
2805 </summary>
2806 <param name="e">the exception</param>
2807 </member>
2808 <member name="P:HttpServer.HttpModules.HttpModuleExceptionEventArgs.Exception">
2809 <summary>
2810 Exception thrown in a module
2811 </summary>
2812 </member>
2813 <member name="T:HttpServer.HttpModules.ResourceFileModule">
2814 <summary>
2815 Serves files that are stored in embedded resources.
2816 </summary>
2817 </member>
2818 <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor">
2819 <summary>
2820 Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class.
2821 Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later
2822 through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired.
2823 </summary>
2824 </member>
2825 <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor(HttpServer.ILogWriter)">
2826 <summary>
2827 Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class.
2828 Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later
2829 through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired.
2830 </summary>
2831 <param name="logWriter">The log writer to use when logging events</param>
2832 </member>
2833 <member name="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes">
2834 <summary>
2835 List with all mime-type that are allowed.
2836 </summary>
2837 <remarks>All other mime types will result in a Forbidden http status code.</remarks>
2838 </member>
2839 <member name="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes">
2840 <summary>
2841 Mimtypes that this class can handle per default
2842 </summary>
2843 </member>
2844 <member name="M:HttpServer.HttpModules.ResourceFileModule.AddResources(System.String,System.Reflection.Assembly,System.String)">
2845 <summary>
2846 Loads resources from a namespace in the given assembly to an uri
2847 </summary>
2848 <param name="toUri">The uri to map the resources to</param>
2849 <param name="fromAssembly">The assembly in which the resources reside</param>
2850 <param name="fromNamespace">The namespace from which to load the resources</param>
2851 <usage>
2852 resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views");
2853
2854 will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css
2855 </usage>
2856 <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns>
2857 </member>
2858 <member name="M:HttpServer.HttpModules.ResourceFileModule.CanHandle(HttpServer.IHttpRequest)">
2859 <summary>
2860 Returns true if the module can handle the request
2861 </summary>
2862 </member>
2863 <member name="M:HttpServer.HttpModules.ResourceFileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
2864 <summary>
2865 Method that process the url
2866 </summary>
2867 <param name="request">Information sent by the browser about the request</param>
2868 <param name="response">Information that is being sent back to the client.</param>
2869 <param name="session">Session used to </param>
2870 <returns>true if this module handled the request.</returns>
2871 </member>
2872 <member name="T:HttpServer.HttpModules.ReverseProxyModule">
2873 <summary>
2874 A reverse proxy are used to act as a bridge between local (protected/hidden) websites
2875 and public clients.
2876
2877 A typical usage is to allow web servers on non standard ports to still be available
2878 to the public clients, or allow web servers on private ips to be available.
2879 </summary>
2880 </member>
2881 <member name="M:HttpServer.HttpModules.ReverseProxyModule.#ctor(System.String,System.String)">
2882 <summary>
2883
2884 </summary>
2885 <param name="source">Base url requested from browser</param>
2886 <param name="destination">Base url on private web server</param>
2887 <example>
2888 // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas
2889 _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/");
2890 </example>
2891 </member>
2892 <member name="M:HttpServer.HttpModules.ReverseProxyModule.CanHandle(System.Uri)">
2893 <summary>
2894 Method that determines if an url should be handled or not by the module
2895 </summary>
2896 <param name="uri">Url requested by the client.</param>
2897 <returns>true if module should handle the url.</returns>
2898 </member>
2899 <member name="M:HttpServer.HttpModules.ReverseProxyModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
2900 <summary>
2901 Method that process the url
2902 </summary>
2903 <param name="request">Information sent by the browser about the request</param>
2904 <param name="response">Information that is being sent back to the client.</param>
2905 <param name="session">Session used to </param>
2906 </member>
2907 <member name="T:HttpServer.HttpModules.WebSiteModule">
2908 <summary>
2909 The website module let's you handle multiple websites in the same server.
2910 It uses the "Host" header to check which site you want.
2911 </summary>
2912 <remarks>It's recommended that you do not
2913 add any other modules to HttpServer if you are using the website module. Instead,
2914 add all wanted modules to each website.</remarks>
2915 </member>
2916 <member name="M:HttpServer.HttpModules.WebSiteModule.#ctor(System.String,System.String)">
2917 <summary>
2918
2919 </summary>
2920 <param name="host">domain name that should be handled.</param>
2921 <param name="name"></param>
2922 </member>
2923 <member name="P:HttpServer.HttpModules.WebSiteModule.SiteName">
2924 <summary>
2925 Name of site.
2926 </summary>
2927 </member>
2928 <member name="M:HttpServer.HttpModules.WebSiteModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
2929 <summary>
2930 Method that process the url
2931 </summary>
2932 <param name="request">Information sent by the browser about the request</param>
2933 <param name="response">Information that is being sent back to the client.</param>
2934 <param name="session">Session used to </param>
2935 </member>
2936 <member name="T:HttpServer.HttpParam">
2937 <summary>
2938 Returns item either from a form or a query string (checks them in that order)
2939 </summary>
2940 </member>
2941 <member name="F:HttpServer.HttpParam.Empty">
2942 <summary> Representation of a non-initialized HttpParam </summary>
2943 </member>
2944 <member name="M:HttpServer.HttpParam.#ctor(HttpServer.IHttpInput,HttpServer.IHttpInput)">
2945 <summary>Initialises the class to hold a value either from a post request or a querystring request</summary>
2946 </member>
2947 <member name="M:HttpServer.HttpParam.Add(System.String,System.String)">
2948 <summary>
2949 The add method is not availible for HttpParam
2950 since HttpParam checks both Request.Form and Request.QueryString
2951 </summary>
2952 <param name="name">name identifying the value</param>
2953 <param name="value">value to add</param>
2954 <exception cref="T:System.NotImplementedException"></exception>
2955 </member>
2956 <member name="M:HttpServer.HttpParam.Contains(System.String)">
2957 <summary>
2958 Checks whether the form or querystring has the specified value
2959 </summary>
2960 <param name="name">Name, case sensitive</param>
2961 <returns>true if found; otherwise false.</returns>
2962 </member>
2963 <member name="P:HttpServer.HttpParam.Item(System.String)">
2964 <summary>
2965 Fetch an item from the form or querystring (in that order).
2966 </summary>
2967 <param name="name"></param>
2968 <returns>Item if found; otherwise HttpInputItem.EmptyLanguageNode</returns>
2969 </member>
2970 <member name="M:HttpServer.HttpParam.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator">
2971 <summary>
2972 Returns an enumerator that iterates through the collection.
2973 </summary>
2974
2975 <returns>
2976 A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
2977 </returns>
2978 <filterpriority>1</filterpriority>
2979 </member>
2980 <member name="M:HttpServer.HttpParam.GetEnumerator">
2981 <summary>
2982 Returns an enumerator that iterates through a collection.
2983 </summary>
2984
2985 <returns>
2986 An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
2987 </returns>
2988 <filterpriority>2</filterpriority>
2989 </member>
2990 <member name="T:HttpServer.HttpRequest">
2991 <summary>
2992 Contains server side HTTP request information.
2993 </summary>
2994 </member>
2995 <member name="F:HttpServer.HttpRequest.UriSplitters">
2996 <summary>
2997 Chars used to split an URL path into multiple parts.
2998 </summary>
2999 </member>
3000 <member name="P:HttpServer.HttpRequest.Secure">
3001 <summary>
3002 Gets or sets a value indicating whether this <see cref="T:HttpServer.HttpRequest"/> is secure.
3003 </summary>
3004 </member>
3005 <member name="P:HttpServer.HttpRequest.UriPath">
3006 <summary>
3007 Path and query (will be merged with the host header) and put in Uri
3008 </summary>
3009 <see cref="P:HttpServer.HttpRequest.Uri"/>
3010 </member>
3011 <member name="M:HttpServer.HttpRequest.AssignForm(HttpServer.HttpForm)">
3012 <summary>
3013 Assign a form.
3014 </summary>
3015 <param name="form"></param>
3016 </member>
3017 <member name="P:HttpServer.HttpRequest.BodyIsComplete">
3018 <summary>
3019 Gets whether the body is complete.
3020 </summary>
3021 </member>
3022 <member name="P:HttpServer.HttpRequest.AcceptTypes">
3023 <summary>
3024 Gets kind of types accepted by the client.
3025 </summary>
3026 </member>
3027 <member name="P:HttpServer.HttpRequest.Body">
3028 <summary>
3029 Gets or sets body stream.
3030 </summary>
3031 </member>
3032 <member name="P:HttpServer.HttpRequest.Connection">
3033 <summary>
3034 Gets or sets kind of connection used for the session.
3035 </summary>
3036 </member>
3037 <member name="P:HttpServer.HttpRequest.ContentLength">
3038 <summary>
3039 Gets or sets number of bytes in the body.
3040 </summary>
3041 </member>
3042 <member name="P:HttpServer.HttpRequest.Headers">
3043 <summary>
3044 Gets headers sent by the client.
3045 </summary>
3046 </member>
3047 <member name="P:HttpServer.HttpRequest.HttpVersion">
3048 <summary>
3049 Gets or sets version of HTTP protocol that's used.
3050 </summary>
3051 <remarks>
3052 Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>.
3053 </remarks>
3054 <seealso cref="T:HttpServer.HttpHelper"/>
3055 </member>
3056 <member name="P:HttpServer.HttpRequest.Method">
3057 <summary>
3058 Gets or sets requested method.
3059 </summary>
3060 <value></value>
3061 <remarks>
3062 Will always be in upper case.
3063 </remarks>
3064 <see cref="!:HttpServer.Method"/>
3065 </member>
3066 <member name="P:HttpServer.HttpRequest.QueryString">
3067 <summary>
3068 Gets variables sent in the query string
3069 </summary>
3070 </member>
3071 <member name="P:HttpServer.HttpRequest.Uri">
3072 <summary>
3073 Gets or sets requested URI.
3074 </summary>
3075 </member>
3076 <member name="P:HttpServer.HttpRequest.UriParts">
3077 <summary>
3078 Uri absolute path splitted into parts.
3079 </summary>
3080 <example>
3081 // uri is: http://gauffin.com/code/tiny/
3082 Console.WriteLine(request.UriParts[0]); // result: code
3083 Console.WriteLine(request.UriParts[1]); // result: tiny
3084 </example>
3085 <remarks>
3086 If you're using controllers than the first part is controller name,
3087 the second part is method name and the third part is Id property.
3088 </remarks>
3089 <seealso cref="P:HttpServer.HttpRequest.Uri"/>
3090 </member>
3091 <member name="P:HttpServer.HttpRequest.Param">
3092 <summary>
3093 Gets parameter from <see cref="P:HttpServer.HttpRequest.QueryString"/> or <see cref="P:HttpServer.HttpRequest.Form"/>.
3094 </summary>
3095 </member>
3096 <member name="P:HttpServer.HttpRequest.Form">
3097 <summary>
3098 Gets form parameters.
3099 </summary>
3100 </member>
3101 <member name="P:HttpServer.HttpRequest.IsAjax">
3102 <summary>
3103 Gets whether the request was made by Ajax (Asynchronous JavaScript)
3104 </summary>
3105 </member>
3106 <member name="P:HttpServer.HttpRequest.Cookies">
3107 <summary>
3108 Gets cookies that was sent with the request.
3109 </summary>
3110 </member>
3111 <member name="M:HttpServer.HttpRequest.Clone">
3112 <summary>
3113 Creates a new object that is a copy of the current instance.
3114 </summary>
3115
3116 <returns>
3117 A new object that is a copy of this instance.
3118 </returns>
3119 <filterpriority>2</filterpriority>
3120 </member>
3121 <member name="M:HttpServer.HttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)">
3122 <summary>
3123 Decode body into a form.
3124 </summary>
3125 <param name="providers">A list with form decoders.</param>
3126 <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception>
3127 <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception>
3128 </member>
3129 <member name="M:HttpServer.HttpRequest.SetCookies(HttpServer.RequestCookies)">
3130 <summary>
3131 Cookies
3132 </summary>
3133 <param name="cookies">the cookies</param>
3134 </member>
3135 <member name="M:HttpServer.HttpRequest.CreateResponse(HttpServer.IHttpClientContext)">
3136 <summary>
3137 Create a response object.
3138 </summary>
3139 <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns>
3140 </member>
3141 <member name="M:HttpServer.HttpRequest.AddHeader(System.String,System.String)">
3142 <summary>
3143 Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>.
3144 </summary>
3145 <param name="name">Name of the header, should not be URL encoded</param>
3146 <param name="value">Value of the header, should not be URL encoded</param>
3147 <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception>
3148 </member>
3149 <member name="M:HttpServer.HttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)">
3150 <summary>
3151 Add bytes to the body
3152 </summary>
3153 <param name="bytes">buffer to read bytes from</param>
3154 <param name="offset">where to start read</param>
3155 <param name="length">number of bytes to read</param>
3156 <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns>
3157 <exception cref="T:System.InvalidOperationException">If body is not writable</exception>
3158 <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception>
3159 <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception>
3160 </member>
3161 <member name="M:HttpServer.HttpRequest.Clear">
3162 <summary>
3163 Clear everything in the request
3164 </summary>
3165 </member>
3166 <member name="T:HttpServer.HttpResponse">
3167 <summary>
3168 Response that is sent back to the web browser / client.
3169 </summary>
3170 <remarks>
3171 <para>
3172 A response can be sent if different ways. The easiest one is
3173 to just fill the Body stream with content, everything else
3174 will then be taken care of by the framework. The default content-type
3175 is text/html, you should change it if you send anything else.
3176 </para><para>
3177 The second and slightly more complex way is to send the response
3178 as parts. Start with sending the header using the SendHeaders method and
3179 then you can send the body using SendBody method, but do not forget
3180 to set <see cref="P:HttpServer.HttpResponse.ContentType"/> and <see cref="P:HttpServer.HttpResponse.ContentLength"/> before doing so.
3181 </para>
3182 </remarks>
3183 <example>
3184 <code>
3185 // Example using response body.
3186 class MyModule : HttpModule
3187 {
3188 public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session)
3189 {
3190 StreamWriter writer = new StreamWriter(response.Body);
3191 writer.WriteLine("Hello dear World!");
3192 writer.Flush();
3193
3194 // return true to tell webserver that we've handled the url
3195 return true;
3196 }
3197 }
3198 </code>
3199 </example>
3200 todo: add two examples, using SendHeaders/SendBody and just the Body stream.
3201 </member>
3202 <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)">
3203 <summary>
3204 Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class.
3205 </summary>
3206 <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param>
3207 <param name="request">Contains information of what the client want to receive.</param>
3208 <exception cref="T:System.ArgumentException"><see cref="P:HttpServer.IHttpRequest.HttpVersion"/> cannot be empty.</exception>
3209 </member>
3210 <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,System.String,HttpServer.ConnectionType)">
3211 <summary>
3212 Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class.
3213 </summary>
3214 <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param>
3215 <param name="httpVersion">Version of HTTP protocol that the client uses.</param>
3216 <param name="connectionType">Type of HTTP connection used.</param>
3217 </member>
3218 <member name="P:HttpServer.HttpResponse.Body">
3219 <summary>
3220 The body stream is used to cache the body contents
3221 before sending everything to the client. It's the simplest
3222 way to serve documents.
3223 </summary>
3224 </member>
3225 <member name="P:HttpServer.HttpResponse.Chunked">
3226 <summary>
3227 The chunked encoding modifies the body of a message in order to
3228 transfer it as a series of chunks, each with its own size indicator,
3229 followed by an OPTIONAL trailer containing entity-header fields. This
3230 allows dynamically produced content to be transferred along with the
3231 information necessary for the recipient to verify that it has
3232 received the full message.
3233 </summary>
3234 </member>
3235 <member name="P:HttpServer.HttpResponse.ProtocolVersion">
3236 <summary>
3237 Defines the version of the HTTP Response for applications where it's required
3238 for this to be forced.
3239 </summary>
3240 </member>
3241 <member name="P:HttpServer.HttpResponse.Connection">
3242 <summary>
3243 Kind of connection
3244 </summary>
3245 </member>
3246 <member name="P:HttpServer.HttpResponse.Encoding">
3247 <summary>
3248 Encoding to use when sending stuff to the client.
3249 </summary>
3250 <remarks>Default is UTF8</remarks>
3251 </member>
3252 <member name="P:HttpServer.HttpResponse.KeepAlive">
3253 <summary>
3254 Number of seconds to keep connection alive
3255 </summary>
3256 <remarks>Only used if Connection property is set to <see cref="F:HttpServer.ConnectionType.KeepAlive"/>.</remarks>
3257 </member>
3258 <member name="P:HttpServer.HttpResponse.Status">
3259 <summary>
3260 Status code that is sent to the client.
3261 </summary>
3262 <remarks>Default is <see cref="F:System.Net.HttpStatusCode.OK"/></remarks>
3263 </member>
3264 <member name="P:HttpServer.HttpResponse.Reason">
3265 <summary>
3266 Information about why a specific status code was used.
3267 </summary>
3268 </member>
3269 <member name="P:HttpServer.HttpResponse.ContentLength">
3270 <summary>
3271 Size of the body. MUST be specified before sending the header,
3272 unless property Chunked is set to true.
3273 </summary>
3274 </member>
3275 <member name="P:HttpServer.HttpResponse.ContentType">
3276 <summary>
3277 Kind of content in the body
3278 </summary>
3279 <remarks>Default type is "text/html"</remarks>
3280 </member>
3281 <member name="P:HttpServer.HttpResponse.HeadersSent">
3282 <summary>
3283 Headers have been sent to the client-
3284 </summary>
3285 <remarks>You can not send any additional headers if they have already been sent.</remarks>
3286 </member>
3287 <member name="P:HttpServer.HttpResponse.Sent">
3288 <summary>
3289 The whole response have been sent.
3290 </summary>
3291 </member>
3292 <member name="P:HttpServer.HttpResponse.Cookies">
3293 <summary>
3294 Cookies that should be created/changed.
3295 </summary>
3296 </member>
3297 <member name="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)">
3298 <summary>
3299 Add another header to the document.
3300 </summary>
3301 <param name="name">Name of the header, case sensitive, use lower cases.</param>
3302 <param name="value">Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n</param>
3303 <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
3304 <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception>
3305 <remarks>Adding any header will override the default ones and those specified by properties.</remarks>
3306 </member>
3307 <member name="M:HttpServer.HttpResponse.Send">
3308 <summary>
3309 Send headers and body to the browser.
3310 </summary>
3311 <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception>
3312 </member>
3313 <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)">
3314 <summary>
3315 Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first.
3316 </summary>
3317 <param name="buffer"></param>
3318 <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
3319 <see cref="M:HttpServer.HttpResponse.SendHeaders"/>
3320 <param name="offset">offset of first byte to send</param>
3321 <param name="count">number of bytes to send.</param>
3322 <seealso cref="M:HttpServer.HttpResponse.Send"/>
3323 <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/>
3324 <remarks>This method can be used if you want to send body contents without caching them first. This
3325 is recommended for larger files to keep the memory usage low.</remarks>
3326 </member>
3327 <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[])">
3328 <summary>
3329 Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first.
3330 </summary>
3331 <param name="buffer"></param>
3332 <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
3333 <see cref="M:HttpServer.HttpResponse.SendHeaders"/>
3334 <seealso cref="M:HttpServer.HttpResponse.Send"/>
3335 <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/>
3336 <remarks>This method can be used if you want to send body contents without caching them first. This
3337 is recommended for larger files to keep the memory usage low.</remarks>
3338 </member>
3339 <member name="M:HttpServer.HttpResponse.SendHeaders">
3340 <summary>
3341 Send headers to the client.
3342 </summary>
3343 <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
3344 <seealso cref="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"/>
3345 <seealso cref="M:HttpServer.HttpResponse.Send"/>
3346 <seealso cref="M:HttpServer.HttpResponse.SendBody(System.Byte[])"/>
3347 </member>
3348 <member name="M:HttpServer.HttpResponse.Redirect(System.Uri)">
3349 <summary>
3350 Redirect client to somewhere else using the 302 status code.
3351 </summary>
3352 <param name="uri">Destination of the redirect</param>
3353 <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
3354 <remarks>You can not do anything more with the request when a redirect have been done. This should be your last
3355 action.</remarks>
3356 </member>
3357 <member name="M:HttpServer.HttpResponse.Redirect(System.String)">
3358 <summary>
3359 redirect to somewhere
3360 </summary>
3361 <param name="url">where the redirect should go</param>
3362 <remarks>
3363 No body are allowed when doing redirects.
3364 </remarks>
3365 </member>
3366 <member name="T:HttpServer.RealmHandler">
3367 <summary>
3368 Delegate used to find a realm/domain.
3369 </summary>
3370 <param name="domain"></param>
3371 <returns></returns>
3372 <remarks>
3373 Realms are used during HTTP Authentication
3374 </remarks>
3375 <seealso cref="T:HttpServer.Authentication.AuthenticationModule"/>
3376 <seealso cref="T:HttpServer.Authentication.AuthenticationHandler"/>
3377 </member>
3378 <member name="T:HttpServer.HttpServer">
3379 <summary>
3380 A complete HTTP server, you need to add a module to it to be able to handle incoming requests.
3381 </summary>
3382 <example>
3383 <code>
3384 // this small example will add two web site modules, thus handling
3385 // two different sites. In reality you should add Controller modules or something
3386 // two the website modules to be able to handle different requests.
3387 HttpServer server = new HttpServer();
3388 server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB"));
3389 server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX"));
3390
3391 // start regular http
3392 server.Start(IPAddress.Any, 80);
3393
3394 // start https
3395 server.Start(IPAddress.Any, 443, myCertificate);
3396 </code>
3397 </example>
3398 <seealso cref="T:HttpServer.HttpModules.HttpModule"/>
3399 <seealso cref="T:HttpServer.HttpModules.FileModule"/>
3400 <seealso cref="T:HttpServer.HttpListener"/>
3401 </member>
3402 <member name="P:HttpServer.HttpServer.Current">
3403 <summary>
3404 Server that is handling the current request.
3405 </summary>
3406 <remarks>
3407 Will be set as soon as a request arrives to the <see cref="T:HttpServer.HttpServer"/> object.
3408 </remarks>
3409 </member>
3410 <member name="M:HttpServer.HttpServer.#ctor(HttpServer.IComponentProvider)">
3411 <summary>
3412 Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
3413 </summary>
3414 <param name="provider">Used to get all components used in the server..</param>
3415 </member>
3416 <member name="M:HttpServer.HttpServer.#ctor">
3417 <summary>
3418 Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
3419 </summary>
3420 </member>
3421 <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider)">
3422 <summary>
3423 Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
3424 </summary>
3425 <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
3426 <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
3427 <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
3428 </member>
3429 <member name="M:HttpServer.HttpServer.#ctor(HttpServer.Sessions.IHttpSessionStore)">
3430 <summary>
3431 Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
3432 </summary>
3433 <param name="sessionStore">A session store is used to save and retrieve sessions</param>
3434 <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/>
3435 </member>
3436 <member name="M:HttpServer.HttpServer.#ctor(HttpServer.ILogWriter)">
3437 <summary>
3438 Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
3439 </summary>
3440 <param name="logWriter">The log writer.</param>
3441 <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
3442 </member>
3443 <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.ILogWriter)">
3444 <summary>
3445 Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
3446 </summary>
3447 <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
3448 <param name="logWriter">The log writer.</param>
3449 <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
3450 <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
3451 <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
3452 </member>
3453 <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.Sessions.IHttpSessionStore,HttpServer.ILogWriter)">
3454 <summary>
3455 Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
3456 </summary>
3457 <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
3458 <param name="sessionStore">A session store is used to save and retrieve sessions</param>
3459 <param name="logWriter">The log writer.</param>
3460 <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
3461 <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
3462 <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
3463 <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/>
3464 </member>
3465 <member name="P:HttpServer.HttpServer.AuthenticationModules">
3466 <summary>
3467 Modules used for authentication. The module that is is added first is used as
3468 the default authentication module.
3469 </summary>
3470 <remarks>Use the corresponding property
3471 in the <see cref="T:HttpServer.HttpModules.WebSiteModule"/> if you are using multiple websites.</remarks>
3472 </member>
3473 <member name="P:HttpServer.HttpServer.FormDecoderProviders">
3474 <summary>
3475 Form decoder providers are used to decode request body (which normally contains form data).
3476 </summary>
3477 </member>
3478 <member name="P:HttpServer.HttpServer.ServerName">
3479 <summary>
3480 Server name sent in HTTP responses.
3481 </summary>
3482 <remarks>
3483 Do NOT include version in name, since it makes it
3484 easier for hackers.
3485 </remarks>
3486 </member>
3487 <member name="P:HttpServer.HttpServer.SessionCookieName">
3488 <summary>
3489 Name of cookie where session id is stored.
3490 </summary>
3491 </member>
3492 <member name="P:HttpServer.HttpServer.LogWriter">
3493 <summary>
3494 Specified where logging should go.
3495 </summary>
3496 <seealso cref="T:HttpServer.NullLogWriter"/>
3497 <seealso cref="T:HttpServer.ConsoleLogWriter"/>
3498 <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
3499 </member>
3500 <member name="P:HttpServer.HttpServer.BackLog">
3501 <summary>
3502 Number of connections that can wait to be accepted by the server.
3503 </summary>
3504 <remarks>Default is 10.</remarks>
3505 </member>
3506 <member name="P:HttpServer.HttpServer.MaxRequestCount">
3507 <summary>
3508 Gets or sets maximum number of allowed simultaneous requests.
3509 </summary>
3510 <remarks>
3511 <para>
3512 This property is useful in busy systems. The HTTP server
3513 will start queuing new requests if this limit is hit, instead
3514 of trying to process all incoming requests directly.
3515 </para>
3516 <para>
3517 The default number if allowed simultaneous requests are 10.
3518 </para>
3519 </remarks>
3520 </member>
3521 <member name="P:HttpServer.HttpServer.MaxQueueSize">
3522 <summary>
3523 Gets or sets maximum number of requests queuing to be handled.
3524 </summary>
3525 <remarks>
3526 <para>
3527 The WebServer will start turning requests away if response code
3528 <see cref="F:System.Net.HttpStatusCode.ServiceUnavailable"/> to indicate that the server
3529 is too busy to be able to handle the request.
3530 </para>
3531 </remarks>
3532 </member>
3533 <member name="M:HttpServer.HttpServer.Add(HttpServer.Rules.IRule)">
3534 <summary>
3535 Adds the specified rule.
3536 </summary>
3537 <param name="rule">The rule.</param>
3538 </member>
3539 <member name="M:HttpServer.HttpServer.Add(HttpServer.HttpModules.HttpModule)">
3540 <summary>
3541 Add a <see cref="T:HttpServer.HttpModules.HttpModule"/> to the server.
3542 </summary>
3543 <param name="module">mode to add</param>
3544 </member>
3545 <member name="M:HttpServer.HttpServer.DecodeBody(HttpServer.IHttpRequest)">
3546 <summary>
3547 Decodes the request body.
3548 </summary>
3549 <param name="request">The request.</param>
3550 <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to decode form data.</exception>
3551 </member>
3552 <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,System.Net.HttpStatusCode,System.String)">
3553 <summary>
3554 Generate a HTTP error page (that will be added to the response body).
3555 response status code is also set.
3556 </summary>
3557 <param name="response">Response that the page will be generated in.</param>
3558 <param name="error"><see cref="T:System.Net.HttpStatusCode"/>.</param>
3559 <param name="body">response body contents.</param>
3560 </member>
3561 <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,HttpServer.Exceptions.HttpException)">
3562 <summary>
3563 Generate a HTTP error page (that will be added to the response body).
3564 response status code is also set.
3565 </summary>
3566 <param name="response">Response that the page will be generated in.</param>
3567 <param name="err">exception.</param>
3568 </member>
3569 <member name="M:HttpServer.HttpServer.GetRealm(HttpServer.IHttpRequest)">
3570 <summary>
3571 Realms are used by the <see cref="T:HttpServer.Authentication.AuthenticationModule"/>s.
3572 </summary>
3573 <param name="request">HTTP request</param>
3574 <returns>domain/realm.</returns>
3575 </member>
3576 <member name="M:HttpServer.HttpServer.HandleRequest(HttpServer.IHttpClientContext,HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
3577 <summary>
3578 Process an incoming request.
3579 </summary>
3580 <param name="context">connection to client</param>
3581 <param name="request">request information</param>
3582 <param name="response">response that should be filled</param>
3583 <param name="session">session information</param>
3584 </member>
3585 <member name="M:HttpServer.HttpServer.OnClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)">
3586 <summary>
3587 Can be overloaded to implement stuff when a client have been connected.
3588 </summary>
3589 <remarks>
3590 Default implementation does nothing.
3591 </remarks>
3592 <param name="client">client that disconnected</param>
3593 <param name="error">disconnect reason</param>
3594 </member>
3595 <member name="M:HttpServer.HttpServer.ProcessAuthentication(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
3596 <summary>
3597 Handle authentication
3598 </summary>
3599 <param name="request"></param>
3600 <param name="response"></param>
3601 <param name="session"></param>
3602 <returns>true if request can be handled; false if not.</returns>
3603 <exception cref="T:HttpServer.Exceptions.BadRequestException">Invalid authorization header</exception>
3604 </member>
3605 <member name="M:HttpServer.HttpServer.RequestAuthentication(HttpServer.Authentication.AuthenticationModule,HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
3606 <summary>
3607 Will request authentication.
3608 </summary>
3609 <remarks>
3610 Sends respond to client, nothing else can be done with the response after this.
3611 </remarks>
3612 <param name="mod"></param>
3613 <param name="request"></param>
3614 <param name="response"></param>
3615 </member>
3616 <member name="M:HttpServer.HttpServer.OnRequest(System.Object,HttpServer.RequestEventArgs)">
3617 <summary>
3618 Received from a <see cref="T:HttpServer.IHttpClientContext"/> when a request have been parsed successfully.
3619 </summary>
3620 <param name="source"><see cref="T:HttpServer.IHttpClientContext"/> that received the request.</param>
3621 <param name="args">The request.</param>
3622 </member>
3623 <member name="M:HttpServer.HttpServer.ProcessRequestWrapper(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)">
3624 <summary>
3625 To be able to track request count.
3626 </summary>
3627 <param name="context"></param>
3628 <param name="request"></param>
3629 </member>
3630 <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32)">
3631 <summary>
3632 Start the web server using regular HTTP.
3633 </summary>
3634 <param name="address">IP Address to listen on, use <c>IpAddress.Any </c>to accept connections on all IP addresses/network cards.</param>
3635 <param name="port">Port to listen on. 80 can be a good idea =)</param>
3636 <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
3637 <exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
3638 </member>
3639 <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)">
3640 <summary>
3641 Accept secure connections.
3642 </summary>
3643 <param name="address">IP Address to listen on, use <see cref="F:System.Net.IPAddress.Any"/> to accept connections on all IP Addresses / network cards.</param>
3644 <param name="port">Port to listen on. 80 can be a good idea =)</param>
3645 <param name="certificate">Certificate to use</param>
3646 <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
3647 <exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
3648 </member>
3649 <member name="M:HttpServer.HttpServer.Stop">
3650 <summary>
3651 shut down the server and listeners
3652 </summary>
3653 </member>
3654 <member name="M:HttpServer.HttpServer.WriteLog(HttpServer.LogPrio,System.String)">
3655 <summary>
3656 write an entry to the log file
3657 </summary>
3658 <param name="prio">importance of the message</param>
3659 <param name="message">log message</param>
3660 </member>
3661 <member name="M:HttpServer.HttpServer.WriteLog(System.Object,HttpServer.LogPrio,System.String)">
3662 <summary>
3663 write an entry to the log file
3664 </summary>
3665 <param name="source">object that wrote the message</param>
3666 <param name="prio">importance of the message</param>
3667 <param name="message">log message</param>
3668 </member>
3669 <member name="E:HttpServer.HttpServer.RealmWanted">
3670 <summary>
3671 Realms are used during HTTP authentication.
3672 Default realm is same as server name.
3673 </summary>
3674 </member>
3675 <member name="E:HttpServer.HttpServer.ExceptionThrown">
3676 <summary>
3677 Let's to receive unhandled exceptions from the threads.
3678 </summary>
3679 <remarks>
3680 Exceptions will be thrown during debug mode if this event is not used,
3681 exceptions will be printed to console and suppressed during release mode.
3682 </remarks>
3683 </member>
3684 <member name="T:HttpServer.IComponentProvider">
3685 <summary>
3686 Inversion of control interface.
3687 </summary>
3688 </member>
3689 <member name="M:HttpServer.IComponentProvider.AddInstance``1(System.Object)">
3690 <summary>
3691 Add a component instance
3692 </summary>
3693 <typeparam name="T">Interface type</typeparam>
3694 <param name="instance">Instance to add</param>
3695 </member>
3696 <member name="M:HttpServer.IComponentProvider.Get``1">
3697 <summary>
3698 Get a component.
3699 </summary>
3700 <typeparam name="T">Interface type</typeparam>
3701 <returns>Component if registered, otherwise null.</returns>
3702 <remarks>
3703 Component will get created if needed.
3704 </remarks>
3705 </member>
3706 <member name="M:HttpServer.IComponentProvider.Contains(System.Type)">
3707 <summary>
3708 Checks if the specified component interface have been added.
3709 </summary>
3710 <param name="interfaceType"></param>
3711 <returns>true if found; otherwise false.</returns>
3712 </member>
3713 <member name="M:HttpServer.IComponentProvider.Add``2">
3714 <summary>
3715 Add a component.
3716 </summary>
3717 <typeparam name="InterfaceType">Type being requested.</typeparam>
3718 <typeparam name="InstanceType">Type being created.</typeparam>
3719 </member>
3720 <member name="T:HttpServer.IHttpClientContext">
3721 <summary>
3722 Contains a connection to a browser/client.
3723 </summary>
3724 </member>
3725 <member name="P:HttpServer.IHttpClientContext.Secured">
3726 <summary>
3727 Using SSL or other encryption method.
3728 </summary>
3729 </member>
3730 <member name="P:HttpServer.IHttpClientContext.IsSecured">
3731 <summary>
3732 Using SSL or other encryption method.
3733 </summary>
3734 </member>
3735 <member name="M:HttpServer.IHttpClientContext.Disconnect(System.Net.Sockets.SocketError)">
3736 <summary>
3737 Disconnect from client
3738 </summary>
3739 <param name="error">error to report in the <see cref="E:HttpServer.IHttpClientContext.Disconnected"/> event.</param>
3740 </member>
3741 <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)">
3742 <summary>
3743 Send a response.
3744 </summary>
3745 <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
3746 <param name="statusCode">HTTP status code</param>
3747 <param name="reason">reason for the status code.</param>
3748 <param name="body">HTML body contents, can be null or empty.</param>
3749 <param name="contentType">A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty</param>
3750 <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception>
3751 </member>
3752 <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)">
3753 <summary>
3754 Send a response.
3755 </summary>
3756 <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
3757 <param name="statusCode">HTTP status code</param>
3758 <param name="reason">reason for the status code.</param>
3759 </member>
3760 <member name="M:HttpServer.IHttpClientContext.Respond(System.String)">
3761 <summary>
3762 Send a response.
3763 </summary>
3764 <exception cref="T:System.ArgumentNullException"></exception>
3765 </member>
3766 <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[])">
3767 <summary>
3768 send a whole buffer
3769 </summary>
3770 <param name="buffer">buffer to send</param>
3771 <exception cref="T:System.ArgumentNullException"></exception>
3772 </member>
3773 <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[],System.Int32,System.Int32)">
3774 <summary>
3775 Send data using the stream
3776 </summary>
3777 <param name="buffer">Contains data to send</param>
3778 <param name="offset">Start position in buffer</param>
3779 <param name="size">number of bytes to send</param>
3780 <exception cref="T:System.ArgumentNullException"></exception>
3781 <exception cref="T:System.ArgumentOutOfRangeException"></exception>
3782 </member>
3783 <member name="M:HttpServer.IHttpClientContext.Close">
3784 <summary>
3785 Closes the streams and disposes of the unmanaged resources
3786 </summary>
3787 </member>
3788 <member name="E:HttpServer.IHttpClientContext.Disconnected">
3789 <summary>
3790 The context have been disconnected.
3791 </summary>
3792 <remarks>
3793 Event can be used to clean up a context, or to reuse it.
3794 </remarks>
3795 </member>
3796 <member name="E:HttpServer.IHttpClientContext.RequestReceived">
3797 <summary>
3798 A request have been received in the context.
3799 </summary>
3800 </member>
3801 <member name="T:HttpServer.DisconnectedEventArgs">
3802 <summary>
3803 A <see cref="T:HttpServer.IHttpClientContext"/> have been disconnected.
3804 </summary>
3805 </member>
3806 <member name="P:HttpServer.DisconnectedEventArgs.Error">
3807 <summary>
3808 Gets reason to why client disconnected.
3809 </summary>
3810 </member>
3811 <member name="M:HttpServer.DisconnectedEventArgs.#ctor(System.Net.Sockets.SocketError)">
3812 <summary>
3813 Initializes a new instance of the <see cref="T:HttpServer.DisconnectedEventArgs"/> class.
3814 </summary>
3815 <param name="error">Reason to disconnection.</param>
3816 </member>
3817 <member name="T:HttpServer.RequestEventArgs">
3818 <summary>
3819
3820 </summary>
3821 </member>
3822 <member name="P:HttpServer.RequestEventArgs.Request">
3823 <summary>
3824 Gets received request.
3825 </summary>
3826 </member>
3827 <member name="M:HttpServer.RequestEventArgs.#ctor(HttpServer.IHttpRequest)">
3828 <summary>
3829 Initializes a new instance of the <see cref="T:HttpServer.RequestEventArgs"/> class.
3830 </summary>
3831 <param name="request">The request.</param>
3832 </member>
3833 <member name="T:HttpServer.IHttpContextHandler">
3834 <summary>
3835 Class that receives Requests from a <see cref="T:HttpServer.IHttpClientContext"/>.
3836 </summary>
3837 </member>
3838 <member name="M:HttpServer.IHttpContextHandler.ClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)">
3839 <summary>
3840 Client have been disconnected.
3841 </summary>
3842 <param name="client">Client that was disconnected.</param>
3843 <param name="error">Reason</param>
3844 <see cref="T:HttpServer.IHttpClientContext"/>
3845 </member>
3846 <member name="M:HttpServer.IHttpContextHandler.RequestReceived(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)">
3847 <summary>
3848 Invoked when a client context have received a new HTTP request
3849 </summary>
3850 <param name="client">Client that received the request.</param>
3851 <param name="request">Request that was received.</param>
3852 <see cref="T:HttpServer.IHttpClientContext"/>
3853 </member>
3854 <member name="T:HttpServer.IHttpRequest">
3855 <summary>
3856 Contains server side HTTP request information.
3857 </summary>
3858 </member>
3859 <member name="P:HttpServer.IHttpRequest.AcceptTypes">
3860 <summary>
3861 Gets kind of types accepted by the client.
3862 </summary>
3863 </member>
3864 <member name="P:HttpServer.IHttpRequest.Body">
3865 <summary>
3866 Gets or sets body stream.
3867 </summary>
3868 </member>
3869 <member name="P:HttpServer.IHttpRequest.BodyIsComplete">
3870 <summary>
3871 Gets whether the body is complete.
3872 </summary>
3873 </member>
3874 <member name="P:HttpServer.IHttpRequest.Connection">
3875 <summary>
3876 Gets or sets kind of connection used for the session.
3877 </summary>
3878 </member>
3879 <member name="P:HttpServer.IHttpRequest.ContentLength">
3880 <summary>
3881 Gets or sets number of bytes in the body.
3882 </summary>
3883 </member>
3884 <member name="P:HttpServer.IHttpRequest.Cookies">
3885 <summary>
3886 Gets cookies that was sent with the request.
3887 </summary>
3888 </member>
3889 <member name="P:HttpServer.IHttpRequest.Form">
3890 <summary>
3891 Gets form parameters.
3892 </summary>
3893 </member>
3894 <member name="P:HttpServer.IHttpRequest.Headers">
3895 <summary>
3896 Gets headers sent by the client.
3897 </summary>
3898 </member>
3899 <member name="P:HttpServer.IHttpRequest.HttpVersion">
3900 <summary>
3901 Gets or sets version of HTTP protocol that's used.
3902 </summary>
3903 <remarks>
3904 Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>.
3905 </remarks>
3906 <seealso cref="T:HttpServer.HttpHelper"/>
3907 </member>
3908 <member name="P:HttpServer.IHttpRequest.IsAjax">
3909 <summary>
3910 Gets whether the request was made by Ajax (Asynchronous JavaScript)
3911 </summary>
3912 </member>
3913 <member name="P:HttpServer.IHttpRequest.Method">
3914 <summary>
3915 Gets or sets requested method.
3916 </summary>
3917 <remarks>
3918 Will always be in upper case.
3919 </remarks>
3920 <see cref="P:HttpServer.IHttpRequest.Method"/>
3921 </member>
3922 <member name="P:HttpServer.IHttpRequest.Param">
3923 <summary>
3924 Gets parameter from <see cref="P:HttpServer.IHttpRequest.QueryString"/> or <see cref="P:HttpServer.IHttpRequest.Form"/>.
3925 </summary>
3926 </member>
3927 <member name="P:HttpServer.IHttpRequest.QueryString">
3928 <summary>
3929 Gets variables sent in the query string
3930 </summary>
3931 </member>
3932 <member name="P:HttpServer.IHttpRequest.Uri">
3933 <summary>
3934 Gets or sets requested URI.
3935 </summary>
3936 </member>
3937 <member name="P:HttpServer.IHttpRequest.UriParts">
3938 <summary>
3939 Gets URI absolute path divided into parts.
3940 </summary>
3941 <example>
3942 // URI is: http://gauffin.com/code/tiny/
3943 Console.WriteLine(request.UriParts[0]); // result: code
3944 Console.WriteLine(request.UriParts[1]); // result: tiny
3945 </example>
3946 <remarks>
3947 If you're using controllers than the first part is controller name,
3948 the second part is method name and the third part is Id property.
3949 </remarks>
3950 <seealso cref="P:HttpServer.IHttpRequest.Uri"/>
3951 </member>
3952 <member name="P:HttpServer.IHttpRequest.UriPath">
3953 <summary>
3954 Gets or sets path and query.
3955 </summary>
3956 <see cref="P:HttpServer.IHttpRequest.Uri"/>
3957 <remarks>
3958 Are only used during request parsing. Cannot be set after "Host" header have been
3959 added.
3960 </remarks>
3961 </member>
3962 <member name="M:HttpServer.IHttpRequest.AddHeader(System.String,System.String)">
3963 <summary>
3964 Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>.
3965 </summary>
3966 <param name="name">Name of the header, should not be URL encoded</param>
3967 <param name="value">Value of the header, should not be URL encoded</param>
3968 <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception>
3969 </member>
3970 <member name="M:HttpServer.IHttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)">
3971 <summary>
3972 Add bytes to the body
3973 </summary>
3974 <param name="bytes">buffer to read bytes from</param>
3975 <param name="offset">where to start read</param>
3976 <param name="length">number of bytes to read</param>
3977 <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns>
3978 <exception cref="T:System.InvalidOperationException">If body is not writable</exception>
3979 <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception>
3980 <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception>
3981 </member>
3982 <member name="M:HttpServer.IHttpRequest.Clear">
3983 <summary>
3984 Clear everything in the request
3985 </summary>
3986 </member>
3987 <member name="M:HttpServer.IHttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)">
3988 <summary>
3989 Decode body into a form.
3990 </summary>
3991 <param name="providers">A list with form decoders.</param>
3992 <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception>
3993 <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception>
3994 </member>
3995 <member name="M:HttpServer.IHttpRequest.SetCookies(HttpServer.RequestCookies)">
3996 <summary>
3997 Sets the cookies.
3998 </summary>
3999 <param name="cookies">The cookies.</param>
4000 </member>
4001 <member name="M:HttpServer.IHttpRequest.CreateResponse(HttpServer.IHttpClientContext)">
4002 <summary>
4003 Create a response object.
4004 </summary>
4005 <param name="context">Context for the connected client.</param>
4006 <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns>
4007 </member>
4008 <member name="T:HttpServer.IHttpRequestParser">
4009 <summary>
4010 Event driven parser used to parse incoming HTTP requests.
4011 </summary>
4012 <remarks>
4013 The parser supports partial messages and keeps the states between
4014 each parsed buffer. It's therefore important that the parser gets
4015 <see cref="M:HttpServer.IHttpRequestParser.Clear"/>ed if a client disconnects.
4016 </remarks>
4017 </member>
4018 <member name="P:HttpServer.IHttpRequestParser.CurrentState">
4019 <summary>
4020 Current state in parser.
4021 </summary>
4022 </member>
4023 <member name="M:HttpServer.IHttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)">
4024 <summary>
4025 Parse partial or complete message.
4026 </summary>
4027 <param name="buffer">buffer containing incoming bytes</param>
4028 <param name="offset">where in buffer that parsing should start</param>
4029 <param name="count">number of bytes to parse</param>
4030 <returns>Unparsed bytes left in buffer.</returns>
4031 <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception>
4032 </member>
4033 <member name="E:HttpServer.IHttpRequestParser.RequestCompleted">
4034 <summary>
4035 A request have been successfully parsed.
4036 </summary>
4037 </member>
4038 <member name="E:HttpServer.IHttpRequestParser.BodyBytesReceived">
4039 <summary>
4040 More body bytes have been received.
4041 </summary>
4042 </member>
4043 <member name="E:HttpServer.IHttpRequestParser.RequestLineReceived">
4044 <summary>
4045 Request line have been received.
4046 </summary>
4047 </member>
4048 <member name="E:HttpServer.IHttpRequestParser.HeaderReceived">
4049 <summary>
4050 A header have been received.
4051 </summary>
4052 </member>
4053 <member name="M:HttpServer.IHttpRequestParser.Clear">
4054 <summary>
4055 Clear parser state.
4056 </summary>
4057 </member>
4058 <member name="P:HttpServer.IHttpRequestParser.LogWriter">
4059 <summary>
4060 Gets or sets the log writer.
4061 </summary>
4062 </member>
4063 <member name="T:HttpServer.RequestParserState">
4064 <summary>
4065 Current state in the parsing.
4066 </summary>
4067 </member>
4068 <member name="F:HttpServer.RequestParserState.FirstLine">
4069 <summary>
4070 Should parse the request line
4071 </summary>
4072 </member>
4073 <member name="F:HttpServer.RequestParserState.HeaderName">
4074 <summary>
4075 Searching for a complete header name
4076 </summary>
4077 </member>
4078 <member name="F:HttpServer.RequestParserState.AfterName">
4079 <summary>
4080 Searching for colon after header name (ignoring white spaces)
4081 </summary>
4082 </member>
4083 <member name="F:HttpServer.RequestParserState.Between">
4084 <summary>
4085 Searching for start of header value (ignoring white spaces)
4086 </summary>
4087 </member>
4088 <member name="F:HttpServer.RequestParserState.HeaderValue">
4089 <summary>
4090 Searching for a complete header value (can span over multiple lines, as long as they are prefixed with one/more whitespaces)
4091 </summary>
4092 </member>
4093 <member name="F:HttpServer.RequestParserState.Body">
4094 <summary>
4095 Adding bytes to body
4096 </summary>
4097 </member>
4098 <member name="T:HttpServer.IHttpResponse">
4099 <summary>
4100 Response that is sent back to the web browser / client.
4101
4102 A response can be sent if different ways. The easiest one is
4103 to just fill the Body stream with content, everything else
4104 will then be taken care of by the framework. The default content-type
4105 is text/html, you should change it if you send anything else.
4106
4107 The second and slighty more complex way is to send the response
4108 as parts. Start with sending the header using the SendHeaders method and
4109 then you can send the body using SendBody method, but do not forget
4110 to set ContentType and ContentLength before doing so.
4111 </summary>
4112 <example>
4113 public void MyHandler(IHttpRequest request, IHttpResponse response)
4114 {
4115
4116 }
4117 </example>
4118 </member>
4119 <member name="P:HttpServer.IHttpResponse.Body">
4120 <summary>
4121 The body stream is used to cache the body contents
4122 before sending everything to the client. It's the simplest
4123 way to serve documents.
4124 </summary>
4125 </member>
4126 <member name="P:HttpServer.IHttpResponse.ProtocolVersion">
4127 <summary>
4128 Defines the version of the HTTP Response for applications where it's required
4129 for this to be forced.
4130 </summary>
4131 </member>
4132 <member name="P:HttpServer.IHttpResponse.Chunked">
4133 <summary>
4134 The chunked encoding modifies the body of a message in order to
4135 transfer it as a series of chunks, each with its own size indicator,
4136 followed by an OPTIONAL trailer containing entity-header fields. This
4137 allows dynamically produced content to be transferred along with the
4138 information necessary for the recipient to verify that it has
4139 received the full message.
4140 </summary>
4141 </member>
4142 <member name="P:HttpServer.IHttpResponse.Connection">
4143 <summary>
4144 Kind of connection
4145 </summary>
4146 </member>
4147 <member name="P:HttpServer.IHttpResponse.Encoding">
4148 <summary>
4149 Encoding to use when sending stuff to the client.
4150 </summary>
4151 <remarks>Default is UTF8</remarks>
4152 </member>
4153 <member name="P:HttpServer.IHttpResponse.KeepAlive">
4154 <summary>
4155 Number of seconds to keep connection alive
4156 </summary>
4157 <remarks>Only used if Connection property is set to ConnectionType.KeepAlive</remarks>
4158 </member>
4159 <member name="P:HttpServer.IHttpResponse.Status">
4160 <summary>
4161 Status code that is sent to the client.
4162 </summary>
4163 <remarks>Default is HttpStatusCode.Ok</remarks>
4164 </member>
4165 <member name="P:HttpServer.IHttpResponse.Reason">
4166 <summary>
4167 Information about why a specific status code was used.
4168 </summary>
4169 </member>
4170 <member name="P:HttpServer.IHttpResponse.ContentLength">
4171 <summary>
4172 Size of the body. MUST be specified before sending the header,
4173 unless property Chunked is set to true.
4174 </summary>
4175 </member>
4176 <member name="P:HttpServer.IHttpResponse.ContentType">
4177 <summary>
4178 Kind of content in the body
4179 </summary>
4180 <remarks>Default is text/html</remarks>
4181 </member>
4182 <member name="P:HttpServer.IHttpResponse.HeadersSent">
4183 <summary>
4184 Headers have been sent to the client-
4185 </summary>
4186 <remarks>You can not send any additional headers if they have already been sent.</remarks>
4187 </member>
4188 <member name="P:HttpServer.IHttpResponse.Sent">
4189 <summary>
4190 The whole response have been sent.
4191 </summary>
4192 </member>
4193 <member name="P:HttpServer.IHttpResponse.Cookies">
4194 <summary>
4195 Cookies that should be created/changed.
4196 </summary>
4197 </member>
4198 <member name="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)">
4199 <summary>
4200 Add another header to the document.
4201 </summary>
4202 <param name="name">Name of the header, case sensitive, use lower cases.</param>
4203 <param name="value">Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n</param>
4204 <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
4205 <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception>
4206 <remarks>Adding any header will override the default ones and those specified by properties.</remarks>
4207 </member>
4208 <member name="M:HttpServer.IHttpResponse.Send">
4209 <summary>
4210 Send headers and body to the browser.
4211 </summary>
4212 <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception>
4213 </member>
4214 <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)">
4215 <summary>
4216 Make sure that you have specified ContentLength and sent the headers first.
4217 </summary>
4218 <param name="buffer"></param>
4219 <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
4220 <see cref="M:HttpServer.IHttpResponse.SendHeaders"/>
4221 <param name="offset">offest of first byte to send</param>
4222 <param name="count">number of bytes to send.</param>
4223 <seealso cref="M:HttpServer.IHttpResponse.Send"/>
4224 <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/>
4225 <remarks>This method can be used if you want to send body contents without caching them first. This
4226 is recommended for larger files to keep the memory usage low.</remarks>
4227 </member>
4228 <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[])">
4229 <summary>
4230 Make sure that you have specified ContentLength and sent the headers first.
4231 </summary>
4232 <param name="buffer"></param>
4233 <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
4234 <see cref="M:HttpServer.IHttpResponse.SendHeaders"/>
4235 <seealso cref="M:HttpServer.IHttpResponse.Send"/>
4236 <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/>
4237 <remarks>This method can be used if you want to send body contents without caching them first. This
4238 is recommended for larger files to keep the memory usage low.</remarks>
4239 </member>
4240 <member name="M:HttpServer.IHttpResponse.SendHeaders">
4241 <summary>
4242 Send headers to the client.
4243 </summary>
4244 <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
4245 <seealso cref="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)"/>
4246 <seealso cref="M:HttpServer.IHttpResponse.Send"/>
4247 <seealso cref="M:HttpServer.IHttpResponse.SendBody(System.Byte[])"/>
4248 </member>
4249 <member name="M:HttpServer.IHttpResponse.Redirect(System.Uri)">
4250 <summary>
4251 Redirect client to somewhere else using the 302 status code.
4252 </summary>
4253 <param name="uri">Destination of the redirect</param>
4254 <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
4255 <remarks>You can not do anything more with the request when a redirect have been done. This should be your last
4256 action.</remarks>
4257 </member>
4258 <member name="M:HttpServer.IHttpResponse.Redirect(System.String)">
4259 <summary>
4260 redirect to somewhere
4261 </summary>
4262 <param name="url">where the redirect should go</param>
4263 <remarks>
4264 No body are allowed when doing redirects.
4265 </remarks>
4266 </member>
4267 <member name="T:HttpServer.ConnectionType">
4268 <summary>
4269 Type of HTTP connection
4270 </summary>
4271 </member>
4272 <member name="F:HttpServer.ConnectionType.Close">
4273 <summary>
4274 Connection is closed after each request-response
4275 </summary>
4276 </member>
4277 <member name="F:HttpServer.ConnectionType.KeepAlive">
4278 <summary>
4279 Connection is kept alive for X seconds (unless another request have been made)
4280 </summary>
4281 </member>
4282 <member name="T:HttpServer.LogPrio">
4283 <summary>
4284 Priority for log entries
4285 </summary>
4286 <seealso cref="T:HttpServer.ILogWriter"/>
4287 </member>
4288 <member name="F:HttpServer.LogPrio.Trace">
4289 <summary>
4290 Very detailed logs to be able to follow the flow of the program.
4291 </summary>
4292 </member>
4293 <member name="F:HttpServer.LogPrio.Debug">
4294 <summary>
4295 Logs to help debug errors in the application
4296 </summary>
4297 </member>
4298 <member name="F:HttpServer.LogPrio.Info">
4299 <summary>
4300 Information to be able to keep track of state changes etc.
4301 </summary>
4302 </member>
4303 <member name="F:HttpServer.LogPrio.Warning">
4304 <summary>
4305 Something did not go as we expected, but it's no problem.
4306 </summary>
4307 </member>
4308 <member name="F:HttpServer.LogPrio.Error">
4309 <summary>
4310 Something that should not fail failed, but we can still keep
4311 on going.
4312 </summary>
4313 </member>
4314 <member name="F:HttpServer.LogPrio.Fatal">
4315 <summary>
4316 Something failed, and we cannot handle it properly.
4317 </summary>
4318 </member>
4319 <member name="T:HttpServer.ILogWriter">
4320 <summary>
4321 Interface used to write to log files.
4322 </summary>
4323 </member>
4324 <member name="M:HttpServer.ILogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
4325 <summary>
4326 Write an entry to the log file.
4327 </summary>
4328 <param name="source">object that is writing to the log</param>
4329 <param name="priority">importance of the log message</param>
4330 <param name="message">the message</param>
4331 </member>
4332 <member name="T:HttpServer.ConsoleLogWriter">
4333 <summary>
4334 This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode)
4335 </summary>
4336 <seealso cref="T:HttpServer.ILogWriter"/>
4337 </member>
4338 <member name="F:HttpServer.ConsoleLogWriter.Instance">
4339 <summary>
4340 The actual instance of this class.
4341 </summary>
4342 </member>
4343 <member name="M:HttpServer.ConsoleLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
4344 <summary>
4345 Logwriters the specified source.
4346 </summary>
4347 <param name="source">object that wrote the logentry.</param>
4348 <param name="prio">Importance of the log message</param>
4349 <param name="message">The message.</param>
4350 </member>
4351 <member name="M:HttpServer.ConsoleLogWriter.GetColor(HttpServer.LogPrio)">
4352 <summary>
4353 Get color for the specified logprio
4354 </summary>
4355 <param name="prio">prio for the log entry</param>
4356 <returns>A <see cref="T:System.ConsoleColor"/> for the prio</returns>
4357 </member>
4358 <member name="T:HttpServer.NullLogWriter">
4359 <summary>
4360 Default log writer, writes everything to null (nowhere).
4361 </summary>
4362 <seealso cref="T:HttpServer.ILogWriter"/>
4363 </member>
4364 <member name="F:HttpServer.NullLogWriter.Instance">
4365 <summary>
4366 The logging instance.
4367 </summary>
4368 </member>
4369 <member name="M:HttpServer.NullLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
4370 <summary>
4371 Writes everything to null
4372 </summary>
4373 <param name="source">object that wrote the log entry.</param>
4374 <param name="prio">Importance of the log message</param>
4375 <param name="message">The message.</param>
4376 </member>
4377 <member name="T:HttpServer.LocklessQueue`1">
4378 <summary>
4379 A thread-safe lockless queue that supports multiple readers and
4380 multiple writers
4381 </summary>
4382 </member>
4383 <member name="T:HttpServer.LocklessQueue`1.SingleLinkNode">
4384 <summary>
4385 Provides a node container for data in a singly linked list
4386 </summary>
4387 </member>
4388 <member name="F:HttpServer.LocklessQueue`1.SingleLinkNode.Next">
4389 <summary>Pointer to the next node in list</summary>
4390 </member>
4391 <member name="F:HttpServer.LocklessQueue`1.SingleLinkNode.Item">
4392 <summary>The data contained by the node</summary>
4393 </member>
4394 <member name="M:HttpServer.LocklessQueue`1.SingleLinkNode.#ctor">
4395 <summary>
4396 Constructor
4397 </summary>
4398 </member>
4399 <member name="M:HttpServer.LocklessQueue`1.SingleLinkNode.#ctor(`0)">
4400 <summary>
4401 Constructor
4402 </summary>
4403 </member>
4404 <member name="F:HttpServer.LocklessQueue`1.head">
4405 <summary>Queue head</summary>
4406 </member>
4407 <member name="F:HttpServer.LocklessQueue`1.tail">
4408 <summary>Queue tail</summary>
4409 </member>
4410 <member name="F:HttpServer.LocklessQueue`1.count">
4411 <summary>Queue item count</summary>
4412 </member>
4413 <member name="P:HttpServer.LocklessQueue`1.Count">
4414 <summary>Gets the current number of items in the queue. Since this
4415 is a lockless collection this value should be treated as a close
4416 estimate</summary>
4417 </member>
4418 <member name="M:HttpServer.LocklessQueue`1.#ctor">
4419 <summary>
4420 Constructor
4421 </summary>
4422 </member>
4423 <member name="M:HttpServer.LocklessQueue`1.Enqueue(`0)">
4424 <summary>
4425 Enqueue an item
4426 </summary>
4427 <param name="item">Item to enqeue</param>
4428 </member>
4429 <member name="M:HttpServer.LocklessQueue`1.TryDequeue(`0@)">
4430 <summary>
4431 Try to dequeue an item
4432 </summary>
4433 <param name="item">Dequeued item if the dequeue was successful</param>
4434 <returns>True if an item was successfully deqeued, otherwise false</returns>
4435 </member>
4436 <member name="T:HttpServer.Method">
4437 <summary>
4438 Contains all HTTP Methods (according to the HTTP 1.1 specification)
4439 <para>
4440 See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
4441 </para>
4442 </summary>
4443 </member>
4444 <member name="F:HttpServer.Method.Delete">
4445 <summary>
4446 The DELETE method requests that the origin server delete the resource identified by the Request-URI.
4447 </summary>
4448 <remarks>
4449 <para>
4450 This method MAY be overridden by human intervention (or other means) on the origin server.
4451 The client cannot be guaranteed that the operation has been carried out, even if the status code
4452 returned from the origin server indicates that the action has been completed successfully.
4453 </para>
4454 <para>
4455 However, the server SHOULD NOT indicate success unless, at the time the response is given,
4456 it intends to delete the resource or move it to an inaccessible location.
4457 </para>
4458 <para>
4459 A successful response SHOULD be 200 (OK) if the response includes an entity describing the status,
4460 202 (Accepted) if the action has not yet been enacted,
4461 or 204 (No Content) if the action has been enacted but the response does not include an entity.
4462 </para>
4463 <para>
4464 If the request passes through a cache and the Request-URI identifies one or more currently cached entities,
4465 those entries SHOULD be treated as stale. Responses to this method are not cacheable.
4466 </para>
4467 </remarks>
4468 </member>
4469 <member name="F:HttpServer.Method.Get">
4470 <summary>
4471 The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI.
4472 </summary>
4473 <remarks>
4474 <para>
4475 If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the
4476 entity in the response and not the source text of the process, unless that text happens to be the output of the process.
4477 </para>
4478 <para>
4479 The semantics of the GET method change to a "conditional GET" if the request message includes an
4480 If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field.
4481 A conditional GET method requests that the entity be transferred only under the circumstances described
4482 by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network
4483 usage by allowing cached entities to be refreshed without requiring multiple requests or transferring
4484 data already held by the client.
4485 </para>
4486 </remarks>
4487 </member>
4488 <member name="F:HttpServer.Method.Header">
4489 <summary>
4490 The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.
4491 </summary>
4492 <remarks>
4493 The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the
4494 information sent in response to a GET request. This method can be used for obtaining meta information about
4495 the entity implied by the request without transferring the entity-body itself.
4496
4497 This method is often used for testing hypertext links for validity, accessibility, and recent modification.
4498 </remarks>
4499 </member>
4500 <member name="F:HttpServer.Method.Options">
4501 <summary>
4502 <para>The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI.</para>
4503 </summary>
4504 <remarks>
4505 <para>This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval.</para>
4506 </remarks>
4507 </member>
4508 <member name="F:HttpServer.Method.Post">
4509 <summary>
4510 The POST method is used to request that the origin server accept the entity enclosed
4511 in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.
4512 </summary>
4513 <remarks>
4514 POST is designed to allow a uniform method to cover the following functions:
4515 <list type="bullet">
4516 <item>
4517 Annotation of existing resources;
4518 </item><item>
4519 Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles;
4520 </item><item>
4521 Providing a block of data, such as the result of submitting a form, to a data-handling process;
4522 </item><item>
4523 Extending a database through an append operation.
4524 </item>
4525 </list>
4526 <para>
4527 If a resource has been created on the origin server, the response SHOULD be 201 (Created) and
4528 contain an entity which describes the status of the request and refers to the new resource, and a
4529 Location header (see section 14.30).
4530 </para>
4531 <para>
4532 The action performed by the POST method might not result in a resource that can be identified by a URI.
4533 In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on
4534 whether or not the response includes an entity that describes the result.
4535 </para><para>
4536 Responses to this method are not cacheable, unless the response includes appropriate Cache-Control
4537 or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent
4538 to retrieve a cacheable resource.
4539 </para>
4540 </remarks>
4541 </member>
4542 <member name="F:HttpServer.Method.Put">
4543 <summary>
4544 The PUT method requests that the enclosed entity be stored under the supplied Request-URI.
4545 </summary>
4546 <remarks>
4547 <list type="bullet">
4548 <item>
4549 If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a
4550 modified version of the one residing on the origin server.
4551 </item><item>
4552 If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new
4553 resource by the requesting user agent, the origin server can create the resource with that URI.
4554 </item><item>
4555 If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response.
4556 </item><item>
4557 If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to
4558 indicate successful completion of the request.
4559 </item><item>
4560 If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be
4561 given that reflects the nature of the problem.
4562 </item>
4563 </list>
4564 <para>
4565 The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not
4566 understand or implement and MUST return a 501 (Not Implemented) response in such cases.
4567 </para>
4568 </remarks>
4569 </member>
4570 <member name="F:HttpServer.Method.Trace">
4571 <summary>
4572 The TRACE method is used to invoke a remote, application-layer loop- back of the request message.
4573 </summary>
4574 </member>
4575 <member name="T:HttpServer.Methods">
4576 <summary>
4577 Contains all HTTP Methods (according to the HTTP 1.1 specification)
4578 <para>
4579 See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
4580 </para>
4581 </summary>
4582 </member>
4583 <member name="F:HttpServer.Methods.Delete">
4584 <summary>
4585 The DELETE method requests that the origin server delete the resource identified by the Request-URI.
4586 </summary>
4587 <remarks>
4588 <para>
4589 This method MAY be overridden by human intervention (or other means) on the origin server.
4590 The client cannot be guaranteed that the operation has been carried out, even if the status code
4591 returned from the origin server indicates that the action has been completed successfully.
4592 </para>
4593 <para>
4594 However, the server SHOULD NOT indicate success unless, at the time the response is given,
4595 it intends to delete the resource or move it to an inaccessible location.
4596 </para>
4597 <para>
4598 A successful response SHOULD be 200 (OK) if the response includes an entity describing the status,
4599 202 (Accepted) if the action has not yet been enacted,
4600 or 204 (No Content) if the action has been enacted but the response does not include an entity.
4601 </para>
4602 <para>
4603 If the request passes through a cache and the Request-URI identifies one or more currently cached entities,
4604 those entries SHOULD be treated as stale. Responses to this method are not cacheable.
4605 </para>
4606 </remarks>
4607 </member>
4608 <member name="F:HttpServer.Methods.Get">
4609 <summary>
4610 The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI.
4611 </summary>
4612 <remarks>
4613 <para>
4614 If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the
4615 entity in the response and not the source text of the process, unless that text happens to be the output of the process.
4616 </para>
4617 <para>
4618 The semantics of the GET method change to a "conditional GET" if the request message includes an
4619 If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field.
4620 A conditional GET method requests that the entity be transferred only under the circumstances described
4621 by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network
4622 usage by allowing cached entities to be refreshed without requiring multiple requests or transferring
4623 data already held by the client.
4624 </para>
4625 </remarks>
4626 </member>
4627 <member name="F:HttpServer.Methods.Header">
4628 <summary>
4629 The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.
4630 </summary>
4631 <remarks>
4632 The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the
4633 information sent in response to a GET request. This method can be used for obtaining meta information about
4634 the entity implied by the request without transferring the entity-body itself.
4635
4636 This method is often used for testing hypertext links for validity, accessibility, and recent modification.
4637 </remarks>
4638 </member>
4639 <member name="F:HttpServer.Methods.Options">
4640 <summary>
4641 <para>The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI.</para>
4642 </summary>
4643 <remarks>
4644 <para>This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval.</para>
4645 </remarks>
4646 </member>
4647 <member name="F:HttpServer.Methods.Post">
4648 <summary>
4649 The POST method is used to request that the origin server accept the entity enclosed
4650 in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.
4651 </summary>
4652 <remarks>
4653 POST is designed to allow a uniform method to cover the following functions:
4654 <list type="bullet">
4655 <item>
4656 Annotation of existing resources;
4657 </item><item>
4658 Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles;
4659 </item><item>
4660 Providing a block of data, such as the result of submitting a form, to a data-handling process;
4661 </item><item>
4662 Extending a database through an append operation.
4663 </item>
4664 </list>
4665 <para>
4666 If a resource has been created on the origin server, the response SHOULD be 201 (Created) and
4667 contain an entity which describes the status of the request and refers to the new resource, and a
4668 Location header (see section 14.30).
4669 </para>
4670 <para>
4671 The action performed by the POST method might not result in a resource that can be identified by a URI.
4672 In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on
4673 whether or not the response includes an entity that describes the result.
4674 </para><para>
4675 Responses to this method are not cacheable, unless the response includes appropriate Cache-Control
4676 or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent
4677 to retrieve a cacheable resource.
4678 </para>
4679 </remarks>
4680 </member>
4681 <member name="F:HttpServer.Methods.Put">
4682 <summary>
4683 The PUT method requests that the enclosed entity be stored under the supplied Request-URI.
4684 </summary>
4685 <remarks>
4686 <list type="bullet">
4687 <item>
4688 If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a
4689 modified version of the one residing on the origin server.
4690 </item><item>
4691 If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new
4692 resource by the requesting user agent, the origin server can create the resource with that URI.
4693 </item><item>
4694 If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response.
4695 </item><item>
4696 If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to
4697 indicate successful completion of the request.
4698 </item><item>
4699 If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be
4700 given that reflects the nature of the problem.
4701 </item>
4702 </list>
4703 <para>
4704 The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not
4705 understand or implement and MUST return a 501 (Not Implemented) response in such cases.
4706 </para>
4707 </remarks>
4708 </member>
4709 <member name="F:HttpServer.Methods.Trace">
4710 <summary>
4711 The TRACE method is used to invoke a remote, application-layer loop- back of the request message.
4712 </summary>
4713 </member>
4714 <member name="T:HttpServer.Parser.BodyEventArgs">
4715 <summary>
4716 Arguments used when more body bytes have come.
4717 </summary>
4718 </member>
4719 <member name="M:HttpServer.Parser.BodyEventArgs.#ctor(System.Byte[],System.Int32,System.Int32)">
4720 <summary>
4721 Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class.
4722 </summary>
4723 <param name="buffer">buffer that contains the received bytes.</param>
4724 <param name="offset">offset in buffer where to start processing.</param>
4725 <param name="count">number of bytes from <paramref name="offset"/> that should be parsed.</param>
4726 </member>
4727 <member name="M:HttpServer.Parser.BodyEventArgs.#ctor">
4728 <summary>
4729 Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class.
4730 </summary>
4731 </member>
4732 <member name="P:HttpServer.Parser.BodyEventArgs.Buffer">
4733 <summary>
4734 Gets or sets buffer that contains the received bytes.
4735 </summary>
4736 </member>
4737 <member name="P:HttpServer.Parser.BodyEventArgs.Count">
4738 <summary>
4739 Gets or sets number of bytes from <see cref="P:HttpServer.Parser.BodyEventArgs.Offset"/> that should be parsed.
4740 </summary>
4741 </member>
4742 <member name="P:HttpServer.Parser.BodyEventArgs.Offset">
4743 <summary>
4744 Gets or sets offset in buffer where to start processing.
4745 </summary>
4746 </member>
4747 <member name="T:HttpServer.Parser.HeaderEventArgs">
4748 <summary>
4749 Event arguments used when a new header have been parsed.
4750 </summary>
4751 </member>
4752 <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor(System.String,System.String)">
4753 <summary>
4754 Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class.
4755 </summary>
4756 <param name="name">Name of header.</param>
4757 <param name="value">Header value.</param>
4758 </member>
4759 <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor">
4760 <summary>
4761 Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class.
4762 </summary>
4763 </member>
4764 <member name="P:HttpServer.Parser.HeaderEventArgs.Name">
4765 <summary>
4766 Gets or sets header name.
4767 </summary>
4768 </member>
4769 <member name="P:HttpServer.Parser.HeaderEventArgs.Value">
4770 <summary>
4771 Gets or sets header value.
4772 </summary>
4773 </member>
4774 <member name="T:HttpServer.Parser.HttpRequestParser">
4775 <summary>
4776 Parses a HTTP request directly from a stream
4777 </summary>
4778 </member>
4779 <member name="M:HttpServer.Parser.HttpRequestParser.#ctor(HttpServer.ILogWriter)">
4780 <summary>
4781 Create a new request parser
4782 </summary>
4783 <param name="logWriter">delegate receiving log entries.</param>
4784 </member>
4785 <member name="M:HttpServer.Parser.HttpRequestParser.AddToBody(System.Byte[],System.Int32,System.Int32)">
4786 <summary>
4787 Add a number of bytes to the body
4788 </summary>
4789 <param name="buffer">buffer containing more body bytes.</param>
4790 <param name="offset">starting offset in buffer</param>
4791 <param name="count">number of bytes, from offset, to read.</param>
4792 <returns>offset to continue from.</returns>
4793 </member>
4794 <member name="M:HttpServer.Parser.HttpRequestParser.Clear">
4795 <summary>
4796 Remove all state information for the request.
4797 </summary>
4798 </member>
4799 <member name="P:HttpServer.Parser.HttpRequestParser.LogWriter">
4800 <summary>
4801 Gets or sets the log writer.
4802 </summary>
4803 </member>
4804 <member name="M:HttpServer.Parser.HttpRequestParser.OnFirstLine(System.String)">
4805 <summary>
4806 Parse request line
4807 </summary>
4808 <param name="value"></param>
4809 <exception cref="T:HttpServer.Exceptions.BadRequestException">If line is incorrect</exception>
4810 <remarks>Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF"</remarks>
4811 </member>
4812 <member name="M:HttpServer.Parser.HttpRequestParser.OnHeader(System.String,System.String)">
4813 <summary>
4814 We've parsed a new header.
4815 </summary>
4816 <param name="name">Name in lower case</param>
4817 <param name="value">Value, unmodified.</param>
4818 <exception cref="T:HttpServer.Exceptions.BadRequestException">If content length cannot be parsed.</exception>
4819 </member>
4820 <member name="P:HttpServer.Parser.HttpRequestParser.CurrentState">
4821 <summary>
4822 Current state in parser.
4823 </summary>
4824 </member>
4825 <member name="M:HttpServer.Parser.HttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)">
4826 <summary>
4827 Parse a message
4828 </summary>
4829 <param name="buffer">bytes to parse.</param>
4830 <param name="offset">where in buffer that parsing should start</param>
4831 <param name="count">number of bytes to parse, starting on <paramref name="offset"/>.</param>
4832 <returns>offset (where to start parsing next).</returns>
4833 <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception>
4834 </member>
4835 <member name="E:HttpServer.Parser.HttpRequestParser.RequestCompleted">
4836 <summary>
4837 A request have been successfully parsed.
4838 </summary>
4839 </member>
4840 <member name="E:HttpServer.Parser.HttpRequestParser.BodyBytesReceived">
4841 <summary>
4842 More body bytes have been received.
4843 </summary>
4844 </member>
4845 <member name="E:HttpServer.Parser.HttpRequestParser.RequestLineReceived">
4846 <summary>
4847 Request line have been received.
4848 </summary>
4849 </member>
4850 <member name="E:HttpServer.Parser.HttpRequestParser.HeaderReceived">
4851 <summary>
4852 A header have been received.
4853 </summary>
4854 </member>
4855 <member name="T:HttpServer.Parser.RequestLineEventArgs">
4856 <summary>
4857 Used when the request line have been successfully parsed.
4858 </summary>
4859 </member>
4860 <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor(System.String,System.String,System.String)">
4861 <summary>
4862 Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class.
4863 </summary>
4864 <param name="httpMethod">The HTTP method.</param>
4865 <param name="uriPath">The URI path.</param>
4866 <param name="httpVersion">The HTTP version.</param>
4867 </member>
4868 <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor">
4869 <summary>
4870 Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class.
4871 </summary>
4872 </member>
4873 <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpMethod">
4874 <summary>
4875 Gets or sets http method.
4876 </summary>
4877 <remarks>
4878 Should be one of the methods declared in <see cref="T:HttpServer.Method"/>.
4879 </remarks>
4880 </member>
4881 <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpVersion">
4882 <summary>
4883 Gets or sets the version of the HTTP protocol that the client want to use.
4884 </summary>
4885 </member>
4886 <member name="P:HttpServer.Parser.RequestLineEventArgs.UriPath">
4887 <summary>
4888 Gets or sets requested URI path.
4889 </summary>
4890 </member>
4891 <member name="T:HttpServer.RequestParserFactory">
4892 <summary>
4893 Creates request parsers when needed.
4894 </summary>
4895 </member>
4896 <member name="M:HttpServer.RequestParserFactory.CreateParser(HttpServer.ILogWriter)">
4897 <summary>
4898 Create a new request parser.
4899 </summary>
4900 <param name="logWriter">Used when logging should be enabled.</param>
4901 <returns>A new request parser.</returns>
4902 </member>
4903 <member name="T:HttpServer.IRequestParserFactory">
4904 <summary>
4905 Creates request parsers when needed.
4906 </summary>
4907 </member>
4908 <member name="M:HttpServer.IRequestParserFactory.CreateParser(HttpServer.ILogWriter)">
4909 <summary>
4910 Create a new request parser.
4911 </summary>
4912 <param name="logWriter">Used when logging should be enabled.</param>
4913 <returns>A new request parser.</returns>
4914 </member>
4915 <member name="T:HttpServer.RequestCookie">
4916 <summary>
4917 cookie sent by the client/browser
4918 </summary>
4919 <seealso cref="T:HttpServer.ResponseCookie"/>
4920 </member>
4921 <member name="M:HttpServer.RequestCookie.#ctor(System.String,System.String)">
4922 <summary>
4923 Constructor.
4924 </summary>
4925 <param name="id">cookie identifier</param>
4926 <param name="content">cookie content</param>
4927 <exception cref="T:System.ArgumentNullException">id or content is null</exception>
4928 <exception cref="T:System.ArgumentException">id is empty</exception>
4929 </member>
4930 <member name="M:HttpServer.RequestCookie.ToString">
4931 <summary>
4932 Gets the cookie HTML representation.
4933 </summary>
4934 <returns>cookie string</returns>
4935 </member>
4936 <member name="P:HttpServer.RequestCookie.Name">
4937 <summary>
4938 Gets the cookie identifier.
4939 </summary>
4940 </member>
4941 <member name="P:HttpServer.RequestCookie.Value">
4942 <summary>
4943 Cookie value. Set to null to remove cookie.
4944 </summary>
4945 </member>
4946 <member name="T:HttpServer.RequestCookies">
4947 <summary>
4948 This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie).
4949 The framework might switch class in the future and we dont want to have to replace all instances
4950 </summary>
4951 </member>
4952 <member name="M:HttpServer.RequestCookies.#ctor(System.String)">
4953 <summary>
4954 Let's copy all the cookies.
4955 </summary>
4956 <param name="cookies">value from cookie header.</param>
4957 </member>
4958 <member name="M:HttpServer.RequestCookies.Add(HttpServer.RequestCookie)">
4959 <summary>
4960 Adds a cookie in the collection.
4961 </summary>
4962 <param name="cookie">cookie to add</param>
4963 <exception cref="T:System.ArgumentNullException">cookie is null</exception>
4964 </member>
4965 <member name="P:HttpServer.RequestCookies.Count">
4966 <summary>
4967 Gets the count of cookies in the collection.
4968 </summary>
4969 </member>
4970 <member name="P:HttpServer.RequestCookies.Item(System.String)">
4971 <summary>
4972 Gets the cookie of a given identifier (null if not existing).
4973 </summary>
4974 </member>
4975 <member name="M:HttpServer.RequestCookies.GetEnumerator">
4976 <summary>
4977 Gets a collection enumerator on the cookie list.
4978 </summary>
4979 <returns>collection enumerator</returns>
4980 </member>
4981 <member name="M:HttpServer.RequestCookies.Clear">
4982 <summary>
4983 Remove all cookies.
4984 </summary>
4985 </member>
4986 <member name="M:HttpServer.RequestCookies.System#Collections#Generic#IEnumerable{HttpServer#RequestCookie}#GetEnumerator">
4987 <summary>
4988 Returns an enumerator that iterates through the collection.
4989 </summary>
4990
4991 <returns>
4992 A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
4993 </returns>
4994 <filterpriority>1</filterpriority>
4995 </member>
4996 <member name="M:HttpServer.RequestCookies.Remove(System.String)">
4997 <summary>
4998 Remove a cookie from the collection.
4999 </summary>
5000 <param name="cookieName">Name of cookie.</param>
5001 </member>
5002 <member name="T:HttpServer.RequestQueue">
5003 <summary>
5004 Used to queue incoming requests.
5005 </summary>
5006 </member>
5007 <member name="M:HttpServer.RequestQueue.#ctor(HttpServer.ProcessRequestHandler)">
5008 <summary>
5009 Initializes a new instance of the <see cref="T:HttpServer.RequestQueue"/> class.
5010 </summary>
5011 <param name="handler">Called when a request should be processed.</param>
5012 </member>
5013 <member name="T:HttpServer.RequestQueue.QueueItem">
5014 <summary>
5015 Used two queue incoming requests to avoid
5016 thread starvation.
5017 </summary>
5018 </member>
5019 <member name="P:HttpServer.RequestQueue.MaxRequestCount">
5020 <summary>
5021 Gets or sets maximum number of allowed simultaneous requests.
5022 </summary>
5023 </member>
5024 <member name="P:HttpServer.RequestQueue.MaxQueueSize">
5025 <summary>
5026 Gets or sets maximum number of requests queuing to be handled.
5027 </summary>
5028 </member>
5029 <member name="P:HttpServer.RequestQueue.CurrentRequestCount">
5030 <summary>
5031 Specifies how many requests the HTTP server is currently processing.
5032 </summary>
5033 </member>
5034 <member name="M:HttpServer.RequestQueue.QueueThread">
5035 <summary>
5036 Used to process queued requests.
5037 </summary>
5038 </member>
5039 <member name="T:HttpServer.ProcessRequestHandler">
5040 <summary>
5041 Method used to process a queued request
5042 </summary>
5043 <param name="context">Context that the request was received from.</param>
5044 <param name="request">Request to process.</param>
5045 </member>
5046 <member name="T:HttpServer.ResponseCookie">
5047 <summary>
5048 cookie being sent back to the browser.
5049 </summary>
5050 <seealso cref="T:HttpServer.ResponseCookie"/>
5051 </member>
5052 <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime)">
5053 <summary>
5054 Constructor.
5055 </summary>
5056 <param name="id">cookie identifier</param>
5057 <param name="content">cookie content</param>
5058 <param name="expiresAt">cookie expiration date. Use DateTime.MinValue for session cookie.</param>
5059 <exception cref="T:System.ArgumentNullException">id or content is null</exception>
5060 <exception cref="T:System.ArgumentException">id is empty</exception>
5061 </member>
5062 <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime,System.String,System.String)">
5063 <summary>
5064 Create a new cookie
5065 </summary>
5066 <param name="name">name identifying the cookie</param>
5067 <param name="value">cookie value</param>
5068 <param name="expires">when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed.</param>
5069 <param name="path">Path to where the cookie is valid</param>
5070 <param name="domain">Domain that the cookie is valid for.</param>
5071 </member>
5072 <member name="M:HttpServer.ResponseCookie.#ctor(HttpServer.RequestCookie,System.DateTime)">
5073 <summary>
5074 Create a new cookie
5075 </summary>
5076 <param name="cookie">Name and value will be used</param>
5077 <param name="expires">when the cookie expires.</param>
5078 </member>
5079 <member name="M:HttpServer.ResponseCookie.ToString">
5080 <summary>
5081 Gets the cookie HTML representation.
5082 </summary>
5083 <returns>cookie string</returns>
5084 </member>
5085 <member name="P:HttpServer.ResponseCookie.Expires">
5086 <summary>
5087 When the cookie expires.
5088 DateTime.MinValue means that the cookie expires when the session do so.
5089 </summary>
5090 </member>
5091 <member name="P:HttpServer.ResponseCookie.Path">
5092 <summary>
5093 Cookie is only valid under this path.
5094 </summary>
5095 </member>
5096 <member name="T:HttpServer.ResponseCookies">
5097 <summary>
5098 Cookies that should be set.
5099 </summary>
5100 </member>
5101 <member name="M:HttpServer.ResponseCookies.Add(HttpServer.ResponseCookie)">
5102 <summary>
5103 Adds a cookie in the collection.
5104 </summary>
5105 <param name="cookie">cookie to add</param>
5106 <exception cref="T:System.ArgumentNullException">cookie is null</exception>
5107 </member>
5108 <member name="M:HttpServer.ResponseCookies.Add(HttpServer.RequestCookie,System.DateTime)">
5109 <summary>
5110 Copy a request cookie
5111 </summary>
5112 <param name="cookie"></param>
5113 <param name="expires">When the cookie should expire</param>
5114 </member>
5115 <member name="P:HttpServer.ResponseCookies.Count">
5116 <summary>
5117 Gets the count of cookies in the collection.
5118 </summary>
5119 </member>
5120 <member name="P:HttpServer.ResponseCookies.Item(System.String)">
5121 <summary>
5122 Gets the cookie of a given identifier (null if not existing).
5123 </summary>
5124 </member>
5125 <member name="M:HttpServer.ResponseCookies.GetEnumerator">
5126 <summary>
5127 Gets a collection enumerator on the cookie list.
5128 </summary>
5129 <returns>collection enumerator</returns>
5130 </member>
5131 <member name="M:HttpServer.ResponseCookies.Clear">
5132 <summary>
5133 Remove all cookies
5134 </summary>
5135 </member>
5136 <member name="M:HttpServer.ResponseCookies.System#Collections#Generic#IEnumerable{HttpServer#ResponseCookie}#GetEnumerator">
5137 <summary>
5138 Returns an enumerator that iterates through the collection.
5139 </summary>
5140
5141 <returns>
5142 A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
5143 </returns>
5144 <filterpriority>1</filterpriority>
5145 </member>
5146 <member name="T:HttpServer.Rules.IRule">
5147 <summary>
5148 Rules are used to perform operations before a request is being handled.
5149 Rules can be used to create routing etc.
5150 </summary>
5151 </member>
5152 <member name="M:HttpServer.Rules.IRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
5153 <summary>
5154 Process the incoming request.
5155 </summary>
5156 <param name="request">incoming HTTP request</param>
5157 <param name="response">outgoing HTTP response</param>
5158 <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
5159 <remarks>
5160 returning true means that no modules will get the request. Returning true is typically being done
5161 for redirects.
5162 </remarks>
5163 <exception cref="T:System.ArgumentNullException">If request or response is null.</exception>
5164 </member>
5165 <member name="T:HttpServer.Rules.RedirectRule">
5166 <summary>
5167 redirects from one URL to another.
5168 </summary>
5169 </member>
5170 <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String)">
5171 <summary>
5172 Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class.
5173 </summary>
5174 <param name="fromUrl">Absolute path (no server name)</param>
5175 <param name="toUrl">Absolute path (no server name)</param>
5176 <example>
5177 server.Add(new RedirectRule("/", "/user/index"));
5178 </example>
5179 </member>
5180 <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String,System.Boolean)">
5181 <summary>
5182 Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class.
5183 </summary>
5184 <param name="fromUrl">Absolute path (no server name)</param>
5185 <param name="toUrl">Absolute path (no server name)</param>
5186 <param name="shouldRedirect">true if request should be redirected, false if the request URI should be replaced.</param>
5187 <example>
5188 server.Add(new RedirectRule("/", "/user/index"));
5189 </example>
5190 </member>
5191 <member name="P:HttpServer.Rules.RedirectRule.FromUrl">
5192 <summary>
5193 Gets string to match request URI with.
5194 </summary>
5195 <remarks>Is compared to request.Uri.AbsolutePath</remarks>
5196 </member>
5197 <member name="P:HttpServer.Rules.RedirectRule.ToUrl">
5198 <summary>
5199 Gets where to redirect.
5200 </summary>
5201 </member>
5202 <member name="P:HttpServer.Rules.RedirectRule.ShouldRedirect">
5203 <summary>
5204 Gets whether server should redirect client.
5205 </summary>
5206 <remarks>
5207 <c>false</c> means that the rule will replace
5208 the current request URI with the new one from this class.
5209 <c>true</c> means that a redirect response is sent to the client.
5210 </remarks>
5211 </member>
5212 <member name="M:HttpServer.Rules.RedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
5213 <summary>
5214 Process the incoming request.
5215 </summary>
5216 <param name="request">incoming HTTP request</param>
5217 <param name="response">outgoing HTTP response</param>
5218 <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
5219 <remarks>
5220 returning true means that no modules will get the request. Returning true is typically being done
5221 for redirects.
5222 </remarks>
5223 </member>
5224 <member name="T:HttpServer.Rules.RegexRedirectRule">
5225 <summary>
5226 Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules
5227 a regular expression can be used to identify redirect URLs and their targets.
5228 </summary>
5229 <example>
5230 <![CDATA[
5231 new RegexRedirectRule("/(?<target>[a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase)
5232 ]]>
5233 </example>
5234 </member>
5235 <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String)">
5236 <summary>
5237 Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class.
5238 </summary>
5239 <param name="fromUrlExpression">Expression to match URL</param>
5240 <param name="toUrlExpression">Expression to generate URL</param>
5241 <example>
5242 <![CDATA[
5243 server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}"));
5244 Result of ie. /employee1 will then be /user/employee1
5245 ]]>
5246 </example>
5247 </member>
5248 <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
5249 <summary>
5250 Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class.
5251 </summary>
5252 <param name="fromUrlExpression">Expression to match URL</param>
5253 <param name="toUrlExpression">Expression to generate URL</param>
5254 <param name="options">Regular expression options to use, can be null</param>
5255 <example>
5256 <![CDATA[
5257 server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase));
5258 Result of ie. /employee1 will then be /user/employee1
5259 ]]>
5260 </example>
5261 </member>
5262 <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.Boolean)">
5263 <summary>
5264 Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class.
5265 </summary>
5266 <param name="fromUrlExpression">Expression to match URL</param>
5267 <param name="toUrlExpression">Expression to generate URL</param>
5268 <param name="options">Regular expression options to apply</param>
5269 <param name="shouldRedirect"><c>true</c> if request should be redirected, <c>false</c> if the request URI should be replaced.</param>
5270 <example>
5271 <![CDATA[
5272 server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None));
5273 Result of ie. /employee1 will then be /user/employee1
5274 ]]>
5275 </example>
5276 <exception cref="T:System.ArgumentNullException">Argument is null.</exception>
5277 <seealso cref="P:HttpServer.Rules.RedirectRule.ShouldRedirect"/>
5278 </member>
5279 <member name="M:HttpServer.Rules.RegexRedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
5280 <summary>
5281 Process the incoming request.
5282 </summary>
5283 <param name="request">incoming HTTP request</param>
5284 <param name="response">outgoing HTTP response</param>
5285 <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
5286 <remarks>
5287 returning true means that no modules will get the request. Returning true is typically being done
5288 for redirects.
5289 </remarks>
5290 <exception cref="T:System.ArgumentNullException">If request or response is null</exception>
5291 </member>
5292 <member name="T:HttpServer.Sessions.IHttpSession">
5293 <summary>
5294 Interface for sessions
5295 </summary>
5296 </member>
5297 <member name="P:HttpServer.Sessions.IHttpSession.Id">
5298 <summary>
5299 Session id
5300 </summary>
5301 </member>
5302 <member name="P:HttpServer.Sessions.IHttpSession.Item(System.String)">
5303 <summary>
5304 Should
5305 </summary>
5306 <param name="name">Name of the session variable</param>
5307 <returns>null if it's not set</returns>
5308 <exception cref="T:System.Runtime.Serialization.SerializationException">If the object cant be serialized.</exception>
5309 </member>
5310 <member name="P:HttpServer.Sessions.IHttpSession.Accessed">
5311 <summary>
5312 When the session was last accessed.
5313 This property is touched by the http server each time the
5314 session is requested.
5315 </summary>
5316 </member>
5317 <member name="P:HttpServer.Sessions.IHttpSession.Count">
5318 <summary>
5319 Number of session variables.
5320 </summary>
5321 </member>
5322 <member name="M:HttpServer.Sessions.IHttpSession.Clear">
5323 <summary>
5324 Remove everything from the session
5325 </summary>
5326 </member>
5327 <member name="M:HttpServer.Sessions.IHttpSession.Clear(System.Boolean)">
5328 <summary>
5329 Remove everything from the session
5330 </summary>
5331 <param name="expires">True if the session is cleared due to expiration</param>
5332 </member>
5333 <member name="E:HttpServer.Sessions.IHttpSession.BeforeClear">
5334 <summary>
5335 Event triggered upon clearing the session
5336 </summary>
5337 </member>
5338 <member name="T:HttpServer.Sessions.HttpSessionClearedArgs">
5339 <summary>
5340 Arguments sent when a <see cref="T:HttpServer.Sessions.IHttpSession" /> is cleared
5341 </summary>
5342 </member>
5343 <member name="M:HttpServer.Sessions.HttpSessionClearedArgs.#ctor(System.Boolean)">
5344 <summary>
5345 Instantiates the arguments for the event
5346 </summary>
5347 <param name="expired">True if the session is cleared due to expiration</param>
5348 </member>
5349 <member name="P:HttpServer.Sessions.HttpSessionClearedArgs.Expired">
5350 <summary>
5351 Returns true if the session is cleared due to expiration
5352 </summary>
5353 </member>
5354 <member name="T:HttpServer.Sessions.HttpSessionClearedHandler">
5355 <summary>
5356 Delegate for when a IHttpSession is cleared
5357 </summary>
5358 <param name="session"><see cref="T:HttpServer.Sessions.IHttpSession"/> this is being cleared.</param>
5359 <param name="args">Arguments for the clearing</param>
5360 </member>
5361 <member name="T:HttpServer.Sessions.IHttpSessionStore">
5362 <summary>
5363 A session store is used to store and load sessions on a media.
5364 The default implementation (<see cref="T:HttpServer.Sessions.MemorySessionStore"/>) saves/retrieves sessions from memory.
5365 </summary>
5366 </member>
5367 <member name="P:HttpServer.Sessions.IHttpSessionStore.Item(System.String)">
5368 <summary>
5369 Load a session from the store
5370 </summary>
5371 <param name="sessionId"></param>
5372 <returns>null if session is not found.</returns>
5373 </member>
5374 <member name="P:HttpServer.Sessions.IHttpSessionStore.ExpireTime">
5375 <summary>
5376 Number of minutes before a session expires.
5377 </summary>
5378 <value>Default time is 20 minutes.</value>
5379 </member>
5380 <member name="M:HttpServer.Sessions.IHttpSessionStore.Create">
5381 <summary>
5382 Creates a new http session with a generated id.
5383 </summary>
5384 <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object</returns>
5385 </member>
5386 <member name="M:HttpServer.Sessions.IHttpSessionStore.Create(System.String)">
5387 <summary>
5388 Creates a new http session with a specific id
5389 </summary>
5390 <param name="id">Id used to identify the new cookie..</param>
5391 <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns>
5392 <remarks>
5393 Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>.
5394 </remarks>
5395 </member>
5396 <member name="M:HttpServer.Sessions.IHttpSessionStore.Load(System.String)">
5397 <summary>
5398 Load an existing session.
5399 </summary>
5400 <param name="sessionId">Session id (usually retrieved from a client side cookie).</param>
5401 <returns>A session if found; otherwise null.</returns>
5402 </member>
5403 <member name="M:HttpServer.Sessions.IHttpSessionStore.Save(HttpServer.Sessions.IHttpSession)">
5404 <summary>
5405 Save an updated session to the store.
5406 </summary>
5407 <param name="session">Session id (usually retrieved from a client side cookie).</param>
5408 <exception cref="T:System.ArgumentException">If Id property have not been specified.</exception>
5409 </member>
5410 <member name="M:HttpServer.Sessions.IHttpSessionStore.AddUnused(HttpServer.Sessions.IHttpSession)">
5411 <summary>
5412 We use the flyweight pattern which reuses small objects
5413 instead of creating new each time.
5414 </summary>
5415 <param name="session">Unused session that should be reused next time Create is called.</param>
5416 </member>
5417 <member name="M:HttpServer.Sessions.IHttpSessionStore.Cleanup">
5418 <summary>
5419 Remove expired sessions
5420 </summary>
5421 </member>
5422 <member name="M:HttpServer.Sessions.IHttpSessionStore.Remove(System.String)">
5423 <summary>
5424 Remove a session
5425 </summary>
5426 <param name="sessionId">id of the session.</param>
5427 </member>
5428 <member name="T:HttpServer.Sessions.MemorySession">
5429 <summary>
5430 A session stored in memory.
5431 </summary>
5432 </member>
5433 <member name="M:HttpServer.Sessions.MemorySession.#ctor(System.String)">
5434 <summary>
5435
5436 </summary>
5437 <param name="id">A unique id used by the sessions store to identify the session</param>
5438 </member>
5439 <member name="M:HttpServer.Sessions.MemorySession.SetId(System.String)">
5440 <summary>
5441 Id
5442 </summary>
5443 <param name="id"></param>
5444 </member>
5445 <member name="P:HttpServer.Sessions.MemorySession.Id">
5446 <summary>
5447 Session id
5448 </summary>
5449 </member>
5450 <member name="P:HttpServer.Sessions.MemorySession.Item(System.String)">
5451 <summary>
5452 Should
5453 </summary>
5454 <param name="name">Name of the session variable</param>
5455 <returns>null if it's not set</returns>
5456 </member>
5457 <member name="P:HttpServer.Sessions.MemorySession.Accessed">
5458 <summary>
5459 when the session was last accessed.
5460 </summary>
5461 <remarks>
5462 Used to determine when the session should be removed.
5463 </remarks>
5464 </member>
5465 <member name="P:HttpServer.Sessions.MemorySession.Count">
5466 <summary>
5467 Number of values in the session
5468 </summary>
5469 </member>
5470 <member name="P:HttpServer.Sessions.MemorySession.Changed">
5471 <summary>
5472 Flag to indicate that the session have been changed
5473 and should be saved into the session store.
5474 </summary>
5475 </member>
5476 <member name="M:HttpServer.Sessions.MemorySession.Clear">
5477 <summary>
5478 Remove everything from the session
5479 </summary>
5480 </member>
5481 <member name="M:HttpServer.Sessions.MemorySession.Clear(System.Boolean)">
5482 <summary>
5483 Clears the specified expire.
5484 </summary>
5485 <param name="expires">True if the session is cleared due to expiration</param>
5486 </member>
5487 <member name="M:HttpServer.Sessions.MemorySession.Dispose">
5488 <summary>
5489 Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
5490 </summary>
5491 <filterpriority>2</filterpriority>
5492 </member>
5493 <member name="E:HttpServer.Sessions.MemorySession.BeforeClear">
5494 <summary>
5495 Event triggered upon clearing the session
5496 </summary>
5497 </member>
5498 <member name="T:HttpServer.Sessions.MemorySessionStore">
5499 <summary>
5500 Session store using memory for each session.
5501 </summary>
5502 </member>
5503 <member name="M:HttpServer.Sessions.MemorySessionStore.#ctor">
5504 <summary>
5505 Initializes the class setting the expirationtimer to clean the session every minute
5506 </summary>
5507 </member>
5508 <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup(System.Object)">
5509 <summary>
5510 Delegate for the cleanup timer
5511 </summary>
5512 </member>
5513 <member name="P:HttpServer.Sessions.MemorySessionStore.Item(System.String)">
5514 <summary>
5515 Load a session from the store
5516 </summary>
5517 <param name="sessionId"></param>
5518 <returns>null if session is not found.</returns>
5519 </member>
5520 <member name="M:HttpServer.Sessions.MemorySessionStore.Create">
5521 <summary>
5522 Creates a new http session
5523 </summary>
5524 <returns></returns>
5525 </member>
5526 <member name="M:HttpServer.Sessions.MemorySessionStore.Create(System.String)">
5527 <summary>
5528 Creates a new http session with a specific id
5529 </summary>
5530 <param name="id">Id used to identify the new cookie..</param>
5531 <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns>
5532 <remarks>
5533 Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>.
5534 </remarks>
5535 </member>
5536 <member name="M:HttpServer.Sessions.MemorySessionStore.Load(System.String)">
5537 <summary>
5538 Load an existing session.
5539 </summary>
5540 <param name="sessionId"></param>
5541 <returns></returns>
5542 </member>
5543 <member name="M:HttpServer.Sessions.MemorySessionStore.Save(HttpServer.Sessions.IHttpSession)">
5544 <summary>
5545 Save an updated session to the store.
5546 </summary>
5547 <param name="session"></param>
5548 </member>
5549 <member name="M:HttpServer.Sessions.MemorySessionStore.AddUnused(HttpServer.Sessions.IHttpSession)">
5550 <summary>
5551 We use the flyweight pattern which reuses small objects
5552 instead of creating new each time.
5553 </summary>
5554 <param name="session">EmptyLanguageNode (unused) session that should be reused next time Create is called.</param>
5555 </member>
5556 <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup">
5557 <summary>
5558 Remove expired sessions
5559 </summary>
5560 </member>
5561 <member name="M:HttpServer.Sessions.MemorySessionStore.Remove(System.String)">
5562 <summary>
5563 Remove a session
5564 </summary>
5565 <param name="sessionId">id of the session.</param>
5566 </member>
5567 <member name="P:HttpServer.Sessions.MemorySessionStore.ExpireTime">
5568 <summary>
5569 Number of minutes before a session expires.
5570 Default is 20 minutes.
5571 </summary>
5572 </member>
5573 </members>
5574</doc>
diff --git a/bin/ICSharpCode.SharpZipLib.dll b/bin/ICSharpCode.SharpZipLib.dll
new file mode 100644
index 0000000..fe643eb
--- /dev/null
+++ b/bin/ICSharpCode.SharpZipLib.dll
Binary files differ
diff --git a/bin/Ionic.Zip.dll b/bin/Ionic.Zip.dll
new file mode 100755
index 0000000..e37f1bd
--- /dev/null
+++ b/bin/Ionic.Zip.dll
Binary files differ
diff --git a/bin/LaunchSLClient.ini b/bin/LaunchSLClient.ini
new file mode 100644
index 0000000..9250a7b
--- /dev/null
+++ b/bin/LaunchSLClient.ini
@@ -0,0 +1,15 @@
1[DeepGrid]
2loginURI = http://user.deepgrid.com:8002/
3URL = www.deepgrid.com
4
5[OSGrid]
6loginURI = http://www.osgrid.org:8002/
7URL = www.osgrid.org
8
9[OpenlifeGrid]
10loginURI = http://logingrid.net:8002/
11URL = www.openlifegrid.com
12
13[Linden Lab]
14loginURI =
15URL = www.secondlife.com
diff --git a/bin/Library/.keep b/bin/Library/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/bin/Library/.keep
diff --git a/bin/LukeSkywalker.IPNetwork.dll b/bin/LukeSkywalker.IPNetwork.dll
new file mode 100755
index 0000000..25bcc2f
--- /dev/null
+++ b/bin/LukeSkywalker.IPNetwork.dll
Binary files differ
diff --git a/bin/Mono.Addins.CecilReflector.dll b/bin/Mono.Addins.CecilReflector.dll
new file mode 100755
index 0000000..bbda91d
--- /dev/null
+++ b/bin/Mono.Addins.CecilReflector.dll
Binary files differ
diff --git a/bin/Mono.Addins.Setup.dll b/bin/Mono.Addins.Setup.dll
new file mode 100755
index 0000000..68c3121
--- /dev/null
+++ b/bin/Mono.Addins.Setup.dll
Binary files differ
diff --git a/bin/Mono.Addins.Setup.xml b/bin/Mono.Addins.Setup.xml
new file mode 100644
index 0000000..f5ce70a
--- /dev/null
+++ b/bin/Mono.Addins.Setup.xml
@@ -0,0 +1,1140 @@
1<?xml version="1.0"?>
2<doc>
3 <assembly>
4 <name>Mono.Addins.Setup</name>
5 </assembly>
6 <members>
7 <member name="T:Mono.Addins.Setup.ConsoleAddinInstaller">
8 <summary>
9 An IAddinInstaller implementation which interacts with the user through the console
10 </summary>
11 </member>
12 <member name="M:Mono.Addins.Setup.ConsoleAddinInstaller.#ctor">
13 <summary>
14 Initializes a new instance of the <see cref="T:Mono.Addins.Setup.ConsoleAddinInstaller"/> class.
15 </summary>
16 </member>
17 <member name="P:Mono.Addins.Setup.ConsoleAddinInstaller.UserPrompt">
18 <summary>
19 Gets or sets whether the installer can ask questions to the user
20 </summary>
21 </member>
22 <member name="P:Mono.Addins.Setup.ConsoleAddinInstaller.LogLevel">
23 <summary>
24 Log level (0:normal, 1+:verbose);
25 </summary>
26 </member>
27 <member name="T:Mono.Addins.Setup.Package">
28 <summary>
29 An add-in package
30 </summary>
31 </member>
32 <member name="M:Mono.Addins.Setup.Package.FromRepository(Mono.Addins.Setup.AddinRepositoryEntry)">
33 <summary>
34 Creates a package object for an add-in available in an on-line repository
35 </summary>
36 <param name="repAddin">
37 An add-in reference
38 </param>
39 <returns>
40 The package
41 </returns>
42 </member>
43 <member name="M:Mono.Addins.Setup.Package.FromFile(System.String)">
44 <summary>
45 Creates a package object for a local package file
46 </summary>
47 <param name="file">
48 Package file path
49 </param>
50 <returns>
51 The package
52 </returns>
53 </member>
54 <member name="P:Mono.Addins.Setup.Package.Name">
55 <summary>
56 Name of the package
57 </summary>
58 </member>
59 <member name="P:Mono.Addins.Setup.Package.SharedInstall">
60 <summary>
61 Returns true if the package will be installed in the shared directory,
62 false if it will be installed in the user directory.
63 </summary>
64 </member>
65 <member name="T:Mono.Addins.Setup.AddinRepositoryEntry">
66 <summary>
67 A reference to an add-in available in an on-line repository
68 </summary>
69 </member>
70 <member name="M:Mono.Addins.Setup.AddinRepositoryEntry.BeginDownloadSupportFile(System.String,System.AsyncCallback,System.Object)">
71 <summary>
72 Begins downloading a support file
73 </summary>
74 <returns>
75 Result of the asynchronous operation, to be used when calling EndDownloadSupportFile to
76 get the download result.
77 </returns>
78 <param name='name'>
79 Name of the file.
80 </param>
81 <param name='cb'>
82 Callback to be called when the download operation ends.
83 </param>
84 <param name='state'>
85 Custom state object provided by the caller.
86 </param>
87 <remarks>
88 This method can be used to get the contents of a support file of an add-in.
89 A support file is a file referenced in the custom properties of an add-in.
90 </remarks>
91 </member>
92 <member name="M:Mono.Addins.Setup.AddinRepositoryEntry.EndDownloadSupportFile(System.IAsyncResult)">
93 <summary>
94 Gets the result of the asynchronous download of a file
95 </summary>
96 <returns>
97 The downloaded file.
98 </returns>
99 <param name='ares'>
100 The async result object returned by BeginDownloadSupportFile.
101 </param>
102 </member>
103 <member name="P:Mono.Addins.Setup.AddinRepositoryEntry.Addin">
104 <summary>
105 Add-in information
106 </summary>
107 </member>
108 <member name="P:Mono.Addins.Setup.AddinRepositoryEntry.Url">
109 <summary>
110 Url to the add-in package
111 </summary>
112 </member>
113 <member name="P:Mono.Addins.Setup.AddinRepositoryEntry.RepositoryUrl">
114 <summary>
115 The URL of the repository
116 </summary>
117 </member>
118 <member name="P:Mono.Addins.Setup.AddinRepositoryEntry.RepositoryName">
119 <summary>
120 Name of the repository
121 </summary>
122 </member>
123 <member name="T:Mono.Addins.Setup.InstallException">
124 <summary>
125 An installation exception
126 </summary>
127 </member>
128 <member name="M:Mono.Addins.Setup.InstallException.#ctor(System.String)">
129 <summary>
130 Initializes the exception
131 </summary>
132 <param name="msg">
133 Error message
134 </param>
135 </member>
136 <member name="M:Mono.Addins.Setup.InstallException.#ctor(System.String,System.Exception)">
137 <summary>
138 Initializes the exception
139 </summary>
140 <param name="msg">
141 Error message
142 </param>
143 <param name="ex">
144 Inner exception
145 </param>
146 </member>
147 <member name="T:Mono.Addins.Setup.SetupTool">
148 <summary>
149 A command line add-in manager.
150 </summary>
151 <remarks>
152 This class can be used to provide an add-in management command line tool to applications.
153 </remarks>
154 </member>
155 <member name="M:Mono.Addins.Setup.SetupTool.#ctor(Mono.Addins.AddinRegistry)">
156 <summary>
157 Creates a new instance
158 </summary>
159 <param name="registry">
160 Add-in registry to manage.
161 </param>
162 </member>
163 <member name="M:Mono.Addins.Setup.SetupTool.Run(System.String[],System.Int32)">
164 <summary>
165 Runs the command line tool.
166 </summary>
167 <param name="args">
168 Array that contains the command line arguments
169 </param>
170 <param name="firstArgumentIndex">
171 Index of the arguments array that has the first argument for the management tool
172 </param>
173 <returns>
174 0 if it succeeds. != 0 otherwise
175 </returns>
176 </member>
177 <member name="M:Mono.Addins.Setup.SetupTool.Run(System.String[])">
178 <summary>
179 Runs the command line tool.
180 </summary>
181 <param name="args">
182 Command line arguments
183 </param>
184 <returns>
185 0 if it succeeds. != 0 otherwise
186 </returns>
187 </member>
188 <member name="M:Mono.Addins.Setup.SetupTool.AddCommand(System.String,System.String,System.String,System.String,System.String,System.String,Mono.Addins.Setup.SetupCommandHandler)">
189 <summary>
190 Adds a custom command to the add-in manager
191 </summary>
192 <param name="category">
193 Category under which the command has to be shown in the help text
194 </param>
195 <param name="command">
196 Name of the command
197 </param>
198 <param name="shortName">
199 Short name of the command (it's an alias of the normal name)
200 </param>
201 <param name="arguments">
202 Formal description of the arguments that the command accepts. For example: "[addin-id|addin-file] [--xml] [--all] [--full] [--namespace &lt;namespace&gt;]"
203 </param>
204 <param name="description">
205 Short description of the command
206 </param>
207 <param name="longDescription">
208 Long description of the command
209 </param>
210 <param name="handler">
211 Delegate to be invoked to run the command
212 </param>
213 </member>
214 <member name="M:Mono.Addins.Setup.SetupTool.PrintHelp(System.String[])">
215 <summary>
216 Prints help about the add-in management tool, or about a specific command
217 </summary>
218 <param name="parms">
219 Optional command name and arguments
220 </param>
221 </member>
222 <member name="P:Mono.Addins.Setup.SetupTool.ApplicationName">
223 <summary>
224 Display name of the host application
225 </summary>
226 </member>
227 <member name="P:Mono.Addins.Setup.SetupTool.ApplicationNamespace">
228 <summary>
229 Default add-in namespace of the application (optional). If set, only add-ins that belong to that namespace
230 will be shown in add-in lists.
231 </summary>
232 </member>
233 <member name="P:Mono.Addins.Setup.SetupTool.VerboseOutput">
234 <summary>
235 Enables or disables verbose output
236 </summary>
237 </member>
238 <member name="P:Mono.Addins.Setup.SetupTool.VerboseOutputLevel">
239 <summary>
240 Sets or gets the verbose output level (0: normal output, 1:verbose, 2+:extra verbose)
241 </summary>
242 </member>
243 <member name="T:Mono.Addins.Setup.SetupCommandHandler">
244 <summary>
245 A command handler
246 </summary>
247 </member>
248 <member name="T:Mono.Addins.Setup.PackageCollection">
249 <summary>
250 A collection of packages
251 </summary>
252 </member>
253 <member name="M:Mono.Addins.Setup.PackageCollection.#ctor">
254 <summary>
255 Initializes a new instance of the <see cref="T:Mono.Addins.Setup.PackageCollection"/> class.
256 </summary>
257 </member>
258 <member name="M:Mono.Addins.Setup.PackageCollection.#ctor(System.Collections.ICollection)">
259 <summary>
260 Copy constructor
261 </summary>
262 <param name="col">
263 Collection where to copy from
264 </param>
265 </member>
266 <member name="M:Mono.Addins.Setup.PackageCollection.Add(Mono.Addins.Setup.Package)">
267 <summary>
268 Adds a package
269 </summary>
270 <param name="p">
271 A package
272 </param>
273 </member>
274 <member name="M:Mono.Addins.Setup.PackageCollection.Contains(Mono.Addins.Setup.Package)">
275 <summary>
276 Checks if a package is present in the collection
277 </summary>
278 <param name="p">
279 The package
280 </param>
281 <returns>
282 True if the package is preent
283 </returns>
284 </member>
285 <member name="M:Mono.Addins.Setup.PackageCollection.AddRange(System.Collections.ICollection)">
286 <summary>
287 Adds a list of packages to the collection
288 </summary>
289 <param name="col">
290 The list of packages to add
291 </param>
292 </member>
293 <member name="P:Mono.Addins.Setup.PackageCollection.Item(System.Int32)">
294 <summary>
295 Gets a package
296 </summary>
297 <param name="n">
298 Package index
299 </param>
300 </member>
301 <member name="T:Mono.Addins.Setup.AddinHeader">
302 <summary>
303 Basic add-in information
304 </summary>
305 </member>
306 <member name="M:Mono.Addins.Setup.AddinHeader.CompareVersionTo(Mono.Addins.Setup.AddinHeader)">
307 <summary>
308 Compares the versions of two add-ins
309 </summary>
310 <param name="other">
311 Another add-in
312 </param>
313 <returns>
314 Result of comparison
315 </returns>
316 </member>
317 <member name="P:Mono.Addins.Setup.AddinHeader.Id">
318 <summary>
319 Full identifier of the add-in
320 </summary>
321 </member>
322 <member name="P:Mono.Addins.Setup.AddinHeader.Name">
323 <summary>
324 Display name of the add-in
325 </summary>
326 </member>
327 <member name="P:Mono.Addins.Setup.AddinHeader.Namespace">
328 <summary>
329 Namespace of the add-in
330 </summary>
331 </member>
332 <member name="P:Mono.Addins.Setup.AddinHeader.Version">
333 <summary>
334 Version of the add-in
335 </summary>
336 </member>
337 <member name="P:Mono.Addins.Setup.AddinHeader.BaseVersion">
338 <summary>
339 Version with which this add-in is compatible
340 </summary>
341 </member>
342 <member name="P:Mono.Addins.Setup.AddinHeader.Author">
343 <summary>
344 Add-in author
345 </summary>
346 </member>
347 <member name="P:Mono.Addins.Setup.AddinHeader.Copyright">
348 <summary>
349 Add-in copyright
350 </summary>
351 </member>
352 <member name="P:Mono.Addins.Setup.AddinHeader.Url">
353 <summary>
354 Web page URL with more information about the add-in
355 </summary>
356 </member>
357 <member name="P:Mono.Addins.Setup.AddinHeader.Description">
358 <summary>
359 Description of the add-in
360 </summary>
361 </member>
362 <member name="P:Mono.Addins.Setup.AddinHeader.Category">
363 <summary>
364 Category of the add-in
365 </summary>
366 </member>
367 <member name="P:Mono.Addins.Setup.AddinHeader.Dependencies">
368 <summary>
369 Dependencies of the add-in
370 </summary>
371 </member>
372 <member name="P:Mono.Addins.Setup.AddinHeader.OptionalDependencies">
373 <summary>
374 Optional dependencies of the add-in
375 </summary>
376 </member>
377 <member name="P:Mono.Addins.Setup.AddinHeader.Properties">
378 <summary>
379 Custom properties specified in the add-in header
380 </summary>
381 </member>
382 <member name="T:Mono.Addins.Setup.RepositoryRegistry">
383 <summary>
384 A registry of on-line repositories
385 </summary>
386 <remarks>
387 This class can be used to manage on-line repository subscriptions.
388 </remarks>
389 </member>
390 <member name="M:Mono.Addins.Setup.RepositoryRegistry.RegisterRepository(Mono.Addins.IProgressStatus,System.String)">
391 <summary>
392 Subscribes to an on-line repository
393 </summary>
394 <param name="monitor">
395 Progress monitor where to show progress status and log
396 </param>
397 <param name="url">
398 URL of the repository
399 </param>
400 <returns>
401 A repository reference
402 </returns>
403 <remarks>
404 The repository index is not downloaded by default. It can be downloaded
405 by calling UpdateRepository.
406 </remarks>
407 </member>
408 <member name="M:Mono.Addins.Setup.RepositoryRegistry.RegisterRepository(Mono.Addins.IProgressStatus,System.String,System.Boolean)">
409 <summary>
410 Subscribes to an on-line repository
411 </summary>
412 <param name="monitor">
413 Progress monitor where to show progress status and log
414 </param>
415 <param name="url">
416 URL of the repository
417 </param>
418 <param name="updateNow">
419 When set to True, the repository index will be downloaded.
420 </param>
421 <returns>
422 A repository reference
423 </returns>
424 </member>
425 <member name="M:Mono.Addins.Setup.RepositoryRegistry.RemoveRepository(System.String)">
426 <summary>
427 Removes an on-line repository subscription.
428 </summary>
429 <param name="url">
430 URL of the repository.
431 </param>
432 </member>
433 <member name="M:Mono.Addins.Setup.RepositoryRegistry.SetRepositoryEnabled(System.String,System.Boolean)">
434 <summary>
435 Enables or disables a repository
436 </summary>
437 <param name='url'>
438 URL of the repository
439 </param>
440 <param name='enabled'>
441 'true' if the repository has to be enabled.
442 </param>
443 <remarks>
444 Disabled repositories are ignored when calling UpdateAllRepositories.
445 </remarks>
446 </member>
447 <member name="M:Mono.Addins.Setup.RepositoryRegistry.ContainsRepository(System.String)">
448 <summary>
449 Checks if a repository is already subscribed.
450 </summary>
451 <param name="url">
452 URL of the repository
453 </param>
454 <returns>
455 True if the repository is already subscribed.
456 </returns>
457 </member>
458 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetRepositories">
459 <summary>
460 Gets a list of subscribed repositories
461 </summary>
462 <returns>
463 A list of repositories.
464 </returns>
465 </member>
466 <member name="M:Mono.Addins.Setup.RepositoryRegistry.UpdateAllRepositories(Mono.Addins.IProgressStatus)">
467 <summary>
468 Updates the add-in index of all subscribed repositories.
469 </summary>
470 <param name="monitor">
471 Progress monitor where to show progress status and log
472 </param>
473 </member>
474 <member name="M:Mono.Addins.Setup.RepositoryRegistry.UpdateRepository(Mono.Addins.IProgressStatus,System.String)">
475 <summary>
476 Updates the add-in index of the provided repository
477 </summary>
478 <param name="statusMonitor">
479 Progress monitor where to show progress status and log
480 </param>
481 <param name="url">
482 URL of the repository
483 </param>
484 </member>
485 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetAvailableUpdates">
486 <summary>
487 Gets a list of available add-in updates.
488 </summary>
489 <returns>
490 A list of add-in references.
491 </returns>
492 <remarks>
493 The list is generated by looking at the add-ins currently installed and checking if there is any
494 add-in with a newer version number in any of the subscribed repositories. This method uses cached
495 information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
496 before using this method to ensure that the latest information is available.
497 </remarks>
498 </member>
499 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetAvailableUpdates(Mono.Addins.Setup.RepositorySearchFlags)">
500 <summary>
501 Gets a list of available add-in updates.
502 </summary>
503 <param name="flags">
504 Search flags
505 </param>
506 <returns>
507 A list of add-in references.
508 </returns>
509 <remarks>
510 The list is generated by looking at the add-ins currently installed and checking if there is any
511 add-in with a newer version number in any of the subscribed repositories. This method uses cached
512 information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
513 before using this method to ensure that the latest information is available.
514 </remarks>
515 </member>
516 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetAvailableUpdates(System.String)">
517 <summary>
518 Gets a list of available add-in updates in a specific repository.
519 </summary>
520 <param name="repositoryUrl">
521 The repository URL
522 </param>
523 <returns>
524 A list of add-in references.
525 </returns>
526 <remarks>
527 The list is generated by looking at the add-ins currently installed and checking if there is any
528 add-in with a newer version number in the provided repository. This method uses cached
529 information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
530 before using this method to ensure that the latest information is available.
531 </remarks>
532 </member>
533 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetAvailableAddinUpdates(System.String)">
534 <summary>
535 Gets a list of available updates for an add-in.
536 </summary>
537 <param name="id">
538 Identifier of the add-in.
539 </param>
540 <returns>
541 List of updates for the specified add-in.
542 </returns>
543 <remarks>
544 The list is generated by checking if there is any
545 add-in with a newer version number in any of the subscribed repositories. This method uses cached
546 information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
547 before using this method to ensure that the latest information is available.
548 </remarks>
549 </member>
550 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetAvailableAddinUpdates(System.String,Mono.Addins.Setup.RepositorySearchFlags)">
551 <summary>
552 Gets a list of available updates for an add-in.
553 </summary>
554 <param name="id">
555 Identifier of the add-in.
556 </param>
557 <param name='flags'>
558 Search flags.
559 </param>
560 <returns>
561 List of updates for the specified add-in.
562 </returns>
563 <remarks>
564 The list is generated by checking if there is any
565 add-in with a newer version number in any of the subscribed repositories. This method uses cached
566 information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
567 before using this method to ensure that the latest information is available.
568 </remarks>
569 </member>
570 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetAvailableAddinUpdates(System.String,System.String)">
571 <summary>
572 Gets a list of available updates for an add-in in a specific repository
573 </summary>
574 <param name="repositoryUrl">
575 Identifier of the add-in.
576 </param>
577 <param name="id">
578 Identifier of the add-in.
579 </param>
580 <returns>
581 List of updates for the specified add-in.
582 </returns>
583 <remarks>
584 The list is generated by checking if there is any
585 add-in with a newer version number in the provided repository. This method uses cached
586 information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
587 before using this method to ensure that the latest information is available.
588 </remarks>
589 </member>
590 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetAvailableAddinUpdates(System.String,System.String,Mono.Addins.Setup.RepositorySearchFlags)">
591 <summary>
592 Gets a list of available updates for an add-in in a specific repository
593 </summary>
594 <param name="repositoryUrl">
595 Identifier of the add-in.
596 </param>
597 <param name="id">
598 Identifier of the add-in.
599 </param>
600 <param name='flags'>
601 Search flags.
602 </param>
603 <returns>
604 List of updates for the specified add-in.
605 </returns>
606 <remarks>
607 The list is generated by checking if there is any
608 add-in with a newer version number in the provided repository. This method uses cached
609 information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
610 before using this method to ensure that the latest information is available.
611 </remarks>
612 </member>
613 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetAvailableAddins">
614 <summary>
615 Gets a list of all available add-ins
616 </summary>
617 <returns>
618 A list of add-ins
619 </returns>
620 <remarks>
621 This method uses cached
622 information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
623 before using this method to ensure that the latest information is available.
624 </remarks>
625 </member>
626 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetAvailableAddins(Mono.Addins.Setup.RepositorySearchFlags)">
627 <summary>
628 Gets a list of all available add-ins
629 </summary>
630 <returns>
631 The available addins.
632 </returns>
633 <param name='flags'>
634 Search flags.
635 </param>
636 <remarks>
637 This method uses cached
638 information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
639 before using this method to ensure that the latest information is available.
640 </remarks>
641 </member>
642 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetAvailableAddins(System.String)">
643 <summary>
644 Gets a list of all available add-ins in a repository
645 </summary>
646 <param name="repositoryUrl">
647 A repository URL
648 </param>
649 <returns>
650 A list of add-ins
651 </returns>
652 <remarks>
653 This method uses cached
654 information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
655 before using this method to ensure that the latest information is available.
656 </remarks>
657 </member>
658 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetAvailableAddins(System.String,Mono.Addins.Setup.RepositorySearchFlags)">
659 <summary>
660 Gets a list of all available add-ins in a repository
661 </summary>
662 <param name="repositoryUrl">
663 A repository URL
664 </param>
665 <param name='flags'>
666 Search flags.
667 </param>
668 <returns>
669 A list of add-ins
670 </returns>
671 <remarks>
672 This method uses cached
673 information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
674 before using this method to ensure that the latest information is available.
675 </remarks>
676 </member>
677 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetAvailableAddin(System.String,System.String)">
678 <summary>
679 Checks if an add-in is available to be installed
680 </summary>
681 <param name="id">
682 Identifier of the add-in
683 </param>
684 <param name="version">
685 Version of the add-in (optional, it can be null)
686 </param>
687 <returns>
688 A list of add-ins
689 </returns>
690 <remarks>
691 List of references to add-ins available in on-line repositories. This method uses cached
692 information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
693 before using this method to ensure that the latest information is available.
694 </remarks>
695 </member>
696 <member name="M:Mono.Addins.Setup.RepositoryRegistry.GetAvailableAddin(System.String,System.String,System.String)">
697 <summary>
698 Checks if an add-in is available to be installed from a repository
699 </summary>
700 <param name="repositoryUrl">
701 A repository URL
702 </param>
703 <param name="id">
704 Identifier of the add-in
705 </param>
706 <param name="version">
707 Version of the add-in (optional, it can be null)
708 </param>
709 <returns>
710 A list of add-ins
711 </returns>
712 <remarks>
713 List of references to add-ins available in the repository. This method uses cached
714 information from on-line repositories. Make sure you call UpdateRepository or UpdateAllRepositories
715 before using this method to ensure that the latest information is available.
716 </remarks>
717 </member>
718 <member name="T:Mono.Addins.Setup.RepositorySearchFlags">
719 <summary>
720 Repository search flags.
721 </summary>
722 </member>
723 <member name="F:Mono.Addins.Setup.RepositorySearchFlags.None">
724 <summary>
725 No special search options
726 </summary>
727 </member>
728 <member name="F:Mono.Addins.Setup.RepositorySearchFlags.LatestVersionsOnly">
729 <summary>
730 Only the latest version of every add-in is included in the search
731 </summary>
732 </member>
733 <member name="T:Mono.Addins.Setup.AddinRepository">
734 <summary>
735 An on-line add-in repository
736 </summary>
737 </member>
738 <member name="P:Mono.Addins.Setup.AddinRepository.File">
739 <summary>
740 Path to the cached add-in repository file
741 </summary>
742 </member>
743 <member name="P:Mono.Addins.Setup.AddinRepository.Url">
744 <summary>
745 Url of the repository
746 </summary>
747 </member>
748 <member name="P:Mono.Addins.Setup.AddinRepository.Name">
749 <summary>
750 Do not use. Use Title instead.
751 </summary>
752 </member>
753 <member name="P:Mono.Addins.Setup.AddinRepository.Title">
754 <summary>
755 Title of the repository
756 </summary>
757 </member>
758 <member name="P:Mono.Addins.Setup.AddinRepository.LastModified">
759 <summary>
760 Last change timestamp
761 </summary>
762 </member>
763 <member name="P:Mono.Addins.Setup.AddinRepository.Enabled">
764 <summary>
765 Gets a value indicating whether this <see cref="T:Mono.Addins.Setup.AddinRepository"/> is enabled.
766 </summary>
767 <value>
768 <c>true</c> if enabled; otherwise, <c>false</c>.
769 </value>
770 </member>
771 <member name="T:Mono.Addins.Setup.WebRequestHelper">
772 <summary>
773 Helper for making web requests with support for authenticated proxies.
774 </summary>
775 </member>
776 <member name="M:Mono.Addins.Setup.WebRequestHelper.SetRequestHandler(System.Func{System.Func{System.Net.HttpWebRequest},System.Action{System.Net.HttpWebRequest},System.Threading.CancellationToken,System.Net.HttpWebResponse})">
777 <summary>
778 Sets a custom request handler that can handle requests for authenticated proxy servers.
779 </summary>
780 <param name="handler">The custom request handler.</param>
781 </member>
782 <member name="M:Mono.Addins.Setup.WebRequestHelper.GetResponseAsync(System.Func{System.Net.HttpWebRequest},System.Action{System.Net.HttpWebRequest},System.Threading.CancellationToken)">
783 <summary>
784 Gets the web response, using the request handler to handle proxy authentication
785 if necessary.
786 </summary>
787 <returns>The response.</returns>
788 <param name="createRequest">Callback for creating the request.</param>
789 <param name="prepareRequest">Callback for preparing the request, e.g. writing the request stream.</param>
790 <param name="token">Cancellation token.</param>
791 <remarks>
792 Keeps sending requests until a response code that doesn't require authentication happens or if the request
793 requires authentication and the user has stopped trying to enter them (i.e. they hit cancel when they are prompted).
794 </remarks>
795 </member>
796 <member name="M:Mono.Addins.Setup.WebRequestHelper.GetResponse(System.Func{System.Net.HttpWebRequest},System.Action{System.Net.HttpWebRequest},System.Threading.CancellationToken)">
797 <summary>
798 Gets the web response, using the request handler to handle proxy authentication
799 if necessary.
800 </summary>
801 <returns>The response.</returns>
802 <param name="createRequest">Callback for creating the request.</param>
803 <param name="prepareRequest">Callback for preparing the request, e.g. writing the request stream.</param>
804 <param name="token">Cancellation token.</param>
805 <remarks>
806 Keeps sending requests until a response code that doesn't require authentication happens or if the request
807 requires authentication and the user has stopped trying to enter them (i.e. they hit cancel when they are prompted).
808 </remarks>
809 </member>
810 <member name="M:Mono.Addins.Setup.WebRequestHelper.IsCannotReachInternetError(System.Net.WebExceptionStatus)">
811 <summary>
812 Determines whether an error code is likely to have been caused by internet reachability problems.
813 </summary>
814 </member>
815 <member name="T:Mono.Addins.Setup.SetupService">
816 <summary>
817 Provides tools for managing add-ins
818 </summary>
819 <remarks>
820 This class can be used to manage the add-ins of an application. It allows installing and uninstalling
821 add-ins, taking into account add-in dependencies. It provides methods for installing add-ins from on-line
822 repositories and tools for generating those repositories.
823 </remarks>
824 </member>
825 <member name="M:Mono.Addins.Setup.SetupService.#ctor">
826 <summary>
827 Initializes a new instance
828 </summary>
829 <remarks>
830 If the add-in manager is initialized (AddinManager.Initialize has been called), then this instance
831 will manage the add-in registry of the initialized engine.
832 </remarks>
833 </member>
834 <member name="M:Mono.Addins.Setup.SetupService.#ctor(Mono.Addins.AddinRegistry)">
835 <summary>
836 Initializes a new instance
837 </summary>
838 <param name="registry">
839 Add-in registry to manage
840 </param>
841 </member>
842 <member name="M:Mono.Addins.Setup.SetupService.ResolveDependencies(Mono.Addins.IProgressStatus,Mono.Addins.Setup.AddinRepositoryEntry[],Mono.Addins.Setup.PackageCollection@,Mono.Addins.Setup.PackageCollection@,Mono.Addins.Description.DependencyCollection@)">
843 <summary>
844 Resolves add-in dependencies.
845 </summary>
846 <param name="statusMonitor">
847 Progress monitor where to show progress status
848 </param>
849 <param name="addins">
850 List of add-ins to check
851 </param>
852 <param name="resolved">
853 Packages that need to be installed.
854 </param>
855 <param name="toUninstall">
856 Packages that need to be uninstalled.
857 </param>
858 <param name="unresolved">
859 Add-in dependencies that could not be resolved.
860 </param>
861 <returns>
862 True if all dependencies could be resolved.
863 </returns>
864 <remarks>
865 This method can be used to get a list of all packages that have to be installed in order to install
866 an add-in or set of add-ins. The list of packages to install will include the package that provides the
867 add-in, and all packages that provide the add-in dependencies. In some cases, packages may need to
868 be installed (for example, when an installed add-in needs to be upgraded).
869 </remarks>
870 </member>
871 <member name="M:Mono.Addins.Setup.SetupService.ResolveDependencies(Mono.Addins.IProgressStatus,Mono.Addins.Setup.PackageCollection,Mono.Addins.Setup.PackageCollection@,Mono.Addins.Description.DependencyCollection@)">
872 <summary>
873 Resolves add-in dependencies.
874 </summary>
875 <param name="statusMonitor">
876 Progress monitor where to show progress status
877 </param>
878 <param name="packages">
879 Packages that need to be installed.
880 </param>
881 <param name="toUninstall">
882 Packages that need to be uninstalled.
883 </param>
884 <param name="unresolved">
885 Add-in dependencies that could not be resolved.
886 </param>
887 <returns>
888 True if all dependencies could be resolved.
889 </returns>
890 <remarks>
891 This method can be used to get a list of all packages that have to be installed in order to satisfy
892 the dependencies of a package or set of packages. The 'packages' argument must have the list of packages
893 to be resolved. When resolving dependencies, if there is any additional package that needs to be installed,
894 it will be added to the same 'packages' collection. In some cases, packages may need to
895 be installed (for example, when an installed add-in needs to be upgraded). Those packages will be added
896 to the 'toUninstall' collection. Packages that could not be resolved are added to the 'unresolved'
897 collection.
898 </remarks>
899 </member>
900 <member name="M:Mono.Addins.Setup.SetupService.Install(Mono.Addins.IProgressStatus,System.String[])">
901 <summary>
902 Installs add-in packages
903 </summary>
904 <param name="statusMonitor">
905 Progress monitor where to show progress status
906 </param>
907 <param name="files">
908 Paths to the packages to install
909 </param>
910 <returns>
911 True if the installation succeeded
912 </returns>
913 </member>
914 <member name="M:Mono.Addins.Setup.SetupService.Install(Mono.Addins.IProgressStatus,Mono.Addins.Setup.AddinRepositoryEntry[])">
915 <summary>
916 Installs add-in packages from on-line repositories
917 </summary>
918 <param name="statusMonitor">
919 Progress monitor where to show progress status
920 </param>
921 <param name="addins">
922 References to the add-ins to be installed
923 </param>
924 <returns>
925 True if the installation succeeded
926 </returns>
927 </member>
928 <member name="M:Mono.Addins.Setup.SetupService.Install(Mono.Addins.IProgressStatus,Mono.Addins.Setup.PackageCollection)">
929 <summary>
930 Installs add-in packages
931 </summary>
932 <param name="statusMonitor">
933 Progress monitor where to show progress status
934 </param>
935 <param name="packages">
936 Packages to install
937 </param>
938 <returns>
939 True if the installation succeeded
940 </returns>
941 </member>
942 <member name="M:Mono.Addins.Setup.SetupService.Uninstall(Mono.Addins.IProgressStatus,System.String)">
943 <summary>
944 Uninstalls an add-in.
945 </summary>
946 <param name="statusMonitor">
947 Progress monitor where to show progress status
948 </param>
949 <param name="id">
950 Full identifier of the add-in to uninstall.
951 </param>
952 </member>
953 <member name="M:Mono.Addins.Setup.SetupService.Uninstall(Mono.Addins.IProgressStatus,System.Collections.Generic.IEnumerable{System.String})">
954 <summary>
955 Uninstalls a set of add-ins
956 </summary>
957 <param name='statusMonitor'>
958 Progress monitor where to show progress status
959 </param>
960 <param name='ids'>
961 Full identifiers of the add-ins to uninstall.
962 </param>
963 </member>
964 <member name="M:Mono.Addins.Setup.SetupService.GetAddinHeader(Mono.Addins.Addin)">
965 <summary>
966 Gets information about an add-in
967 </summary>
968 <param name="addin">
969 The add-in
970 </param>
971 <returns>
972 Add-in header data
973 </returns>
974 </member>
975 <member name="M:Mono.Addins.Setup.SetupService.GetDependentAddins(System.String,System.Boolean)">
976 <summary>
977 Gets a list of add-ins which depend on an add-in
978 </summary>
979 <param name="id">
980 Full identifier of an add-in.
981 </param>
982 <param name="recursive">
983 When set to True, dependencies will be gathered recursivelly
984 </param>
985 <returns>
986 List of dependent add-ins.
987 </returns>
988 <remarks>
989 This methods returns a list of add-ins which have the add-in identified by 'id' as a direct
990 (or indirect if recursive=True) dependency.
991 </remarks>
992 </member>
993 <member name="M:Mono.Addins.Setup.SetupService.BuildPackage(Mono.Addins.IProgressStatus,System.String,System.String[])">
994 <summary>
995 Packages an add-in
996 </summary>
997 <param name="statusMonitor">
998 Progress monitor where to show progress status
999 </param>
1000 <param name="targetDirectory">
1001 Directory where to generate the package
1002 </param>
1003 <param name="filePaths">
1004 Paths to the add-ins to be packaged. Paths can be either the main assembly of an add-in, or an add-in
1005 manifest (.addin or .addin.xml).
1006 </param>
1007 <remarks>
1008 This method can be used to create a package for an add-in, which can then be pushed to an on-line
1009 repository. The package will include the main assembly or manifest of the add-in and any external
1010 file declared in the add-in metadata.
1011 </remarks>
1012 </member>
1013 <member name="M:Mono.Addins.Setup.SetupService.BuildRepository(Mono.Addins.IProgressStatus,System.String)">
1014 <summary>
1015 Generates an on-line repository
1016 </summary>
1017 <param name="statusMonitor">
1018 Progress monitor where to show progress status
1019 </param>
1020 <param name="path">
1021 Path to the directory that contains the add-ins and that is going to be published
1022 </param>
1023 <remarks>
1024 This method generates the index files required to publish a directory as an online repository
1025 of add-ins.
1026 </remarks>
1027 </member>
1028 <member name="M:Mono.Addins.Setup.SetupService.GetExtensibleApplication(System.String)">
1029 <summary>
1030 Gets a reference to an extensible application
1031 </summary>
1032 <param name="name">
1033 Name of the application
1034 </param>
1035 <returns>
1036 The Application object. Null if not found.
1037 </returns>
1038 </member>
1039 <member name="M:Mono.Addins.Setup.SetupService.GetExtensibleApplication(System.String,System.Collections.Generic.IEnumerable{System.String})">
1040 <summary>
1041 Gets a reference to an extensible application
1042 </summary>
1043 <param name="name">
1044 Name of the application
1045 </param>
1046 <param name="searchPaths">
1047 Custom paths where to look for the application.
1048 </param>
1049 <returns>
1050 The Application object. Null if not found.
1051 </returns>
1052 </member>
1053 <member name="M:Mono.Addins.Setup.SetupService.GetExtensibleApplications">
1054 <summary>
1055 Gets a lis of all known extensible applications
1056 </summary>
1057 <returns>
1058 A list of applications.
1059 </returns>
1060 </member>
1061 <member name="M:Mono.Addins.Setup.SetupService.GetExtensibleApplications(System.Collections.Generic.IEnumerable{System.String})">
1062 <summary>
1063 Gets a lis of all known extensible applications
1064 </summary>
1065 <param name="searchPaths">
1066 Custom paths where to look for applications.
1067 </param>
1068 <returns>
1069 A list of applications.
1070 </returns>
1071 </member>
1072 <member name="P:Mono.Addins.Setup.SetupService.Registry">
1073 <summary>
1074 The add-in registry being managed
1075 </summary>
1076 </member>
1077 <member name="P:Mono.Addins.Setup.SetupService.ApplicationNamespace">
1078 <summary>
1079 Default add-in namespace of the application (optional). If set, only add-ins that belong to that namespace
1080 will be shown in add-in lists.
1081 </summary>
1082 </member>
1083 <member name="P:Mono.Addins.Setup.SetupService.InstallDirectory">
1084 <summary>
1085 Directory where to install add-ins. If not specified, the 'addins' subdirectory of the
1086 registry location is used.
1087 </summary>
1088 </member>
1089 <member name="P:Mono.Addins.Setup.SetupService.Repositories">
1090 <summary>
1091 Returns a RepositoryRegistry which can be used to manage on-line repository references
1092 </summary>
1093 </member>
1094 <member name="T:Mono.Addins.Setup.Application">
1095 <summary>
1096 A registered extensible application
1097 </summary>
1098 </member>
1099 <member name="P:Mono.Addins.Setup.Application.Registry">
1100 <summary>
1101 Add-in registry of the application
1102 </summary>
1103 </member>
1104 <member name="P:Mono.Addins.Setup.Application.Description">
1105 <summary>
1106 Description of the application
1107 </summary>
1108 </member>
1109 <member name="P:Mono.Addins.Setup.Application.Name">
1110 <summary>
1111 Name of the application
1112 </summary>
1113 </member>
1114 <member name="P:Mono.Addins.Setup.Application.RegistryPath">
1115 <summary>
1116 Path to the add-in registry
1117 </summary>
1118 </member>
1119 <member name="P:Mono.Addins.Setup.Application.StartupPath">
1120 <summary>
1121 Path to the directory that contains the main executable assembly of the application
1122 </summary>
1123 </member>
1124 <member name="P:Mono.Addins.Setup.Application.TestCommand">
1125 <summary>
1126 Command to be used to execute the application in add-in development mode.
1127 </summary>
1128 </member>
1129 <member name="P:Mono.Addins.Setup.Application.AddinsPath">
1130 <summary>
1131 Path to the default add-ins directory for the aplpication
1132 </summary>
1133 </member>
1134 <member name="P:Mono.Addins.Setup.Application.AddinCachePath">
1135 <summary>
1136 Path to the add-in cache for the application
1137 </summary>
1138 </member>
1139 </members>
1140</doc>
diff --git a/bin/Mono.Addins.dll b/bin/Mono.Addins.dll
new file mode 100755
index 0000000..969909e
--- /dev/null
+++ b/bin/Mono.Addins.dll
Binary files differ
diff --git a/bin/Mono.Addins.dll.config b/bin/Mono.Addins.dll.config
new file mode 100644
index 0000000..39e8a66
--- /dev/null
+++ b/bin/Mono.Addins.dll.config
@@ -0,0 +1,6 @@
1<?xml version="1.0" encoding="utf-8" ?>
2<configuration>
3 <startup>
4 <supportedRuntime version="v2.0.50727" />
5 </startup>
6</configuration>
diff --git a/bin/Mono.Addins.xml b/bin/Mono.Addins.xml
new file mode 100644
index 0000000..b9bdd4c
--- /dev/null
+++ b/bin/Mono.Addins.xml
@@ -0,0 +1,6120 @@
1<?xml version="1.0"?>
2<doc>
3 <assembly>
4 <name>Mono.Addins</name>
5 </assembly>
6 <members>
7 <member name="T:Mono.Addins.Localization.IAddinLocalizer">
8 <summary>
9 An add-in localizer.
10 </summary>
11 <remarks>
12 Add-in localizers which want to provide support for localization of plural forms
13 can additionally implement <see cref="T:Mono.Addins.Localization.IPluralAddinLocalizer"/>.
14 </remarks>
15 </member>
16 <member name="M:Mono.Addins.Localization.IAddinLocalizer.GetString(System.String)">
17 <summary>
18 Gets a localized message.
19 </summary>
20 <returns>
21 The localized message.
22 </returns>
23 <param name='msgid'>
24 The message identifier.
25 </param>
26 </member>
27 <member name="T:Mono.Addins.Description.ExtensionNodeDescriptionCollection">
28 <summary>
29 A collection of extension nodes
30 </summary>
31 </member>
32 <member name="T:Mono.Addins.Description.ObjectDescriptionCollection`1">
33 <summary>
34 Base class for add-in description collections.
35 </summary>
36 </member>
37 <member name="T:Mono.Addins.Description.ObjectDescriptionCollection">
38 <summary>
39 Base class for add-in description collections.
40 </summary>
41 </member>
42 <member name="M:Mono.Addins.Description.ObjectDescriptionCollection.#ctor">
43 <summary>
44 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ObjectDescriptionCollection"/> class.
45 </summary>
46 </member>
47 <member name="M:Mono.Addins.Description.ObjectDescriptionCollection.Add(Mono.Addins.Description.ObjectDescription)">
48 <summary>
49 Add an object.
50 </summary>
51 <param name='ep'>
52 The object.
53 </param>
54 </member>
55 <member name="M:Mono.Addins.Description.ObjectDescriptionCollection.AddRange(Mono.Addins.Description.ObjectDescriptionCollection)">
56 <summary>
57 Adds a collection of objects.
58 </summary>
59 <param name='collection'>
60 The objects to add.
61 </param>
62 </member>
63 <member name="M:Mono.Addins.Description.ObjectDescriptionCollection.Insert(System.Int32,Mono.Addins.Description.ObjectDescription)">
64 <summary>
65 Insert an object.
66 </summary>
67 <param name='index'>
68 Insertion index.
69 </param>
70 <param name='ep'>
71 The object.
72 </param>
73 </member>
74 <member name="M:Mono.Addins.Description.ObjectDescriptionCollection.Remove(Mono.Addins.Description.ObjectDescription)">
75 <summary>
76 Removes an object.
77 </summary>
78 <param name='ep'>
79 Object to remove.
80 </param>
81 </member>
82 <member name="M:Mono.Addins.Description.ObjectDescriptionCollection.Contains(Mono.Addins.Description.ObjectDescription)">
83 <summary>
84 Checks if an object is present in the collection.
85 </summary>
86 <param name='ob'>
87 Objecect to check.
88 </param>
89 </member>
90 <member name="T:Mono.Addins.NodeElementCollection">
91 <summary>
92 A collection of NodeElement objects
93 </summary>
94 </member>
95 <member name="P:Mono.Addins.NodeElementCollection.Item(System.Int32)">
96 <summary>
97 Gets the <see cref="T:Mono.Addins.NodeElement"/> at the specified index
98 </summary>
99 <param name="n">
100 Index
101 </param>
102 </member>
103 <member name="M:Mono.Addins.Description.ExtensionNodeDescriptionCollection.#ctor">
104 <summary>
105 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ExtensionNodeDescriptionCollection"/> class.
106 </summary>
107 </member>
108 <member name="P:Mono.Addins.Description.ExtensionNodeDescriptionCollection.Item(System.Int32)">
109 <summary>
110 Gets the <see cref="T:Mono.Addins.Description.ExtensionNodeDescription"/> at the specified index.
111 </summary>
112 <param name="n">
113 The index.
114 </param>
115 </member>
116 <member name="P:Mono.Addins.Description.ExtensionNodeDescriptionCollection.Item(System.String)">
117 <summary>
118 Gets the <see cref="T:Mono.Addins.Description.ExtensionNodeDescription"/> with the specified identifier.
119 </summary>
120 <param name="id">
121 Identifier.
122 </param>
123 </member>
124 <member name="T:Mono.Addins.ExtensionPointAttribute">
125 <summary>
126 Declares an extension point.
127 </summary>
128 </member>
129 <member name="M:Mono.Addins.ExtensionPointAttribute.#ctor">
130 <summary>
131 Initializes a new instance
132 </summary>
133 </member>
134 <member name="M:Mono.Addins.ExtensionPointAttribute.#ctor(System.String)">
135 <summary>
136 Initializes a new instance
137 </summary>
138 <param name="path">
139 Extension path that identifies the extension point
140 </param>
141 </member>
142 <member name="M:Mono.Addins.ExtensionPointAttribute.#ctor(System.String,System.Type)">
143 <summary>
144 Initializes a new instance
145 </summary>
146 <param name="path">
147 Extension path that identifies the extension point
148 </param>
149 <param name="nodeType">
150 Type of the extension node to be created for extensions
151 </param>
152 </member>
153 <member name="M:Mono.Addins.ExtensionPointAttribute.#ctor(System.String,System.String,System.Type)">
154 <summary>
155 Initializes a new instance
156 </summary>
157 <param name="path">
158 Extension path that identifies the extension point
159 </param>
160 <param name="nodeName">
161 Element name to be used when defining an extension in an XML manifest.
162 </param>
163 <param name="nodeType">
164 Type of the extension node to be created for extensions
165 </param>
166 </member>
167 <member name="P:Mono.Addins.ExtensionPointAttribute.Path">
168 <summary>
169 Extension path that identifies the extension point
170 </summary>
171 </member>
172 <member name="P:Mono.Addins.ExtensionPointAttribute.Description">
173 <summary>
174 Long description of the extension point.
175 </summary>
176 </member>
177 <member name="P:Mono.Addins.ExtensionPointAttribute.NodeType">
178 <summary>
179 Type of the extension node to be created for extensions
180 </summary>
181 </member>
182 <member name="P:Mono.Addins.ExtensionPointAttribute.ObjectType">
183 <summary>
184 Expected extension object type (when nodes are of type TypeExtensionNode)
185 </summary>
186 </member>
187 <member name="P:Mono.Addins.ExtensionPointAttribute.NodeName">
188 <summary>
189 Element name to be used when defining an extension in an XML manifest. The default name is "Type".
190 </summary>
191 </member>
192 <member name="P:Mono.Addins.ExtensionPointAttribute.Name">
193 <summary>
194 Display name of the extension point.
195 </summary>
196 </member>
197 <member name="P:Mono.Addins.ExtensionPointAttribute.ExtensionAttributeType">
198 <summary>
199 Type of the custom attribute to be used to specify metadata for the extension point
200 </summary>
201 </member>
202 <member name="T:Mono.Addins.AddinUrlAttribute">
203 <summary>
204 Addin URL attribute.
205 </summary>
206 </member>
207 <member name="M:Mono.Addins.AddinUrlAttribute.#ctor(System.String)">
208 <summary>
209 Initializes the attribute
210 </summary>
211 <param name="url">
212 Url of the add-in
213 </param>
214 </member>
215 <member name="P:Mono.Addins.AddinUrlAttribute.Url">
216 <summary>
217 Url of the add-in
218 </summary>
219 </member>
220 <member name="T:Mono.Addins.ExtensionNodeChildAttribute">
221 <summary>
222 Declares allowed children of an extension node type.
223 </summary>
224 <remarks>
225 This attribute allows declaring the type of children that an extension node can have.
226 </remarks>
227 </member>
228 <member name="M:Mono.Addins.ExtensionNodeChildAttribute.#ctor(System.String)">
229 <summary>
230 Initializes a new instance
231 </summary>
232 <param name="nodeName">
233 Name of the allowed child extension node.
234 </param>
235 </member>
236 <member name="M:Mono.Addins.ExtensionNodeChildAttribute.#ctor(System.Type)">
237 <summary>
238 Initializes a new instance
239 </summary>
240 <param name="extensionNodeType">
241 Type of the allowed child extension node.
242 </param>
243 </member>
244 <member name="M:Mono.Addins.ExtensionNodeChildAttribute.#ctor(System.Type,System.String)">
245 <summary>
246 Initializes a new instance
247 </summary>
248 <param name="extensionNodeType">
249 Type of the allowed child extension node.
250 </param>
251 <param name="nodeName">
252 Name of the allowed child extension node.
253 </param>
254 </member>
255 <member name="P:Mono.Addins.ExtensionNodeChildAttribute.NodeName">
256 <summary>
257 Name of the allowed child extension node.
258 </summary>
259 </member>
260 <member name="P:Mono.Addins.ExtensionNodeChildAttribute.ExtensionNodeType">
261 <summary>
262 Type of the allowed child extension node.
263 </summary>
264 </member>
265 <member name="T:Mono.Addins.AddinManager">
266 <summary>
267 Provides access to add-in and extension model management operations.
268 </summary>
269 </member>
270 <member name="M:Mono.Addins.AddinManager.Initialize">
271 <summary>
272 Initializes the add-in engine.
273 </summary>
274 <remarks>
275 The add-in engine needs to be initialized before doing any add-in operation.
276 When initialized with this method, it will look for add-ins in the global add-in registry.
277 </remarks>
278 </member>
279 <member name="M:Mono.Addins.AddinManager.Initialize(System.String)">
280 <summary>
281 Initializes the add-in engine.
282 </summary>
283 <param name="configDir">
284 Location of the add-in registry.
285 </param>
286 <remarks>
287 The add-in engine needs to be initialized before doing any add-in operation.
288 Configuration information about the add-in registry will be stored in the
289 provided location. The add-in engine will look for add-ins in an 'addins'
290 subdirectory of the provided directory.
291
292 When specifying a path, it is possible to use a special folder name as root.
293 For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced
294 by the location of the Environment.SpecialFolder.Personal folder. Any value
295 of the Environment.SpecialFolder enumeration can be used (always between square
296 brackets)
297 </remarks>
298 </member>
299 <member name="M:Mono.Addins.AddinManager.Initialize(System.String,System.String)">
300 <summary>
301 Initializes the add-in engine.
302 </summary>
303 <param name='configDir'>
304 Location of the add-in registry.
305 </param>
306 <param name='addinsDir'>
307 Add-ins directory. If the path is relative, it is considered to be relative
308 to the configDir directory.
309 </param>
310 <remarks>
311 The add-in engine needs to be initialized before doing any add-in operation.
312 Configuration information about the add-in registry will be stored in the
313 provided location. The add-in engine will look for add-ins in the provided
314 'addinsDir' directory.
315
316 When specifying a path, it is possible to use a special folder name as root.
317 For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced
318 by the location of the Environment.SpecialFolder.Personal folder. Any value
319 of the Environment.SpecialFolder enumeration can be used (always between square
320 brackets)
321 </remarks>
322 </member>
323 <member name="M:Mono.Addins.AddinManager.Initialize(System.String,System.String,System.String)">
324 <summary>
325 Initializes the add-in engine.
326 </summary>
327 <param name='configDir'>
328 Location of the add-in registry.
329 </param>
330 <param name='addinsDir'>
331 Add-ins directory. If the path is relative, it is considered to be relative
332 to the configDir directory.
333 </param>
334 <param name='databaseDir'>
335 Location of the add-in database. If the path is relative, it is considered to be relative
336 to the configDir directory.
337 </param>
338 <remarks>
339 The add-in engine needs to be initialized before doing any add-in operation.
340 Configuration information about the add-in registry will be stored in the
341 provided location. The add-in engine will look for add-ins in the provided
342 'addinsDir' directory. Cached information about add-ins will be stored in
343 the 'databaseDir' directory.
344
345 When specifying a path, it is possible to use a special folder name as root.
346 For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced
347 by the location of the Environment.SpecialFolder.Personal folder. Any value
348 of the Environment.SpecialFolder enumeration can be used (always between square
349 brackets)
350 </remarks>
351 </member>
352 <member name="M:Mono.Addins.AddinManager.Shutdown">
353 <summary>
354 Finalizes an add-in engine.
355 </summary>
356 </member>
357 <member name="M:Mono.Addins.AddinManager.InitializeDefaultLocalizer(Mono.Addins.Localization.IAddinLocalizer)">
358 <summary>
359 Sets the default localizer to be used for this add-in engine
360 </summary>
361 <param name="localizer">
362 The add-in localizer
363 </param>
364 </member>
365 <member name="M:Mono.Addins.AddinManager.CheckInstalled(System.String,System.String[])">
366 <summary>
367 Checks if the provided add-ins are installed, and requests the installation of those
368 which aren't.
369 </summary>
370 <param name="message">
371 Message to show to the user when new add-ins have to be installed.
372 </param>
373 <param name="addinIds">
374 List of IDs of the add-ins to be checked.
375 </param>
376 <remarks>
377 This method checks if the specified add-ins are installed.
378 If some of the add-ins are not installed, it will use
379 the installer assigned to the DefaultAddinInstaller property
380 to install them. If the installation fails, or if DefaultAddinInstaller
381 is not set, an exception will be thrown.
382 </remarks>
383 </member>
384 <member name="M:Mono.Addins.AddinManager.IsAddinLoaded(System.String)">
385 <summary>
386 Checks if an add-in has been loaded.
387 </summary>
388 <param name="id">
389 Full identifier of the add-in.
390 </param>
391 <returns>
392 True if the add-in is loaded.
393 </returns>
394 </member>
395 <member name="M:Mono.Addins.AddinManager.LoadAddin(Mono.Addins.IProgressStatus,System.String)">
396 <summary>
397 Forces the loading of an add-in.
398 </summary>
399 <param name="statusMonitor">
400 Status monitor to keep track of the loading process.
401 </param>
402 <param name="id">
403 Full identifier of the add-in to load.
404 </param>
405 <remarks>
406 This method loads all assemblies that belong to an add-in in memory.
407 All add-ins on which the specified add-in depends will also be loaded.
408 Notice that in general add-ins don't need to be explicitely loaded using
409 this method, since the add-in engine will load them on demand.
410 </remarks>
411 </member>
412 <member name="M:Mono.Addins.AddinManager.CreateExtensionContext">
413 <summary>
414 Creates a new extension context.
415 </summary>
416 <returns>
417 The new extension context.
418 </returns>
419 <remarks>
420 Extension contexts can be used to query the extension model using particular condition values.
421 </remarks>
422 </member>
423 <member name="M:Mono.Addins.AddinManager.GetExtensionNode(System.String)">
424 <summary>
425 Returns the extension node in a path
426 </summary>
427 <param name="path">
428 Location of the node.
429 </param>
430 <returns>
431 The node, or null if not found.
432 </returns>
433 </member>
434 <member name="M:Mono.Addins.AddinManager.GetExtensionNode``1(System.String)">
435 <summary>
436 Returns the extension node in a path
437 </summary>
438 <param name="path">
439 Location of the node.
440 </param>
441 <returns>
442 The node, or null if not found.
443 </returns>
444 </member>
445 <member name="M:Mono.Addins.AddinManager.GetExtensionNodes(System.String)">
446 <summary>
447 Gets extension nodes registered in a path.
448 </summary>
449 <param name="path">
450 An extension path.>
451 </param>
452 <returns>
453 All nodes registered in the provided path.
454 </returns>
455 </member>
456 <member name="M:Mono.Addins.AddinManager.GetExtensionNodes(System.String,System.Type)">
457 <summary>
458 Gets extension nodes registered in a path.
459 </summary>
460 <param name="path">
461 An extension path.
462 </param>
463 <param name="expectedNodeType">
464 Expected node type.
465 </param>
466 <returns>
467 A list of nodes
468 </returns>
469 <remarks>
470 This method returns all nodes registered under the provided path.
471 It will throw a InvalidOperationException if the type of one of
472 the registered nodes is not assignable to the provided type.
473 </remarks>
474 </member>
475 <member name="M:Mono.Addins.AddinManager.GetExtensionNodes``1(System.String)">
476 <summary>
477 Gets extension nodes registered in a path.
478 </summary>
479 <param name="path">
480 An extension path.
481 </param>
482 <returns>
483 A list of nodes
484 </returns>
485 <remarks>
486 This method returns all nodes registered under the provided path.
487 It will throw a InvalidOperationException if the type of one of
488 the registered nodes is not assignable to the provided type.
489 </remarks>
490 </member>
491 <member name="M:Mono.Addins.AddinManager.GetExtensionNodes(System.Type)">
492 <summary>
493 Gets extension nodes for a type extension point
494 </summary>
495 <param name="instanceType">
496 Type defining the extension point
497 </param>
498 <returns>
499 A list of nodes
500 </returns>
501 <remarks>
502 This method returns all extension nodes bound to the provided type.
503 </remarks>
504 </member>
505 <member name="M:Mono.Addins.AddinManager.GetExtensionNodes(System.Type,System.Type)">
506 <summary>
507 Gets extension nodes for a type extension point
508 </summary>
509 <param name="instanceType">
510 Type defining the extension point
511 </param>
512 <param name="expectedNodeType">
513 Expected extension node type
514 </param>
515 <returns>
516 A list of nodes
517 </returns>
518 <remarks>
519 This method returns all nodes registered for the provided type.
520 It will throw a InvalidOperationException if the type of one of
521 the registered nodes is not assignable to the provided node type.
522 </remarks>
523 </member>
524 <member name="M:Mono.Addins.AddinManager.GetExtensionNodes``1(System.Type)">
525 <summary>
526 Gets extension nodes for a type extension point
527 </summary>
528 <param name="instanceType">
529 Type defining the extension point
530 </param>
531 <returns>
532 A list of nodes
533 </returns>
534 <remarks>
535 This method returns all nodes registered for the provided type.
536 It will throw a InvalidOperationException if the type of one of
537 the registered nodes is not assignable to the specified node type argument.
538 </remarks>
539 </member>
540 <member name="M:Mono.Addins.AddinManager.GetExtensionObjects(System.Type)">
541 <summary>
542 Gets extension objects registered for a type extension point.
543 </summary>
544 <param name="instanceType">
545 Type defining the extension point
546 </param>
547 <returns>
548 A list of objects
549 </returns>
550 </member>
551 <member name="M:Mono.Addins.AddinManager.GetExtensionObjects``1">
552 <summary>
553 Gets extension objects registered for a type extension point.
554 </summary>
555 <returns>
556 A list of objects
557 </returns>
558 <remarks>
559 The type argument of this generic method is the type that defines
560 the extension point.
561 </remarks>
562 </member>
563 <member name="M:Mono.Addins.AddinManager.GetExtensionObjects(System.Type,System.Boolean)">
564 <summary>
565 Gets extension objects registered for a type extension point.
566 </summary>
567 <param name="instanceType">
568 Type defining the extension point
569 </param>
570 <param name="reuseCachedInstance">
571 When set to True, it will return instances created in previous calls.
572 </param>
573 <returns>
574 A list of extension objects.
575 </returns>
576 </member>
577 <member name="M:Mono.Addins.AddinManager.GetExtensionObjects``1(System.Boolean)">
578 <summary>
579 Gets extension objects registered for a type extension point.
580 </summary>
581 <param name="reuseCachedInstance">
582 When set to True, it will return instances created in previous calls.
583 </param>
584 <returns>
585 A list of extension objects.
586 </returns>
587 <remarks>
588 The type argument of this generic method is the type that defines
589 the extension point.
590 </remarks>
591 </member>
592 <member name="M:Mono.Addins.AddinManager.GetExtensionObjects(System.String)">
593 <summary>
594 Gets extension objects registered in a path
595 </summary>
596 <param name="path">
597 An extension path.
598 </param>
599 <returns>
600 An array of objects registered in the path.
601 </returns>
602 <remarks>
603 This method can only be used if all nodes in the provided extension path
604 are of type Mono.Addins.TypeExtensionNode. The returned array is composed
605 by all objects created by calling the TypeExtensionNode.CreateInstance()
606 method for each node.
607 </remarks>
608 </member>
609 <member name="M:Mono.Addins.AddinManager.GetExtensionObjects(System.String,System.Boolean)">
610 <summary>
611 Gets extension objects registered in a path.
612 </summary>
613 <param name="path">
614 An extension path.
615 </param>
616 <param name="reuseCachedInstance">
617 When set to True, it will return instances created in previous calls.
618 </param>
619 <returns>
620 An array of objects registered in the path.
621 </returns>
622 <remarks>
623 This method can only be used if all nodes in the provided extension path
624 are of type Mono.Addins.TypeExtensionNode. The returned array is composed
625 by all objects created by calling the TypeExtensionNode.CreateInstance()
626 method for each node (or TypeExtensionNode.GetInstance() if
627 reuseCachedInstance is set to true)
628 </remarks>
629 </member>
630 <member name="M:Mono.Addins.AddinManager.GetExtensionObjects(System.String,System.Type)">
631 <summary>
632 Gets extension objects registered in a path.
633 </summary>
634 <param name="path">
635 An extension path.
636 </param>
637 <param name="arrayElementType">
638 Type of the return array elements.
639 </param>
640 <returns>
641 An array of objects registered in the path.
642 </returns>
643 <remarks>
644 This method can only be used if all nodes in the provided extension path
645 are of type Mono.Addins.TypeExtensionNode. The returned array is composed
646 by all objects created by calling the TypeExtensionNode.CreateInstance()
647 method for each node.
648
649 An InvalidOperationException exception is thrown if one of the found
650 objects is not a subclass of the provided type.
651 </remarks>
652 </member>
653 <member name="M:Mono.Addins.AddinManager.GetExtensionObjects``1(System.String)">
654 <summary>
655 Gets extension objects registered in a path.
656 </summary>
657 <param name="path">
658 An extension path.
659 </param>
660 <returns>
661 An array of objects registered in the path.
662 </returns>
663 <remarks>
664 This method can only be used if all nodes in the provided extension path
665 are of type Mono.Addins.TypeExtensionNode. The returned array is composed
666 by all objects created by calling the TypeExtensionNode.CreateInstance()
667 method for each node.
668
669 An InvalidOperationException exception is thrown if one of the found
670 objects is not a subclass of the provided type.
671 </remarks>
672 </member>
673 <member name="M:Mono.Addins.AddinManager.GetExtensionObjects(System.String,System.Type,System.Boolean)">
674 <summary>
675 Gets extension objects registered in a path.
676 </summary>
677 <param name="path">
678 An extension path.
679 </param>
680 <param name="arrayElementType">
681 Type of the return array elements.
682 </param>
683 <param name="reuseCachedInstance">
684 When set to True, it will return instances created in previous calls.
685 </param>
686 <returns>
687 An array of objects registered in the path.
688 </returns>
689 <remarks>
690 This method can only be used if all nodes in the provided extension path
691 are of type Mono.Addins.TypeExtensionNode. The returned array is composed
692 by all objects created by calling the TypeExtensionNode.CreateInstance()
693 method for each node (or TypeExtensionNode.GetInstance() if
694 reuseCachedInstance is set to true).
695
696 An InvalidOperationException exception is thrown if one of the found
697 objects is not a subclass of the provided type.
698 </remarks>
699 </member>
700 <member name="M:Mono.Addins.AddinManager.GetExtensionObjects``1(System.String,System.Boolean)">
701 <summary>
702 Gets extension objects registered in a path.
703 </summary>
704 <param name="path">
705 An extension path.
706 </param>
707 <param name="reuseCachedInstance">
708 When set to True, it will return instances created in previous calls.
709 </param>
710 <returns>
711 An array of objects registered in the path.
712 </returns>
713 <remarks>
714 This method can only be used if all nodes in the provided extension path
715 are of type Mono.Addins.TypeExtensionNode. The returned array is composed
716 by all objects created by calling the TypeExtensionNode.CreateInstance()
717 method for each node (or TypeExtensionNode.GetInstance() if
718 reuseCachedInstance is set to true).
719
720 An InvalidOperationException exception is thrown if one of the found
721 objects is not a subclass of the provided type.
722 </remarks>
723 </member>
724 <member name="M:Mono.Addins.AddinManager.AddExtensionNodeHandler(System.String,Mono.Addins.ExtensionNodeEventHandler)">
725 <summary>
726 Register a listener of extension node changes.
727 </summary>
728 <param name="path">
729 Path of the node.
730 </param>
731 <param name="handler">
732 A handler method.
733 </param>
734 <remarks>
735 Hosts can call this method to be subscribed to an extension change
736 event for a specific path. The event will be fired once for every
737 individual node change. The event arguments include the change type
738 (Add or Remove) and the extension node added or removed.
739
740 NOTE: The handler will be called for all nodes existing in the path at the moment of registration.
741 </remarks>
742 </member>
743 <member name="M:Mono.Addins.AddinManager.RemoveExtensionNodeHandler(System.String,Mono.Addins.ExtensionNodeEventHandler)">
744 <summary>
745 Unregister a listener of extension node changes.
746 </summary>
747 <param name="path">
748 Path of the node.
749 </param>
750 <param name="handler">
751 A handler method.
752 </param>
753 <remarks>
754 This method unregisters a delegate from the node change event of a path.
755 </remarks>
756 </member>
757 <member name="M:Mono.Addins.AddinManager.AddExtensionNodeHandler(System.Type,Mono.Addins.ExtensionNodeEventHandler)">
758 <summary>
759 Register a listener of extension node changes.
760 </summary>
761 <param name="instanceType">
762 Type defining the extension point
763 </param>
764 <param name="handler">
765 A handler method.
766 </param>
767 <remarks>
768 Hosts can call this method to be subscribed to an extension change
769 event for a specific type extension point. The event will be fired once for every
770 individual node change. The event arguments include the change type
771 (Add or Remove) and the extension node added or removed.
772
773 NOTE: The handler will be called for all nodes existing in the path at the moment of registration.
774 </remarks>
775 </member>
776 <member name="M:Mono.Addins.AddinManager.RemoveExtensionNodeHandler(System.Type,Mono.Addins.ExtensionNodeEventHandler)">
777 <summary>
778 Unregister a listener of extension node changes.
779 </summary>
780 <param name="instanceType">
781 Type defining the extension point
782 </param>
783 <param name="handler">
784 A handler method.
785 </param>
786 </member>
787 <member name="P:Mono.Addins.AddinManager.IsInitialized">
788 <summary>
789 Gets whether the add-in engine has been initialized.
790 </summary>
791 </member>
792 <member name="P:Mono.Addins.AddinManager.DefaultInstaller">
793 <summary>
794 Gets the default add-in installer
795 </summary>
796 <remarks>
797 The default installer is used by the CheckInstalled method to request
798 the installation of missing add-ins.
799 </remarks>
800 </member>
801 <member name="P:Mono.Addins.AddinManager.DefaultLocalizer">
802 <summary>
803 Gets the default localizer for this add-in engine
804 </summary>
805 </member>
806 <member name="P:Mono.Addins.AddinManager.CurrentLocalizer">
807 <summary>
808 Gets the localizer for the add-in that is invoking this property
809 </summary>
810 </member>
811 <member name="P:Mono.Addins.AddinManager.CurrentAddin">
812 <summary>
813 Gets a reference to the RuntimeAddin object for the add-in that is invoking this property
814 </summary>
815 </member>
816 <member name="P:Mono.Addins.AddinManager.AddinEngine">
817 <summary>
818 Gets the default add-in engine
819 </summary>
820 </member>
821 <member name="P:Mono.Addins.AddinManager.Registry">
822 <summary>
823 Gets the add-in registry bound to the default add-in engine
824 </summary>
825 </member>
826 <member name="E:Mono.Addins.AddinManager.ExtensionChanged">
827 <summary>
828 Extension change event.
829 </summary>
830 <remarks>
831 This event is fired when any extension point in the add-in system changes.
832 The event args object provides the path of the changed extension, although
833 it does not provide information about what changed. Hosts subscribing to
834 this event should get the new list of nodes using a query method such as
835 AddinManager.GetExtensionNodes() and then update whatever needs to be updated.
836 </remarks>
837 </member>
838 <member name="E:Mono.Addins.AddinManager.AddinLoadError">
839 <summary>
840 Add-in loading error event.
841 </summary>
842 <remarks>
843 This event is fired when there is an error when loading the extension
844 of an add-in, or any other kind of error that may happen when querying extension points.
845 </remarks>
846 </member>
847 <member name="E:Mono.Addins.AddinManager.AddinLoaded">
848 <summary>
849 Add-in loaded event.
850 </summary>
851 <remarks>
852 Fired after loading an add-in in memory.
853 </remarks>
854 </member>
855 <member name="E:Mono.Addins.AddinManager.AddinUnloaded">
856 <summary>
857 Add-in unload event.
858 </summary>
859 <remarks>
860 Fired when an add-in is unloaded from memory. It may happen an add-in is disabled or uninstalled.
861 </remarks>
862 </member>
863 <member name="T:Mono.Addins.Description.ExtensionNodeDescription">
864 <summary>
865 An extension node definition.
866 </summary>
867 </member>
868 <member name="T:Mono.Addins.Description.ObjectDescription">
869 <summary>
870 Base class for add-in description definitions.
871 </summary>
872 </member>
873 <member name="P:Mono.Addins.Description.ObjectDescription.Parent">
874 <summary>
875 Gets the parent object.
876 </summary>
877 <value>
878 The parent object.
879 </value>
880 </member>
881 <member name="P:Mono.Addins.Description.ObjectDescription.ParentAddinDescription">
882 <summary>
883 Gets the parent add-in description.
884 </summary>
885 <value>
886 The parent add-in description.
887 </value>
888 </member>
889 <member name="T:Mono.Addins.NodeElement">
890 <summary>
891 An extension node element.
892 </summary>
893 <remarks>
894 A raw representation of an extension node. Contains the basic information
895 needed to create ExtensionNode instances.
896 </remarks>
897 </member>
898 <member name="M:Mono.Addins.NodeElement.GetAttribute(System.String)">
899 <summary>
900 Gets element attributes.
901 </summary>
902 <param name="key">
903 Name of the attribute
904 </param>
905 <returns>
906 The value of the attribute
907 </returns>
908 </member>
909 <member name="P:Mono.Addins.NodeElement.NodeName">
910 <summary>
911 Name of the node element.
912 </summary>
913 </member>
914 <member name="P:Mono.Addins.NodeElement.Attributes">
915 <summary>
916 Gets all attributes defined in the element.
917 </summary>
918 </member>
919 <member name="P:Mono.Addins.NodeElement.ChildNodes">
920 <summary>
921 Gets child nodes of this node
922 </summary>
923 </member>
924 <member name="M:Mono.Addins.Description.ExtensionNodeDescription.#ctor(System.String)">
925 <summary>
926 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ExtensionNodeDescription"/> class.
927 </summary>
928 <param name="nodeName">
929 Node name.
930 </param>
931 </member>
932 <member name="M:Mono.Addins.Description.ExtensionNodeDescription.GetNodeType">
933 <summary>
934 Gets the type of the node.
935 </summary>
936 <returns>
937 The node type.
938 </returns>
939 <remarks>
940 This method only works when the add-in description to which the node belongs has been
941 loaded from an add-in registry.
942 </remarks>
943 </member>
944 <member name="M:Mono.Addins.Description.ExtensionNodeDescription.GetParentPath">
945 <summary>
946 Gets the extension path under which this node is registered
947 </summary>
948 <returns>
949 The parent path.
950 </returns>
951 <remarks>
952 For example, if the id of the node is 'ThisNode', and the node is a child of another node with id 'ParentNode', and
953 that parent node is defined in an extension with the path '/Core/MainExtension', then the parent path is 'Core/MainExtension/ParentNode'.
954 </remarks>
955 </member>
956 <member name="M:Mono.Addins.Description.ExtensionNodeDescription.GetAttribute(System.String)">
957 <summary>
958 Gets the value of an attribute.
959 </summary>
960 <returns>
961 The value of the attribute, or an empty string if the attribute is not defined.
962 </returns>
963 <param name='key'>
964 Name of the attribute.
965 </param>
966 </member>
967 <member name="M:Mono.Addins.Description.ExtensionNodeDescription.SetAttribute(System.String,System.String)">
968 <summary>
969 Sets the value of an attribute.
970 </summary>
971 <param name='key'>
972 Name of the attribute
973 </param>
974 <param name='value'>
975 The value.
976 </param>
977 </member>
978 <member name="M:Mono.Addins.Description.ExtensionNodeDescription.RemoveAttribute(System.String)">
979 <summary>
980 Removes an attribute.
981 </summary>
982 <param name='name'>
983 Name of the attribute to remove.
984 </param>
985 </member>
986 <member name="P:Mono.Addins.Description.ExtensionNodeDescription.NodeName">
987 <summary>
988 Gets or sets the name of the node.
989 </summary>
990 <value>
991 The name of the node.
992 </value>
993 </member>
994 <member name="P:Mono.Addins.Description.ExtensionNodeDescription.Id">
995 <summary>
996 Gets or sets the identifier of the node.
997 </summary>
998 <value>
999 The identifier.
1000 </value>
1001 </member>
1002 <member name="P:Mono.Addins.Description.ExtensionNodeDescription.InsertAfter">
1003 <summary>
1004 Gets or sets the identifier of the node after which this node has to be inserted
1005 </summary>
1006 <value>
1007 The identifier of the reference node
1008 </value>
1009 </member>
1010 <member name="P:Mono.Addins.Description.ExtensionNodeDescription.InsertBefore">
1011 <summary>
1012 Gets or sets the identifier of the node before which this node has to be inserted
1013 </summary>
1014 <value>
1015 The identifier of the reference node
1016 </value>
1017 </member>
1018 <member name="P:Mono.Addins.Description.ExtensionNodeDescription.IsCondition">
1019 <summary>
1020 Gets a value indicating whether this node is a condition.
1021 </summary>
1022 <value>
1023 <c>true</c> if this node is a condition; otherwise, <c>false</c>.
1024 </value>
1025 </member>
1026 <member name="P:Mono.Addins.Description.ExtensionNodeDescription.Attributes">
1027 <summary>
1028 Gets the attributes of the node.
1029 </summary>
1030 <value>
1031 The attributes.
1032 </value>
1033 </member>
1034 <member name="P:Mono.Addins.Description.ExtensionNodeDescription.ChildNodes">
1035 <summary>
1036 Gets the child nodes.
1037 </summary>
1038 <value>
1039 The child nodes.
1040 </value>
1041 </member>
1042 <member name="T:Mono.Addins.Description.ExtensionNodeType">
1043 <summary>
1044 An extension node type definition.
1045 </summary>
1046 </member>
1047 <member name="T:Mono.Addins.Description.ExtensionNodeSet">
1048 <summary>
1049 An extension node set definition.
1050 </summary>
1051 <remarks>
1052 Node sets allow grouping a set of extension node declarations and give an identifier to that group
1053 (the node set). Once a node set is declared, it can be referenced from several extension points
1054 which use the same extension node structure. Extension node sets also allow declaring recursive
1055 extension nodes, that is, extension nodes with a tree structure.
1056 </remarks>
1057 </member>
1058 <member name="M:Mono.Addins.Description.ExtensionNodeSet.CopyFrom(Mono.Addins.Description.ExtensionNodeSet)">
1059 <summary>
1060 Copies data from another node set
1061 </summary>
1062 <param name='nset'>
1063 Node set from which to copy
1064 </param>
1065 </member>
1066 <member name="M:Mono.Addins.Description.ExtensionNodeSet.#ctor">
1067 <summary>
1068 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ExtensionNodeSet"/> class.
1069 </summary>
1070 </member>
1071 <member name="M:Mono.Addins.Description.ExtensionNodeSet.GetAllowedNodeTypes">
1072 <summary>
1073 Gets all the allowed node types.
1074 </summary>
1075 <returns>
1076 The allowed node types.
1077 </returns>
1078 <remarks>
1079 Gets all allowed node types, including those defined in included node sets.
1080 This method only works for descriptions loaded from a registry.
1081 </remarks>
1082 </member>
1083 <member name="P:Mono.Addins.Description.ExtensionNodeSet.Id">
1084 <summary>
1085 Gets or sets the identifier of the node set.
1086 </summary>
1087 <value>
1088 The identifier.
1089 </value>
1090 </member>
1091 <member name="P:Mono.Addins.Description.ExtensionNodeSet.NodeTypes">
1092 <summary>
1093 Gets the node types allowed in this node set.
1094 </summary>
1095 <value>
1096 The node types.
1097 </value>
1098 </member>
1099 <member name="P:Mono.Addins.Description.ExtensionNodeSet.NodeSets">
1100 <summary>
1101 Gets a list of other node sets included in this node set.
1102 </summary>
1103 <value>
1104 The node sets.
1105 </value>
1106 </member>
1107 <member name="M:Mono.Addins.Description.ExtensionNodeType.#ctor">
1108 <summary>
1109 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ExtensionNodeType"/> class.
1110 </summary>
1111 </member>
1112 <member name="M:Mono.Addins.Description.ExtensionNodeType.CopyFrom(Mono.Addins.Description.ExtensionNodeType)">
1113 <summary>
1114 Copies data from another node set
1115 </summary>
1116 </member>
1117 <member name="P:Mono.Addins.Description.ExtensionNodeType.TypeName">
1118 <summary>
1119 Type that implements the extension node.
1120 </summary>
1121 <value>
1122 The full name of the type.
1123 </value>
1124 </member>
1125 <member name="P:Mono.Addins.Description.ExtensionNodeType.NodeName">
1126 <summary>
1127 Element name to be used when defining an extension in an XML manifest. The default name is "Type".
1128 </summary>
1129 <value>
1130 The name of the node.
1131 </value>
1132 </member>
1133 <member name="P:Mono.Addins.Description.ExtensionNodeType.ObjectTypeName">
1134 <summary>
1135 Type of the object that the extension creates (only valid for TypeNodeExtension).
1136 </summary>
1137 </member>
1138 <member name="P:Mono.Addins.Description.ExtensionNodeType.ExtensionAttributeTypeName">
1139 <summary>
1140 Name of the custom attribute that can be used to declare nodes of this type
1141 </summary>
1142 </member>
1143 <member name="P:Mono.Addins.Description.ExtensionNodeType.Description">
1144 <summary>
1145 Long description of the node type
1146 </summary>
1147 </member>
1148 <member name="P:Mono.Addins.Description.ExtensionNodeType.Attributes">
1149 <summary>
1150 Attributes supported by the extension node type.
1151 </summary>
1152 </member>
1153 <member name="T:Mono.Addins.Description.AddinDescription">
1154 <summary>
1155 An add-in description
1156 </summary>
1157 <remarks>
1158 This class represent an add-in manifest. It has properties for getting
1159 all information, and methods for loading and saving files.
1160 </remarks>
1161 </member>
1162 <member name="M:Mono.Addins.Description.AddinDescription.AddExtensionPoint(System.String)">
1163 <summary>
1164 Adds an extension point.
1165 </summary>
1166 <returns>
1167 The extension point.
1168 </returns>
1169 <param name='path'>
1170 Path that identifies the new extension point.
1171 </param>
1172 </member>
1173 <member name="M:Mono.Addins.Description.AddinDescription.Save(System.String)">
1174 <summary>
1175 Saves the add-in description.
1176 </summary>
1177 <param name='fileName'>
1178 File name where to save this instance
1179 </param>
1180 <remarks>
1181 Saves the add-in description to the specified file and sets the FileName property.
1182 </remarks>
1183 </member>
1184 <member name="M:Mono.Addins.Description.AddinDescription.Save">
1185 <summary>
1186 Saves the add-in description.
1187 </summary>
1188 <exception cref="T:System.InvalidOperationException">
1189 It is thrown if FileName is not set
1190 </exception>
1191 <remarks>
1192 The description is saved to the file specified in the FileName property.
1193 </remarks>
1194 </member>
1195 <member name="M:Mono.Addins.Description.AddinDescription.SaveToXml">
1196 <summary>
1197 Generates an XML representation of the add-in description
1198 </summary>
1199 <returns>
1200 An XML manifest.
1201 </returns>
1202 </member>
1203 <member name="M:Mono.Addins.Description.AddinDescription.Read(System.String)">
1204 <summary>
1205 Load an add-in description from a file
1206 </summary>
1207 <param name='configFile'>
1208 The file.
1209 </param>
1210 </member>
1211 <member name="M:Mono.Addins.Description.AddinDescription.Read(System.IO.Stream,System.String)">
1212 <summary>
1213 Load an add-in description from a stream
1214 </summary>
1215 <param name='stream'>
1216 The stream
1217 </param>
1218 <param name='basePath'>
1219 The path to be used to resolve relative file paths.
1220 </param>
1221 </member>
1222 <member name="M:Mono.Addins.Description.AddinDescription.Read(System.IO.TextReader,System.String)">
1223 <summary>
1224 Load an add-in description from a text reader
1225 </summary>
1226 <param name='reader'>
1227 The text reader
1228 </param>
1229 <param name='basePath'>
1230 The path to be used to resolve relative file paths.
1231 </param>
1232 </member>
1233 <member name="M:Mono.Addins.Description.AddinDescription.Verify">
1234 <summary>
1235 Verify this instance.
1236 </summary>
1237 <remarks>
1238 This method checks all the definitions in the description and returns a list of errors.
1239 If the returned list is empty, it means that the description is valid.
1240 </remarks>
1241 </member>
1242 <member name="P:Mono.Addins.Description.AddinDescription.AddinFile">
1243 <summary>
1244 Gets or sets the path to the main addin file.
1245 </summary>
1246 <value>
1247 The addin file.
1248 </value>
1249 <remarks>
1250 The add-in file can be either the main assembly of an add-in or an xml manifest.
1251 </remarks>
1252 </member>
1253 <member name="P:Mono.Addins.Description.AddinDescription.AddinId">
1254 <summary>
1255 Gets the addin identifier.
1256 </summary>
1257 <value>
1258 The addin identifier.
1259 </value>
1260 </member>
1261 <member name="P:Mono.Addins.Description.AddinDescription.LocalId">
1262 <summary>
1263 Gets or sets the local identifier.
1264 </summary>
1265 <value>
1266 The local identifier.
1267 </value>
1268 </member>
1269 <member name="P:Mono.Addins.Description.AddinDescription.Namespace">
1270 <summary>
1271 Gets or sets the namespace.
1272 </summary>
1273 <value>
1274 The namespace.
1275 </value>
1276 </member>
1277 <member name="P:Mono.Addins.Description.AddinDescription.Name">
1278 <summary>
1279 Gets or sets the display name of the add-in.
1280 </summary>
1281 <value>
1282 The name.
1283 </value>
1284 </member>
1285 <member name="P:Mono.Addins.Description.AddinDescription.Version">
1286 <summary>
1287 Gets or sets the version.
1288 </summary>
1289 <value>
1290 The version.
1291 </value>
1292 </member>
1293 <member name="P:Mono.Addins.Description.AddinDescription.CompatVersion">
1294 <summary>
1295 Gets or sets the version of the add-in with which this add-in is backwards compatible.
1296 </summary>
1297 <value>
1298 The compat version.
1299 </value>
1300 </member>
1301 <member name="P:Mono.Addins.Description.AddinDescription.Author">
1302 <summary>
1303 Gets or sets the author.
1304 </summary>
1305 <value>
1306 The author.
1307 </value>
1308 </member>
1309 <member name="P:Mono.Addins.Description.AddinDescription.Url">
1310 <summary>
1311 Gets or sets the Url where more information about the add-in can be found.
1312 </summary>
1313 <value>
1314 The URL.
1315 </value>
1316 </member>
1317 <member name="P:Mono.Addins.Description.AddinDescription.Copyright">
1318 <summary>
1319 Gets or sets the copyright.
1320 </summary>
1321 <value>
1322 The copyright.
1323 </value>
1324 </member>
1325 <member name="P:Mono.Addins.Description.AddinDescription.Description">
1326 <summary>
1327 Gets or sets the description of the add-in.
1328 </summary>
1329 <value>
1330 The description.
1331 </value>
1332 </member>
1333 <member name="P:Mono.Addins.Description.AddinDescription.Category">
1334 <summary>
1335 Gets or sets the category of the add-in.
1336 </summary>
1337 <value>
1338 The category.
1339 </value>
1340 </member>
1341 <member name="P:Mono.Addins.Description.AddinDescription.BasePath">
1342 <summary>
1343 Gets the base path for locating external files relative to the add-in.
1344 </summary>
1345 <value>
1346 The base path.
1347 </value>
1348 </member>
1349 <member name="P:Mono.Addins.Description.AddinDescription.IsRoot">
1350 <summary>
1351 Gets or sets a value indicating whether this instance is an add-in root.
1352 </summary>
1353 <value>
1354 <c>true</c> if this instance is an add-in root; otherwise, <c>false</c>.
1355 </value>
1356 </member>
1357 <member name="P:Mono.Addins.Description.AddinDescription.EnabledByDefault">
1358 <summary>
1359 Gets or sets a value indicating whether this add-in is enabled by default.
1360 </summary>
1361 <value>
1362 <c>true</c> if enabled by default; otherwise, <c>false</c>.
1363 </value>
1364 </member>
1365 <member name="P:Mono.Addins.Description.AddinDescription.Flags">
1366 <summary>
1367 Gets or sets the add-in flags.
1368 </summary>
1369 <value>
1370 The flags.
1371 </value>
1372 </member>
1373 <member name="P:Mono.Addins.Description.AddinDescription.CanDisable">
1374 <summary>
1375 Gets a value indicating whether this add-in can be disabled.
1376 </summary>
1377 <value>
1378 <c>true</c> if this add-in can be disabled; otherwise, <c>false</c>.
1379 </value>
1380 </member>
1381 <member name="P:Mono.Addins.Description.AddinDescription.CanUninstall">
1382 <summary>
1383 Gets a value indicating whether this add-in can be uninstalled.
1384 </summary>
1385 <value>
1386 <c>true</c> if this instance can be uninstalled; otherwise, <c>false</c>.
1387 </value>
1388 </member>
1389 <member name="P:Mono.Addins.Description.AddinDescription.IsHidden">
1390 <summary>
1391 Gets a value indicating whether this add-in is hidden.
1392 </summary>
1393 <value>
1394 <c>true</c> if this add-in is hidden; otherwise, <c>false</c>.
1395 </value>
1396 </member>
1397 <member name="P:Mono.Addins.Description.AddinDescription.AllFiles">
1398 <summary>
1399 Gets all external files
1400 </summary>
1401 <value>
1402 All files.
1403 </value>
1404 <remarks>
1405 External files are data files and assemblies explicitly referenced in the Runtime section of the add-in manifest.
1406 </remarks>
1407 </member>
1408 <member name="P:Mono.Addins.Description.AddinDescription.AllIgnorePaths">
1409 <summary>
1410 Gets all paths to be ignored by the add-in scanner.
1411 </summary>
1412 <value>
1413 All paths to be ignored.
1414 </value>
1415 </member>
1416 <member name="P:Mono.Addins.Description.AddinDescription.MainModule">
1417 <summary>
1418 Gets the main module.
1419 </summary>
1420 <value>
1421 The main module.
1422 </value>
1423 </member>
1424 <member name="P:Mono.Addins.Description.AddinDescription.OptionalModules">
1425 <summary>
1426 Gets the optional modules.
1427 </summary>
1428 <value>
1429 The optional modules.
1430 </value>
1431 <remarks>
1432 Optional modules can be used to declare extensions which will be registered only if some specified
1433 add-in dependencies can be satisfied. Dependencies specified in optional modules are 'soft dependencies',
1434 which means that they don't need to be satisfied in order to load the add-in.
1435 </remarks>
1436 </member>
1437 <member name="P:Mono.Addins.Description.AddinDescription.AllModules">
1438 <summary>
1439 Gets all modules (including the main module and all optional modules)
1440 </summary>
1441 <value>
1442 All modules.
1443 </value>
1444 </member>
1445 <member name="P:Mono.Addins.Description.AddinDescription.ExtensionNodeSets">
1446 <summary>
1447 Gets the extension node sets.
1448 </summary>
1449 <value>
1450 The extension node sets.
1451 </value>
1452 </member>
1453 <member name="P:Mono.Addins.Description.AddinDescription.ExtensionPoints">
1454 <summary>
1455 Gets the extension points.
1456 </summary>
1457 <value>
1458 The extension points.
1459 </value>
1460 </member>
1461 <member name="P:Mono.Addins.Description.AddinDescription.ConditionTypes">
1462 <summary>
1463 Gets the condition types.
1464 </summary>
1465 <value>
1466 The condition types.
1467 </value>
1468 </member>
1469 <member name="P:Mono.Addins.Description.AddinDescription.Localizer">
1470 <summary>
1471 Gets or sets the add-in localizer.
1472 </summary>
1473 <value>
1474 The description of the add-in localizer for this add-in.
1475 </value>
1476 </member>
1477 <member name="P:Mono.Addins.Description.AddinDescription.Properties">
1478 <summary>
1479 Custom properties specified in the add-in header
1480 </summary>
1481 </member>
1482 <member name="P:Mono.Addins.Description.AddinDescription.FileName">
1483 <summary>
1484 Gets or sets file where this description is stored
1485 </summary>
1486 <value>
1487 The file path.
1488 </value>
1489 </member>
1490 <member name="T:Mono.Addins.AddinFlagsAttribute">
1491 <summary>
1492 Addin flags attribute.
1493 </summary>
1494 </member>
1495 <member name="M:Mono.Addins.AddinFlagsAttribute.#ctor(Mono.Addins.Description.AddinFlags)">
1496 <summary>
1497 Initializes the attribute
1498 </summary>
1499 <param name="flags">
1500 Add-in flags
1501 </param>
1502 </member>
1503 <member name="P:Mono.Addins.AddinFlagsAttribute.Flags">
1504 <summary>
1505 Add-in flags
1506 </summary>
1507 </member>
1508 <member name="T:Mono.Addins.AddinEventHandler">
1509 <summary>
1510 Delegate to be used in add-in engine events
1511 </summary>
1512 </member>
1513 <member name="T:Mono.Addins.AddinEventArgs">
1514 <summary>
1515 Provides information about an add-in engine event.
1516 </summary>
1517 </member>
1518 <member name="M:Mono.Addins.AddinEventArgs.#ctor(System.String)">
1519 <summary>
1520 Initializes a new instance of the <see cref="T:Mono.Addins.AddinEventArgs"/> class.
1521 </summary>
1522 <param name="addinId">
1523 Add-in identifier.
1524 </param>
1525 </member>
1526 <member name="P:Mono.Addins.AddinEventArgs.AddinId">
1527 <summary>
1528 Identifier of the add-in that generated the event.
1529 </summary>
1530 </member>
1531 <member name="T:Mono.Addins.NodeAttribute">
1532 <summary>
1533 Attribute of a NodeElement.
1534 </summary>
1535 </member>
1536 <member name="P:Mono.Addins.NodeAttribute.Name">
1537 <summary>
1538 Name of the attribute.
1539 </summary>
1540 </member>
1541 <member name="P:Mono.Addins.NodeAttribute.Value">
1542 <summary>
1543 Value of the attribute.
1544 </summary>
1545 </member>
1546 <member name="T:Mono.Addins.Database.IAssemblyLocator">
1547 <summary>
1548 Allows finding assemblies in the file system
1549 </summary>
1550 </member>
1551 <member name="M:Mono.Addins.Database.IAssemblyLocator.GetAssemblyLocation(System.String)">
1552 <summary>
1553 Locates an assembly
1554 </summary>
1555 <returns>
1556 The full path to the assembly, or null if not found
1557 </returns>
1558 <param name='fullName'>
1559 Full name of the assembly
1560 </param>
1561 </member>
1562 <member name="T:Mono.Addins.Description.AddinProperty">
1563 <summary>
1564 An add-in property.
1565 </summary>
1566 </member>
1567 <member name="P:Mono.Addins.Description.AddinProperty.Name">
1568 <summary>
1569 Name of the property
1570 </summary>
1571 </member>
1572 <member name="P:Mono.Addins.Description.AddinProperty.Locale">
1573 <summary>
1574 Locale of the property. It is null if the property is not localized.
1575 </summary>
1576 </member>
1577 <member name="P:Mono.Addins.Description.AddinProperty.Value">
1578 <summary>
1579 Value of the property.
1580 </summary>
1581 </member>
1582 <member name="T:Mono.Addins.Localization.IAddinLocalizerFactory">
1583 <summary>
1584 A localizer factory.
1585 </summary>
1586 </member>
1587 <member name="M:Mono.Addins.Localization.IAddinLocalizerFactory.CreateLocalizer(Mono.Addins.RuntimeAddin,Mono.Addins.NodeElement)">
1588 <summary>
1589 Creates a localizer for an add-in.
1590 </summary>
1591 <returns>
1592 The localizer.
1593 </returns>
1594 <param name='addin'>
1595 The add-in for which to create the localizer.
1596 </param>
1597 <param name='element'>
1598 Localizer parameters.
1599 </param>
1600 </member>
1601 <member name="T:Mono.Addins.Description.Dependency">
1602 <summary>
1603 Definition of an add-in dependency.
1604 </summary>
1605 </member>
1606 <member name="P:Mono.Addins.Description.Dependency.Name">
1607 <summary>
1608 Gets the display name of the dependency.
1609 </summary>
1610 <value>
1611 The name.
1612 </value>
1613 </member>
1614 <member name="T:Mono.Addins.Description.ExtensionNodeSetCollection">
1615 <summary>
1616 A collection of node sets.
1617 </summary>
1618 </member>
1619 <member name="M:Mono.Addins.Description.ExtensionNodeSetCollection.#ctor">
1620 <summary>
1621 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ExtensionNodeSetCollection"/> class.
1622 </summary>
1623 </member>
1624 <member name="P:Mono.Addins.Description.ExtensionNodeSetCollection.Item(System.Int32)">
1625 <summary>
1626 Gets the <see cref="T:Mono.Addins.Description.ExtensionNodeSet"/> at the specified index.
1627 </summary>
1628 <param name="n">
1629 The index.
1630 </param>
1631 </member>
1632 <member name="P:Mono.Addins.Description.ExtensionNodeSetCollection.Item(System.String)">
1633 <summary>
1634 Gets the <see cref="T:Mono.Addins.Description.ExtensionNodeSet"/> with the specified id.
1635 </summary>
1636 <param name="id">
1637 Identifier.
1638 </param>
1639 </member>
1640 <member name="T:Mono.Addins.AddinEngine">
1641 <summary>
1642 An add-in engine.
1643 </summary>
1644 <remarks>
1645 This class allows hosting several independent add-in engines in a single application domain.
1646 In general, applications use the AddinManager class to query and manage extensions. This class is static,
1647 so the API is easily accessible. However, some kind applications may need to use several isolated
1648 add-in engines, and in this case the AddinManager class can't be used, because it is bound to a single
1649 add-in engine. Those applications can instead create several instances of the AddinEngine class. Each
1650 add-in engine can be independently initialized with different add-in registries and extension models.
1651 </remarks>
1652 </member>
1653 <member name="T:Mono.Addins.ExtensionContext">
1654 <summary>
1655 An extension context.
1656 </summary>
1657 <remarks>
1658 Extension contexts can be used to query the extension tree
1659 using particular condition values. Extension points which
1660 declare the availability of a condition type can only be
1661 queryed using an extension context which provides an
1662 evaluator for that condition.
1663 </remarks>
1664 </member>
1665 <member name="M:Mono.Addins.ExtensionContext.RegisterCondition(System.String,Mono.Addins.ConditionType)">
1666 <summary>
1667 Registers a new condition in the extension context.
1668 </summary>
1669 <param name="id">
1670 Identifier of the condition.
1671 </param>
1672 <param name="type">
1673 Condition evaluator.
1674 </param>
1675 <remarks>
1676 The registered condition will be particular to this extension context.
1677 Any event that might be fired as a result of changes in the condition will
1678 only be fired in this context.
1679 </remarks>
1680 </member>
1681 <member name="M:Mono.Addins.ExtensionContext.RegisterCondition(System.String,System.Type)">
1682 <summary>
1683 Registers a new condition in the extension context.
1684 </summary>
1685 <param name="id">
1686 Identifier of the condition.
1687 </param>
1688 <param name="type">
1689 Type of the condition evaluator. Must be a subclass of Mono.Addins.ConditionType.
1690 </param>
1691 <remarks>
1692 The registered condition will be particular to this extension context. Any event
1693 that might be fired as a result of changes in the condition will only be fired in this context.
1694 </remarks>
1695 </member>
1696 <member name="M:Mono.Addins.ExtensionContext.GetExtensionNode(System.String)">
1697 <summary>
1698 Returns the extension node in a path
1699 </summary>
1700 <param name="path">
1701 Location of the node.
1702 </param>
1703 <returns>
1704 The node, or null if not found.
1705 </returns>
1706 </member>
1707 <member name="M:Mono.Addins.ExtensionContext.GetExtensionNode``1(System.String)">
1708 <summary>
1709 Returns the extension node in a path
1710 </summary>
1711 <param name="path">
1712 Location of the node.
1713 </param>
1714 <returns>
1715 The node, or null if not found.
1716 </returns>
1717 </member>
1718 <member name="M:Mono.Addins.ExtensionContext.GetExtensionNodes(System.String)">
1719 <summary>
1720 Gets extension nodes registered in a path.
1721 </summary>
1722 <param name="path">
1723 An extension path.>
1724 </param>
1725 <returns>
1726 All nodes registered in the provided path.
1727 </returns>
1728 </member>
1729 <member name="M:Mono.Addins.ExtensionContext.GetExtensionNodes``1(System.String)">
1730 <summary>
1731 Gets extension nodes registered in a path.
1732 </summary>
1733 <param name="path">
1734 An extension path.
1735 </param>
1736 <returns>
1737 A list of nodes
1738 </returns>
1739 <remarks>
1740 This method returns all nodes registered under the provided path.
1741 It will throw a InvalidOperationException if the type of one of
1742 the registered nodes is not assignable to the provided type.
1743 </remarks>
1744 </member>
1745 <member name="M:Mono.Addins.ExtensionContext.GetExtensionNodes(System.Type)">
1746 <summary>
1747 Gets extension nodes for a type extension point
1748 </summary>
1749 <param name="instanceType">
1750 Type defining the extension point
1751 </param>
1752 <returns>
1753 A list of nodes
1754 </returns>
1755 <remarks>
1756 This method returns all extension nodes bound to the provided type.
1757 </remarks>
1758 </member>
1759 <member name="M:Mono.Addins.ExtensionContext.GetExtensionNodes(System.Type,System.Type)">
1760 <summary>
1761 Gets extension nodes for a type extension point
1762 </summary>
1763 <param name="instanceType">
1764 Type defining the extension point
1765 </param>
1766 <param name="expectedNodeType">
1767 Expected extension node type
1768 </param>
1769 <returns>
1770 A list of nodes
1771 </returns>
1772 <remarks>
1773 This method returns all nodes registered for the provided type.
1774 It will throw a InvalidOperationException if the type of one of
1775 the registered nodes is not assignable to the provided node type.
1776 </remarks>
1777 </member>
1778 <member name="M:Mono.Addins.ExtensionContext.GetExtensionNodes``1(System.Type)">
1779 <summary>
1780 Gets extension nodes for a type extension point
1781 </summary>
1782 <param name="instanceType">
1783 Type defining the extension point
1784 </param>
1785 <returns>
1786 A list of nodes
1787 </returns>
1788 <remarks>
1789 This method returns all nodes registered for the provided type.
1790 It will throw a InvalidOperationException if the type of one of
1791 the registered nodes is not assignable to the specified node type argument.
1792 </remarks>
1793 </member>
1794 <member name="M:Mono.Addins.ExtensionContext.GetExtensionNodes(System.String,System.Type)">
1795 <summary>
1796 Gets extension nodes registered in a path.
1797 </summary>
1798 <param name="path">
1799 An extension path.
1800 </param>
1801 <param name="expectedNodeType">
1802 Expected node type.
1803 </param>
1804 <returns>
1805 A list of nodes
1806 </returns>
1807 <remarks>
1808 This method returns all nodes registered under the provided path.
1809 It will throw a InvalidOperationException if the type of one of
1810 the registered nodes is not assignable to the provided type.
1811 </remarks>
1812 </member>
1813 <member name="M:Mono.Addins.ExtensionContext.GetExtensionObjects(System.Type)">
1814 <summary>
1815 Gets extension objects registered for a type extension point.
1816 </summary>
1817 <param name="instanceType">
1818 Type defining the extension point
1819 </param>
1820 <returns>
1821 A list of objects
1822 </returns>
1823 </member>
1824 <member name="M:Mono.Addins.ExtensionContext.GetExtensionObjects``1">
1825 <summary>
1826 Gets extension objects registered for a type extension point.
1827 </summary>
1828 <returns>
1829 A list of objects
1830 </returns>
1831 <remarks>
1832 The type argument of this generic method is the type that defines
1833 the extension point.
1834 </remarks>
1835 </member>
1836 <member name="M:Mono.Addins.ExtensionContext.GetExtensionObjects(System.Type,System.Boolean)">
1837 <summary>
1838 Gets extension objects registered for a type extension point.
1839 </summary>
1840 <param name="instanceType">
1841 Type defining the extension point
1842 </param>
1843 <param name="reuseCachedInstance">
1844 When set to True, it will return instances created in previous calls.
1845 </param>
1846 <returns>
1847 A list of extension objects.
1848 </returns>
1849 </member>
1850 <member name="M:Mono.Addins.ExtensionContext.GetExtensionObjects``1(System.Boolean)">
1851 <summary>
1852 Gets extension objects registered for a type extension point.
1853 </summary>
1854 <param name="reuseCachedInstance">
1855 When set to True, it will return instances created in previous calls.
1856 </param>
1857 <returns>
1858 A list of extension objects.
1859 </returns>
1860 <remarks>
1861 The type argument of this generic method is the type that defines
1862 the extension point.
1863 </remarks>
1864 </member>
1865 <member name="M:Mono.Addins.ExtensionContext.GetExtensionObjects(System.String)">
1866 <summary>
1867 Gets extension objects registered in a path
1868 </summary>
1869 <param name="path">
1870 An extension path.
1871 </param>
1872 <returns>
1873 An array of objects registered in the path.
1874 </returns>
1875 <remarks>
1876 This method can only be used if all nodes in the provided extension path
1877 are of type Mono.Addins.TypeExtensionNode. The returned array is composed
1878 by all objects created by calling the TypeExtensionNode.CreateInstance()
1879 method for each node.
1880 </remarks>
1881 </member>
1882 <member name="M:Mono.Addins.ExtensionContext.GetExtensionObjects(System.String,System.Boolean)">
1883 <summary>
1884 Gets extension objects registered in a path.
1885 </summary>
1886 <param name="path">
1887 An extension path.
1888 </param>
1889 <param name="reuseCachedInstance">
1890 When set to True, it will return instances created in previous calls.
1891 </param>
1892 <returns>
1893 An array of objects registered in the path.
1894 </returns>
1895 <remarks>
1896 This method can only be used if all nodes in the provided extension path
1897 are of type Mono.Addins.TypeExtensionNode. The returned array is composed
1898 by all objects created by calling the TypeExtensionNode.CreateInstance()
1899 method for each node (or TypeExtensionNode.GetInstance() if
1900 reuseCachedInstance is set to true)
1901 </remarks>
1902 </member>
1903 <member name="M:Mono.Addins.ExtensionContext.GetExtensionObjects(System.String,System.Type)">
1904 <summary>
1905 Gets extension objects registered in a path.
1906 </summary>
1907 <param name="path">
1908 An extension path.
1909 </param>
1910 <param name="arrayElementType">
1911 Type of the return array elements.
1912 </param>
1913 <returns>
1914 An array of objects registered in the path.
1915 </returns>
1916 <remarks>
1917 This method can only be used if all nodes in the provided extension path
1918 are of type Mono.Addins.TypeExtensionNode. The returned array is composed
1919 by all objects created by calling the TypeExtensionNode.CreateInstance()
1920 method for each node.
1921
1922 An InvalidOperationException exception is thrown if one of the found
1923 objects is not a subclass of the provided type.
1924 </remarks>
1925 </member>
1926 <member name="M:Mono.Addins.ExtensionContext.GetExtensionObjects``1(System.String)">
1927 <summary>
1928 Gets extension objects registered in a path.
1929 </summary>
1930 <param name="path">
1931 An extension path.
1932 </param>
1933 <returns>
1934 An array of objects registered in the path.
1935 </returns>
1936 <remarks>
1937 This method can only be used if all nodes in the provided extension path
1938 are of type Mono.Addins.TypeExtensionNode. The returned array is composed
1939 by all objects created by calling the TypeExtensionNode.CreateInstance()
1940 method for each node.
1941
1942 An InvalidOperationException exception is thrown if one of the found
1943 objects is not a subclass of the provided type.
1944 </remarks>
1945 </member>
1946 <member name="M:Mono.Addins.ExtensionContext.GetExtensionObjects``1(System.String,System.Boolean)">
1947 <summary>
1948 Gets extension objects registered in a path.
1949 </summary>
1950 <param name="path">
1951 An extension path.
1952 </param>
1953 <param name="reuseCachedInstance">
1954 When set to True, it will return instances created in previous calls.
1955 </param>
1956 <returns>
1957 An array of objects registered in the path.
1958 </returns>
1959 <remarks>
1960 This method can only be used if all nodes in the provided extension path
1961 are of type Mono.Addins.TypeExtensionNode. The returned array is composed
1962 by all objects created by calling the TypeExtensionNode.CreateInstance()
1963 method for each node (or TypeExtensionNode.GetInstance() if
1964 reuseCachedInstance is set to true).
1965
1966 An InvalidOperationException exception is thrown if one of the found
1967 objects is not a subclass of the provided type.
1968 </remarks>
1969 </member>
1970 <member name="M:Mono.Addins.ExtensionContext.GetExtensionObjects(System.String,System.Type,System.Boolean)">
1971 <summary>
1972 Gets extension objects registered in a path.
1973 </summary>
1974 <param name="path">
1975 An extension path.
1976 </param>
1977 <param name="arrayElementType">
1978 Type of the return array elements.
1979 </param>
1980 <param name="reuseCachedInstance">
1981 When set to True, it will return instances created in previous calls.
1982 </param>
1983 <returns>
1984 An array of objects registered in the path.
1985 </returns>
1986 <remarks>
1987 This method can only be used if all nodes in the provided extension path
1988 are of type Mono.Addins.TypeExtensionNode. The returned array is composed
1989 by all objects created by calling the TypeExtensionNode.CreateInstance()
1990 method for each node (or TypeExtensionNode.GetInstance() if
1991 reuseCachedInstance is set to true).
1992
1993 An InvalidOperationException exception is thrown if one of the found
1994 objects is not a subclass of the provided type.
1995 </remarks>
1996 </member>
1997 <member name="M:Mono.Addins.ExtensionContext.AddExtensionNodeHandler(System.String,Mono.Addins.ExtensionNodeEventHandler)">
1998 <summary>
1999 Register a listener of extension node changes.
2000 </summary>
2001 <param name="path">
2002 Path of the node.
2003 </param>
2004 <param name="handler">
2005 A handler method.
2006 </param>
2007 <remarks>
2008 Hosts can call this method to be subscribed to an extension change
2009 event for a specific path. The event will be fired once for every
2010 individual node change. The event arguments include the change type
2011 (Add or Remove) and the extension node added or removed.
2012
2013 NOTE: The handler will be called for all nodes existing in the path at the moment of registration.
2014 </remarks>
2015 </member>
2016 <member name="M:Mono.Addins.ExtensionContext.RemoveExtensionNodeHandler(System.String,Mono.Addins.ExtensionNodeEventHandler)">
2017 <summary>
2018 Unregister a listener of extension node changes.
2019 </summary>
2020 <param name="path">
2021 Path of the node.
2022 </param>
2023 <param name="handler">
2024 A handler method.
2025 </param>
2026 <remarks>
2027 This method unregisters a delegate from the node change event of a path.
2028 </remarks>
2029 </member>
2030 <member name="M:Mono.Addins.ExtensionContext.AddExtensionNodeHandler(System.Type,Mono.Addins.ExtensionNodeEventHandler)">
2031 <summary>
2032 Register a listener of extension node changes.
2033 </summary>
2034 <param name="instanceType">
2035 Type defining the extension point
2036 </param>
2037 <param name="handler">
2038 A handler method.
2039 </param>
2040 <remarks>
2041 Hosts can call this method to be subscribed to an extension change
2042 event for a specific type extension point. The event will be fired once for every
2043 individual node change. The event arguments include the change type
2044 (Add or Remove) and the extension node added or removed.
2045
2046 NOTE: The handler will be called for all nodes existing in the path at the moment of registration.
2047 </remarks>
2048 </member>
2049 <member name="M:Mono.Addins.ExtensionContext.RemoveExtensionNodeHandler(System.Type,Mono.Addins.ExtensionNodeEventHandler)">
2050 <summary>
2051 Unregister a listener of extension node changes.
2052 </summary>
2053 <param name="instanceType">
2054 Type defining the extension point
2055 </param>
2056 <param name="handler">
2057 A handler method.
2058 </param>
2059 </member>
2060 <member name="E:Mono.Addins.ExtensionContext.ExtensionChanged">
2061 <summary>
2062 Extension change event.
2063 </summary>
2064 <remarks>
2065 This event is fired when any extension point in the add-in system changes.
2066 The event args object provides the path of the changed extension, although
2067 it does not provide information about what changed. Hosts subscribing to
2068 this event should get the new list of nodes using a query method such as
2069 AddinManager.GetExtensionNodes() and then update whatever needs to be updated.
2070 </remarks>
2071 </member>
2072 <member name="M:Mono.Addins.AddinEngine.#ctor">
2073 <summary>
2074 Initializes a new instance of the <see cref="T:Mono.Addins.AddinEngine"/> class.
2075 </summary>
2076 </member>
2077 <member name="M:Mono.Addins.AddinEngine.Initialize(System.String)">
2078 <summary>
2079 Initializes the add-in engine
2080 </summary>
2081 <param name="configDir">
2082 Location of the add-in registry.
2083 </param>
2084 <remarks>The add-in engine needs to be initialized before doing any add-in operation.
2085 When initialized with this method, it will look for add-in in the add-in registry
2086 located in the specified path.
2087 </remarks>
2088 </member>
2089 <member name="M:Mono.Addins.AddinEngine.Initialize(System.String,System.String)">
2090 <summary>
2091 Initializes the add-in engine.
2092 </summary>
2093 <param name='configDir'>
2094 Location of the add-in registry.
2095 </param>
2096 <param name='addinsDir'>
2097 Add-ins directory. If the path is relative, it is considered to be relative
2098 to the configDir directory.
2099 </param>
2100 <remarks>
2101 The add-in engine needs to be initialized before doing any add-in operation.
2102 Configuration information about the add-in registry will be stored in the
2103 provided location. The add-in engine will look for add-ins in the provided
2104 'addinsDir' directory.
2105
2106 When specifying a path, it is possible to use a special folder name as root.
2107 For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced
2108 by the location of the Environment.SpecialFolder.Personal folder. Any value
2109 of the Environment.SpecialFolder enumeration can be used (always between square
2110 brackets)
2111 </remarks>
2112 </member>
2113 <member name="M:Mono.Addins.AddinEngine.Initialize(System.String,System.String,System.String)">
2114 <summary>
2115 Initializes the add-in engine.
2116 </summary>
2117 <param name='configDir'>
2118 Location of the add-in registry.
2119 </param>
2120 <param name='addinsDir'>
2121 Add-ins directory. If the path is relative, it is considered to be relative
2122 to the configDir directory.
2123 </param>
2124 <param name='databaseDir'>
2125 Location of the add-in database. If the path is relative, it is considered to be relative
2126 to the configDir directory.
2127 </param>
2128 <remarks>
2129 The add-in engine needs to be initialized before doing any add-in operation.
2130 Configuration information about the add-in registry will be stored in the
2131 provided location. The add-in engine will look for add-ins in the provided
2132 'addinsDir' directory. Cached information about add-ins will be stored in
2133 the 'databaseDir' directory.
2134
2135 When specifying a path, it is possible to use a special folder name as root.
2136 For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced
2137 by the location of the Environment.SpecialFolder.Personal folder. Any value
2138 of the Environment.SpecialFolder enumeration can be used (always between square
2139 brackets)
2140 </remarks>
2141 </member>
2142 <member name="M:Mono.Addins.AddinEngine.Shutdown">
2143 <summary>
2144 Finalizes the add-in engine.
2145 </summary>
2146 </member>
2147 <member name="M:Mono.Addins.AddinEngine.InitializeDefaultLocalizer(Mono.Addins.Localization.IAddinLocalizer)">
2148 <summary>
2149 Sets the default localizer to be used for this add-in engine
2150 </summary>
2151 <param name="localizer">
2152 The add-in localizer
2153 </param>
2154 </member>
2155 <member name="M:Mono.Addins.AddinEngine.CheckInstalled(System.String,System.String[])">
2156 <summary>
2157 Checks if the provided add-ins are installed, and requests the installation of those
2158 which aren't.
2159 </summary>
2160 <param name="message">
2161 Message to show to the user when new add-ins have to be installed.
2162 </param>
2163 <param name="addinIds">
2164 List of IDs of the add-ins to be checked.
2165 </param>
2166 <remarks>
2167 This method checks if the specified add-ins are installed.
2168 If some of the add-ins are not installed, it will use
2169 the installer assigned to the DefaultAddinInstaller property
2170 to install them. If the installation fails, or if DefaultAddinInstaller
2171 is not set, an exception will be thrown.
2172 </remarks>
2173 </member>
2174 <member name="M:Mono.Addins.AddinEngine.IsAddinLoaded(System.String)">
2175 <summary>
2176 Checks if an add-in has been loaded.
2177 </summary>
2178 <param name="id">
2179 Full identifier of the add-in.
2180 </param>
2181 <returns>
2182 True if the add-in is loaded.
2183 </returns>
2184 </member>
2185 <member name="M:Mono.Addins.AddinEngine.LoadAddin(Mono.Addins.IProgressStatus,System.String)">
2186 <summary>
2187 Forces the loading of an add-in.
2188 </summary>
2189 <param name="statusMonitor">
2190 Status monitor to keep track of the loading process.
2191 </param>
2192 <param name="id">
2193 Full identifier of the add-in to load.
2194 </param>
2195 <remarks>
2196 This method loads all assemblies that belong to an add-in in memory.
2197 All add-ins on which the specified add-in depends will also be loaded.
2198 Notice that in general add-ins don't need to be explicitely loaded using
2199 this method, since the add-in engine will load them on demand.
2200 </remarks>
2201 </member>
2202 <member name="M:Mono.Addins.AddinEngine.CreateExtensionContext">
2203 <summary>
2204 Creates a new extension context.
2205 </summary>
2206 <returns>
2207 The new extension context.
2208 </returns>
2209 <remarks>
2210 Extension contexts can be used to query the extension model using particular condition values.
2211 </remarks>
2212 </member>
2213 <member name="E:Mono.Addins.AddinEngine.AddinLoadError">
2214 <summary>
2215 Raised when there is an error while loading an add-in
2216 </summary>
2217 </member>
2218 <member name="E:Mono.Addins.AddinEngine.AddinLoaded">
2219 <summary>
2220 Raised when an add-in is loaded
2221 </summary>
2222 </member>
2223 <member name="E:Mono.Addins.AddinEngine.AddinUnloaded">
2224 <summary>
2225 Raised when an add-in is unloaded
2226 </summary>
2227 </member>
2228 <member name="P:Mono.Addins.AddinEngine.IsInitialized">
2229 <summary>
2230 Gets whether the add-in engine has been initialized.
2231 </summary>
2232 </member>
2233 <member name="P:Mono.Addins.AddinEngine.DefaultInstaller">
2234 <summary>
2235 Gets the default add-in installer
2236 </summary>
2237 <remarks>
2238 The default installer is used by the CheckInstalled method to request
2239 the installation of missing add-ins.
2240 </remarks>
2241 </member>
2242 <member name="P:Mono.Addins.AddinEngine.DefaultLocalizer">
2243 <summary>
2244 Gets the default localizer for this add-in engine
2245 </summary>
2246 </member>
2247 <member name="P:Mono.Addins.AddinEngine.CurrentLocalizer">
2248 <summary>
2249 Gets the localizer for the add-in that is invoking this property
2250 </summary>
2251 </member>
2252 <member name="P:Mono.Addins.AddinEngine.CurrentAddin">
2253 <summary>
2254 Gets a reference to the RuntimeAddin object for the add-in that is invoking this property
2255 </summary>
2256 </member>
2257 <member name="P:Mono.Addins.AddinEngine.Registry">
2258 <summary>
2259 Gets the add-in registry bound to this add-in engine
2260 </summary>
2261 </member>
2262 <member name="T:Mono.Addins.Database.IAssemblyReflector">
2263 <summary>
2264 An assembly reflector
2265 </summary>
2266 <remarks>
2267 This interface can be implemented to provide a custom method for getting information about assemblies.
2268 </remarks>
2269 </member>
2270 <member name="M:Mono.Addins.Database.IAssemblyReflector.Initialize(Mono.Addins.Database.IAssemblyLocator)">
2271 <summary>
2272 Called to initialize the assembly reflector
2273 </summary>
2274 <param name='locator'>
2275 IAssemblyLocator instance which can be used to locate referenced assemblies.
2276 </param>
2277 </member>
2278 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetCustomAttributes(System.Object,System.Type,System.Boolean)">
2279 <summary>
2280 Gets a list of custom attributes
2281 </summary>
2282 <returns>
2283 The custom attributes.
2284 </returns>
2285 <param name='obj'>
2286 An assembly, class or class member
2287 </param>
2288 <param name='type'>
2289 Type of the attribute to be returned. It will always be one of the attribute types
2290 defined in Mono.Addins.
2291 </param>
2292 <param name='inherit'>
2293 'true' if inherited attributes must be returned
2294 </param>
2295 </member>
2296 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetRawCustomAttributes(System.Object,System.Type,System.Boolean)">
2297 <summary>
2298 Gets a list of custom attributes
2299 </summary>
2300 <returns>
2301 The attributes.
2302 </returns>
2303 <param name='obj'>
2304 An assembly, class or class member
2305 </param>
2306 <param name='type'>
2307 Base type of the attribute to be returned
2308 </param>
2309 <param name='inherit'>
2310 'true' if inherited attributes must be returned
2311 </param>
2312 </member>
2313 <member name="M:Mono.Addins.Database.IAssemblyReflector.LoadAssembly(System.String)">
2314 <summary>
2315 Loads an assembly.
2316 </summary>
2317 <returns>
2318 The loaded assembly
2319 </returns>
2320 <param name='file'>
2321 Path of the assembly.
2322 </param>
2323 </member>
2324 <member name="M:Mono.Addins.Database.IAssemblyReflector.LoadAssemblyFromReference(System.Object)">
2325 <summary>
2326 Loads the assembly specified in an assembly reference
2327 </summary>
2328 <returns>
2329 The assembly
2330 </returns>
2331 <param name='asmReference'>
2332 An assembly reference
2333 </param>
2334 </member>
2335 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetResourceNames(System.Object)">
2336 <summary>
2337 Gets the names of all resources embedded in an assembly
2338 </summary>
2339 <returns>
2340 The names of the resources
2341 </returns>
2342 <param name='asm'>
2343 An assembly
2344 </param>
2345 </member>
2346 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetResourceStream(System.Object,System.String)">
2347 <summary>
2348 Gets the data stream of a resource
2349 </summary>
2350 <returns>
2351 The stream.
2352 </returns>
2353 <param name='asm'>
2354 An assembly
2355 </param>
2356 <param name='resourceName'>
2357 The name of a resource
2358 </param>
2359 </member>
2360 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetAssemblyTypes(System.Object)">
2361 <summary>
2362 Gets all types defined in an assembly
2363 </summary>
2364 <returns>
2365 The types
2366 </returns>
2367 <param name='asm'>
2368 An assembly
2369 </param>
2370 </member>
2371 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetAssemblyReferences(System.Object)">
2372 <summary>
2373 Gets all assembly references of an assembly
2374 </summary>
2375 <returns>
2376 A list of assembly references
2377 </returns>
2378 <param name='asm'>
2379 An assembly
2380 </param>
2381 </member>
2382 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetType(System.Object,System.String)">
2383 <summary>
2384 Looks for a type in an assembly
2385 </summary>
2386 <returns>
2387 The type.
2388 </returns>
2389 <param name='asm'>
2390 An assembly
2391 </param>
2392 <param name='typeName'>
2393 Name of the type
2394 </param>
2395 </member>
2396 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetCustomAttribute(System.Object,System.Type,System.Boolean)">
2397 <summary>
2398 Gets a custom attribute
2399 </summary>
2400 <returns>
2401 The custom attribute.
2402 </returns>
2403 <param name='obj'>
2404 An assembly, class or class member
2405 </param>
2406 <param name='type'>
2407 Base type of the attribute to be returned. It will always be one of the attribute types
2408 defined in Mono.Addins.
2409 </param>
2410 <param name='inherit'>
2411 'true' if inherited attributes must be returned
2412 </param>
2413 </member>
2414 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetTypeName(System.Object)">
2415 <summary>
2416 Gets the name of a type (not including namespace)
2417 </summary>
2418 <returns>
2419 The type name.
2420 </returns>
2421 <param name='type'>
2422 A type
2423 </param>
2424 </member>
2425 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetTypeFullName(System.Object)">
2426 <summary>
2427 Gets the full name of a type (including namespace)
2428 </summary>
2429 <returns>
2430 The full name of the type
2431 </returns>
2432 <param name='type'>
2433 A type
2434 </param>
2435 </member>
2436 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetTypeAssemblyQualifiedName(System.Object)">
2437 <summary>
2438 Gets the assembly qualified name of a type
2439 </summary>
2440 <returns>
2441 The assembly qualified type name
2442 </returns>
2443 <param name='type'>
2444 A type
2445 </param>
2446 </member>
2447 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetBaseTypeFullNameList(System.Object)">
2448 <summary>
2449 Gets a list of all base types (including interfaces) of a type
2450 </summary>
2451 <returns>
2452 An enumeration of the full name of all base types of the type
2453 </returns>
2454 <param name='type'>
2455 A type
2456 </param>
2457 </member>
2458 <member name="M:Mono.Addins.Database.IAssemblyReflector.TypeIsAssignableFrom(System.Object,System.Object)">
2459 <summary>
2460 Checks if a type is assignable to another type
2461 </summary>
2462 <returns>
2463 'true' if the type is assignable
2464 </returns>
2465 <param name='baseType'>
2466 Expected base type.
2467 </param>
2468 <param name='type'>
2469 A type.
2470 </param>
2471 </member>
2472 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetFields(System.Object)">
2473 <summary>
2474 Gets the fields of a type
2475 </summary>
2476 <returns>
2477 The fields.
2478 </returns>
2479 <param name='type'>
2480 A type
2481 </param>
2482 </member>
2483 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetFieldName(System.Object)">
2484 <summary>
2485 Gets the name of a field.
2486 </summary>
2487 <returns>
2488 The field name.
2489 </returns>
2490 <param name='field'>
2491 A field.
2492 </param>
2493 </member>
2494 <member name="M:Mono.Addins.Database.IAssemblyReflector.GetFieldTypeFullName(System.Object)">
2495 <summary>
2496 Gets the full name of the type of a field
2497 </summary>
2498 <returns>
2499 The full type name
2500 </returns>
2501 <param name='field'>
2502 A field.
2503 </param>
2504 </member>
2505 <member name="T:Mono.Addins.Database.CustomAttribute">
2506 <summary>
2507 A custom attribute
2508 </summary>
2509 </member>
2510 <member name="P:Mono.Addins.Database.CustomAttribute.TypeName">
2511 <summary>
2512 Full name of the type of the custom attribute
2513 </summary>
2514 </member>
2515 <member name="T:Mono.Addins.TypeExtensionPointAttribute">
2516 <summary>
2517 Declares an extension point bound to a type
2518 </summary>
2519 </member>
2520 <member name="M:Mono.Addins.TypeExtensionPointAttribute.#ctor">
2521 <summary>
2522 Initializes a new instance
2523 </summary>
2524 </member>
2525 <member name="M:Mono.Addins.TypeExtensionPointAttribute.#ctor(System.String)">
2526 <summary>
2527 Initializes a new instance
2528 </summary>
2529 <param name="path">
2530 Path that identifies the extension point
2531 </param>
2532 </member>
2533 <member name="P:Mono.Addins.TypeExtensionPointAttribute.Path">
2534 <summary>
2535 Path that identifies the extension point
2536 </summary>
2537 </member>
2538 <member name="P:Mono.Addins.TypeExtensionPointAttribute.Description">
2539 <summary>
2540 Description of the extension point.
2541 </summary>
2542 </member>
2543 <member name="P:Mono.Addins.TypeExtensionPointAttribute.NodeName">
2544 <summary>
2545 Element name to be used when defining an extension in an XML manifest. The default name is "Type".
2546 </summary>
2547 </member>
2548 <member name="P:Mono.Addins.TypeExtensionPointAttribute.Name">
2549 <summary>
2550 Display name of the extension point.
2551 </summary>
2552 </member>
2553 <member name="P:Mono.Addins.TypeExtensionPointAttribute.NodeType">
2554 <summary>
2555 Type of the extension node to be created for extensions
2556 </summary>
2557 </member>
2558 <member name="P:Mono.Addins.TypeExtensionPointAttribute.ExtensionAttributeType">
2559 <summary>
2560 Type of the custom attribute to be used to specify metadata for the extension point
2561 </summary>
2562 </member>
2563 <member name="T:Mono.Addins.Description.AddinFlags">
2564 <summary>
2565 Add-in flags
2566 </summary>
2567 </member>
2568 <member name="F:Mono.Addins.Description.AddinFlags.None">
2569 <summary>
2570 No flags
2571 </summary>
2572 </member>
2573 <member name="F:Mono.Addins.Description.AddinFlags.CantUninstall">
2574 <summary>
2575 The add-in can't be uninstalled
2576 </summary>
2577 </member>
2578 <member name="F:Mono.Addins.Description.AddinFlags.CantDisable">
2579 <summary>
2580 The add-in can't be disabled
2581 </summary>
2582 </member>
2583 <member name="F:Mono.Addins.Description.AddinFlags.Hidden">
2584 <summary>
2585 The add-in is not visible to end users
2586 </summary>
2587 </member>
2588 <member name="T:Mono.Addins.Description.ExtensionCollection">
2589 <summary>
2590 A collection of extensions
2591 </summary>
2592 </member>
2593 <member name="M:Mono.Addins.Description.ExtensionCollection.#ctor">
2594 <summary>
2595 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ExtensionCollection"/> class.
2596 </summary>
2597 </member>
2598 <member name="P:Mono.Addins.Description.ExtensionCollection.Item(System.Int32)">
2599 <summary>
2600 Gets the <see cref="T:Mono.Addins.Description.Extension"/> at the specified index.
2601 </summary>
2602 <param name="n">
2603 The index.
2604 </param>
2605 </member>
2606 <member name="T:Mono.Addins.InstanceExtensionNode">
2607 <summary>
2608 Base class for extension nodes which create extension objects
2609 </summary>
2610 </member>
2611 <member name="T:Mono.Addins.ExtensionNode">
2612 <summary>
2613 A node of the extension model.
2614 </summary>
2615 <remarks>
2616 An extension node is an element registered by an add-in in an extension point.
2617 A host can get nodes registered in an extension point using methods such as
2618 AddinManager.GetExtensionNodes(string), which returns a collection of ExtensionNode objects.
2619
2620 ExtensionNode will normally be used as a base class of more complex extension point types.
2621 The most common subclass is Mono.Addins.TypeExtensionNode, which allows registering a class
2622 implemented in an add-in.
2623 </remarks>
2624 </member>
2625 <member name="M:Mono.Addins.ExtensionNode.GetChildObjects">
2626 <summary>
2627 Returns the child objects of a node.
2628 </summary>
2629 <returns>
2630 An array of child objects.
2631 </returns>
2632 <remarks>
2633 This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode.
2634 The returned array is composed by all objects created by calling the
2635 TypeExtensionNode.GetInstance() method for each node.
2636 </remarks>
2637 </member>
2638 <member name="M:Mono.Addins.ExtensionNode.GetChildObjects(System.Boolean)">
2639 <summary>
2640 Returns the child objects of a node.
2641 </summary>
2642 <param name="reuseCachedInstance">
2643 True if the method can reuse instances created in previous calls.
2644 </param>
2645 <returns>
2646 An array of child objects.
2647 </returns>
2648 <remarks>
2649 This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode.
2650 The returned array is composed by all objects created by calling the TypeExtensionNode.CreateInstance()
2651 method for each node (or TypeExtensionNode.GetInstance() if reuseCachedInstance is set to true).
2652 </remarks>
2653 </member>
2654 <member name="M:Mono.Addins.ExtensionNode.GetChildObjects(System.Type)">
2655 <summary>
2656 Returns the child objects of a node (with type check).
2657 </summary>
2658 <param name="arrayElementType">
2659 Type of the return array elements.
2660 </param>
2661 <returns>
2662 An array of child objects.
2663 </returns>
2664 <remarks>
2665 This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode.
2666 The returned array is composed by all objects created by calling the
2667 TypeExtensionNode.GetInstance(Type) method for each node.
2668
2669 An InvalidOperationException exception is thrown if one of the found child objects is not a
2670 subclass of the provided type.
2671 </remarks>
2672 </member>
2673 <member name="M:Mono.Addins.ExtensionNode.GetChildObjects``1">
2674 <summary>
2675 Returns the child objects of a node (casting to the specified type)
2676 </summary>
2677 <returns>
2678 An array of child objects.
2679 </returns>
2680 <remarks>
2681 This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode.
2682 The returned array is composed by all objects created by calling the
2683 TypeExtensionNode.GetInstance() method for each node.
2684 </remarks>
2685 </member>
2686 <member name="M:Mono.Addins.ExtensionNode.GetChildObjects(System.Type,System.Boolean)">
2687 <summary>
2688 Returns the child objects of a node (with type check).
2689 </summary>
2690 <param name="arrayElementType">
2691 Type of the return array elements.
2692 </param>
2693 <param name="reuseCachedInstance">
2694 True if the method can reuse instances created in previous calls.
2695 </param>
2696 <returns>
2697 An array of child objects.
2698 </returns>
2699 <remarks>
2700 This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode.
2701 The returned array is composed by all objects created by calling the TypeExtensionNode.CreateInstance(Type)
2702 method for each node (or TypeExtensionNode.GetInstance(Type) if reuseCachedInstance is set to true).
2703
2704 An InvalidOperationException exception will be thrown if one of the found child objects is not a subclass
2705 of the provided type.
2706 </remarks>
2707 </member>
2708 <member name="M:Mono.Addins.ExtensionNode.GetChildObjects``1(System.Boolean)">
2709 <summary>
2710 Returns the child objects of a node (casting to the specified type).
2711 </summary>
2712 <param name="reuseCachedInstance">
2713 True if the method can reuse instances created in previous calls.
2714 </param>
2715 <returns>
2716 An array of child objects.
2717 </returns>
2718 <remarks>
2719 This method only works if all children of this node are of type Mono.Addins.TypeExtensionNode.
2720 The returned array is composed by all objects created by calling the TypeExtensionNode.CreateInstance()
2721 method for each node (or TypeExtensionNode.GetInstance() if reuseCachedInstance is set to true).
2722 </remarks>
2723 </member>
2724 <member name="M:Mono.Addins.ExtensionNode.Read(Mono.Addins.NodeElement)">
2725 <summary>
2726 Reads the extension node data
2727 </summary>
2728 <param name='elem'>
2729 The element containing the extension data
2730 </param>
2731 <remarks>
2732 This method can be overriden to provide a custom method for reading extension node data from an element.
2733 The default implementation reads the attributes if the element and assigns the values to the fields
2734 and properties of the extension node that have the corresponding [NodeAttribute] decoration.
2735 </remarks>
2736 </member>
2737 <member name="M:Mono.Addins.ExtensionNode.OnAddinLoaded">
2738 <summary>
2739 Called when the add-in that defined this extension node is actually loaded in memory.
2740 </summary>
2741 </member>
2742 <member name="M:Mono.Addins.ExtensionNode.OnAddinUnloaded">
2743 <summary>
2744 Called when the add-in that defined this extension node is being
2745 unloaded from memory.
2746 </summary>
2747 </member>
2748 <member name="M:Mono.Addins.ExtensionNode.OnChildrenChanged">
2749 <summary>
2750 Called when the children list of this node has changed. It may be due to add-ins
2751 being loaded/unloaded, or to conditions being changed.
2752 </summary>
2753 </member>
2754 <member name="M:Mono.Addins.ExtensionNode.OnChildNodeAdded(Mono.Addins.ExtensionNode)">
2755 <summary>
2756 Called when a child node is added
2757 </summary>
2758 <param name="node">
2759 Added node.
2760 </param>
2761 </member>
2762 <member name="M:Mono.Addins.ExtensionNode.OnChildNodeRemoved(Mono.Addins.ExtensionNode)">
2763 <summary>
2764 Called when a child node is removed
2765 </summary>
2766 <param name="node">
2767 Removed node.
2768 </param>
2769 </member>
2770 <member name="P:Mono.Addins.ExtensionNode.Id">
2771 <summary>
2772 Identifier of the node.
2773 </summary>
2774 <remarks>
2775 It is not mandatory to specify an 'id' for a node. When none is provided,
2776 the add-in manager will automatically generate an unique id for the node.
2777 The ExtensionNode.HasId property can be used to know if the 'id' has been
2778 specified by the developer or not.
2779 </remarks>
2780 </member>
2781 <member name="P:Mono.Addins.ExtensionNode.Path">
2782 <summary>
2783 Location of this node in the extension tree.
2784 </summary>
2785 <remarks>
2786 The node path is composed by the path of the extension point where it is defined,
2787 the identifiers of its parent nodes, and its own identifier.
2788 </remarks>
2789 </member>
2790 <member name="P:Mono.Addins.ExtensionNode.Parent">
2791 <summary>
2792 Parent node of this node.
2793 </summary>
2794 </member>
2795 <member name="P:Mono.Addins.ExtensionNode.ExtensionContext">
2796 <summary>
2797 Extension context to which this node belongs
2798 </summary>
2799 </member>
2800 <member name="P:Mono.Addins.ExtensionNode.HasId">
2801 <summary>
2802 Specifies whether the extension node has as an Id or not.
2803 </summary>
2804 <remarks>
2805 It is not mandatory to specify an 'id' for a node. When none is provided,
2806 the add-in manager will automatically generate an unique id for the node.
2807 This property will return true if an 'id' was provided for the node, and
2808 false if the id was assigned by the add-in manager.
2809 </remarks>
2810 </member>
2811 <member name="P:Mono.Addins.ExtensionNode.Addin">
2812 <summary>
2813 The add-in that registered this extension node.
2814 </summary>
2815 <remarks>
2816 This property provides access to the resources and types of the add-in that created this extension node.
2817 </remarks>
2818 </member>
2819 <member name="E:Mono.Addins.ExtensionNode.ExtensionNodeChanged">
2820 <summary>
2821 Notifies that a child node of this node has been added or removed.
2822 </summary>
2823 <remarks>
2824 The first time the event is subscribed, the handler will be called for each existing node.
2825 </remarks>
2826 </member>
2827 <member name="P:Mono.Addins.ExtensionNode.ChildNodes">
2828 <summary>
2829 Child nodes of this extension node.
2830 </summary>
2831 </member>
2832 <member name="M:Mono.Addins.InstanceExtensionNode.GetInstance(System.Type)">
2833 <summary>
2834 Gets the extension object declared by this node
2835 </summary>
2836 <param name="expectedType">
2837 Expected object type. An exception will be thrown if the object is not an instance of the specified type.
2838 </param>
2839 <returns>
2840 The extension object
2841 </returns>
2842 <remarks>
2843 The extension object is cached and the same instance will be returned at every call.
2844 </remarks>
2845 </member>
2846 <member name="M:Mono.Addins.InstanceExtensionNode.GetInstance">
2847 <summary>
2848 Gets the extension object declared by this node
2849 </summary>
2850 <returns>
2851 The extension object
2852 </returns>
2853 <remarks>
2854 The extension object is cached and the same instance will be returned at every call.
2855 </remarks>
2856 </member>
2857 <member name="M:Mono.Addins.InstanceExtensionNode.CreateInstance(System.Type)">
2858 <summary>
2859 Creates a new extension object
2860 </summary>
2861 <param name="expectedType">
2862 Expected object type. An exception will be thrown if the object is not an instance of the specified type.
2863 </param>
2864 <returns>
2865 The extension object
2866 </returns>
2867 </member>
2868 <member name="M:Mono.Addins.InstanceExtensionNode.CreateInstance">
2869 <summary>
2870 Creates a new extension object
2871 </summary>
2872 <returns>
2873 The extension object
2874 </returns>
2875 </member>
2876 <member name="T:Mono.Addins.AddinDependencyAttribute">
2877 <summary>
2878 Declares a dependency on an add-in or add-in host
2879 </summary>
2880 </member>
2881 <member name="M:Mono.Addins.AddinDependencyAttribute.#ctor(System.String,System.String)">
2882 <summary>
2883 Initializes the attribute
2884 </summary>
2885 <param name="id">
2886 Identifier of the add-in
2887 </param>
2888 <param name="version">
2889 Version of the add-in
2890 </param>
2891 </member>
2892 <member name="P:Mono.Addins.AddinDependencyAttribute.Id">
2893 <summary>
2894 Identifier of the add-in
2895 </summary>
2896 </member>
2897 <member name="P:Mono.Addins.AddinDependencyAttribute.Version">
2898 <summary>
2899 Version of the add-in
2900 </summary>
2901 </member>
2902 <member name="T:Mono.Addins.ExtensionNode`1">
2903 <summary>
2904 An extension node with custom metadata
2905 </summary>
2906 <remarks>
2907 This is the default type for extension nodes bound to a custom extension attribute.
2908 </remarks>
2909 </member>
2910 <member name="T:Mono.Addins.IAttributedExtensionNode">
2911 <summary>
2912 An extension node with custom metadata provided by an attribute
2913 </summary>
2914 <remarks>
2915 This interface is implemented by ExtensionNode&lt;T&gt; to provide non-generic access to the attribute instance.
2916 </remarks>
2917 </member>
2918 <member name="P:Mono.Addins.IAttributedExtensionNode.Attribute">
2919 <summary>
2920 The custom attribute containing the extension metadata
2921 </summary>
2922 </member>
2923 <member name="P:Mono.Addins.ExtensionNode`1.Data">
2924 <summary>
2925 The custom attribute containing the extension metadata
2926 </summary>
2927 </member>
2928 <member name="T:Mono.Addins.AddinPropertyAttribute">
2929 <summary>
2930 Defines an add-in property
2931 </summary>
2932 </member>
2933 <member name="M:Mono.Addins.AddinPropertyAttribute.#ctor(System.String,System.String)">
2934 <summary>
2935 Initializes a new instance of the <see cref="T:Mono.Addins.AddinPropertyAttribute"/> class.
2936 </summary>
2937 <param name="name">
2938 Name of the property
2939 </param>
2940 <param name="value">
2941 Value of the property
2942 </param>
2943 </member>
2944 <member name="M:Mono.Addins.AddinPropertyAttribute.#ctor(System.String,System.String,System.String)">
2945 <summary>
2946 Initializes a new instance of the <see cref="T:Mono.Addins.AddinPropertyAttribute"/> class.
2947 </summary>
2948 <param name="name">
2949 Name of the property
2950 </param>
2951 <param name="locale">
2952 Locale of the property. It can be null if the property is not bound to a locale.
2953 </param>
2954 <param name="value">
2955 Value of the property
2956 </param>
2957 </member>
2958 <member name="P:Mono.Addins.AddinPropertyAttribute.Name">
2959 <summary>
2960 Name of the property
2961 </summary>
2962 </member>
2963 <member name="P:Mono.Addins.AddinPropertyAttribute.Locale">
2964 <summary>
2965 Locale of the property. It can be null if the property is not bound to a locale.
2966 </summary>
2967 </member>
2968 <member name="P:Mono.Addins.AddinPropertyAttribute.Value">
2969 <summary>
2970 Value of the property
2971 </summary>
2972 </member>
2973 <member name="T:Mono.Addins.CustomExtensionAttribute">
2974 <summary>
2975 Base class for custon extension attributes.
2976 </summary>
2977 <remarks>
2978 Custom extension attributes can be used to declare extensions with custom metadata.
2979 All custom extension attributes must subclass CustomExtensionAttribute.
2980 </remarks>
2981 </member>
2982 <member name="P:Mono.Addins.CustomExtensionAttribute.Id">
2983 <summary>
2984 Identifier of the node
2985 </summary>
2986 </member>
2987 <member name="P:Mono.Addins.CustomExtensionAttribute.InsertBefore">
2988 <summary>
2989 Identifier of the node before which this node has to be placed
2990 </summary>
2991 </member>
2992 <member name="P:Mono.Addins.CustomExtensionAttribute.InsertAfter">
2993 <summary>
2994 Identifier of the node after which this node has to be placed
2995 </summary>
2996 </member>
2997 <member name="P:Mono.Addins.CustomExtensionAttribute.Path">
2998 <summary>
2999 Path of the extension point being extended.
3000 </summary>
3001 <remarks>
3002 This property is optional and useful only when there are several extension points which allow
3003 using this custom attribute to define extensions.
3004 </remarks>
3005 </member>
3006 <member name="P:Mono.Addins.CustomExtensionAttribute.ExtensionNode">
3007 <summary>
3008 The extension node bound to this attribute
3009 </summary>
3010 </member>
3011 <member name="P:Mono.Addins.CustomExtensionAttribute.Addin">
3012 <summary>
3013 The add-in that registered this extension node.
3014 </summary>
3015 <remarks>
3016 This property provides access to the resources and types of the add-in that created this extension node.
3017 </remarks>
3018 </member>
3019 <member name="T:Mono.Addins.Localization.IPluralAddinLocalizer">
3020 <summary>
3021 A localizer that supports localization of plural forms.
3022 </summary>
3023 <remarks>
3024 This interface can be implemented by add-in localizers which want to provide
3025 support plural forms.
3026 </remarks>
3027 </member>
3028 <member name="M:Mono.Addins.Localization.IPluralAddinLocalizer.GetPluralString(System.String,System.String,System.Int32)">
3029 <summary>
3030 Gets a localized message which may contain plural forms.
3031 </summary>
3032 <returns>
3033 The localized message.
3034 </returns>
3035 <param name='singular'>
3036 Message identifier to use when the specified count is 1.
3037 </param>
3038 <param name='defaultPlural'>
3039 Default message identifier to use when the specified count is not 1.
3040 </param>
3041 <param name='n'>
3042 The count that determines which plural form to use.
3043 </param>
3044 </member>
3045 <member name="T:Mono.Addins.AddinLocalizer">
3046 <summary>
3047 Converts message identifiers to localized messages.
3048 </summary>
3049 </member>
3050 <member name="M:Mono.Addins.AddinLocalizer.GetString(System.String)">
3051 <summary>
3052 Gets a localized message
3053 </summary>
3054 <param name="msgid">
3055 Message identifier
3056 </param>
3057 <returns>
3058 The localized message
3059 </returns>
3060 </member>
3061 <member name="M:Mono.Addins.AddinLocalizer.GetString(System.String,System.String[])">
3062 <summary>
3063 Gets a formatted and localized message
3064 </summary>
3065 <param name="msgid">
3066 Message identifier (can contain string format placeholders)
3067 </param>
3068 <param name="args">
3069 Arguments for the string format operation
3070 </param>
3071 <returns>
3072 The formatted and localized string
3073 </returns>
3074 </member>
3075 <member name="M:Mono.Addins.AddinLocalizer.GetString(System.String,System.Object[])">
3076 <summary>
3077 Gets a formatted and localized message
3078 </summary>
3079 <param name="msgid">
3080 Message identifier (can contain string format placeholders)
3081 </param>
3082 <param name="args">
3083 Arguments for the string format operation
3084 </param>
3085 <returns>
3086 The formatted and localized string
3087 </returns>
3088 </member>
3089 <member name="M:Mono.Addins.AddinLocalizer.GetPluralString(System.String,System.String,System.Int32)">
3090 <summary>
3091 Gets a localized plural form for a message identifier
3092 </summary>
3093 <param name="msgid">
3094 Message identifier for the singular form
3095 </param>
3096 <param name="defaultPlural">
3097 Default result message for the plural form
3098 </param>
3099 <param name="n">
3100 Value count. Determines wether to use singular or plural form.
3101 </param>
3102 <returns>
3103 The localized message
3104 </returns>
3105 </member>
3106 <member name="M:Mono.Addins.AddinLocalizer.GetPluralString(System.String,System.String,System.Int32,System.String[])">
3107 <summary>
3108 Gets a localized and formatted plural form for a message identifier
3109 </summary>
3110 <param name="singular">
3111 Message identifier for the singular form (can contain string format placeholders)
3112 </param>
3113 <param name="defaultPlural">
3114 Default result message for the plural form (can contain string format placeholders)
3115 </param>
3116 <param name="n">
3117 Value count. Determines whether to use singular or plural form.
3118 </param>
3119 <param name="args">
3120 Arguments for the string format operation
3121 </param>
3122 <returns>
3123 The localized message
3124 </returns>
3125 </member>
3126 <member name="M:Mono.Addins.AddinLocalizer.GetPluralString(System.String,System.String,System.Int32,System.Object[])">
3127 <summary>
3128 Gets a localized and formatted plural form for a message identifier
3129 </summary>
3130 <param name="singular">
3131 Message identifier for the singular form (can contain string format placeholders)
3132 </param>
3133 <param name="defaultPlural">
3134 Default result message for the plural form (can contain string format placeholders)
3135 </param>
3136 <param name="n">
3137 Value count. Determines whether to use singular or plural form.
3138 </param>
3139 <param name="args">
3140 Arguments for the string format operation
3141 </param>
3142 <returns>
3143 The localized message
3144 </returns>
3145 </member>
3146 <member name="T:Mono.Addins.Description.ExtensionPointCollection">
3147 <summary>
3148 A collection of extension point definitions.
3149 </summary>
3150 </member>
3151 <member name="M:Mono.Addins.Description.ExtensionPointCollection.#ctor">
3152 <summary>
3153 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ExtensionPointCollection"/> class.
3154 </summary>
3155 </member>
3156 <member name="P:Mono.Addins.Description.ExtensionPointCollection.Item(System.Int32)">
3157 <summary>
3158 Gets the <see cref="T:Mono.Addins.Description.ExtensionPoint"/> at the specified index.
3159 </summary>
3160 <param name="n">
3161 The index.
3162 </param>
3163 </member>
3164 <member name="P:Mono.Addins.Description.ExtensionPointCollection.Item(System.String)">
3165 <summary>
3166 Gets the <see cref="T:Mono.Addins.Description.ExtensionPoint"/> with the specified path.
3167 </summary>
3168 <param name="path">
3169 Path.
3170 </param>
3171 </member>
3172 <member name="T:Mono.Addins.AddinLocalizerGettextAttribute">
3173 <summary>
3174 Declares a Gettext-based localizer for an add-in
3175 </summary>
3176 </member>
3177 <member name="M:Mono.Addins.AddinLocalizerGettextAttribute.#ctor">
3178 <summary>
3179 Initializes a new instance of the <see cref="T:Mono.Addins.AddinLocalizerGettextAttribute"/> class.
3180 </summary>
3181 </member>
3182 <member name="M:Mono.Addins.AddinLocalizerGettextAttribute.#ctor(System.String)">
3183 <summary>
3184 Initializes a new instance of the <see cref="T:Mono.Addins.AddinLocalizerGettextAttribute"/> class.
3185 </summary>
3186 <param name="catalog">
3187 Name of the catalog which contains the strings.
3188 </param>
3189 </member>
3190 <member name="M:Mono.Addins.AddinLocalizerGettextAttribute.#ctor(System.String,System.String)">
3191 <summary>
3192 Initializes a new instance of the <see cref="T:Mono.Addins.AddinLocalizerGettextAttribute"/> class.
3193 </summary>
3194 <param name="catalog">
3195 Name of the catalog which contains the strings.
3196 </param>
3197 <param name="location">
3198 Relative path to the location of the catalog. This path must be relative to the add-in location.
3199 </param>
3200 <remarks>
3201 The location path must contain a directory structure like this:
3202
3203 {language-id}/LC_MESSAGES/{Catalog}.mo
3204
3205 For example, the catalog for spanish strings would be located at:
3206
3207 locale/es/LC_MESSAGES/some-addin.mo
3208 </remarks>
3209 </member>
3210 <member name="P:Mono.Addins.AddinLocalizerGettextAttribute.Catalog">
3211 <summary>
3212 Name of the catalog which contains the strings.
3213 </summary>
3214 </member>
3215 <member name="P:Mono.Addins.AddinLocalizerGettextAttribute.Location">
3216 <summary>
3217 Relative path to the location of the catalog. This path must be relative to the add-in location.
3218 </summary>
3219 <remarks>
3220 When not specified, the default value of this property is 'locale'.
3221 The location path must contain a directory structure like this:
3222
3223 {language-id}/LC_MESSAGES/{Catalog}.mo
3224
3225 For example, the catalog for spanish strings would be located at:
3226
3227 locale/es/LC_MESSAGES/some-addin.mo
3228 </remarks>
3229 </member>
3230 <member name="T:Mono.Addins.AddinAuthorAttribute">
3231 <summary>
3232 Declares an author of the add-in
3233 </summary>
3234 </member>
3235 <member name="M:Mono.Addins.AddinAuthorAttribute.#ctor(System.String)">
3236 <summary>
3237 Initializes the attribute
3238 </summary>
3239 <param name="name">
3240 Name of the author
3241 </param>
3242 </member>
3243 <member name="P:Mono.Addins.AddinAuthorAttribute.Name">
3244 <summary>
3245 Author name
3246 </summary>
3247 </member>
3248 <member name="T:Mono.Addins.Description.ConditionTypeDescription">
3249 <summary>
3250 A condition type definition.
3251 </summary>
3252 </member>
3253 <member name="M:Mono.Addins.Description.ConditionTypeDescription.#ctor">
3254 <summary>
3255 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ConditionTypeDescription"/> class.
3256 </summary>
3257 </member>
3258 <member name="M:Mono.Addins.Description.ConditionTypeDescription.CopyFrom(Mono.Addins.Description.ConditionTypeDescription)">
3259 <summary>
3260 Copies data from another condition type definition
3261 </summary>
3262 <param name='cond'>
3263 Condition from which to copy
3264 </param>
3265 </member>
3266 <member name="P:Mono.Addins.Description.ConditionTypeDescription.Id">
3267 <summary>
3268 Gets or sets the identifier of the condition type
3269 </summary>
3270 <value>
3271 The identifier.
3272 </value>
3273 </member>
3274 <member name="P:Mono.Addins.Description.ConditionTypeDescription.TypeName">
3275 <summary>
3276 Gets or sets the name of the type that implements the condition
3277 </summary>
3278 <value>
3279 The name of the type.
3280 </value>
3281 </member>
3282 <member name="P:Mono.Addins.Description.ConditionTypeDescription.Description">
3283 <summary>
3284 Gets or sets the description of the condition.
3285 </summary>
3286 <value>
3287 The description.
3288 </value>
3289 </member>
3290 <member name="T:Mono.Addins.Description.ExtensionPoint">
3291 <summary>
3292 An extension point definition.
3293 </summary>
3294 </member>
3295 <member name="M:Mono.Addins.Description.ExtensionPoint.#ctor">
3296 <summary>
3297 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ExtensionPoint"/> class.
3298 </summary>
3299 </member>
3300 <member name="M:Mono.Addins.Description.ExtensionPoint.CopyFrom(Mono.Addins.Description.ExtensionPoint)">
3301 <summary>
3302 Copies another extension point.
3303 </summary>
3304 <param name='ep'>
3305 Extension point from which to copy.
3306 </param>
3307 </member>
3308 <member name="M:Mono.Addins.Description.ExtensionPoint.AddExtensionNode(System.String,System.String)">
3309 <summary>
3310 Adds an extension node type.
3311 </summary>
3312 <returns>
3313 The extension node type.
3314 </returns>
3315 <param name='name'>
3316 Name of the node
3317 </param>
3318 <param name='typeName'>
3319 Name of the type that implements the extension node.
3320 </param>
3321 <remarks>
3322 This method can be used to register a new allowed node type for the extension point.
3323 </remarks>
3324 </member>
3325 <member name="P:Mono.Addins.Description.ExtensionPoint.Path">
3326 <summary>
3327 Gets or sets the path that identifies the extension point.
3328 </summary>
3329 <value>
3330 The path.
3331 </value>
3332 </member>
3333 <member name="P:Mono.Addins.Description.ExtensionPoint.Name">
3334 <summary>
3335 Gets or sets the display name of the extension point.
3336 </summary>
3337 <value>
3338 The name.
3339 </value>
3340 </member>
3341 <member name="P:Mono.Addins.Description.ExtensionPoint.Description">
3342 <summary>
3343 Gets or sets the description of the extension point.
3344 </summary>
3345 <value>
3346 The description.
3347 </value>
3348 </member>
3349 <member name="P:Mono.Addins.Description.ExtensionPoint.ExtenderAddins">
3350 <summary>
3351 Gets a list of add-ins that extend this extension point.
3352 </summary>
3353 <remarks>
3354 This value is only available when the add-in description is loaded from an add-in registry.
3355 </remarks>
3356 </member>
3357 <member name="P:Mono.Addins.Description.ExtensionPoint.NodeSet">
3358 <summary>
3359 A node set which specifies the node types allowed in this extension point.
3360 </summary>
3361 <value>
3362 The node set.
3363 </value>
3364 </member>
3365 <member name="P:Mono.Addins.Description.ExtensionPoint.Conditions">
3366 <summary>
3367 Gets the conditions available in this node set.
3368 </summary>
3369 <value>
3370 The conditions.
3371 </value>
3372 </member>
3373 <member name="T:Mono.Addins.ConditionType">
3374 <summary>
3375 A condition evaluator.
3376 </summary>
3377 <remarks>
3378 Add-ins may use conditions to register nodes in an extension point which
3379 are only visible under some contexts. For example, an add-in registering
3380 a custom menu option to the main menu of a sample text editor might want
3381 to make that option visible only for some kind of files. To allow add-ins
3382 to do this kind of check, the host application needs to define a new condition.
3383 </remarks>
3384 </member>
3385 <member name="M:Mono.Addins.ConditionType.Evaluate(Mono.Addins.NodeElement)">
3386 <summary>
3387 Evaluates the condition.
3388 </summary>
3389 <param name="conditionNode">
3390 Condition node information.
3391 </param>
3392 <returns>
3393 'true' if the condition is satisfied.
3394 </returns>
3395 </member>
3396 <member name="M:Mono.Addins.ConditionType.NotifyChanged">
3397 <summary>
3398 Notifies that the condition has changed, and that it has to be re-evaluated.
3399 </summary>
3400 This method must be called when there is a change in the state that determines
3401 the result of the evaluation. When this method is called, all node conditions
3402 depending on it are reevaluated and the corresponding events for adding or
3403 removing extension nodes are fired.
3404 <remarks>
3405 </remarks>
3406 </member>
3407 <member name="T:Mono.Addins.ExtensionNodeList">
3408 <summary>
3409 A list of extension nodes.
3410 </summary>
3411 </member>
3412 <member name="M:Mono.Addins.ExtensionNodeList.GetEnumerator">
3413 <summary>
3414 Gets an enumerator which enumerates all nodes in the list
3415 </summary>
3416 </member>
3417 <member name="M:Mono.Addins.ExtensionNodeList.CopyTo(Mono.Addins.ExtensionNode[],System.Int32)">
3418 <summary>
3419 Copies all nodes to an array
3420 </summary>
3421 <param name='array'>
3422 The target array
3423 </param>
3424 <param name='index'>
3425 Initial index where to copy to
3426 </param>
3427 </member>
3428 <member name="P:Mono.Addins.ExtensionNodeList.Item(System.Int32)">
3429 <summary>
3430 Returns the node in the specified index.
3431 </summary>
3432 <param name="n">
3433 The index.
3434 </param>
3435 </member>
3436 <member name="P:Mono.Addins.ExtensionNodeList.Item(System.String)">
3437 <summary>
3438 Returns the node with the specified ID.
3439 </summary>
3440 <param name="id">
3441 An id.
3442 </param>
3443 </member>
3444 <member name="P:Mono.Addins.ExtensionNodeList.Count">
3445 <summary>
3446 Number of nodes of the collection.
3447 </summary>
3448 </member>
3449 <member name="T:Mono.Addins.ExtensionNodeList`1">
3450 <summary>
3451 A list of extension nodes.
3452 </summary>
3453 </member>
3454 <member name="M:Mono.Addins.ExtensionNodeList`1.GetEnumerator">
3455 <summary>
3456 Gets an enumerator which enumerates all nodes in the list
3457 </summary>
3458 </member>
3459 <member name="M:Mono.Addins.ExtensionNodeList`1.CopyTo(`0[],System.Int32)">
3460 <summary>
3461 Copies all nodes to an array
3462 </summary>
3463 <param name='array'>
3464 The target array
3465 </param>
3466 <param name='index'>
3467 Initial index where to copy to
3468 </param>
3469 </member>
3470 <member name="P:Mono.Addins.ExtensionNodeList`1.Item(System.Int32)">
3471 <summary>
3472 Returns the node in the specified index.
3473 </summary>
3474 <param name="n">
3475 The index.
3476 </param>
3477 </member>
3478 <member name="P:Mono.Addins.ExtensionNodeList`1.Item(System.String)">
3479 <summary>
3480 Returns the node with the specified ID.
3481 </summary>
3482 <param name="id">
3483 An id.
3484 </param>
3485 </member>
3486 <member name="P:Mono.Addins.ExtensionNodeList`1.Count">
3487 <summary>
3488 Number of nodes of the collection.
3489 </summary>
3490 </member>
3491 <member name="T:Mono.Addins.MissingDependencyException">
3492 <summary>
3493 Exception thrown when the add-in engine can't find a required add-in dependency
3494 </summary>
3495 </member>
3496 <member name="T:Mono.Addins.TypeExtensionNode">
3497 <summary>
3498 An extension node which specifies a type.
3499 </summary>
3500 <remarks>
3501 This class is a kind of Mono.Addins.ExtensionNode which can be used to register
3502 types in an extension point. This is a very common case: a host application
3503 defines an interface, and add-ins create classes that implement that interface.
3504 The host will define an extension point which will use TypeExtensionNode as nodetext
3505 type. Add-ins will register the classes they implement in that extension point.
3506
3507 When the nodes of an extension point are of type TypeExtensionNode it is then
3508 possible to use query methods such as AddinManager.GetExtensionObjects(string),
3509 which will get all nodes in the provided extension path and will create an object
3510 for each node.
3511
3512 When declaring extension nodes in an add-in manifest, the class names can be
3513 specified using the 'class' or 'type' attribute. If none of those attributes is
3514 provided, the class name will be taken from the 'id' attribute.
3515
3516 TypeExtensionNode is the default extension type used when no type is provided
3517 in the definition of an extension point.
3518 </remarks>
3519 </member>
3520 <member name="M:Mono.Addins.TypeExtensionNode.Read(Mono.Addins.NodeElement)">
3521 <summary>
3522 Reads the extension node data
3523 </summary>
3524 <param name='elem'>
3525 The element containing the extension data
3526 </param>
3527 <remarks>
3528 This method can be overriden to provide a custom method for reading extension node data from an element.
3529 The default implementation reads the attributes if the element and assigns the values to the fields
3530 and properties of the extension node that have the corresponding [NodeAttribute] decoration.
3531 </remarks>
3532 </member>
3533 <member name="M:Mono.Addins.TypeExtensionNode.CreateInstance">
3534 <summary>
3535 Creates a new extension object
3536 </summary>
3537 <returns>
3538 The extension object
3539 </returns>
3540 </member>
3541 <member name="P:Mono.Addins.TypeExtensionNode.Type">
3542 <summary>
3543 Type of the object that this node creates
3544 </summary>
3545 </member>
3546 <member name="P:Mono.Addins.TypeExtensionNode.TypeName">
3547 <summary>
3548 Name of the type of the object that this node creates
3549 </summary>
3550 <value>The name of the type.</value>
3551 </member>
3552 <member name="T:Mono.Addins.TypeExtensionNode`1">
3553 <summary>
3554 An extension node which specifies a type with custom extension metadata
3555 </summary>
3556 <remarks>
3557 This is the default type for type extension nodes bound to a custom extension attribute.
3558 </remarks>
3559 </member>
3560 <member name="P:Mono.Addins.TypeExtensionNode`1.Data">
3561 <summary>
3562 The custom attribute containing the extension metadata
3563 </summary>
3564 </member>
3565 <member name="T:Mono.Addins.AddinDescriptionAttribute">
3566 <summary>
3567 Describes the purpose of an add-in or add-in root
3568 </summary>
3569 </member>
3570 <member name="M:Mono.Addins.AddinDescriptionAttribute.#ctor(System.String)">
3571 <summary>
3572 Initializes a new instance of the <see cref="T:Mono.Addins.AddinDescriptionAttribute"/> class.
3573 </summary>
3574 <param name="description">
3575 Description of the add-in
3576 </param>
3577 </member>
3578 <member name="M:Mono.Addins.AddinDescriptionAttribute.#ctor(System.String,System.String)">
3579 <summary>
3580 Initializes a new instance of the <see cref="T:Mono.Addins.AddinDescriptionAttribute"/> class.
3581 </summary>
3582 <param name="description">
3583 Description of the add-in
3584 </param>
3585 <param name="locale">
3586 Locale of the description (for example, 'en-US', or 'en')
3587 </param>
3588 </member>
3589 <member name="P:Mono.Addins.AddinDescriptionAttribute.Description">
3590 <value>
3591 Description of the add-in
3592 </value>
3593 </member>
3594 <member name="P:Mono.Addins.AddinDescriptionAttribute.Locale">
3595 <summary>
3596 Locale of the description (for example, 'en-US', or 'en')
3597 </summary>
3598 </member>
3599 <member name="T:Mono.Addins.AddinRootAttribute">
3600 <summary>
3601 Marks an assembly as being an add-in root.
3602 </summary>
3603 <remarks>
3604 An add-in root is an assemly which can be extended by add-ins.
3605 </remarks>
3606 </member>
3607 <member name="T:Mono.Addins.AddinAttribute">
3608 <summary>
3609 Marks an assembly as being an add-in.
3610 </summary>
3611 </member>
3612 <member name="M:Mono.Addins.AddinAttribute.#ctor">
3613 <summary>
3614 Initializes an add-in marker attribute
3615 </summary>
3616 </member>
3617 <member name="M:Mono.Addins.AddinAttribute.#ctor(System.String)">
3618 <summary>
3619 Initializes an add-in marker attribute
3620 </summary>
3621 <param name="id">
3622 Identifier of the add-in
3623 </param>
3624 </member>
3625 <member name="M:Mono.Addins.AddinAttribute.#ctor(System.String,System.String)">
3626 <summary>
3627 Initializes an add-in marker attribute
3628 </summary>
3629 <param name="id">
3630 Identifier of the add-in
3631 </param>
3632 <param name="version">
3633 Version of the add-in
3634 </param>
3635 </member>
3636 <member name="P:Mono.Addins.AddinAttribute.Id">
3637 <summary>
3638 Identifier of the add-in.
3639 </summary>
3640 </member>
3641 <member name="P:Mono.Addins.AddinAttribute.Version">
3642 <summary>
3643 Version of the add-in.
3644 </summary>
3645 </member>
3646 <member name="P:Mono.Addins.AddinAttribute.CompatVersion">
3647 <summary>
3648 Version of the add-in with which this add-in is backwards compatible.
3649 </summary>
3650 </member>
3651 <member name="P:Mono.Addins.AddinAttribute.Namespace">
3652 <summary>
3653 Namespace of the add-in
3654 </summary>
3655 </member>
3656 <member name="P:Mono.Addins.AddinAttribute.Category">
3657 <summary>
3658 Category of the add-in
3659 </summary>
3660 </member>
3661 <member name="P:Mono.Addins.AddinAttribute.Url">
3662 <summary>
3663 Url to a web page with more information about the add-in
3664 </summary>
3665 </member>
3666 <member name="P:Mono.Addins.AddinAttribute.EnabledByDefault">
3667 <summary>
3668 When set to True, the add-in will be automatically enabled after installing.
3669 It's True by default.
3670 </summary>
3671 </member>
3672 <member name="P:Mono.Addins.AddinAttribute.Flags">
3673 <summary>
3674 Add-in flags
3675 </summary>
3676 </member>
3677 <member name="M:Mono.Addins.AddinRootAttribute.#ctor">
3678 <summary>
3679 Initializes a new instance
3680 </summary>
3681 </member>
3682 <member name="M:Mono.Addins.AddinRootAttribute.#ctor(System.String)">
3683 <summary>
3684 Initializes a new instance
3685 </summary>
3686 <param name="id">
3687 Identifier of the add-in root
3688 </param>
3689 </member>
3690 <member name="M:Mono.Addins.AddinRootAttribute.#ctor(System.String,System.String)">
3691 <summary>
3692 Initializes a new instance
3693 </summary>
3694 <param name="id">
3695 Identifier of the add-in root
3696 </param>
3697 <param name="version">
3698 Version of the add-in root
3699 </param>
3700 </member>
3701 <member name="T:Mono.Addins.Description.Extension">
3702 <summary>
3703 An extension definition.
3704 </summary>
3705 <remarks>
3706 An Extension is a collection of nodes which have to be registered in an extension point.
3707 The target extension point is specified in the <see cref="T:Mono.Addins.Description.Extension"/>.Path property.
3708 </remarks>
3709 </member>
3710 <member name="M:Mono.Addins.Description.Extension.#ctor">
3711 <summary>
3712 Initializes a new instance of the <see cref="T:Mono.Addins.Description.Extension"/> class.
3713 </summary>
3714 </member>
3715 <member name="M:Mono.Addins.Description.Extension.#ctor(System.String)">
3716 <summary>
3717 Initializes a new instance of the <see cref="T:Mono.Addins.Description.Extension"/> class.
3718 </summary>
3719 <param name="path">
3720 Path that identifies the extension point being extended
3721 </param>
3722 </member>
3723 <member name="M:Mono.Addins.Description.Extension.GetExtendedObject">
3724 <summary>
3725 Gets the object extended by this extension
3726 </summary>
3727 <returns>
3728 The extended object can be an <see cref="T:Mono.Addins.Description.ExtensionPoint"/> or
3729 an <see cref="T:Mono.Addins.Description.ExtensionNodeDescription"/>.
3730 </returns>
3731 <remarks>
3732 This method only works when the add-in description to which the extension belongs has been
3733 loaded from an add-in registry.
3734 </remarks>
3735 </member>
3736 <member name="M:Mono.Addins.Description.Extension.GetAllowedNodeTypes">
3737 <summary>
3738 Gets the node types allowed in this extension.
3739 </summary>
3740 <returns>
3741 The allowed node types.
3742 </returns>
3743 <remarks>
3744 This method only works when the add-in description to which the extension belongs has been
3745 loaded from an add-in registry.
3746 </remarks>
3747 </member>
3748 <member name="M:Mono.Addins.Description.Extension.#ctor(System.Xml.XmlElement)">
3749 <summary>
3750 Initializes a new instance of the <see cref="T:Mono.Addins.Description.Extension"/> class.
3751 </summary>
3752 <param name="element">
3753 XML that describes the extension.
3754 </param>
3755 </member>
3756 <member name="P:Mono.Addins.Description.Extension.Path">
3757 <summary>
3758 Gets or sets the path that identifies the extension point being extended.
3759 </summary>
3760 <value>
3761 The path.
3762 </value>
3763 </member>
3764 <member name="P:Mono.Addins.Description.Extension.ExtensionNodes">
3765 <summary>
3766 Gets the extension nodes.
3767 </summary>
3768 <value>
3769 The extension nodes.
3770 </value>
3771 </member>
3772 <member name="T:Mono.Addins.ExtensionEventHandler">
3773 <summary>
3774 Delegate to be used in extension point subscriptions
3775 </summary>
3776 </member>
3777 <member name="T:Mono.Addins.ExtensionNodeEventHandler">
3778 <summary>
3779 Delegate to be used in extension point subscriptions
3780 </summary>
3781 </member>
3782 <member name="T:Mono.Addins.ExtensionEventArgs">
3783 <summary>
3784 Arguments for extension events.
3785 </summary>
3786 </member>
3787 <member name="M:Mono.Addins.ExtensionEventArgs.#ctor(System.String)">
3788 <summary>
3789 Creates a new instance.
3790 </summary>
3791 <param name="path">
3792 Path of the extension node that has changed.
3793 </param>
3794 </member>
3795 <member name="M:Mono.Addins.ExtensionEventArgs.PathChanged(System.String)">
3796 <summary>
3797 Checks if a path has changed.
3798 </summary>
3799 <param name="pathToCheck">
3800 An extension path.
3801 </param>
3802 <returns>
3803 'true' if the path is affected by the extension change event.
3804 </returns>
3805 <remarks>
3806 Checks if the specified path or any of its children paths is affected by the extension change event.
3807 </remarks>
3808 </member>
3809 <member name="P:Mono.Addins.ExtensionEventArgs.Path">
3810 <summary>
3811 Path of the extension node that has changed.
3812 </summary>
3813 </member>
3814 <member name="T:Mono.Addins.ExtensionNodeEventArgs">
3815 <summary>
3816 Arguments for extension node events.
3817 </summary>
3818 </member>
3819 <member name="M:Mono.Addins.ExtensionNodeEventArgs.#ctor(Mono.Addins.ExtensionChange,Mono.Addins.ExtensionNode)">
3820 <summary>
3821 Creates a new instance
3822 </summary>
3823 <param name="change">
3824 Type of change.
3825 </param>
3826 <param name="node">
3827 Node that has been added or removed.
3828 </param>
3829 </member>
3830 <member name="P:Mono.Addins.ExtensionNodeEventArgs.Path">
3831 <summary>
3832 Path of the extension that changed.
3833 </summary>
3834 </member>
3835 <member name="P:Mono.Addins.ExtensionNodeEventArgs.Change">
3836 <summary>
3837 Type of change.
3838 </summary>
3839 </member>
3840 <member name="P:Mono.Addins.ExtensionNodeEventArgs.ExtensionNode">
3841 <summary>
3842 Node that has been added or removed.
3843 </summary>
3844 </member>
3845 <member name="P:Mono.Addins.ExtensionNodeEventArgs.ExtensionObject">
3846 <summary>
3847 Extension object that has been added or removed.
3848 </summary>
3849 </member>
3850 <member name="T:Mono.Addins.ExtensionChange">
3851 <summary>
3852 Type of change in an extension change event.
3853 </summary>
3854 </member>
3855 <member name="F:Mono.Addins.ExtensionChange.Add">
3856 <summary>
3857 An extension node has been added.
3858 </summary>
3859 </member>
3860 <member name="F:Mono.Addins.ExtensionChange.Remove">
3861 <summary>
3862 An extension node has been removed.
3863 </summary>
3864 </member>
3865 <member name="T:Mono.Addins.AddinNameAttribute">
3866 <summary>
3867 Sets the display name of an add-in
3868 </summary>
3869 </member>
3870 <member name="M:Mono.Addins.AddinNameAttribute.#ctor(System.String)">
3871 <summary>
3872 Initializes a new instance of the <see cref="T:Mono.Addins.AddinNameAttribute"/> class.
3873 </summary>
3874 <param name="name">
3875 Name of the add-in
3876 </param>
3877 </member>
3878 <member name="M:Mono.Addins.AddinNameAttribute.#ctor(System.String,System.String)">
3879 <summary>
3880 Initializes a new instance of the <see cref="T:Mono.Addins.AddinNameAttribute"/> class.
3881 </summary>
3882 <param name="name">
3883 Name of the add-in
3884 </param>
3885 <param name="locale">
3886 Locale of the name (for example, 'en-US', or 'en')
3887 </param>
3888 </member>
3889 <member name="P:Mono.Addins.AddinNameAttribute.Name">
3890 <value>
3891 Name of the add-in
3892 </value>
3893 </member>
3894 <member name="P:Mono.Addins.AddinNameAttribute.Locale">
3895 <summary>
3896 Locale of the name (for example, 'en-US', or 'en')
3897 </summary>
3898 </member>
3899 <member name="T:Mono.Addins.ContentType">
3900 <summary>
3901 Type of the content of a string extension node attribute
3902 </summary>
3903 </member>
3904 <member name="F:Mono.Addins.ContentType.Text">
3905 <summary>
3906 Plain text
3907 </summary>
3908 </member>
3909 <member name="F:Mono.Addins.ContentType.Class">
3910 <summary>
3911 A class name
3912 </summary>
3913 </member>
3914 <member name="F:Mono.Addins.ContentType.Resource">
3915 <summary>
3916 A resource name
3917 </summary>
3918 </member>
3919 <member name="F:Mono.Addins.ContentType.File">
3920 <summary>
3921 A file name
3922 </summary>
3923 </member>
3924 <member name="T:Mono.Addins.Database.AddinFileSystemExtension">
3925 <summary>
3926 An add-in file system extension.
3927 </summary>
3928 <remarks>
3929 File system extensions can override the behavior of the add-in scanner and provide custom rules for
3930 locating and scanning assemblies.
3931 </remarks>
3932 </member>
3933 <member name="M:Mono.Addins.Database.AddinFileSystemExtension.ScanStarted">
3934 <summary>
3935 Called when the add-in scan is about to start
3936 </summary>
3937 </member>
3938 <member name="M:Mono.Addins.Database.AddinFileSystemExtension.ScanFinished">
3939 <summary>
3940 Called when the add-in scan has finished
3941 </summary>
3942 </member>
3943 <member name="M:Mono.Addins.Database.AddinFileSystemExtension.DirectoryExists(System.String)">
3944 <summary>
3945 Checks if a directory exists
3946 </summary>
3947 <returns>
3948 'true' if the directory exists
3949 </returns>
3950 <param name='path'>
3951 Directory path
3952 </param>
3953 </member>
3954 <member name="M:Mono.Addins.Database.AddinFileSystemExtension.FileExists(System.String)">
3955 <summary>
3956 Checks if a file exists
3957 </summary>
3958 <returns>
3959 'true' if the file exists
3960 </returns>
3961 <param name='path'>
3962 Path to the file
3963 </param>
3964 </member>
3965 <member name="M:Mono.Addins.Database.AddinFileSystemExtension.GetFiles(System.String)">
3966 <summary>
3967 Gets the files in a directory
3968 </summary>
3969 <returns>
3970 The full path of the files in the directory
3971 </returns>
3972 <param name='path'>
3973 Directory path
3974 </param>
3975 </member>
3976 <member name="M:Mono.Addins.Database.AddinFileSystemExtension.GetDirectories(System.String)">
3977 <summary>
3978 Gets the subdirectories of a directory
3979 </summary>
3980 <returns>
3981 The subdirectories.
3982 </returns>
3983 <param name='path'>
3984 The directory
3985 </param>
3986 </member>
3987 <member name="M:Mono.Addins.Database.AddinFileSystemExtension.GetLastWriteTime(System.String)">
3988 <summary>
3989 Gets the last write time of a file
3990 </summary>
3991 <returns>
3992 The last write time.
3993 </returns>
3994 <param name='filePath'>
3995 File path.
3996 </param>
3997 </member>
3998 <member name="M:Mono.Addins.Database.AddinFileSystemExtension.OpenTextFile(System.String)">
3999 <summary>
4000 Opens a text file
4001 </summary>
4002 <returns>
4003 The text file stream
4004 </returns>
4005 <param name='path'>
4006 File path.
4007 </param>
4008 </member>
4009 <member name="M:Mono.Addins.Database.AddinFileSystemExtension.OpenFile(System.String)">
4010 <summary>
4011 Opens a file.
4012 </summary>
4013 <returns>
4014 The file stream.
4015 </returns>
4016 <param name='path'>
4017 The file path.
4018 </param>
4019 </member>
4020 <member name="M:Mono.Addins.Database.AddinFileSystemExtension.GetReflectorForFile(Mono.Addins.Database.IAssemblyLocator,System.String)">
4021 <summary>
4022 Gets an assembly reflector for a file.
4023 </summary>
4024 <returns>
4025 The reflector for the file.
4026 </returns>
4027 <param name='locator'>
4028 An assembly locator
4029 </param>
4030 <param name='path'>
4031 A file path
4032 </param>
4033 </member>
4034 <member name="P:Mono.Addins.Database.AddinFileSystemExtension.RequiresIsolation">
4035 <summary>
4036 Gets a value indicating whether this <see cref="T:Mono.Addins.Database.AddinFileSystemExtension"/> needs to be isolated from the main execution process
4037 </summary>
4038 <value>
4039 <c>true</c> if requires isolation; otherwise, <c>false</c>.
4040 </value>
4041 </member>
4042 <member name="T:Mono.Addins.ExtensionAttributeAttribute">
4043 <summary>
4044 Assigns an attribute value to an extension
4045 </summary>
4046 <remarks>
4047 This attribute can be used together with the [Extenion] attribute to specify
4048 a value for an attribute of the extension.
4049 </remarks>
4050 </member>
4051 <member name="M:Mono.Addins.ExtensionAttributeAttribute.#ctor(System.String,System.String)">
4052 <summary>
4053 Initializes a new instance of the <see cref="T:Mono.Addins.ExtensionAttributeAttribute"/> class.
4054 </summary>
4055 <param name="name">
4056 Name of the attribute
4057 </param>
4058 <param name="value">
4059 Value of the attribute
4060 </param>
4061 </member>
4062 <member name="M:Mono.Addins.ExtensionAttributeAttribute.#ctor(System.Type,System.String,System.String)">
4063 <summary>
4064 Initializes a new instance of the <see cref="T:Mono.Addins.ExtensionAttributeAttribute"/> class.
4065 </summary>
4066 <param name="type">
4067 Type of the extension for which the attribute value is being set
4068 </param>
4069 <param name="name">
4070 Name of the attribute
4071 </param>
4072 <param name="value">
4073 Value of the attribute
4074 </param>
4075 </member>
4076 <member name="M:Mono.Addins.ExtensionAttributeAttribute.#ctor(System.String,System.String,System.String)">
4077 <summary>
4078 Initializes a new instance of the <see cref="T:Mono.Addins.ExtensionAttributeAttribute"/> class.
4079 </summary>
4080 <param name="path">
4081 Path of the extension for which the attribute value is being set
4082 </param>
4083 <param name="name">
4084 Name of the attribute
4085 </param>
4086 <param name="value">
4087 Value of the attribute
4088 </param>
4089 </member>
4090 <member name="P:Mono.Addins.ExtensionAttributeAttribute.Name">
4091 <summary>
4092 Name of the attribute
4093 </summary>
4094 </member>
4095 <member name="P:Mono.Addins.ExtensionAttributeAttribute.Value">
4096 <summary>
4097 Value of the attribute
4098 </summary>
4099 </member>
4100 <member name="P:Mono.Addins.ExtensionAttributeAttribute.Path">
4101 <summary>
4102 Path of the extension for which the attribute value is being set
4103 </summary>
4104 </member>
4105 <member name="P:Mono.Addins.ExtensionAttributeAttribute.Type">
4106 <summary>
4107 Type of the extension for which the attribute value is being set
4108 </summary>
4109 </member>
4110 <member name="T:Mono.Addins.IAddinInstaller">
4111 <summary>
4112 An add-in installation handler
4113 </summary>
4114 </member>
4115 <member name="M:Mono.Addins.IAddinInstaller.InstallAddins(Mono.Addins.AddinRegistry,System.String,System.String[])">
4116 <summary>
4117 Installs a set of add-ins
4118 </summary>
4119 <param name="reg">
4120 Registry where to install
4121 </param>
4122 <param name="message">
4123 Message to show to the user when new add-ins have to be installed.
4124 </param>
4125 <param name="addinIds">
4126 List of IDs of the add-ins to be installed.
4127 </param>
4128 </member>
4129 <member name="T:Mono.Addins.ExtensionNodeAttribute">
4130 <summary>
4131 This attribute can be applied to an ExtensionNode subclass to specify the default name and description.
4132 </summary>
4133 <remarks>
4134 This information will be used when an extension point does not define a name or description for a node type.
4135 </remarks>
4136 </member>
4137 <member name="M:Mono.Addins.ExtensionNodeAttribute.#ctor">
4138 <summary>
4139 Initializes the attribute
4140 </summary>
4141 </member>
4142 <member name="M:Mono.Addins.ExtensionNodeAttribute.#ctor(System.String)">
4143 <summary>
4144 Initializes the attribute
4145 </summary>
4146 <param name="nodeName">
4147 Name of the node
4148 </param>
4149 </member>
4150 <member name="M:Mono.Addins.ExtensionNodeAttribute.#ctor(System.String,System.String)">
4151 <summary>
4152 Initializes the attribute
4153 </summary>
4154 <param name="nodeName">
4155 Name of the node
4156 </param>
4157 <param name="description">
4158 Description of the node
4159 </param>
4160 </member>
4161 <member name="P:Mono.Addins.ExtensionNodeAttribute.NodeName">
4162 <summary>
4163 Default name of the extension node
4164 </summary>
4165 </member>
4166 <member name="P:Mono.Addins.ExtensionNodeAttribute.Description">
4167 <summary>
4168 Default description of the extension node type
4169 </summary>
4170 </member>
4171 <member name="P:Mono.Addins.ExtensionNodeAttribute.ExtensionAttributeType">
4172 <summary>
4173 Type of a custom attribute which can be used to specify metadata for this extension node type
4174 </summary>
4175 </member>
4176 <member name="T:Mono.Addins.Description.DependencyCollection">
4177 <summary>
4178 A collection of dependency definitions.
4179 </summary>
4180 </member>
4181 <member name="M:Mono.Addins.Description.DependencyCollection.#ctor">
4182 <summary>
4183 Initializes a new instance of the <see cref="T:Mono.Addins.Description.DependencyCollection"/> class.
4184 </summary>
4185 </member>
4186 <member name="M:Mono.Addins.Description.DependencyCollection.Add(Mono.Addins.Description.Dependency)">
4187 <summary>
4188 Adds a dependency to the collection
4189 </summary>
4190 <param name='dep'>
4191 The dependency to add.
4192 </param>
4193 </member>
4194 <member name="M:Mono.Addins.Description.DependencyCollection.Remove(Mono.Addins.Description.Dependency)">
4195 <summary>
4196 Remove the specified dependency.
4197 </summary>
4198 <param name='dep'>
4199 Dependency to remove.
4200 </param>
4201 </member>
4202 <member name="P:Mono.Addins.Description.DependencyCollection.Item(System.Int32)">
4203 <summary>
4204 Gets the <see cref="T:Mono.Addins.Description.Dependency"/> at the specified index.
4205 </summary>
4206 <param name="n">
4207 The idnex.
4208 </param>
4209 </member>
4210 <member name="T:Mono.Addins.ExtensionAttribute">
4211 <summary>
4212 Declares a type extension.
4213 </summary>
4214 <remarks>
4215 When applied to a class, specifies that the class is an extension
4216 class to be registered in a matching extension point.
4217 </remarks>
4218 </member>
4219 <member name="M:Mono.Addins.ExtensionAttribute.#ctor">
4220 <summary>
4221 Initializes a new instance of the ExtensionAttribute class.
4222 </summary>
4223 </member>
4224 <member name="M:Mono.Addins.ExtensionAttribute.#ctor(System.String)">
4225 <summary>
4226 Initializes a new instance
4227 </summary>
4228 <param name="path">
4229 Path of the extension point.
4230 </param>
4231 <remarks>The path is only required if there are several extension points defined for the same type.</remarks>
4232 </member>
4233 <member name="M:Mono.Addins.ExtensionAttribute.#ctor(System.Type)">
4234 <summary>
4235 Initializes a new instance
4236 </summary>
4237 <param name="type">
4238 Type defining the extension point being extended
4239 </param>
4240 <remarks>
4241 This constructor can be used to explicitly specify the type that defines the extension point
4242 to be extended. By default, Mono.Addins will try to find any extension point defined in any
4243 of the base classes or interfaces. The type parameter can be used when there is more than one
4244 base type providing an extension point.
4245 </remarks>
4246 </member>
4247 <member name="P:Mono.Addins.ExtensionAttribute.Path">
4248 <summary>
4249 Path of the extension point being extended
4250 </summary>
4251 <remarks>
4252 The path is only required if there are several extension points defined for the same type.
4253 </remarks>
4254 </member>
4255 <member name="P:Mono.Addins.ExtensionAttribute.NodeName">
4256 <summary>
4257 Name of the extension node
4258 </summary>
4259 <remarks>
4260 Extension points may require extensions to use a specific node name.
4261 This is needed when an extension point may contain several different types of nodes.
4262 </remarks>
4263 </member>
4264 <member name="P:Mono.Addins.ExtensionAttribute.Id">
4265 <summary>
4266 Identifier of the extension node.
4267 </summary>
4268 <remarks>
4269 The ExtensionAttribute.InsertAfter and ExtensionAttribute.InsertBefore
4270 properties can be used to specify the relative location of a node. The nodes
4271 referenced in those properties must be defined either in the add-in host
4272 being extended, or in any add-in on which this add-in depends.
4273 </remarks>
4274 </member>
4275 <member name="P:Mono.Addins.ExtensionAttribute.InsertBefore">
4276 <summary>
4277 Identifier of the extension node before which this node has to be added in the extension point.
4278 </summary>
4279 <remarks>
4280 The ExtensionAttribute.InsertAfter and ExtensionAttribute.InsertBefore
4281 properties can be used to specify the relative location of a node. The nodes
4282 referenced in those properties must be defined either in the add-in host
4283 being extended, or in any add-in on which this add-in depends.
4284 </remarks>
4285 </member>
4286 <member name="P:Mono.Addins.ExtensionAttribute.InsertAfter">
4287 <summary>
4288 Identifier of the extension node after which this node has to be added in the extension point.
4289 </summary>
4290 </member>
4291 <member name="P:Mono.Addins.ExtensionAttribute.Type">
4292 <summary>
4293 Type defining the extension point being extended
4294 </summary>
4295 <remarks>
4296 This property can be used to explicitly specify the type that defines the extension point
4297 to be extended. By default, Mono.Addins will try to find any extension point defined in any
4298 of the base classes or interfaces. This property can be used when there is more than one
4299 base type providing an extension point.
4300 </remarks>
4301 </member>
4302 <member name="T:Mono.Addins.RuntimeAddin">
4303 <summary>
4304 Run-time representation of an add-in.
4305 </summary>
4306 </member>
4307 <member name="M:Mono.Addins.RuntimeAddin.ToString">
4308 <summary>
4309 Returns a string that represents the current RuntimeAddin.
4310 </summary>
4311 <returns>
4312 A string that represents the current RuntimeAddin.
4313 </returns>
4314 </member>
4315 <member name="M:Mono.Addins.RuntimeAddin.GetResourceString(System.String)">
4316 <summary>
4317 Gets a resource string
4318 </summary>
4319 <param name="name">
4320 Name of the resource
4321 </param>
4322 <returns>
4323 The value of the resource string, or null if the resource can't be found.
4324 </returns>
4325 <remarks>
4326 The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies.
4327 </remarks>
4328 </member>
4329 <member name="M:Mono.Addins.RuntimeAddin.GetResourceString(System.String,System.Boolean)">
4330 <summary>
4331 Gets a resource string
4332 </summary>
4333 <param name="name">
4334 Name of the resource
4335 </param>
4336 <param name="throwIfNotFound">
4337 When set to true, an exception will be thrown if the resource is not found.
4338 </param>
4339 <returns>
4340 The value of the resource string
4341 </returns>
4342 <remarks>
4343 The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies.
4344 </remarks>
4345 </member>
4346 <member name="M:Mono.Addins.RuntimeAddin.GetResourceString(System.String,System.Boolean,System.Globalization.CultureInfo)">
4347 <summary>
4348 Gets a resource string
4349 </summary>
4350 <param name="name">
4351 Name of the resource
4352 </param>
4353 <param name="throwIfNotFound">
4354 When set to true, an exception will be thrown if the resource is not found.
4355 </param>
4356 <param name="culture">
4357 Culture of the resource
4358 </param>
4359 <returns>
4360 The value of the resource string
4361 </returns>
4362 <remarks>
4363 The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies.
4364 </remarks>
4365 </member>
4366 <member name="M:Mono.Addins.RuntimeAddin.GetResourceObject(System.String)">
4367 <summary>
4368 Gets a resource object
4369 </summary>
4370 <param name="name">
4371 Name of the resource
4372 </param>
4373 <returns>
4374 Value of the resource
4375 </returns>
4376 <remarks>
4377 The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies.
4378 </remarks>
4379 </member>
4380 <member name="M:Mono.Addins.RuntimeAddin.GetResourceObject(System.String,System.Boolean)">
4381 <summary>
4382 Gets a resource object
4383 </summary>
4384 <param name="name">
4385 Name of the resource
4386 </param>
4387 <param name="throwIfNotFound">
4388 When set to true, an exception will be thrown if the resource is not found.
4389 </param>
4390 <returns>
4391 Value of the resource
4392 </returns>
4393 <remarks>
4394 The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies.
4395 </remarks>
4396 </member>
4397 <member name="M:Mono.Addins.RuntimeAddin.GetResourceObject(System.String,System.Boolean,System.Globalization.CultureInfo)">
4398 <summary>
4399 Gets a resource object
4400 </summary>
4401 <param name="name">
4402 Name of the resource
4403 </param>
4404 <param name="throwIfNotFound">
4405 When set to true, an exception will be thrown if the resource is not found.
4406 </param>
4407 <param name="culture">
4408 Culture of the resource
4409 </param>
4410 <returns>
4411 Value of the resource
4412 </returns>
4413 <remarks>
4414 The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies.
4415 </remarks>
4416 </member>
4417 <member name="M:Mono.Addins.RuntimeAddin.GetType(System.String)">
4418 <summary>
4419 Gets a type defined in the add-in
4420 </summary>
4421 <param name="typeName">
4422 Full name of the type
4423 </param>
4424 <returns>
4425 A type.
4426 </returns>
4427 <remarks>
4428 The type will be looked up in the assemblies that implement the add-in,
4429 and recursivelly in all add-ins on which it depends.
4430
4431 This method throws an InvalidOperationException if the type can't be found.
4432 </remarks>
4433 </member>
4434 <member name="M:Mono.Addins.RuntimeAddin.GetType(System.String,System.Boolean)">
4435 <summary>
4436 Gets a type defined in the add-in
4437 </summary>
4438 <param name="typeName">
4439 Full name of the type
4440 </param>
4441 <param name="throwIfNotFound">
4442 Indicates whether the method should throw an exception if the type can't be found.
4443 </param>
4444 <returns>
4445 A <see cref="T:System.Type"/>
4446 </returns>
4447 <remarks>
4448 The type will be looked up in the assemblies that implement the add-in,
4449 and recursivelly in all add-ins on which it depends.
4450
4451 If the type can't be found, this method throw a InvalidOperationException if
4452 'throwIfNotFound' is 'true', or 'null' otherwise.
4453 </remarks>
4454 </member>
4455 <member name="M:Mono.Addins.RuntimeAddin.CreateInstance(System.String)">
4456 <summary>
4457 Creates an instance of a type defined in the add-in
4458 </summary>
4459 <param name="typeName">
4460 Name of the type.
4461 </param>
4462 <returns>
4463 A new instance of the type
4464 </returns>
4465 <remarks>
4466 The type will be looked up in the assemblies that implement the add-in,
4467 and recursivelly in all add-ins on which it depends.
4468
4469 This method throws an InvalidOperationException if the type can't be found.
4470
4471 The specified type must have a default constructor.
4472 </remarks>
4473 </member>
4474 <member name="M:Mono.Addins.RuntimeAddin.CreateInstance(System.String,System.Boolean)">
4475 <summary>
4476 Creates an instance of a type defined in the add-in
4477 </summary>
4478 <param name="typeName">
4479 Name of the type.
4480 </param>
4481 <param name="throwIfNotFound">
4482 Indicates whether the method should throw an exception if the type can't be found.
4483 </param>
4484 <returns>
4485 A new instance of the type
4486 </returns>
4487 <remarks>
4488 The type will be looked up in the assemblies that implement the add-in,
4489 and recursivelly in all add-ins on which it depends.
4490
4491 If the type can't be found, this method throw a InvalidOperationException if
4492 'throwIfNotFound' is 'true', or 'null' otherwise.
4493
4494 The specified type must have a default constructor.
4495 </remarks>
4496 </member>
4497 <member name="M:Mono.Addins.RuntimeAddin.GetFilePath(System.String)">
4498 <summary>
4499 Gets the path of an add-in file
4500 </summary>
4501 <param name="fileName">
4502 Relative path of the file
4503 </param>
4504 <returns>
4505 Full path of the file
4506 </returns>
4507 <remarks>
4508 This method can be used to get the full path of a data file deployed together with the add-in.
4509 </remarks>
4510 </member>
4511 <member name="M:Mono.Addins.RuntimeAddin.GetFilePath(System.String[])">
4512 <summary>
4513 Gets the path of an add-in file
4514 </summary>
4515 <param name="filePath">
4516 Components of the file path
4517 </param>
4518 <returns>
4519 Full path of the file
4520 </returns>
4521 <remarks>
4522 This method can be used to get the full path of a data file deployed together with the add-in.
4523 </remarks>
4524 </member>
4525 <member name="M:Mono.Addins.RuntimeAddin.GetResource(System.String)">
4526 <summary>
4527 Gets the content of a resource
4528 </summary>
4529 <param name="resourceName">
4530 Name of the resource
4531 </param>
4532 <returns>
4533 Content of the resource, or null if not found
4534 </returns>
4535 <remarks>
4536 The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies.
4537 </remarks>
4538 </member>
4539 <member name="M:Mono.Addins.RuntimeAddin.GetResource(System.String,System.Boolean)">
4540 <summary>
4541 Gets the content of a resource
4542 </summary>
4543 <param name="resourceName">
4544 Name of the resource
4545 </param>
4546 <param name="throwIfNotFound">
4547 When set to true, an exception will be thrown if the resource is not found.
4548 </param>
4549 <returns>
4550 Content of the resource.
4551 </returns>
4552 <remarks>
4553 The add-in engine will look for resources in the main add-in assembly and in all included add-in assemblies.
4554 </remarks>
4555 </member>
4556 <member name="P:Mono.Addins.RuntimeAddin.Id">
4557 <summary>
4558 Identifier of the add-in.
4559 </summary>
4560 </member>
4561 <member name="P:Mono.Addins.RuntimeAddin.Version">
4562 <summary>
4563 Version of the add-in.
4564 </summary>
4565 </member>
4566 <member name="P:Mono.Addins.RuntimeAddin.PrivateDataPath">
4567 <summary>
4568 Path to a directory where add-ins can store private configuration or status data
4569 </summary>
4570 </member>
4571 <member name="P:Mono.Addins.RuntimeAddin.Localizer">
4572 <summary>
4573 Localizer which can be used to localize strings defined in this add-in
4574 </summary>
4575 </member>
4576 <member name="T:Mono.Addins.ImportAddinAssemblyAttribute">
4577 <summary>
4578 Declares an add-in assembly import
4579 </summary>
4580 <remarks>
4581 An add-in may be composed by several assemblies and data files.
4582 Assemblies must be declared in the main assembly using this attribute, or in the XML manifest.
4583
4584 It is important to properly declare all files used by an add-in.
4585 For example, when a type from the add-in is required (e.g. an ICommand implementation),
4586 only properly declared assemblies will be checked.
4587 This information is also used by setup tools to know exactly what needs to be packaged when creating
4588 an add-in package, or to know what needs to be deleted when removing an add-in.
4589 </remarks>
4590 </member>
4591 <member name="M:Mono.Addins.ImportAddinAssemblyAttribute.#ctor(System.String)">
4592 <summary>
4593 Initializes a new instance
4594 </summary>
4595 <param name="filePath">
4596 Path to the assembly. Must be relative to the assembly declaring this attribute.
4597 </param>
4598 </member>
4599 <member name="P:Mono.Addins.ImportAddinAssemblyAttribute.FilePath">
4600 <summary>
4601 Path to the assembly. Must be relative to the assembly declaring this attribute.
4602 </summary>
4603 </member>
4604 <member name="P:Mono.Addins.ImportAddinAssemblyAttribute.Scan">
4605 <summary>
4606 When set to true (the default), the included assembly will be scanned
4607 looking for extension point declarations.
4608 </summary>
4609 </member>
4610 <member name="T:Mono.Addins.AddinErrorEventHandler">
4611 <summary>
4612 Delegate to be used in add-in error subscriptions
4613 </summary>
4614 </member>
4615 <member name="T:Mono.Addins.AddinErrorEventArgs">
4616 <summary>
4617 Provides information about an add-in loading error.
4618 </summary>
4619 </member>
4620 <member name="M:Mono.Addins.AddinErrorEventArgs.#ctor(System.String,System.String,System.Exception)">
4621 <summary>
4622 Initializes a new instance of the <see cref="T:Mono.Addins.AddinErrorEventArgs"/> class.
4623 </summary>
4624 <param name="message">
4625 Error message
4626 </param>
4627 <param name="addinId">
4628 Add-in identifier.
4629 </param>
4630 <param name="exception">
4631 Exception that caused the error.
4632 </param>
4633 </member>
4634 <member name="P:Mono.Addins.AddinErrorEventArgs.Exception">
4635 <summary>
4636 Exception that caused the error.
4637 </summary>
4638 </member>
4639 <member name="P:Mono.Addins.AddinErrorEventArgs.Message">
4640 <summary>
4641 Error message
4642 </summary>
4643 </member>
4644 <member name="T:Mono.Addins.Addin">
4645 <summary>
4646 An add-in.
4647 </summary>
4648 </member>
4649 <member name="M:Mono.Addins.Addin.SupportsVersion(System.String)">
4650 <summary>
4651 Checks version compatibility.
4652 </summary>
4653 <param name="version">
4654 An add-in version.
4655 </param>
4656 <returns>
4657 True if the provided version is compatible with this add-in.
4658 </returns>
4659 <remarks>
4660 This method checks the CompatVersion property to know if the provided version is compatible with the version of this add-in.
4661 </remarks>
4662 </member>
4663 <member name="M:Mono.Addins.Addin.ToString">
4664 <summary>
4665 Returns a <see cref="T:System.String"/> that represents the current <see cref="T:Mono.Addins.Addin"/>.
4666 </summary>
4667 <returns>
4668 A <see cref="T:System.String"/> that represents the current <see cref="T:Mono.Addins.Addin"/>.
4669 </returns>
4670 </member>
4671 <member name="M:Mono.Addins.Addin.CompareVersions(System.String,System.String)">
4672 <summary>
4673 Compares two add-in versions
4674 </summary>
4675 <returns>
4676 -1 if v1 is greater than v2, 0 if v1 == v2, 1 if v1 less than v2
4677 </returns>
4678 <param name='v1'>
4679 A version
4680 </param>
4681 <param name='v2'>
4682 A version
4683 </param>
4684 </member>
4685 <member name="M:Mono.Addins.Addin.GetFullId(System.String,System.String,System.String)">
4686 <summary>
4687 Returns the identifier of an add-in
4688 </summary>
4689 <returns>
4690 The full identifier.
4691 </returns>
4692 <param name='ns'>
4693 Namespace of the add-in
4694 </param>
4695 <param name='id'>
4696 Name of the add-in
4697 </param>
4698 <param name='version'>
4699 Version of the add-in
4700 </param>
4701 </member>
4702 <member name="M:Mono.Addins.Addin.GetIdName(System.String)">
4703 <summary>
4704 Given a full add-in identifier, returns the namespace and name of the add-in (it removes the version number)
4705 </summary>
4706 <param name='addinId'>
4707 Add-in identifier.
4708 </param>
4709 </member>
4710 <member name="M:Mono.Addins.Addin.GetIdVersion(System.String)">
4711 <summary>
4712 Given a full add-in identifier, returns the version the add-in
4713 </summary>
4714 <returns>
4715 The version.
4716 </returns>
4717 </member>
4718 <member name="M:Mono.Addins.Addin.GetIdParts(System.String,System.String@,System.String@)">
4719 <summary>
4720 Splits a full add-in identifier in name and version
4721 </summary>
4722 <param name='addinId'>
4723 Add-in identifier.
4724 </param>
4725 <param name='name'>
4726 The resulting name
4727 </param>
4728 <param name='version'>
4729 The resulting version
4730 </param>
4731 </member>
4732 <member name="P:Mono.Addins.Addin.Id">
4733 <summary>
4734 Full identifier of the add-in, including namespace and version.
4735 </summary>
4736 </member>
4737 <member name="P:Mono.Addins.Addin.Namespace">
4738 <summary>
4739 Namespace of the add-in.
4740 </summary>
4741 </member>
4742 <member name="P:Mono.Addins.Addin.LocalId">
4743 <summary>
4744 Identifier of the add-in (without namespace)
4745 </summary>
4746 </member>
4747 <member name="P:Mono.Addins.Addin.Version">
4748 <summary>
4749 Version of the add-in
4750 </summary>
4751 </member>
4752 <member name="P:Mono.Addins.Addin.Name">
4753 <summary>
4754 Display name of the add-in
4755 </summary>
4756 </member>
4757 <member name="P:Mono.Addins.Addin.Properties">
4758 <summary>
4759 Custom properties specified in the add-in header
4760 </summary>
4761 </member>
4762 <member name="P:Mono.Addins.Addin.Enabled">
4763 <summary>
4764 Gets or sets the enabled status of the add-in.
4765 </summary>
4766 <remarks>
4767 This property can be used to enable or disable an add-in.
4768 The enabled status of an add-in is stored in the add-in registry,
4769 so when an add-in is disabled, it will be disabled for all applications
4770 sharing the same registry.
4771 When an add-in is enabled or disabled, the extension points currently loaded
4772 in memory will be properly updated to include or exclude extensions from the add-in.
4773 </remarks>
4774 </member>
4775 <member name="P:Mono.Addins.Addin.IsUserAddin">
4776 <summary>
4777 Returns 'true' if the add-in is installed in the user's personal folder
4778 </summary>
4779 </member>
4780 <member name="P:Mono.Addins.Addin.AddinFile">
4781 <summary>
4782 Path to the add-in file (it can be an assembly or a standalone XML manifest)
4783 </summary>
4784 </member>
4785 <member name="P:Mono.Addins.Addin.Description">
4786 <summary>
4787 Description of the add-in
4788 </summary>
4789 </member>
4790 <member name="T:Mono.Addins.Description.ConditionTypeDescriptionCollection">
4791 <summary>
4792 A collection of condition types
4793 </summary>
4794 </member>
4795 <member name="M:Mono.Addins.Description.ConditionTypeDescriptionCollection.#ctor">
4796 <summary>
4797 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ConditionTypeDescriptionCollection"/> class.
4798 </summary>
4799 </member>
4800 <member name="P:Mono.Addins.Description.ConditionTypeDescriptionCollection.Item(System.Int32)">
4801 <summary>
4802 Gets the <see cref="T:Mono.Addins.Description.ConditionTypeDescription"/> at the specified index.
4803 </summary>
4804 <param name="n">
4805 Index.
4806 </param>
4807 <returns>
4808 The condition.
4809 </returns>
4810 </member>
4811 <member name="T:Mono.Addins.Description.ModuleCollection">
4812 <summary>
4813 A collection of module descriptions
4814 </summary>
4815 </member>
4816 <member name="M:Mono.Addins.Description.ModuleCollection.#ctor">
4817 <summary>
4818 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ModuleCollection"/> class.
4819 </summary>
4820 </member>
4821 <member name="P:Mono.Addins.Description.ModuleCollection.Item(System.Int32)">
4822 <summary>
4823 Gets the <see cref="T:Mono.Addins.Description.ModuleDescription"/> at the specified index.
4824 </summary>
4825 <param name="n">
4826 The index.
4827 </param>
4828 </member>
4829 <member name="T:Mono.Addins.Description.NodeTypeAttributeCollection">
4830 <summary>
4831 A collection of node attributes
4832 </summary>
4833 </member>
4834 <member name="M:Mono.Addins.Description.NodeTypeAttributeCollection.#ctor">
4835 <summary>
4836 Initializes a new instance of the <see cref="T:Mono.Addins.Description.NodeTypeAttributeCollection"/> class.
4837 </summary>
4838 </member>
4839 <member name="P:Mono.Addins.Description.NodeTypeAttributeCollection.Item(System.Int32)">
4840 <summary>
4841 Gets the <see cref="T:Mono.Addins.Description.NodeTypeAttribute"/> at the specified index.
4842 </summary>
4843 <param name="n">
4844 The index.
4845 </param>
4846 </member>
4847 <member name="T:Mono.Addins.Description.AssemblyDependency">
4848 <summary>
4849 Definition of a dependency of an add-in on an assembly.
4850 </summary>
4851 </member>
4852 <member name="M:Mono.Addins.Description.AssemblyDependency.#ctor">
4853 <summary>
4854 Initializes a new instance of the <see cref="T:Mono.Addins.Description.AssemblyDependency"/> class.
4855 </summary>
4856 </member>
4857 <member name="P:Mono.Addins.Description.AssemblyDependency.FullName">
4858 <summary>
4859 Gets or sets the full name of the assembly
4860 </summary>
4861 <value>
4862 The full name of the assembly.
4863 </value>
4864 </member>
4865 <member name="P:Mono.Addins.Description.AssemblyDependency.Package">
4866 <summary>
4867 Gets or sets the name of the package that provides the assembly.
4868 </summary>
4869 <value>
4870 The name of the package that provides the assembly.
4871 </value>
4872 </member>
4873 <member name="P:Mono.Addins.Description.AssemblyDependency.Name">
4874 <summary>
4875 Display name of the dependency
4876 </summary>
4877 <value>
4878 The name.
4879 </value>
4880 </member>
4881 <member name="T:Mono.Addins.AddinModuleAttribute">
4882 <summary>
4883 Declares an optional add-in module
4884 </summary>
4885 </member>
4886 <member name="M:Mono.Addins.AddinModuleAttribute.#ctor(System.String)">
4887 <summary>
4888 Initializes the instance.
4889 </summary>
4890 <param name="assemblyFile">
4891 Relative path to the assembly that implements the optional module
4892 </param>
4893 </member>
4894 <member name="P:Mono.Addins.AddinModuleAttribute.AssemblyFile">
4895 <summary>
4896 Relative path to the assembly that implements the optional module
4897 </summary>
4898 </member>
4899 <member name="T:Mono.Addins.AddinRegistry">
4900 <summary>
4901 An add-in registry.
4902 </summary>
4903 <remarks>
4904 An add-in registry is a data structure used by the add-in engine to locate add-ins to load.
4905
4906 A registry can be configured to look for add-ins in several directories. However, add-ins
4907 copied to those directories won't be detected until an explicit add-in scan is requested.
4908 The registry can be updated by an application by calling Registry.Update(), or by a user by
4909 running the 'mautil' add-in setup tool.
4910
4911 The registry has information about the location of every add-in and a timestamp of the last
4912 check, so the Update method will only scan new or modified add-ins. An application can
4913 add a call to Registry.Update() in the Main method to detect all new add-ins every time the
4914 app is started.
4915
4916 Every add-in added to the registry is parsed and validated, and if there is any error it
4917 will be rejected. The registry is also in charge of scanning the add-in assemblies and look
4918 for extensions and other information declared using custom attributes. That information is
4919 merged with the manifest information (if there is one) to create a complete add-in
4920 description ready to be used at run-time.
4921
4922 Mono.Addins allows sharing an add-in registry among several applications. In this context,
4923 all applications sharing the registry share the same extension point model, and it is
4924 possible to implement add-ins which extend several hosts.
4925 </remarks>
4926 </member>
4927 <member name="M:Mono.Addins.AddinRegistry.#ctor(System.String)">
4928 <summary>
4929 Initializes a new instance.
4930 </summary>
4931 <param name="registryPath">
4932 Location of the add-in registry.
4933 </param>
4934 <remarks>
4935 Creates a new add-in registry located in the provided path.
4936 The add-in registry will look for add-ins in an 'addins'
4937 subdirectory of the provided registryPath.
4938
4939 When specifying a path, it is possible to use a special folder name as root.
4940 For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced
4941 by the location of the Environment.SpecialFolder.Personal folder. Any value
4942 of the Environment.SpecialFolder enumeration can be used (always between square
4943 brackets)
4944 </remarks>
4945 </member>
4946 <member name="M:Mono.Addins.AddinRegistry.#ctor(System.String,System.String)">
4947 <summary>
4948 Initializes a new instance.
4949 </summary>
4950 <param name="registryPath">
4951 Location of the add-in registry.
4952 </param>
4953 <param name="startupDirectory">
4954 Location of the application.
4955 </param>
4956 <remarks>
4957 Creates a new add-in registry located in the provided path.
4958 The add-in registry will look for add-ins in an 'addins'
4959 subdirectory of the provided registryPath.
4960
4961 When specifying a path, it is possible to use a special folder name as root.
4962 For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced
4963 by the location of the Environment.SpecialFolder.Personal folder. Any value
4964 of the Environment.SpecialFolder enumeration can be used (always between square
4965 brackets)
4966 </remarks>
4967 </member>
4968 <member name="M:Mono.Addins.AddinRegistry.#ctor(System.String,System.String,System.String)">
4969 <summary>
4970 Initializes a new instance of the <see cref="T:Mono.Addins.AddinRegistry"/> class.
4971 </summary>
4972 <param name="registryPath">
4973 Location of the add-in registry.
4974 </param>
4975 <param name="startupDirectory">
4976 Location of the application.
4977 </param>
4978 <param name="addinsDir">
4979 Add-ins directory. If the path is relative, it is considered to be relative
4980 to the configDir directory.
4981 </param>
4982 <remarks>
4983 Creates a new add-in registry located in the provided path.
4984 Configuration information about the add-in registry will be stored in
4985 'registryPath'. The add-in registry will look for add-ins in the provided
4986 'addinsDir' directory.
4987
4988 When specifying a path, it is possible to use a special folder name as root.
4989 For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced
4990 by the location of the Environment.SpecialFolder.Personal folder. Any value
4991 of the Environment.SpecialFolder enumeration can be used (always between square
4992 brackets)
4993 </remarks>
4994 </member>
4995 <member name="M:Mono.Addins.AddinRegistry.#ctor(System.String,System.String,System.String,System.String)">
4996 <summary>
4997 Initializes a new instance of the <see cref="T:Mono.Addins.AddinRegistry"/> class.
4998 </summary>
4999 <param name="registryPath">
5000 Location of the add-in registry.
5001 </param>
5002 <param name="startupDirectory">
5003 Location of the application.
5004 </param>
5005 <param name="addinsDir">
5006 Add-ins directory. If the path is relative, it is considered to be relative
5007 to the configDir directory.
5008 </param>
5009 <param name="databaseDir">
5010 Location of the add-in database. If the path is relative, it is considered to be relative
5011 to the configDir directory.
5012 </param>
5013 <remarks>
5014 Creates a new add-in registry located in the provided path.
5015 Configuration information about the add-in registry will be stored in
5016 'registryPath'. The add-in registry will look for add-ins in the provided
5017 'addinsDir' directory. Cached information about add-ins will be stored in
5018 the 'databaseDir' directory.
5019
5020 When specifying a path, it is possible to use a special folder name as root.
5021 For example: [Personal]/.config/MyApp. In this case, [Personal] will be replaced
5022 by the location of the Environment.SpecialFolder.Personal folder. Any value
5023 of the Environment.SpecialFolder enumeration can be used (always between square
5024 brackets)
5025 </remarks>
5026 </member>
5027 <member name="M:Mono.Addins.AddinRegistry.GetGlobalRegistry">
5028 <summary>
5029 Gets the global registry.
5030 </summary>
5031 <returns>
5032 The global registry
5033 </returns>
5034 <remarks>
5035 The global add-in registry is created in "~/.config/mono.addins",
5036 and it is the default registry used when none is specified.
5037 </remarks>
5038 </member>
5039 <member name="M:Mono.Addins.AddinRegistry.Dispose">
5040 <summary>
5041 Disposes the add-in engine.
5042 </summary>
5043 </member>
5044 <member name="M:Mono.Addins.AddinRegistry.GetAddin(System.String)">
5045 <summary>
5046 Returns an add-in from the registry.
5047 </summary>
5048 <param name="id">
5049 Identifier of the add-in.
5050 </param>
5051 <returns>
5052 The add-in, or 'null' if not found.
5053 </returns>
5054 <remarks>
5055 The add-in identifier may optionally include a version number, for example: "TextEditor.Xml,1.2"
5056 </remarks>
5057 </member>
5058 <member name="M:Mono.Addins.AddinRegistry.GetAddin(System.String,System.Boolean)">
5059 <summary>
5060 Returns an add-in from the registry.
5061 </summary>
5062 <param name="id">
5063 Identifier of the add-in.
5064 </param>
5065 <param name="exactVersionMatch">
5066 'true' if the exact add-in version must be found.
5067 </param>
5068 <returns>
5069 The add-in, or 'null' if not found.
5070 </returns>
5071 <remarks>
5072 The add-in identifier may optionally include a version number, for example: "TextEditor.Xml,1.2".
5073 In this case, if the exact version is not found and exactVersionMatch is 'false', it will
5074 return one than is compatible with the required version.
5075 </remarks>
5076 </member>
5077 <member name="M:Mono.Addins.AddinRegistry.GetModules(Mono.Addins.AddinSearchFlags)">
5078 <summary>
5079 Gets all add-ins or add-in roots registered in the registry.
5080 </summary>
5081 <returns>
5082 The addins.
5083 </returns>
5084 <param name='flags'>
5085 Flags.
5086 </param>
5087 </member>
5088 <member name="M:Mono.Addins.AddinRegistry.GetAddins">
5089 <summary>
5090 Gets all add-ins registered in the registry.
5091 </summary>
5092 <returns>
5093 Add-ins registered in the registry.
5094 </returns>
5095 </member>
5096 <member name="M:Mono.Addins.AddinRegistry.GetAddinRoots">
5097 <summary>
5098 Gets all add-in roots registered in the registry.
5099 </summary>
5100 <returns>
5101 Descriptions of all add-in roots.
5102 </returns>
5103 </member>
5104 <member name="M:Mono.Addins.AddinRegistry.GetAddinDescription(Mono.Addins.IProgressStatus,System.String)">
5105 <summary>
5106 Loads an add-in description
5107 </summary>
5108 <param name="progressStatus">
5109 Progress tracker.
5110 </param>
5111 <param name="file">
5112 Name of the file to load
5113 </param>
5114 <returns>
5115 An add-in description
5116 </returns>
5117 <remarks>
5118 This method loads an add-in description from a file. The file can be an XML manifest or an
5119 assembly that implements an add-in.
5120 </remarks>
5121 </member>
5122 <member name="M:Mono.Addins.AddinRegistry.ReadAddinManifestFile(System.String)">
5123 <summary>
5124 Reads an XML add-in manifest
5125 </summary>
5126 <param name="file">
5127 Path to the XML file
5128 </param>
5129 <returns>
5130 An add-in description
5131 </returns>
5132 </member>
5133 <member name="M:Mono.Addins.AddinRegistry.ReadAddinManifestFile(System.IO.TextReader,System.String)">
5134 <summary>
5135 Reads an XML add-in manifest
5136 </summary>
5137 <param name="reader">
5138 Reader that contains the XML
5139 </param>
5140 <param name="baseFile">
5141 Base path to use to discover add-in files
5142 </param>
5143 <returns>
5144 An add-in description
5145 </returns>
5146 </member>
5147 <member name="M:Mono.Addins.AddinRegistry.IsAddinEnabled(System.String)">
5148 <summary>
5149 Checks whether an add-in is enabled.
5150 </summary>
5151 <param name="id">
5152 Identifier of the add-in.
5153 </param>
5154 <returns>
5155 'true' if the add-in is enabled.
5156 </returns>
5157 </member>
5158 <member name="M:Mono.Addins.AddinRegistry.EnableAddin(System.String)">
5159 <summary>
5160 Enables an add-in.
5161 </summary>
5162 <param name="id">
5163 Identifier of the add-in
5164 </param>
5165 <remarks>
5166 If the enabled add-in depends on other add-ins which are disabled,
5167 those will automatically be enabled too.
5168 </remarks>
5169 </member>
5170 <member name="M:Mono.Addins.AddinRegistry.DisableAddin(System.String)">
5171 <summary>
5172 Disables an add-in.
5173 </summary>
5174 <param name="id">
5175 Identifier of the add-in.
5176 </param>
5177 <remarks>
5178 When an add-in is disabled, all extension points it defines will be ignored
5179 by the add-in engine. Other add-ins which depend on the disabled add-in will
5180 also automatically be disabled.
5181 </remarks>
5182 </member>
5183 <member name="M:Mono.Addins.AddinRegistry.RegisterForUninstall(System.String,System.Collections.Generic.IEnumerable{System.String})">
5184 <summary>
5185 Registers a set of add-ins for uninstallation.
5186 </summary>
5187 <param name='id'>
5188 Identifier of the add-in
5189 </param>
5190 <param name='files'>
5191 Files to be uninstalled
5192 </param>
5193 <remarks>
5194 This method can be used to instruct the add-in manager to uninstall
5195 an add-in the next time the registry is updated. This is useful
5196 when an add-in manager can't delete an add-in because if it is
5197 loaded.
5198 </remarks>
5199 </member>
5200 <member name="M:Mono.Addins.AddinRegistry.IsRegisteredForUninstall(System.String)">
5201 <summary>
5202 Determines whether an add-in is registered for uninstallation
5203 </summary>
5204 <returns>
5205 <c>true</c> if the add-in is registered for uninstallation
5206 </returns>
5207 <param name='addinId'>
5208 Identifier of the add-in
5209 </param>
5210 </member>
5211 <member name="M:Mono.Addins.AddinRegistry.DumpFile(System.String)">
5212 <summary>
5213 Internal use only
5214 </summary>
5215 </member>
5216 <member name="M:Mono.Addins.AddinRegistry.ResetConfiguration">
5217 <summary>
5218 Resets the configuration files of the registry
5219 </summary>
5220 </member>
5221 <member name="M:Mono.Addins.AddinRegistry.Update">
5222 <summary>
5223 Updates the add-in registry.
5224 </summary>
5225 <remarks>
5226 This method must be called after modifying, installing or uninstalling add-ins.
5227
5228 When calling Update, every add-in added to the registry is parsed and validated,
5229 and if there is any error it will be rejected. It will also cache add-in information
5230 needed at run-time.
5231
5232 If during the update operation the registry finds new add-ins or detects that some
5233 add-ins have been deleted, the loaded extension points will be updated to include
5234 or exclude extension nodes from those add-ins.
5235 </remarks>
5236 </member>
5237 <member name="M:Mono.Addins.AddinRegistry.Update(Mono.Addins.IProgressStatus)">
5238 <summary>
5239 Updates the add-in registry.
5240 </summary>
5241 <param name="monitor">
5242 Progress monitor to keep track of the update operation.
5243 </param>
5244 <remarks>
5245 This method must be called after modifying, installing or uninstalling add-ins.
5246
5247 When calling Update, every add-in added to the registry is parsed and validated,
5248 and if there is any error it will be rejected. It will also cache add-in information
5249 needed at run-time.
5250
5251 If during the update operation the registry finds new add-ins or detects that some
5252 add-ins have been deleted, the loaded extension points will be updated to include
5253 or exclude extension nodes from those add-ins.
5254 </remarks>
5255 </member>
5256 <member name="M:Mono.Addins.AddinRegistry.Rebuild(Mono.Addins.IProgressStatus)">
5257 <summary>
5258 Regenerates the cached data of the add-in registry.
5259 </summary>
5260 <param name="monitor">
5261 Progress monitor to keep track of the rebuild operation.
5262 </param>
5263 </member>
5264 <member name="M:Mono.Addins.AddinRegistry.RegisterExtension(System.Object)">
5265 <summary>
5266 Registers an extension. Only AddinFileSystemExtension extensions are supported right now.
5267 </summary>
5268 <param name='extension'>
5269 The extension to register
5270 </param>
5271 </member>
5272 <member name="M:Mono.Addins.AddinRegistry.UnregisterExtension(System.Object)">
5273 <summary>
5274 Unregisters an extension.
5275 </summary>
5276 <param name='extension'>
5277 The extension to unregister
5278 </param>
5279 </member>
5280 <member name="P:Mono.Addins.AddinRegistry.RegistryPath">
5281 <summary>
5282 Location of the add-in registry.
5283 </summary>
5284 </member>
5285 <member name="P:Mono.Addins.AddinRegistry.HasPendingUninstalls">
5286 <summary>
5287 Gets a value indicating whether there are pending add-ins to be uninstalled installed
5288 </summary>
5289 </member>
5290 <member name="P:Mono.Addins.AddinRegistry.DefaultAddinsFolder">
5291 <summary>
5292 Gets the default add-ins folder of the registry.
5293 </summary>
5294 <remarks>
5295 For every add-in registry there is an add-in folder where the registry will look for add-ins by default.
5296 This folder is an "addins" subdirectory of the directory where the repository is located. In most cases,
5297 this folder will only contain .addins files referencing other more convenient locations for add-ins.
5298 </remarks>
5299 </member>
5300 <member name="T:Mono.Addins.AddinSearchFlags">
5301 <summary>
5302 Addin search flags.
5303 </summary>
5304 </member>
5305 <member name="F:Mono.Addins.AddinSearchFlags.IncludeAddins">
5306 <summary>
5307 Add-ins are included in the search
5308 </summary>
5309 </member>
5310 <member name="F:Mono.Addins.AddinSearchFlags.IncludeRoots">
5311 <summary>
5312 Add-in roots are included in the search
5313 </summary>
5314 </member>
5315 <member name="F:Mono.Addins.AddinSearchFlags.IncludeAll">
5316 <summary>
5317 Both add-in and add-in roots are included in the search
5318 </summary>
5319 </member>
5320 <member name="F:Mono.Addins.AddinSearchFlags.LatestVersionsOnly">
5321 <summary>
5322 Only the latest version of every add-in or add-in root is included in the search
5323 </summary>
5324 </member>
5325 <member name="T:Mono.Addins.ConsoleProgressStatus">
5326 <summary>
5327 An IProgressStatus class which writes output to the console.
5328 </summary>
5329 </member>
5330 <member name="T:Mono.Addins.IProgressStatus">
5331 <summary>
5332 Progress status listener.
5333 </summary>
5334 </member>
5335 <member name="M:Mono.Addins.IProgressStatus.SetMessage(System.String)">
5336 <summary>
5337 Sets the description of the current operation.
5338 </summary>
5339 <param name="msg">
5340 A message
5341 </param>
5342 <remarks>
5343 This method is called by the add-in engine to show a description of the operation being monitorized.
5344 </remarks>
5345 </member>
5346 <member name="M:Mono.Addins.IProgressStatus.SetProgress(System.Double)">
5347 <summary>
5348 Sets the progress of the operation.
5349 </summary>
5350 <param name="progress">
5351 A number between 0 and 1. 0 means no progress, 1 means operation completed.
5352 </param>
5353 <remarks>
5354 This method is called by the add-in engine to show the progress of the operation being monitorized.
5355 </remarks>
5356 </member>
5357 <member name="M:Mono.Addins.IProgressStatus.Log(System.String)">
5358 <summary>
5359 Writes text to the log.
5360 </summary>
5361 <param name="msg">
5362 Message to write
5363 </param>
5364 </member>
5365 <member name="M:Mono.Addins.IProgressStatus.ReportWarning(System.String)">
5366 <summary>
5367 Reports a warning.
5368 </summary>
5369 <param name="message">
5370 Warning message
5371 </param>
5372 <remarks>
5373 This method is called by the add-in engine to report a warning in the operation being monitorized.
5374 </remarks>
5375 </member>
5376 <member name="M:Mono.Addins.IProgressStatus.ReportError(System.String,System.Exception)">
5377 <summary>
5378 Reports an error.
5379 </summary>
5380 <param name="message">
5381 Error message
5382 </param>
5383 <param name="exception">
5384 Exception that caused the error. It can be null.
5385 </param>
5386 <remarks>
5387 This method is called by the add-in engine to report an error occurred while executing the operation being monitorized.
5388 </remarks>
5389 </member>
5390 <member name="M:Mono.Addins.IProgressStatus.Cancel">
5391 <summary>
5392 Cancels the operation being montorized.
5393 </summary>
5394 </member>
5395 <member name="P:Mono.Addins.IProgressStatus.LogLevel">
5396 <summary>
5397 Log level requested by the user: 0: no log, 1: normal log, >1 verbose log
5398 </summary>
5399 </member>
5400 <member name="P:Mono.Addins.IProgressStatus.IsCanceled">
5401 <summary>
5402 Returns True when the user requested to cancel this operation
5403 </summary>
5404 </member>
5405 <member name="M:Mono.Addins.ConsoleProgressStatus.#ctor(System.Boolean)">
5406 <summary>
5407 Initializes a new instance
5408 </summary>
5409 <param name="verboseLog">
5410 Set to true to enabled verbose log
5411 </param>
5412 </member>
5413 <member name="M:Mono.Addins.ConsoleProgressStatus.#ctor(System.Int32)">
5414 <summary>
5415 Initializes a new instance
5416 </summary>
5417 <param name="logLevel">
5418 Verbosity level. 0: not verbose, 1: normal, >1 extra verbose
5419 </param>
5420 </member>
5421 <member name="M:Mono.Addins.ConsoleProgressStatus.SetMessage(System.String)">
5422 <summary>
5423 Sets the description of the current operation.
5424 </summary>
5425 <param name="msg">
5426 A message
5427 </param>
5428 <remarks>
5429 This method is called by the add-in engine to show a description of the operation being monitorized.
5430 </remarks>
5431 </member>
5432 <member name="M:Mono.Addins.ConsoleProgressStatus.SetProgress(System.Double)">
5433 <summary>
5434 Sets the progress of the operation.
5435 </summary>
5436 <param name="progress">
5437 A number between 0 and 1. 0 means no progress, 1 means operation completed.
5438 </param>
5439 <remarks>
5440 This method is called by the add-in engine to show the progress of the operation being monitorized.
5441 </remarks>
5442 </member>
5443 <member name="M:Mono.Addins.ConsoleProgressStatus.Log(System.String)">
5444 <summary>
5445 Writes text to the log.
5446 </summary>
5447 <param name="msg">
5448 Message to write
5449 </param>
5450 </member>
5451 <member name="M:Mono.Addins.ConsoleProgressStatus.ReportWarning(System.String)">
5452 <summary>
5453 Reports a warning.
5454 </summary>
5455 <param name="message">
5456 Warning message
5457 </param>
5458 <remarks>
5459 This method is called by the add-in engine to report a warning in the operation being monitorized.
5460 </remarks>
5461 </member>
5462 <member name="M:Mono.Addins.ConsoleProgressStatus.ReportError(System.String,System.Exception)">
5463 <summary>
5464 Reports an error.
5465 </summary>
5466 <param name="message">
5467 Error message
5468 </param>
5469 <param name="exception">
5470 Exception that caused the error. It can be null.
5471 </param>
5472 <remarks>
5473 This method is called by the add-in engine to report an error occurred while executing the operation being monitorized.
5474 </remarks>
5475 </member>
5476 <member name="M:Mono.Addins.ConsoleProgressStatus.Cancel">
5477 <summary>
5478 Cancels the operation being montorized.
5479 </summary>
5480 </member>
5481 <member name="P:Mono.Addins.ConsoleProgressStatus.IsCanceled">
5482 <summary>
5483 Returns True when the user requested to cancel this operation
5484 </summary>
5485 </member>
5486 <member name="P:Mono.Addins.ConsoleProgressStatus.LogLevel">
5487 <summary>
5488 Log level requested by the user: 0: no log, 1: normal log, >1 verbose log
5489 </summary>
5490 </member>
5491 <member name="T:Mono.Addins.Description.AddinDependency">
5492 <summary>
5493 Definition of a dependency of an add-in on another add-in.
5494 </summary>
5495 </member>
5496 <member name="M:Mono.Addins.Description.AddinDependency.#ctor">
5497 <summary>
5498 Initializes a new instance of the <see cref="T:Mono.Addins.Description.AddinDependency"/> class.
5499 </summary>
5500 </member>
5501 <member name="M:Mono.Addins.Description.AddinDependency.#ctor(System.String)">
5502 <summary>
5503 Initializes a new instance of the <see cref="T:Mono.Addins.Description.AddinDependency"/> class.
5504 </summary>
5505 <param name="fullId">
5506 Full identifier of the add-in (includes version)
5507 </param>
5508 </member>
5509 <member name="M:Mono.Addins.Description.AddinDependency.#ctor(System.String,System.String)">
5510 <summary>
5511 Initializes a new instance of the <see cref="T:Mono.Addins.Description.AddinDependency"/> class.
5512 </summary>
5513 <param name="id">
5514 Identifier of the add-in.
5515 </param>
5516 <param name="version">
5517 Version of the add-in.
5518 </param>
5519 </member>
5520 <member name="P:Mono.Addins.Description.AddinDependency.FullAddinId">
5521 <summary>
5522 Gets the full addin identifier.
5523 </summary>
5524 <value>
5525 The full addin identifier.
5526 </value>
5527 <remarks>
5528 Includes namespace and version number. For example: MonoDevelop.TextEditor,1.0
5529 </remarks>
5530 </member>
5531 <member name="P:Mono.Addins.Description.AddinDependency.AddinId">
5532 <summary>
5533 Gets or sets the addin identifier.
5534 </summary>
5535 <value>
5536 The addin identifier.
5537 </value>
5538 </member>
5539 <member name="P:Mono.Addins.Description.AddinDependency.Version">
5540 <summary>
5541 Gets or sets the version.
5542 </summary>
5543 <value>
5544 The version.
5545 </value>
5546 </member>
5547 <member name="P:Mono.Addins.Description.AddinDependency.Name">
5548 <summary>
5549 Display name of the dependency.
5550 </summary>
5551 <value>
5552 The name.
5553 </value>
5554 </member>
5555 <member name="T:Mono.Addins.NodeAttributeAttribute">
5556 <summary>
5557 Indicates that a field or property is bound to a node attribute
5558 </summary>
5559 </member>
5560 <member name="M:Mono.Addins.NodeAttributeAttribute.#ctor">
5561 <summary>
5562 Initializes a new instance
5563 </summary>
5564 </member>
5565 <member name="M:Mono.Addins.NodeAttributeAttribute.#ctor(System.String)">
5566 <summary>
5567 Initializes a new instance
5568 </summary>
5569 <param name="name">
5570 XML name of the attribute.
5571 </param>
5572 </member>
5573 <member name="M:Mono.Addins.NodeAttributeAttribute.#ctor(System.String,System.String)">
5574 <summary>
5575 Initializes a new instance
5576 </summary>
5577 <param name="name">
5578 XML name of the attribute.
5579 </param>
5580 <param name="description">
5581 Description of the attribute.
5582 </param>
5583 </member>
5584 <member name="M:Mono.Addins.NodeAttributeAttribute.#ctor(System.String,System.Boolean)">
5585 <summary>
5586 Initializes a new instance
5587 </summary>
5588 <param name="name">
5589 XML name of the attribute.
5590 </param>
5591 <param name="required">
5592 Indicates whether the attribute is required or not.
5593 </param>
5594 </member>
5595 <member name="M:Mono.Addins.NodeAttributeAttribute.#ctor(System.String,System.Boolean,System.String)">
5596 <summary>
5597 Initializes a new instance
5598 </summary>
5599 <param name="name">
5600 XML name of the attribute.
5601 </param>
5602 <param name="required">
5603 Indicates whether the attribute is required or not.
5604 </param>
5605 <param name="description">
5606 Description of the attribute.
5607 </param>
5608 </member>
5609 <member name="M:Mono.Addins.NodeAttributeAttribute.#ctor(System.String,System.Type)">
5610 <summary>
5611 Initializes a new instance
5612 </summary>
5613 <param name="name">
5614 XML name of the attribute.
5615 </param>
5616 <param name="type">
5617 Type of the extension node attribute.
5618 </param>
5619 <remarks>
5620 The type of the attribute is only required when applying this attribute at class level.
5621 It is not required when it is applied to a field, since the attribute type will be the type of the field.
5622 </remarks>
5623 </member>
5624 <member name="M:Mono.Addins.NodeAttributeAttribute.#ctor(System.String,System.Type,System.String)">
5625 <summary>
5626 Initializes a new instance
5627 </summary>
5628 <param name="name">
5629 XML name of the attribute.
5630 </param>
5631 <param name="type">
5632 Type of the extension node attribute.
5633 </param>
5634 <param name="description">
5635 Description of the attribute.
5636 </param>
5637 <remarks>
5638 The type of the attribute is only required when applying this attribute at class level.
5639 It is not required when it is applied to a field, since the attribute type will be the type of the field.
5640 </remarks>
5641 </member>
5642 <member name="M:Mono.Addins.NodeAttributeAttribute.#ctor(System.String,System.Type,System.Boolean)">
5643 <summary>
5644 Initializes a new instance
5645 </summary>
5646 <param name="name">
5647 XML name of the attribute.
5648 </param>
5649 <param name="type">
5650 Type of the extension node attribute.
5651 </param>
5652 <param name="required">
5653 Indicates whether the attribute is required or not.
5654 </param>
5655 <remarks>
5656 The type of the attribute is only required when applying this attribute at class level.
5657 It is not required when it is applied to a field, since the attribute type will be the type of the field.
5658 </remarks>
5659 </member>
5660 <member name="M:Mono.Addins.NodeAttributeAttribute.#ctor(System.String,System.Type,System.Boolean,System.String)">
5661 <summary>
5662 Initializes a new instance
5663 </summary>
5664 <param name="name">
5665 XML name of the attribute.
5666 </param>
5667 <param name="type">
5668 Type of the extension node attribute.
5669 </param>
5670 <param name="required">
5671 Indicates whether the attribute is required or not.
5672 </param>
5673 <param name="description">
5674 Description of the attribute.
5675 </param>
5676 <remarks>
5677 The type of the attribute is only required when applying this attribute at class level.
5678 It is not required when it is applied to a field, since the attribute type will be the type of the field.
5679 </remarks>
5680 </member>
5681 <member name="P:Mono.Addins.NodeAttributeAttribute.Name">
5682 <summary>
5683 XML name of the attribute.
5684 </summary>
5685 <remarks>
5686 If the name is not specified, the field name to which the [NodeAttribute]
5687 is applied will be used as name. Providing a name is mandatory when applying
5688 [NodeAttribute] at class level.
5689 </remarks>
5690 </member>
5691 <member name="P:Mono.Addins.NodeAttributeAttribute.Required">
5692 <summary>
5693 Indicates whether the attribute is required or not.
5694 </summary>
5695 </member>
5696 <member name="P:Mono.Addins.NodeAttributeAttribute.Type">
5697 <summary>
5698 Type of the extension node attribute.
5699 </summary>
5700 <remarks>
5701 To be used only when applying [NodeAttribute] at class level. It is not required when it
5702 is applied to a field, since the attribute type will be the type of the field.
5703 </remarks>
5704 </member>
5705 <member name="P:Mono.Addins.NodeAttributeAttribute.Description">
5706 <summary>
5707 Description of the attribute.
5708 </summary>
5709 <remarks>
5710 To be used in the extension point documentation.
5711 </remarks>
5712 </member>
5713 <member name="P:Mono.Addins.NodeAttributeAttribute.Localizable">
5714 <summary>
5715 When set to True, the value of the field or property is expected to be a string id which
5716 will be localized by the add-in engine
5717 </summary>
5718 </member>
5719 <member name="P:Mono.Addins.NodeAttributeAttribute.ContentType">
5720 <summary>
5721 Gets or sets the type of the content.
5722 </summary>
5723 <remarks>
5724 Allows specifying the type of the content of a string attribute.
5725 This value is for documentation purposes only.
5726 </remarks>
5727 </member>
5728 <member name="T:Mono.Addins.Description.AddinPropertyCollection">
5729 <summary>
5730 A collection of add-in properties
5731 </summary>
5732 </member>
5733 <member name="M:Mono.Addins.Description.AddinPropertyCollection.GetPropertyValue(System.String)">
5734 <summary>
5735 Gets the value of a property
5736 </summary>
5737 <returns>
5738 The property value.
5739 </returns>
5740 <param name='name'>
5741 Name of the property.
5742 </param>
5743 <remarks>
5744 If the property is localized, it will return the value for the current language if exists, or the
5745 default value if it doesn't.
5746 </remarks>
5747 </member>
5748 <member name="M:Mono.Addins.Description.AddinPropertyCollection.GetPropertyValue(System.String,System.String)">
5749 <summary>
5750 Gets the value of a property
5751 </summary>
5752 <returns>
5753 The property value.
5754 </returns>
5755 <param name='name'>
5756 Name of the property.
5757 </param>
5758 <param name='locale'>
5759 Locale for which the value must be returned.
5760 </param>
5761 </member>
5762 <member name="M:Mono.Addins.Description.AddinPropertyCollection.SetPropertyValue(System.String,System.String)">
5763 <summary>
5764 Sets the value of a property
5765 </summary>
5766 <param name='name'>
5767 Name of the property
5768 </param>
5769 <param name='value'>
5770 New value.
5771 </param>
5772 </member>
5773 <member name="M:Mono.Addins.Description.AddinPropertyCollection.SetPropertyValue(System.String,System.String,System.String)">
5774 <summary>
5775 Sets the value of a property for a specific locale
5776 </summary>
5777 <param name='name'>
5778 Name of the property.
5779 </param>
5780 <param name='value'>
5781 New value.
5782 </param>
5783 <param name='locale'>
5784 Locale of the property to be set.
5785 </param>
5786 </member>
5787 <member name="M:Mono.Addins.Description.AddinPropertyCollection.RemoveProperty(System.String)">
5788 <summary>
5789 Removes a property.
5790 </summary>
5791 <param name='name'>
5792 Name of the property.
5793 </param>
5794 <remarks>
5795 This method only removes properties which have no locale set.
5796 </remarks>
5797 </member>
5798 <member name="M:Mono.Addins.Description.AddinPropertyCollection.RemoveProperty(System.String,System.String)">
5799 <summary>
5800 Removes a property with a specified locale
5801 </summary>
5802 <param name='name'>
5803 Name of the property
5804 </param>
5805 <param name='locale'>
5806 Locale of the property
5807 </param>
5808 </member>
5809 <member name="T:Mono.Addins.ImportAddinFileAttribute">
5810 <summary>
5811 Declares an add-in file import
5812 </summary>
5813 <remarks>
5814 An add-in may be composed by several assemblies and data files.
5815 Data files must be declared in the main assembly using this attribute, or in the XML manifest.
5816
5817 It is important to properly declare all files used by an add-in.
5818 This information is used by setup tools to know exactly what needs to be packaged when creating
5819 an add-in package, or to know what needs to be deleted when removing an add-in.
5820 </remarks>
5821 </member>
5822 <member name="M:Mono.Addins.ImportAddinFileAttribute.#ctor(System.String)">
5823 <summary>
5824 Initializes a new instance
5825 </summary>
5826 <param name="filePath">
5827 Path to the file. Must be relative to the assembly declaring this attribute.
5828 </param>
5829 </member>
5830 <member name="P:Mono.Addins.ImportAddinFileAttribute.FilePath">
5831 <summary>
5832 Path to the file. Must be relative to the assembly declaring this attribute.
5833 </summary>
5834 </member>
5835 <member name="T:Mono.Addins.Description.NodeSetIdCollection">
5836 <summary>
5837 A collection of node set identifiers
5838 </summary>
5839 </member>
5840 <member name="M:Mono.Addins.Description.NodeSetIdCollection.GetEnumerator">
5841 <summary>
5842 Gets the collection enumerator.
5843 </summary>
5844 <returns>
5845 The enumerator.
5846 </returns>
5847 </member>
5848 <member name="M:Mono.Addins.Description.NodeSetIdCollection.Add(System.String)">
5849 <summary>
5850 Add the specified node set identifier.
5851 </summary>
5852 <param name='nodeSetId'>
5853 Node set identifier.
5854 </param>
5855 </member>
5856 <member name="M:Mono.Addins.Description.NodeSetIdCollection.Remove(System.String)">
5857 <summary>
5858 Remove a node set identifier
5859 </summary>
5860 <param name='nodeSetId'>
5861 Node set identifier.
5862 </param>
5863 </member>
5864 <member name="M:Mono.Addins.Description.NodeSetIdCollection.Clear">
5865 <summary>
5866 Clears the collection
5867 </summary>
5868 </member>
5869 <member name="M:Mono.Addins.Description.NodeSetIdCollection.Contains(System.String)">
5870 <summary>
5871 Checks if the specified identifier is present in the collection
5872 </summary>
5873 <param name='nodeSetId'>
5874 <c>true</c> if the node set identifier is present.
5875 </param>
5876 </member>
5877 <member name="M:Mono.Addins.Description.NodeSetIdCollection.IndexOf(System.String)">
5878 <summary>
5879 Returns the index of the specified node set identifier
5880 </summary>
5881 <returns>
5882 The index.
5883 </returns>
5884 <param name='nodeSetId'>
5885 A node set identifier.
5886 </param>
5887 </member>
5888 <member name="P:Mono.Addins.Description.NodeSetIdCollection.Item(System.Int32)">
5889 <summary>
5890 Gets the node set identifier at the specified index.
5891 </summary>
5892 <param name='n'>
5893 An index.
5894 </param>
5895 </member>
5896 <member name="P:Mono.Addins.Description.NodeSetIdCollection.Count">
5897 <summary>
5898 Gets the item count.
5899 </summary>
5900 <value>
5901 The count.
5902 </value>
5903 </member>
5904 <member name="T:Mono.Addins.Description.ModuleDescription">
5905 <summary>
5906 A module definition.
5907 </summary>
5908 <remarks>
5909 Optional modules can be used to declare extensions which will be registered only if some
5910 specified add-in dependencies can be satisfied.
5911 </remarks>
5912 </member>
5913 <member name="M:Mono.Addins.Description.ModuleDescription.#ctor">
5914 <summary>
5915 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ModuleDescription"/> class.
5916 </summary>
5917 </member>
5918 <member name="M:Mono.Addins.Description.ModuleDescription.DependsOnAddin(System.String)">
5919 <summary>
5920 Checks if this module depends on the specified add-in.
5921 </summary>
5922 <returns>
5923 <c>true</c> if there is a dependency.
5924 </returns>
5925 <param name='addinId'>
5926 Identifier of the add-in
5927 </param>
5928 </member>
5929 <member name="M:Mono.Addins.Description.ModuleDescription.AddExtensionNode(System.String,System.String)">
5930 <summary>
5931 Adds an extension node to the module.
5932 </summary>
5933 <returns>
5934 The extension node.
5935 </returns>
5936 <param name='path'>
5937 Path that identifies the extension point.
5938 </param>
5939 <param name='nodeName'>
5940 Node name.
5941 </param>
5942 <remarks>
5943 This method creates a new Extension object for the provided path if none exist.
5944 </remarks>
5945 </member>
5946 <member name="M:Mono.Addins.Description.ModuleDescription.GetExtension(System.String)">
5947 <summary>
5948 Gets an extension instance.
5949 </summary>
5950 <returns>
5951 The extension instance.
5952 </returns>
5953 <param name='path'>
5954 Path that identifies the extension point that the extension extends.
5955 </param>
5956 <remarks>
5957 This method creates a new Extension object for the provided path if none exist.
5958 </remarks>
5959 </member>
5960 <member name="M:Mono.Addins.Description.ModuleDescription.AddAssemblyReference(System.String,System.String)">
5961 <summary>
5962 Adds an add-in reference (there is a typo in the method name)
5963 </summary>
5964 <param name='id'>
5965 Identifier of the add-in.
5966 </param>
5967 <param name='version'>
5968 Version of the add-in.
5969 </param>
5970 </member>
5971 <member name="P:Mono.Addins.Description.ModuleDescription.IgnorePaths">
5972 <summary>
5973 Gets the list of paths to be ignored by the add-in scanner.
5974 </summary>
5975 </member>
5976 <member name="P:Mono.Addins.Description.ModuleDescription.AllFiles">
5977 <summary>
5978 Gets all external files
5979 </summary>
5980 <value>
5981 All files.
5982 </value>
5983 <remarks>
5984 External files are data files and assemblies explicitly referenced in the Runtime section of the add-in manifest.
5985 </remarks>
5986 </member>
5987 <member name="P:Mono.Addins.Description.ModuleDescription.Assemblies">
5988 <summary>
5989 Gets the list of external assemblies used by this module.
5990 </summary>
5991 </member>
5992 <member name="P:Mono.Addins.Description.ModuleDescription.DataFiles">
5993 <summary>
5994 Gets the list of external data files used by this module
5995 </summary>
5996 </member>
5997 <member name="P:Mono.Addins.Description.ModuleDescription.Dependencies">
5998 <summary>
5999 Gets the dependencies of this module
6000 </summary>
6001 </member>
6002 <member name="P:Mono.Addins.Description.ModuleDescription.Extensions">
6003 <summary>
6004 Gets the extensions of this module
6005 </summary>
6006 </member>
6007 <member name="T:Mono.Addins.AddinCategoryAttribute">
6008 <summary>
6009 Addin category attribute.
6010 </summary>
6011 </member>
6012 <member name="M:Mono.Addins.AddinCategoryAttribute.#ctor(System.String)">
6013 <summary>
6014 Initializes the attribute
6015 </summary>
6016 <param name="category">
6017 The category to which the add-in belongs
6018 </param>
6019 </member>
6020 <member name="P:Mono.Addins.AddinCategoryAttribute.Category">
6021 <summary>
6022 The category to which the add-in belongs
6023 </summary>
6024 </member>
6025 <member name="T:Mono.Addins.Description.ExtensionNodeTypeCollection">
6026 <summary>
6027 A collection of node types.
6028 </summary>
6029 </member>
6030 <member name="M:Mono.Addins.Description.ExtensionNodeTypeCollection.#ctor">
6031 <summary>
6032 Initializes a new instance of the <see cref="T:Mono.Addins.Description.ExtensionNodeTypeCollection"/> class.
6033 </summary>
6034 </member>
6035 <member name="P:Mono.Addins.Description.ExtensionNodeTypeCollection.Item(System.Int32)">
6036 <summary>
6037 Gets the <see cref="T:Mono.Addins.Description.ExtensionNodeType"/> at the specified index.
6038 </summary>
6039 <param name="n">
6040 The index.
6041 </param>
6042 </member>
6043 <member name="P:Mono.Addins.Description.ExtensionNodeTypeCollection.Item(System.String)">
6044 <summary>
6045 Gets the <see cref="T:Mono.Addins.Description.ExtensionNodeType"/> with the specified id.
6046 </summary>
6047 <param name="id">
6048 Identifier.
6049 </param>
6050 </member>
6051 <member name="T:Mono.Addins.Description.NodeTypeAttribute">
6052 <summary>
6053 Description of the attribute of a node type.
6054 </summary>
6055 </member>
6056 <member name="M:Mono.Addins.Description.NodeTypeAttribute.#ctor">
6057 <summary>
6058 Initializes a new instance of the <see cref="T:Mono.Addins.Description.NodeTypeAttribute"/> class.
6059 </summary>
6060 </member>
6061 <member name="M:Mono.Addins.Description.NodeTypeAttribute.CopyFrom(Mono.Addins.Description.NodeTypeAttribute)">
6062 <summary>
6063 Copies data from another node attribute.
6064 </summary>
6065 <param name='att'>
6066 The attribute from which to copy.
6067 </param>
6068 </member>
6069 <member name="P:Mono.Addins.Description.NodeTypeAttribute.Name">
6070 <summary>
6071 Gets or sets the name of the attribute.
6072 </summary>
6073 <value>
6074 The name.
6075 </value>
6076 </member>
6077 <member name="P:Mono.Addins.Description.NodeTypeAttribute.Required">
6078 <summary>
6079 Gets or sets a value indicating whether this <see cref="T:Mono.Addins.Description.NodeTypeAttribute"/> is required.
6080 </summary>
6081 <value>
6082 <c>true</c> if required; otherwise, <c>false</c>.
6083 </value>
6084 </member>
6085 <member name="P:Mono.Addins.Description.NodeTypeAttribute.Localizable">
6086 <summary>
6087 Gets or sets a value indicating whether this <see cref="T:Mono.Addins.Description.NodeTypeAttribute"/> is localizable.
6088 </summary>
6089 <value>
6090 <c>true</c> if localizable; otherwise, <c>false</c>.
6091 </value>
6092 </member>
6093 <member name="P:Mono.Addins.Description.NodeTypeAttribute.Type">
6094 <summary>
6095 Gets or sets the type of the attribute.
6096 </summary>
6097 <value>
6098 The type.
6099 </value>
6100 </member>
6101 <member name="P:Mono.Addins.Description.NodeTypeAttribute.Description">
6102 <summary>
6103 Gets or sets the description of the attribute.
6104 </summary>
6105 <value>
6106 The description.
6107 </value>
6108 </member>
6109 <member name="P:Mono.Addins.Description.NodeTypeAttribute.ContentType">
6110 <summary>
6111 Gets or sets the type of the content.
6112 </summary>
6113 <remarks>
6114 Allows specifying the type of the content of a string attribute.
6115 The value of this property is only informative, and it doesn't
6116 have any effect on how add-ins are packaged or loaded.
6117 </remarks>
6118 </member>
6119 </members>
6120</doc>
diff --git a/bin/Mono.Data.Sqlite.dll b/bin/Mono.Data.Sqlite.dll
new file mode 100755
index 0000000..4f69e0d
--- /dev/null
+++ b/bin/Mono.Data.Sqlite.dll
Binary files differ
diff --git a/bin/Mono.Data.Sqlite.dll.config b/bin/Mono.Data.Sqlite.dll.config
new file mode 100644
index 0000000..e66d1b7
--- /dev/null
+++ b/bin/Mono.Data.Sqlite.dll.config
@@ -0,0 +1,5 @@
1<configuration>
2 <dllmap os="osx" dll="sqlite3" target="lib64/libsqlite3.dylib" />
3 <dllmap os="!windows,osx" cpu="x86-64,ia64" wordsize="64" dll="sqlite3" target="lib64/libsqlite3_64.so" />
4 <dllmap os="!windows,osx" cpu="x86" wordsize="32" dll="sqlite3" target="lib32/libsqlite3_32.so" />
5</configuration>
diff --git a/bin/Mono.Data.SqliteClient.dll b/bin/Mono.Data.SqliteClient.dll
new file mode 100755
index 0000000..657fbf4
--- /dev/null
+++ b/bin/Mono.Data.SqliteClient.dll
Binary files differ
diff --git a/bin/MySql.Data.dll b/bin/MySql.Data.dll
new file mode 100755
index 0000000..c9f344a
--- /dev/null
+++ b/bin/MySql.Data.dll
Binary files differ
diff --git a/bin/NDesk.Options.dll b/bin/NDesk.Options.dll
new file mode 100755
index 0000000..df45878
--- /dev/null
+++ b/bin/NDesk.Options.dll
Binary files differ
diff --git a/bin/Newtonsoft.Json.xml b/bin/Newtonsoft.Json.xml
new file mode 100644
index 0000000..2a75b44
--- /dev/null
+++ b/bin/Newtonsoft.Json.xml
@@ -0,0 +1,8626 @@
1<?xml version="1.0"?>
2<doc>
3 <assembly>
4 <name>Newtonsoft.Json</name>
5 </assembly>
6 <members>
7 <member name="T:Newtonsoft.Json.Bson.BsonReader">
8 <summary>
9 Represents a reader that provides fast, non-cached, forward-only access to serialized Json data.
10 </summary>
11 </member>
12 <member name="T:Newtonsoft.Json.JsonReader">
13 <summary>
14 Represents a reader that provides fast, non-cached, forward-only access to serialized Json data.
15 </summary>
16 </member>
17 <member name="M:Newtonsoft.Json.JsonReader.#ctor">
18 <summary>
19 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReader"/> class with the specified <see cref="T:System.IO.TextReader"/>.
20 </summary>
21 </member>
22 <member name="M:Newtonsoft.Json.JsonReader.Read">
23 <summary>
24 Reads the next JSON token from the stream.
25 </summary>
26 <returns>true if the next token was read successfully; false if there are no more tokens to read.</returns>
27 </member>
28 <member name="M:Newtonsoft.Json.JsonReader.ReadAsInt32">
29 <summary>
30 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
31 </summary>
32 <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns>
33 </member>
34 <member name="M:Newtonsoft.Json.JsonReader.ReadAsString">
35 <summary>
36 Reads the next JSON token from the stream as a <see cref="T:System.String"/>.
37 </summary>
38 <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns>
39 </member>
40 <member name="M:Newtonsoft.Json.JsonReader.ReadAsBytes">
41 <summary>
42 Reads the next JSON token from the stream as a <see cref="T:Byte[]"/>.
43 </summary>
44 <returns>A <see cref="T:Byte[]"/> or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array.</returns>
45 </member>
46 <member name="M:Newtonsoft.Json.JsonReader.ReadAsDecimal">
47 <summary>
48 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
49 </summary>
50 <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns>
51 </member>
52 <member name="M:Newtonsoft.Json.JsonReader.ReadAsDateTime">
53 <summary>
54 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
55 </summary>
56 <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns>
57 </member>
58 <member name="M:Newtonsoft.Json.JsonReader.ReadAsDateTimeOffset">
59 <summary>
60 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
61 </summary>
62 <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns>
63 </member>
64 <member name="M:Newtonsoft.Json.JsonReader.Skip">
65 <summary>
66 Skips the children of the current token.
67 </summary>
68 </member>
69 <member name="M:Newtonsoft.Json.JsonReader.SetToken(Newtonsoft.Json.JsonToken)">
70 <summary>
71 Sets the current token.
72 </summary>
73 <param name="newToken">The new token.</param>
74 </member>
75 <member name="M:Newtonsoft.Json.JsonReader.SetToken(Newtonsoft.Json.JsonToken,System.Object)">
76 <summary>
77 Sets the current token and value.
78 </summary>
79 <param name="newToken">The new token.</param>
80 <param name="value">The value.</param>
81 </member>
82 <member name="M:Newtonsoft.Json.JsonReader.SetStateBasedOnCurrent">
83 <summary>
84 Sets the state based on current token type.
85 </summary>
86 </member>
87 <member name="M:Newtonsoft.Json.JsonReader.System#IDisposable#Dispose">
88 <summary>
89 Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
90 </summary>
91 </member>
92 <member name="M:Newtonsoft.Json.JsonReader.Dispose(System.Boolean)">
93 <summary>
94 Releases unmanaged and - optionally - managed resources
95 </summary>
96 <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
97 </member>
98 <member name="M:Newtonsoft.Json.JsonReader.Close">
99 <summary>
100 Changes the <see cref="T:Newtonsoft.Json.JsonReader.State"/> to Closed.
101 </summary>
102 </member>
103 <member name="P:Newtonsoft.Json.JsonReader.CurrentState">
104 <summary>
105 Gets the current reader state.
106 </summary>
107 <value>The current reader state.</value>
108 </member>
109 <member name="P:Newtonsoft.Json.JsonReader.CloseInput">
110 <summary>
111 Gets or sets a value indicating whether the underlying stream or
112 <see cref="T:System.IO.TextReader"/> should be closed when the reader is closed.
113 </summary>
114 <value>
115 true to close the underlying stream or <see cref="T:System.IO.TextReader"/> when
116 the reader is closed; otherwise false. The default is true.
117 </value>
118 </member>
119 <member name="P:Newtonsoft.Json.JsonReader.SupportMultipleContent">
120 <summary>
121 Gets or sets a value indicating whether multiple pieces of JSON content can
122 be read from a continuous stream without erroring.
123 </summary>
124 <value>
125 true to support reading multiple pieces of JSON content; otherwise false. The default is false.
126 </value>
127 </member>
128 <member name="P:Newtonsoft.Json.JsonReader.QuoteChar">
129 <summary>
130 Gets the quotation mark character used to enclose the value of a string.
131 </summary>
132 </member>
133 <member name="P:Newtonsoft.Json.JsonReader.DateTimeZoneHandling">
134 <summary>
135 Get or set how <see cref="T:System.DateTime"/> time zones are handling when reading JSON.
136 </summary>
137 </member>
138 <member name="P:Newtonsoft.Json.JsonReader.DateParseHandling">
139 <summary>
140 Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON.
141 </summary>
142 </member>
143 <member name="P:Newtonsoft.Json.JsonReader.FloatParseHandling">
144 <summary>
145 Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
146 </summary>
147 </member>
148 <member name="P:Newtonsoft.Json.JsonReader.DateFormatString">
149 <summary>
150 Get or set how custom date formatted strings are parsed when reading JSON.
151 </summary>
152 </member>
153 <member name="P:Newtonsoft.Json.JsonReader.MaxDepth">
154 <summary>
155 Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:Newtonsoft.Json.JsonReaderException"/>.
156 </summary>
157 </member>
158 <member name="P:Newtonsoft.Json.JsonReader.TokenType">
159 <summary>
160 Gets the type of the current JSON token.
161 </summary>
162 </member>
163 <member name="P:Newtonsoft.Json.JsonReader.Value">
164 <summary>
165 Gets the text value of the current JSON token.
166 </summary>
167 </member>
168 <member name="P:Newtonsoft.Json.JsonReader.ValueType">
169 <summary>
170 Gets The Common Language Runtime (CLR) type for the current JSON token.
171 </summary>
172 </member>
173 <member name="P:Newtonsoft.Json.JsonReader.Depth">
174 <summary>
175 Gets the depth of the current token in the JSON document.
176 </summary>
177 <value>The depth of the current token in the JSON document.</value>
178 </member>
179 <member name="P:Newtonsoft.Json.JsonReader.Path">
180 <summary>
181 Gets the path of the current JSON token.
182 </summary>
183 </member>
184 <member name="P:Newtonsoft.Json.JsonReader.Culture">
185 <summary>
186 Gets or sets the culture used when reading JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>.
187 </summary>
188 </member>
189 <member name="T:Newtonsoft.Json.JsonReader.State">
190 <summary>
191 Specifies the state of the reader.
192 </summary>
193 </member>
194 <member name="F:Newtonsoft.Json.JsonReader.State.Start">
195 <summary>
196 The Read method has not been called.
197 </summary>
198 </member>
199 <member name="F:Newtonsoft.Json.JsonReader.State.Complete">
200 <summary>
201 The end of the file has been reached successfully.
202 </summary>
203 </member>
204 <member name="F:Newtonsoft.Json.JsonReader.State.Property">
205 <summary>
206 Reader is at a property.
207 </summary>
208 </member>
209 <member name="F:Newtonsoft.Json.JsonReader.State.ObjectStart">
210 <summary>
211 Reader is at the start of an object.
212 </summary>
213 </member>
214 <member name="F:Newtonsoft.Json.JsonReader.State.Object">
215 <summary>
216 Reader is in an object.
217 </summary>
218 </member>
219 <member name="F:Newtonsoft.Json.JsonReader.State.ArrayStart">
220 <summary>
221 Reader is at the start of an array.
222 </summary>
223 </member>
224 <member name="F:Newtonsoft.Json.JsonReader.State.Array">
225 <summary>
226 Reader is in an array.
227 </summary>
228 </member>
229 <member name="F:Newtonsoft.Json.JsonReader.State.Closed">
230 <summary>
231 The Close method has been called.
232 </summary>
233 </member>
234 <member name="F:Newtonsoft.Json.JsonReader.State.PostValue">
235 <summary>
236 Reader has just read a value.
237 </summary>
238 </member>
239 <member name="F:Newtonsoft.Json.JsonReader.State.ConstructorStart">
240 <summary>
241 Reader is at the start of a constructor.
242 </summary>
243 </member>
244 <member name="F:Newtonsoft.Json.JsonReader.State.Constructor">
245 <summary>
246 Reader in a constructor.
247 </summary>
248 </member>
249 <member name="F:Newtonsoft.Json.JsonReader.State.Error">
250 <summary>
251 An error occurred that prevents the read operation from continuing.
252 </summary>
253 </member>
254 <member name="F:Newtonsoft.Json.JsonReader.State.Finished">
255 <summary>
256 The end of the file has been reached successfully.
257 </summary>
258 </member>
259 <member name="M:Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.Stream)">
260 <summary>
261 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonReader"/> class.
262 </summary>
263 <param name="stream">The stream.</param>
264 </member>
265 <member name="M:Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.BinaryReader)">
266 <summary>
267 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonReader"/> class.
268 </summary>
269 <param name="reader">The reader.</param>
270 </member>
271 <member name="M:Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.Stream,System.Boolean,System.DateTimeKind)">
272 <summary>
273 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonReader"/> class.
274 </summary>
275 <param name="stream">The stream.</param>
276 <param name="readRootValueAsArray">if set to <c>true</c> the root object will be read as a JSON array.</param>
277 <param name="dateTimeKindHandling">The <see cref="T:System.DateTimeKind"/> used when reading <see cref="T:System.DateTime"/> values from BSON.</param>
278 </member>
279 <member name="M:Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.BinaryReader,System.Boolean,System.DateTimeKind)">
280 <summary>
281 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonReader"/> class.
282 </summary>
283 <param name="reader">The reader.</param>
284 <param name="readRootValueAsArray">if set to <c>true</c> the root object will be read as a JSON array.</param>
285 <param name="dateTimeKindHandling">The <see cref="T:System.DateTimeKind"/> used when reading <see cref="T:System.DateTime"/> values from BSON.</param>
286 </member>
287 <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsBytes">
288 <summary>
289 Reads the next JSON token from the stream as a <see cref="T:Byte[]"/>.
290 </summary>
291 <returns>
292 A <see cref="T:Byte[]"/> or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array.
293 </returns>
294 </member>
295 <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsDecimal">
296 <summary>
297 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
298 </summary>
299 <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns>
300 </member>
301 <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsInt32">
302 <summary>
303 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
304 </summary>
305 <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns>
306 </member>
307 <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsString">
308 <summary>
309 Reads the next JSON token from the stream as a <see cref="T:System.String"/>.
310 </summary>
311 <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns>
312 </member>
313 <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsDateTime">
314 <summary>
315 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
316 </summary>
317 <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns>
318 </member>
319 <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsDateTimeOffset">
320 <summary>
321 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
322 </summary>
323 <returns>
324 A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.
325 </returns>
326 </member>
327 <member name="M:Newtonsoft.Json.Bson.BsonReader.Read">
328 <summary>
329 Reads the next JSON token from the stream.
330 </summary>
331 <returns>
332 true if the next token was read successfully; false if there are no more tokens to read.
333 </returns>
334 </member>
335 <member name="M:Newtonsoft.Json.Bson.BsonReader.Close">
336 <summary>
337 Changes the <see cref="T:Newtonsoft.Json.JsonReader.State"/> to Closed.
338 </summary>
339 </member>
340 <member name="P:Newtonsoft.Json.Bson.BsonReader.JsonNet35BinaryCompatibility">
341 <summary>
342 Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary.
343 </summary>
344 <value>
345 <c>true</c> if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, <c>false</c>.
346 </value>
347 </member>
348 <member name="P:Newtonsoft.Json.Bson.BsonReader.ReadRootValueAsArray">
349 <summary>
350 Gets or sets a value indicating whether the root object will be read as a JSON array.
351 </summary>
352 <value>
353 <c>true</c> if the root object will be read as a JSON array; otherwise, <c>false</c>.
354 </value>
355 </member>
356 <member name="P:Newtonsoft.Json.Bson.BsonReader.DateTimeKindHandling">
357 <summary>
358 Gets or sets the <see cref="T:System.DateTimeKind"/> used when reading <see cref="T:System.DateTime"/> values from BSON.
359 </summary>
360 <value>The <see cref="T:System.DateTimeKind"/> used when reading <see cref="T:System.DateTime"/> values from BSON.</value>
361 </member>
362 <member name="T:Newtonsoft.Json.Bson.BsonWriter">
363 <summary>
364 Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
365 </summary>
366 </member>
367 <member name="T:Newtonsoft.Json.JsonWriter">
368 <summary>
369 Represents a writer that provides a fast, non-cached, forward-only way of generating Json data.
370 </summary>
371 </member>
372 <member name="M:Newtonsoft.Json.JsonWriter.#ctor">
373 <summary>
374 Creates an instance of the <c>JsonWriter</c> class.
375 </summary>
376 </member>
377 <member name="M:Newtonsoft.Json.JsonWriter.Flush">
378 <summary>
379 Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream.
380 </summary>
381 </member>
382 <member name="M:Newtonsoft.Json.JsonWriter.Close">
383 <summary>
384 Closes this stream and the underlying stream.
385 </summary>
386 </member>
387 <member name="M:Newtonsoft.Json.JsonWriter.WriteStartObject">
388 <summary>
389 Writes the beginning of a Json object.
390 </summary>
391 </member>
392 <member name="M:Newtonsoft.Json.JsonWriter.WriteEndObject">
393 <summary>
394 Writes the end of a Json object.
395 </summary>
396 </member>
397 <member name="M:Newtonsoft.Json.JsonWriter.WriteStartArray">
398 <summary>
399 Writes the beginning of a Json array.
400 </summary>
401 </member>
402 <member name="M:Newtonsoft.Json.JsonWriter.WriteEndArray">
403 <summary>
404 Writes the end of an array.
405 </summary>
406 </member>
407 <member name="M:Newtonsoft.Json.JsonWriter.WriteStartConstructor(System.String)">
408 <summary>
409 Writes the start of a constructor with the given name.
410 </summary>
411 <param name="name">The name of the constructor.</param>
412 </member>
413 <member name="M:Newtonsoft.Json.JsonWriter.WriteEndConstructor">
414 <summary>
415 Writes the end constructor.
416 </summary>
417 </member>
418 <member name="M:Newtonsoft.Json.JsonWriter.WritePropertyName(System.String)">
419 <summary>
420 Writes the property name of a name/value pair on a JSON object.
421 </summary>
422 <param name="name">The name of the property.</param>
423 </member>
424 <member name="M:Newtonsoft.Json.JsonWriter.WritePropertyName(System.String,System.Boolean)">
425 <summary>
426 Writes the property name of a name/value pair on a JSON object.
427 </summary>
428 <param name="name">The name of the property.</param>
429 <param name="escape">A flag to indicate whether the text should be escaped when it is written as a JSON property name.</param>
430 </member>
431 <member name="M:Newtonsoft.Json.JsonWriter.WriteEnd">
432 <summary>
433 Writes the end of the current Json object or array.
434 </summary>
435 </member>
436 <member name="M:Newtonsoft.Json.JsonWriter.WriteToken(Newtonsoft.Json.JsonReader)">
437 <summary>
438 Writes the current <see cref="T:Newtonsoft.Json.JsonReader"/> token and its children.
439 </summary>
440 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read the token from.</param>
441 </member>
442 <member name="M:Newtonsoft.Json.JsonWriter.WriteToken(Newtonsoft.Json.JsonReader,System.Boolean)">
443 <summary>
444 Writes the current <see cref="T:Newtonsoft.Json.JsonReader"/> token.
445 </summary>
446 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read the token from.</param>
447 <param name="writeChildren">A flag indicating whether the current token's children should be written.</param>
448 </member>
449 <member name="M:Newtonsoft.Json.JsonWriter.WriteEnd(Newtonsoft.Json.JsonToken)">
450 <summary>
451 Writes the specified end token.
452 </summary>
453 <param name="token">The end token to write.</param>
454 </member>
455 <member name="M:Newtonsoft.Json.JsonWriter.WriteIndent">
456 <summary>
457 Writes indent characters.
458 </summary>
459 </member>
460 <member name="M:Newtonsoft.Json.JsonWriter.WriteValueDelimiter">
461 <summary>
462 Writes the JSON value delimiter.
463 </summary>
464 </member>
465 <member name="M:Newtonsoft.Json.JsonWriter.WriteIndentSpace">
466 <summary>
467 Writes an indent space.
468 </summary>
469 </member>
470 <member name="M:Newtonsoft.Json.JsonWriter.WriteNull">
471 <summary>
472 Writes a null value.
473 </summary>
474 </member>
475 <member name="M:Newtonsoft.Json.JsonWriter.WriteUndefined">
476 <summary>
477 Writes an undefined value.
478 </summary>
479 </member>
480 <member name="M:Newtonsoft.Json.JsonWriter.WriteRaw(System.String)">
481 <summary>
482 Writes raw JSON without changing the writer's state.
483 </summary>
484 <param name="json">The raw JSON to write.</param>
485 </member>
486 <member name="M:Newtonsoft.Json.JsonWriter.WriteRawValue(System.String)">
487 <summary>
488 Writes raw JSON where a value is expected and updates the writer's state.
489 </summary>
490 <param name="json">The raw JSON to write.</param>
491 </member>
492 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.String)">
493 <summary>
494 Writes a <see cref="T:System.String"/> value.
495 </summary>
496 <param name="value">The <see cref="T:System.String"/> value to write.</param>
497 </member>
498 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Int32)">
499 <summary>
500 Writes a <see cref="T:System.Int32"/> value.
501 </summary>
502 <param name="value">The <see cref="T:System.Int32"/> value to write.</param>
503 </member>
504 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.UInt32)">
505 <summary>
506 Writes a <see cref="T:System.UInt32"/> value.
507 </summary>
508 <param name="value">The <see cref="T:System.UInt32"/> value to write.</param>
509 </member>
510 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Int64)">
511 <summary>
512 Writes a <see cref="T:System.Int64"/> value.
513 </summary>
514 <param name="value">The <see cref="T:System.Int64"/> value to write.</param>
515 </member>
516 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.UInt64)">
517 <summary>
518 Writes a <see cref="T:System.UInt64"/> value.
519 </summary>
520 <param name="value">The <see cref="T:System.UInt64"/> value to write.</param>
521 </member>
522 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Single)">
523 <summary>
524 Writes a <see cref="T:System.Single"/> value.
525 </summary>
526 <param name="value">The <see cref="T:System.Single"/> value to write.</param>
527 </member>
528 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Double)">
529 <summary>
530 Writes a <see cref="T:System.Double"/> value.
531 </summary>
532 <param name="value">The <see cref="T:System.Double"/> value to write.</param>
533 </member>
534 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Boolean)">
535 <summary>
536 Writes a <see cref="T:System.Boolean"/> value.
537 </summary>
538 <param name="value">The <see cref="T:System.Boolean"/> value to write.</param>
539 </member>
540 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Int16)">
541 <summary>
542 Writes a <see cref="T:System.Int16"/> value.
543 </summary>
544 <param name="value">The <see cref="T:System.Int16"/> value to write.</param>
545 </member>
546 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.UInt16)">
547 <summary>
548 Writes a <see cref="T:System.UInt16"/> value.
549 </summary>
550 <param name="value">The <see cref="T:System.UInt16"/> value to write.</param>
551 </member>
552 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Char)">
553 <summary>
554 Writes a <see cref="T:System.Char"/> value.
555 </summary>
556 <param name="value">The <see cref="T:System.Char"/> value to write.</param>
557 </member>
558 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Byte)">
559 <summary>
560 Writes a <see cref="T:System.Byte"/> value.
561 </summary>
562 <param name="value">The <see cref="T:System.Byte"/> value to write.</param>
563 </member>
564 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.SByte)">
565 <summary>
566 Writes a <see cref="T:System.SByte"/> value.
567 </summary>
568 <param name="value">The <see cref="T:System.SByte"/> value to write.</param>
569 </member>
570 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Decimal)">
571 <summary>
572 Writes a <see cref="T:System.Decimal"/> value.
573 </summary>
574 <param name="value">The <see cref="T:System.Decimal"/> value to write.</param>
575 </member>
576 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.DateTime)">
577 <summary>
578 Writes a <see cref="T:System.DateTime"/> value.
579 </summary>
580 <param name="value">The <see cref="T:System.DateTime"/> value to write.</param>
581 </member>
582 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.DateTimeOffset)">
583 <summary>
584 Writes a <see cref="T:System.DateTimeOffset"/> value.
585 </summary>
586 <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param>
587 </member>
588 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Guid)">
589 <summary>
590 Writes a <see cref="T:System.Guid"/> value.
591 </summary>
592 <param name="value">The <see cref="T:System.Guid"/> value to write.</param>
593 </member>
594 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.TimeSpan)">
595 <summary>
596 Writes a <see cref="T:System.TimeSpan"/> value.
597 </summary>
598 <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param>
599 </member>
600 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Int32})">
601 <summary>
602 Writes a <see cref="T:System.Nullable`1"/> value.
603 </summary>
604 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
605 </member>
606 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.UInt32})">
607 <summary>
608 Writes a <see cref="T:System.Nullable`1"/> value.
609 </summary>
610 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
611 </member>
612 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Int64})">
613 <summary>
614 Writes a <see cref="T:System.Nullable`1"/> value.
615 </summary>
616 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
617 </member>
618 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.UInt64})">
619 <summary>
620 Writes a <see cref="T:System.Nullable`1"/> value.
621 </summary>
622 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
623 </member>
624 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Single})">
625 <summary>
626 Writes a <see cref="T:System.Nullable`1"/> value.
627 </summary>
628 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
629 </member>
630 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Double})">
631 <summary>
632 Writes a <see cref="T:System.Nullable`1"/> value.
633 </summary>
634 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
635 </member>
636 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Boolean})">
637 <summary>
638 Writes a <see cref="T:System.Nullable`1"/> value.
639 </summary>
640 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
641 </member>
642 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Int16})">
643 <summary>
644 Writes a <see cref="T:System.Nullable`1"/> value.
645 </summary>
646 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
647 </member>
648 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.UInt16})">
649 <summary>
650 Writes a <see cref="T:System.Nullable`1"/> value.
651 </summary>
652 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
653 </member>
654 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Char})">
655 <summary>
656 Writes a <see cref="T:System.Nullable`1"/> value.
657 </summary>
658 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
659 </member>
660 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Byte})">
661 <summary>
662 Writes a <see cref="T:System.Nullable`1"/> value.
663 </summary>
664 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
665 </member>
666 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.SByte})">
667 <summary>
668 Writes a <see cref="T:System.Nullable`1"/> value.
669 </summary>
670 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
671 </member>
672 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Decimal})">
673 <summary>
674 Writes a <see cref="T:System.Nullable`1"/> value.
675 </summary>
676 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
677 </member>
678 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.DateTime})">
679 <summary>
680 Writes a <see cref="T:System.Nullable`1"/> value.
681 </summary>
682 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
683 </member>
684 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.DateTimeOffset})">
685 <summary>
686 Writes a <see cref="T:System.Nullable`1"/> value.
687 </summary>
688 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
689 </member>
690 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Guid})">
691 <summary>
692 Writes a <see cref="T:System.Nullable`1"/> value.
693 </summary>
694 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
695 </member>
696 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.TimeSpan})">
697 <summary>
698 Writes a <see cref="T:System.Nullable`1"/> value.
699 </summary>
700 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
701 </member>
702 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Byte[])">
703 <summary>
704 Writes a <see cref="T:Byte[]"/> value.
705 </summary>
706 <param name="value">The <see cref="T:Byte[]"/> value to write.</param>
707 </member>
708 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Uri)">
709 <summary>
710 Writes a <see cref="T:System.Uri"/> value.
711 </summary>
712 <param name="value">The <see cref="T:System.Uri"/> value to write.</param>
713 </member>
714 <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Object)">
715 <summary>
716 Writes a <see cref="T:System.Object"/> value.
717 An error will raised if the value cannot be written as a single JSON token.
718 </summary>
719 <param name="value">The <see cref="T:System.Object"/> value to write.</param>
720 </member>
721 <member name="M:Newtonsoft.Json.JsonWriter.WriteComment(System.String)">
722 <summary>
723 Writes out a comment <code>/*...*/</code> containing the specified text.
724 </summary>
725 <param name="text">Text to place inside the comment.</param>
726 </member>
727 <member name="M:Newtonsoft.Json.JsonWriter.WriteWhitespace(System.String)">
728 <summary>
729 Writes out the given white space.
730 </summary>
731 <param name="ws">The string of white space characters.</param>
732 </member>
733 <member name="M:Newtonsoft.Json.JsonWriter.SetWriteState(Newtonsoft.Json.JsonToken,System.Object)">
734 <summary>
735 Sets the state of the JsonWriter,
736 </summary>
737 <param name="token">The JsonToken being written.</param>
738 <param name="value">The value being written.</param>
739 </member>
740 <member name="P:Newtonsoft.Json.JsonWriter.CloseOutput">
741 <summary>
742 Gets or sets a value indicating whether the underlying stream or
743 <see cref="T:System.IO.TextReader"/> should be closed when the writer is closed.
744 </summary>
745 <value>
746 true to close the underlying stream or <see cref="T:System.IO.TextReader"/> when
747 the writer is closed; otherwise false. The default is true.
748 </value>
749 </member>
750 <member name="P:Newtonsoft.Json.JsonWriter.Top">
751 <summary>
752 Gets the top.
753 </summary>
754 <value>The top.</value>
755 </member>
756 <member name="P:Newtonsoft.Json.JsonWriter.WriteState">
757 <summary>
758 Gets the state of the writer.
759 </summary>
760 </member>
761 <member name="P:Newtonsoft.Json.JsonWriter.Path">
762 <summary>
763 Gets the path of the writer.
764 </summary>
765 </member>
766 <member name="P:Newtonsoft.Json.JsonWriter.Formatting">
767 <summary>
768 Indicates how JSON text output is formatted.
769 </summary>
770 </member>
771 <member name="P:Newtonsoft.Json.JsonWriter.DateFormatHandling">
772 <summary>
773 Get or set how dates are written to JSON text.
774 </summary>
775 </member>
776 <member name="P:Newtonsoft.Json.JsonWriter.DateTimeZoneHandling">
777 <summary>
778 Get or set how <see cref="T:System.DateTime"/> time zones are handling when writing JSON text.
779 </summary>
780 </member>
781 <member name="P:Newtonsoft.Json.JsonWriter.StringEscapeHandling">
782 <summary>
783 Get or set how strings are escaped when writing JSON text.
784 </summary>
785 </member>
786 <member name="P:Newtonsoft.Json.JsonWriter.FloatFormatHandling">
787 <summary>
788 Get or set how special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>,
789 <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/>,
790 are written to JSON text.
791 </summary>
792 </member>
793 <member name="P:Newtonsoft.Json.JsonWriter.DateFormatString">
794 <summary>
795 Get or set how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatting when writing JSON text.
796 </summary>
797 </member>
798 <member name="P:Newtonsoft.Json.JsonWriter.Culture">
799 <summary>
800 Gets or sets the culture used when writing JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>.
801 </summary>
802 </member>
803 <member name="M:Newtonsoft.Json.Bson.BsonWriter.#ctor(System.IO.Stream)">
804 <summary>
805 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonWriter"/> class.
806 </summary>
807 <param name="stream">The stream.</param>
808 </member>
809 <member name="M:Newtonsoft.Json.Bson.BsonWriter.#ctor(System.IO.BinaryWriter)">
810 <summary>
811 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonWriter"/> class.
812 </summary>
813 <param name="writer">The writer.</param>
814 </member>
815 <member name="M:Newtonsoft.Json.Bson.BsonWriter.Flush">
816 <summary>
817 Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream.
818 </summary>
819 </member>
820 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteEnd(Newtonsoft.Json.JsonToken)">
821 <summary>
822 Writes the end.
823 </summary>
824 <param name="token">The token.</param>
825 </member>
826 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteComment(System.String)">
827 <summary>
828 Writes out a comment <code>/*...*/</code> containing the specified text.
829 </summary>
830 <param name="text">Text to place inside the comment.</param>
831 </member>
832 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteStartConstructor(System.String)">
833 <summary>
834 Writes the start of a constructor with the given name.
835 </summary>
836 <param name="name">The name of the constructor.</param>
837 </member>
838 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteRaw(System.String)">
839 <summary>
840 Writes raw JSON.
841 </summary>
842 <param name="json">The raw JSON to write.</param>
843 </member>
844 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteRawValue(System.String)">
845 <summary>
846 Writes raw JSON where a value is expected and updates the writer's state.
847 </summary>
848 <param name="json">The raw JSON to write.</param>
849 </member>
850 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteStartArray">
851 <summary>
852 Writes the beginning of a Json array.
853 </summary>
854 </member>
855 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteStartObject">
856 <summary>
857 Writes the beginning of a Json object.
858 </summary>
859 </member>
860 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WritePropertyName(System.String)">
861 <summary>
862 Writes the property name of a name/value pair on a Json object.
863 </summary>
864 <param name="name">The name of the property.</param>
865 </member>
866 <member name="M:Newtonsoft.Json.Bson.BsonWriter.Close">
867 <summary>
868 Closes this stream and the underlying stream.
869 </summary>
870 </member>
871 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Object)">
872 <summary>
873 Writes a <see cref="T:System.Object"/> value.
874 An error will raised if the value cannot be written as a single JSON token.
875 </summary>
876 <param name="value">The <see cref="T:System.Object"/> value to write.</param>
877 </member>
878 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteNull">
879 <summary>
880 Writes a null value.
881 </summary>
882 </member>
883 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteUndefined">
884 <summary>
885 Writes an undefined value.
886 </summary>
887 </member>
888 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.String)">
889 <summary>
890 Writes a <see cref="T:System.String"/> value.
891 </summary>
892 <param name="value">The <see cref="T:System.String"/> value to write.</param>
893 </member>
894 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Int32)">
895 <summary>
896 Writes a <see cref="T:System.Int32"/> value.
897 </summary>
898 <param name="value">The <see cref="T:System.Int32"/> value to write.</param>
899 </member>
900 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.UInt32)">
901 <summary>
902 Writes a <see cref="T:System.UInt32"/> value.
903 </summary>
904 <param name="value">The <see cref="T:System.UInt32"/> value to write.</param>
905 </member>
906 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Int64)">
907 <summary>
908 Writes a <see cref="T:System.Int64"/> value.
909 </summary>
910 <param name="value">The <see cref="T:System.Int64"/> value to write.</param>
911 </member>
912 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.UInt64)">
913 <summary>
914 Writes a <see cref="T:System.UInt64"/> value.
915 </summary>
916 <param name="value">The <see cref="T:System.UInt64"/> value to write.</param>
917 </member>
918 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Single)">
919 <summary>
920 Writes a <see cref="T:System.Single"/> value.
921 </summary>
922 <param name="value">The <see cref="T:System.Single"/> value to write.</param>
923 </member>
924 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Double)">
925 <summary>
926 Writes a <see cref="T:System.Double"/> value.
927 </summary>
928 <param name="value">The <see cref="T:System.Double"/> value to write.</param>
929 </member>
930 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Boolean)">
931 <summary>
932 Writes a <see cref="T:System.Boolean"/> value.
933 </summary>
934 <param name="value">The <see cref="T:System.Boolean"/> value to write.</param>
935 </member>
936 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Int16)">
937 <summary>
938 Writes a <see cref="T:System.Int16"/> value.
939 </summary>
940 <param name="value">The <see cref="T:System.Int16"/> value to write.</param>
941 </member>
942 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.UInt16)">
943 <summary>
944 Writes a <see cref="T:System.UInt16"/> value.
945 </summary>
946 <param name="value">The <see cref="T:System.UInt16"/> value to write.</param>
947 </member>
948 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Char)">
949 <summary>
950 Writes a <see cref="T:System.Char"/> value.
951 </summary>
952 <param name="value">The <see cref="T:System.Char"/> value to write.</param>
953 </member>
954 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Byte)">
955 <summary>
956 Writes a <see cref="T:System.Byte"/> value.
957 </summary>
958 <param name="value">The <see cref="T:System.Byte"/> value to write.</param>
959 </member>
960 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.SByte)">
961 <summary>
962 Writes a <see cref="T:System.SByte"/> value.
963 </summary>
964 <param name="value">The <see cref="T:System.SByte"/> value to write.</param>
965 </member>
966 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Decimal)">
967 <summary>
968 Writes a <see cref="T:System.Decimal"/> value.
969 </summary>
970 <param name="value">The <see cref="T:System.Decimal"/> value to write.</param>
971 </member>
972 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.DateTime)">
973 <summary>
974 Writes a <see cref="T:System.DateTime"/> value.
975 </summary>
976 <param name="value">The <see cref="T:System.DateTime"/> value to write.</param>
977 </member>
978 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.DateTimeOffset)">
979 <summary>
980 Writes a <see cref="T:System.DateTimeOffset"/> value.
981 </summary>
982 <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param>
983 </member>
984 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Byte[])">
985 <summary>
986 Writes a <see cref="T:Byte[]"/> value.
987 </summary>
988 <param name="value">The <see cref="T:Byte[]"/> value to write.</param>
989 </member>
990 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Guid)">
991 <summary>
992 Writes a <see cref="T:System.Guid"/> value.
993 </summary>
994 <param name="value">The <see cref="T:System.Guid"/> value to write.</param>
995 </member>
996 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.TimeSpan)">
997 <summary>
998 Writes a <see cref="T:System.TimeSpan"/> value.
999 </summary>
1000 <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param>
1001 </member>
1002 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Uri)">
1003 <summary>
1004 Writes a <see cref="T:System.Uri"/> value.
1005 </summary>
1006 <param name="value">The <see cref="T:System.Uri"/> value to write.</param>
1007 </member>
1008 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteObjectId(System.Byte[])">
1009 <summary>
1010 Writes a <see cref="T:Byte[]"/> value that represents a BSON object id.
1011 </summary>
1012 <param name="value">The Object ID value to write.</param>
1013 </member>
1014 <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteRegex(System.String,System.String)">
1015 <summary>
1016 Writes a BSON regex.
1017 </summary>
1018 <param name="pattern">The regex pattern.</param>
1019 <param name="options">The regex options.</param>
1020 </member>
1021 <member name="P:Newtonsoft.Json.Bson.BsonWriter.DateTimeKindHandling">
1022 <summary>
1023 Gets or sets the <see cref="T:System.DateTimeKind"/> used when writing <see cref="T:System.DateTime"/> values to BSON.
1024 When set to <see cref="F:System.DateTimeKind.Unspecified"/> no conversion will occur.
1025 </summary>
1026 <value>The <see cref="T:System.DateTimeKind"/> used when writing <see cref="T:System.DateTime"/> values to BSON.</value>
1027 </member>
1028 <member name="T:Newtonsoft.Json.Bson.BsonObjectId">
1029 <summary>
1030 Represents a BSON Oid (object id).
1031 </summary>
1032 </member>
1033 <member name="M:Newtonsoft.Json.Bson.BsonObjectId.#ctor(System.Byte[])">
1034 <summary>
1035 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonObjectId"/> class.
1036 </summary>
1037 <param name="value">The Oid value.</param>
1038 </member>
1039 <member name="P:Newtonsoft.Json.Bson.BsonObjectId.Value">
1040 <summary>
1041 Gets or sets the value of the Oid.
1042 </summary>
1043 <value>The value of the Oid.</value>
1044 </member>
1045 <member name="T:Newtonsoft.Json.Converters.BinaryConverter">
1046 <summary>
1047 Converts a binary value to and from a base 64 string value.
1048 </summary>
1049 </member>
1050 <member name="T:Newtonsoft.Json.JsonConverter">
1051 <summary>
1052 Converts an object to and from JSON.
1053 </summary>
1054 </member>
1055 <member name="M:Newtonsoft.Json.JsonConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
1056 <summary>
1057 Writes the JSON representation of the object.
1058 </summary>
1059 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
1060 <param name="value">The value.</param>
1061 <param name="serializer">The calling serializer.</param>
1062 </member>
1063 <member name="M:Newtonsoft.Json.JsonConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
1064 <summary>
1065 Reads the JSON representation of the object.
1066 </summary>
1067 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
1068 <param name="objectType">Type of the object.</param>
1069 <param name="existingValue">The existing value of object being read.</param>
1070 <param name="serializer">The calling serializer.</param>
1071 <returns>The object value.</returns>
1072 </member>
1073 <member name="M:Newtonsoft.Json.JsonConverter.CanConvert(System.Type)">
1074 <summary>
1075 Determines whether this instance can convert the specified object type.
1076 </summary>
1077 <param name="objectType">Type of the object.</param>
1078 <returns>
1079 <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
1080 </returns>
1081 </member>
1082 <member name="M:Newtonsoft.Json.JsonConverter.GetSchema">
1083 <summary>
1084 Gets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of the JSON produced by the JsonConverter.
1085 </summary>
1086 <returns>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of the JSON produced by the JsonConverter.</returns>
1087 </member>
1088 <member name="P:Newtonsoft.Json.JsonConverter.CanRead">
1089 <summary>
1090 Gets a value indicating whether this <see cref="T:Newtonsoft.Json.JsonConverter"/> can read JSON.
1091 </summary>
1092 <value><c>true</c> if this <see cref="T:Newtonsoft.Json.JsonConverter"/> can read JSON; otherwise, <c>false</c>.</value>
1093 </member>
1094 <member name="P:Newtonsoft.Json.JsonConverter.CanWrite">
1095 <summary>
1096 Gets a value indicating whether this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON.
1097 </summary>
1098 <value><c>true</c> if this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON; otherwise, <c>false</c>.</value>
1099 </member>
1100 <member name="M:Newtonsoft.Json.Converters.BinaryConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
1101 <summary>
1102 Writes the JSON representation of the object.
1103 </summary>
1104 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
1105 <param name="value">The value.</param>
1106 <param name="serializer">The calling serializer.</param>
1107 </member>
1108 <member name="M:Newtonsoft.Json.Converters.BinaryConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
1109 <summary>
1110 Reads the JSON representation of the object.
1111 </summary>
1112 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
1113 <param name="objectType">Type of the object.</param>
1114 <param name="existingValue">The existing value of object being read.</param>
1115 <param name="serializer">The calling serializer.</param>
1116 <returns>The object value.</returns>
1117 </member>
1118 <member name="M:Newtonsoft.Json.Converters.BinaryConverter.CanConvert(System.Type)">
1119 <summary>
1120 Determines whether this instance can convert the specified object type.
1121 </summary>
1122 <param name="objectType">Type of the object.</param>
1123 <returns>
1124 <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
1125 </returns>
1126 </member>
1127 <member name="T:Newtonsoft.Json.Converters.DataSetConverter">
1128 <summary>
1129 Converts a <see cref="T:System.Data.DataSet"/> to and from JSON.
1130 </summary>
1131 </member>
1132 <member name="M:Newtonsoft.Json.Converters.DataSetConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
1133 <summary>
1134 Writes the JSON representation of the object.
1135 </summary>
1136 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
1137 <param name="value">The value.</param>
1138 <param name="serializer">The calling serializer.</param>
1139 </member>
1140 <member name="M:Newtonsoft.Json.Converters.DataSetConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
1141 <summary>
1142 Reads the JSON representation of the object.
1143 </summary>
1144 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
1145 <param name="objectType">Type of the object.</param>
1146 <param name="existingValue">The existing value of object being read.</param>
1147 <param name="serializer">The calling serializer.</param>
1148 <returns>The object value.</returns>
1149 </member>
1150 <member name="M:Newtonsoft.Json.Converters.DataSetConverter.CanConvert(System.Type)">
1151 <summary>
1152 Determines whether this instance can convert the specified value type.
1153 </summary>
1154 <param name="valueType">Type of the value.</param>
1155 <returns>
1156 <c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>.
1157 </returns>
1158 </member>
1159 <member name="T:Newtonsoft.Json.Converters.DataTableConverter">
1160 <summary>
1161 Converts a <see cref="T:System.Data.DataTable"/> to and from JSON.
1162 </summary>
1163 </member>
1164 <member name="M:Newtonsoft.Json.Converters.DataTableConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
1165 <summary>
1166 Writes the JSON representation of the object.
1167 </summary>
1168 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
1169 <param name="value">The value.</param>
1170 <param name="serializer">The calling serializer.</param>
1171 </member>
1172 <member name="M:Newtonsoft.Json.Converters.DataTableConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
1173 <summary>
1174 Reads the JSON representation of the object.
1175 </summary>
1176 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
1177 <param name="objectType">Type of the object.</param>
1178 <param name="existingValue">The existing value of object being read.</param>
1179 <param name="serializer">The calling serializer.</param>
1180 <returns>The object value.</returns>
1181 </member>
1182 <member name="M:Newtonsoft.Json.Converters.DataTableConverter.CanConvert(System.Type)">
1183 <summary>
1184 Determines whether this instance can convert the specified value type.
1185 </summary>
1186 <param name="valueType">Type of the value.</param>
1187 <returns>
1188 <c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>.
1189 </returns>
1190 </member>
1191 <member name="T:Newtonsoft.Json.Converters.CustomCreationConverter`1">
1192 <summary>
1193 Create a custom object
1194 </summary>
1195 <typeparam name="T">The object type to convert.</typeparam>
1196 </member>
1197 <member name="M:Newtonsoft.Json.Converters.CustomCreationConverter`1.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
1198 <summary>
1199 Writes the JSON representation of the object.
1200 </summary>
1201 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
1202 <param name="value">The value.</param>
1203 <param name="serializer">The calling serializer.</param>
1204 </member>
1205 <member name="M:Newtonsoft.Json.Converters.CustomCreationConverter`1.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
1206 <summary>
1207 Reads the JSON representation of the object.
1208 </summary>
1209 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
1210 <param name="objectType">Type of the object.</param>
1211 <param name="existingValue">The existing value of object being read.</param>
1212 <param name="serializer">The calling serializer.</param>
1213 <returns>The object value.</returns>
1214 </member>
1215 <member name="M:Newtonsoft.Json.Converters.CustomCreationConverter`1.Create(System.Type)">
1216 <summary>
1217 Creates an object which will then be populated by the serializer.
1218 </summary>
1219 <param name="objectType">Type of the object.</param>
1220 <returns>The created object.</returns>
1221 </member>
1222 <member name="M:Newtonsoft.Json.Converters.CustomCreationConverter`1.CanConvert(System.Type)">
1223 <summary>
1224 Determines whether this instance can convert the specified object type.
1225 </summary>
1226 <param name="objectType">Type of the object.</param>
1227 <returns>
1228 <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
1229 </returns>
1230 </member>
1231 <member name="P:Newtonsoft.Json.Converters.CustomCreationConverter`1.CanWrite">
1232 <summary>
1233 Gets a value indicating whether this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON.
1234 </summary>
1235 <value>
1236 <c>true</c> if this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON; otherwise, <c>false</c>.
1237 </value>
1238 </member>
1239 <member name="T:Newtonsoft.Json.Converters.DateTimeConverterBase">
1240 <summary>
1241 Provides a base class for converting a <see cref="T:System.DateTime"/> to and from JSON.
1242 </summary>
1243 </member>
1244 <member name="M:Newtonsoft.Json.Converters.DateTimeConverterBase.CanConvert(System.Type)">
1245 <summary>
1246 Determines whether this instance can convert the specified object type.
1247 </summary>
1248 <param name="objectType">Type of the object.</param>
1249 <returns>
1250 <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
1251 </returns>
1252 </member>
1253 <member name="T:Newtonsoft.Json.Converters.DiscriminatedUnionConverter">
1254 <summary>
1255 Converts a F# discriminated union type to and from JSON.
1256 </summary>
1257 </member>
1258 <member name="M:Newtonsoft.Json.Converters.DiscriminatedUnionConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
1259 <summary>
1260 Writes the JSON representation of the object.
1261 </summary>
1262 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
1263 <param name="value">The value.</param>
1264 <param name="serializer">The calling serializer.</param>
1265 </member>
1266 <member name="M:Newtonsoft.Json.Converters.DiscriminatedUnionConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
1267 <summary>
1268 Reads the JSON representation of the object.
1269 </summary>
1270 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
1271 <param name="objectType">Type of the object.</param>
1272 <param name="existingValue">The existing value of object being read.</param>
1273 <param name="serializer">The calling serializer.</param>
1274 <returns>The object value.</returns>
1275 </member>
1276 <member name="M:Newtonsoft.Json.Converters.DiscriminatedUnionConverter.CanConvert(System.Type)">
1277 <summary>
1278 Determines whether this instance can convert the specified object type.
1279 </summary>
1280 <param name="objectType">Type of the object.</param>
1281 <returns>
1282 <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
1283 </returns>
1284 </member>
1285 <member name="T:Newtonsoft.Json.Converters.EntityKeyMemberConverter">
1286 <summary>
1287 Converts an Entity Framework EntityKey to and from JSON.
1288 </summary>
1289 </member>
1290 <member name="M:Newtonsoft.Json.Converters.EntityKeyMemberConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
1291 <summary>
1292 Writes the JSON representation of the object.
1293 </summary>
1294 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
1295 <param name="value">The value.</param>
1296 <param name="serializer">The calling serializer.</param>
1297 </member>
1298 <member name="M:Newtonsoft.Json.Converters.EntityKeyMemberConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
1299 <summary>
1300 Reads the JSON representation of the object.
1301 </summary>
1302 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
1303 <param name="objectType">Type of the object.</param>
1304 <param name="existingValue">The existing value of object being read.</param>
1305 <param name="serializer">The calling serializer.</param>
1306 <returns>The object value.</returns>
1307 </member>
1308 <member name="M:Newtonsoft.Json.Converters.EntityKeyMemberConverter.CanConvert(System.Type)">
1309 <summary>
1310 Determines whether this instance can convert the specified object type.
1311 </summary>
1312 <param name="objectType">Type of the object.</param>
1313 <returns>
1314 <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
1315 </returns>
1316 </member>
1317 <member name="T:Newtonsoft.Json.Converters.ExpandoObjectConverter">
1318 <summary>
1319 Converts an ExpandoObject to and from JSON.
1320 </summary>
1321 </member>
1322 <member name="M:Newtonsoft.Json.Converters.ExpandoObjectConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
1323 <summary>
1324 Writes the JSON representation of the object.
1325 </summary>
1326 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
1327 <param name="value">The value.</param>
1328 <param name="serializer">The calling serializer.</param>
1329 </member>
1330 <member name="M:Newtonsoft.Json.Converters.ExpandoObjectConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
1331 <summary>
1332 Reads the JSON representation of the object.
1333 </summary>
1334 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
1335 <param name="objectType">Type of the object.</param>
1336 <param name="existingValue">The existing value of object being read.</param>
1337 <param name="serializer">The calling serializer.</param>
1338 <returns>The object value.</returns>
1339 </member>
1340 <member name="M:Newtonsoft.Json.Converters.ExpandoObjectConverter.CanConvert(System.Type)">
1341 <summary>
1342 Determines whether this instance can convert the specified object type.
1343 </summary>
1344 <param name="objectType">Type of the object.</param>
1345 <returns>
1346 <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
1347 </returns>
1348 </member>
1349 <member name="P:Newtonsoft.Json.Converters.ExpandoObjectConverter.CanWrite">
1350 <summary>
1351 Gets a value indicating whether this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON.
1352 </summary>
1353 <value>
1354 <c>true</c> if this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON; otherwise, <c>false</c>.
1355 </value>
1356 </member>
1357 <member name="T:Newtonsoft.Json.Converters.KeyValuePairConverter">
1358 <summary>
1359 Converts a <see cref="T:System.Collections.Generic.KeyValuePair`2"/> to and from JSON.
1360 </summary>
1361 </member>
1362 <member name="M:Newtonsoft.Json.Converters.KeyValuePairConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
1363 <summary>
1364 Writes the JSON representation of the object.
1365 </summary>
1366 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
1367 <param name="value">The value.</param>
1368 <param name="serializer">The calling serializer.</param>
1369 </member>
1370 <member name="M:Newtonsoft.Json.Converters.KeyValuePairConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
1371 <summary>
1372 Reads the JSON representation of the object.
1373 </summary>
1374 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
1375 <param name="objectType">Type of the object.</param>
1376 <param name="existingValue">The existing value of object being read.</param>
1377 <param name="serializer">The calling serializer.</param>
1378 <returns>The object value.</returns>
1379 </member>
1380 <member name="M:Newtonsoft.Json.Converters.KeyValuePairConverter.CanConvert(System.Type)">
1381 <summary>
1382 Determines whether this instance can convert the specified object type.
1383 </summary>
1384 <param name="objectType">Type of the object.</param>
1385 <returns>
1386 <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
1387 </returns>
1388 </member>
1389 <member name="T:Newtonsoft.Json.Converters.BsonObjectIdConverter">
1390 <summary>
1391 Converts a <see cref="T:Newtonsoft.Json.Bson.BsonObjectId"/> to and from JSON and BSON.
1392 </summary>
1393 </member>
1394 <member name="M:Newtonsoft.Json.Converters.BsonObjectIdConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
1395 <summary>
1396 Writes the JSON representation of the object.
1397 </summary>
1398 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
1399 <param name="value">The value.</param>
1400 <param name="serializer">The calling serializer.</param>
1401 </member>
1402 <member name="M:Newtonsoft.Json.Converters.BsonObjectIdConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
1403 <summary>
1404 Reads the JSON representation of the object.
1405 </summary>
1406 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
1407 <param name="objectType">Type of the object.</param>
1408 <param name="existingValue">The existing value of object being read.</param>
1409 <param name="serializer">The calling serializer.</param>
1410 <returns>The object value.</returns>
1411 </member>
1412 <member name="M:Newtonsoft.Json.Converters.BsonObjectIdConverter.CanConvert(System.Type)">
1413 <summary>
1414 Determines whether this instance can convert the specified object type.
1415 </summary>
1416 <param name="objectType">Type of the object.</param>
1417 <returns>
1418 <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
1419 </returns>
1420 </member>
1421 <member name="T:Newtonsoft.Json.Converters.RegexConverter">
1422 <summary>
1423 Converts a <see cref="T:System.Text.RegularExpressions.Regex"/> to and from JSON and BSON.
1424 </summary>
1425 </member>
1426 <member name="M:Newtonsoft.Json.Converters.RegexConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
1427 <summary>
1428 Writes the JSON representation of the object.
1429 </summary>
1430 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
1431 <param name="value">The value.</param>
1432 <param name="serializer">The calling serializer.</param>
1433 </member>
1434 <member name="M:Newtonsoft.Json.Converters.RegexConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
1435 <summary>
1436 Reads the JSON representation of the object.
1437 </summary>
1438 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
1439 <param name="objectType">Type of the object.</param>
1440 <param name="existingValue">The existing value of object being read.</param>
1441 <param name="serializer">The calling serializer.</param>
1442 <returns>The object value.</returns>
1443 </member>
1444 <member name="M:Newtonsoft.Json.Converters.RegexConverter.CanConvert(System.Type)">
1445 <summary>
1446 Determines whether this instance can convert the specified object type.
1447 </summary>
1448 <param name="objectType">Type of the object.</param>
1449 <returns>
1450 <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
1451 </returns>
1452 </member>
1453 <member name="T:Newtonsoft.Json.Converters.StringEnumConverter">
1454 <summary>
1455 Converts an <see cref="T:System.Enum"/> to and from its name string value.
1456 </summary>
1457 </member>
1458 <member name="M:Newtonsoft.Json.Converters.StringEnumConverter.#ctor">
1459 <summary>
1460 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Converters.StringEnumConverter"/> class.
1461 </summary>
1462 </member>
1463 <member name="M:Newtonsoft.Json.Converters.StringEnumConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
1464 <summary>
1465 Writes the JSON representation of the object.
1466 </summary>
1467 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
1468 <param name="value">The value.</param>
1469 <param name="serializer">The calling serializer.</param>
1470 </member>
1471 <member name="M:Newtonsoft.Json.Converters.StringEnumConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
1472 <summary>
1473 Reads the JSON representation of the object.
1474 </summary>
1475 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
1476 <param name="objectType">Type of the object.</param>
1477 <param name="existingValue">The existing value of object being read.</param>
1478 <param name="serializer">The calling serializer.</param>
1479 <returns>The object value.</returns>
1480 </member>
1481 <member name="M:Newtonsoft.Json.Converters.StringEnumConverter.CanConvert(System.Type)">
1482 <summary>
1483 Determines whether this instance can convert the specified object type.
1484 </summary>
1485 <param name="objectType">Type of the object.</param>
1486 <returns>
1487 <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
1488 </returns>
1489 </member>
1490 <member name="P:Newtonsoft.Json.Converters.StringEnumConverter.CamelCaseText">
1491 <summary>
1492 Gets or sets a value indicating whether the written enum text should be camel case.
1493 </summary>
1494 <value><c>true</c> if the written enum text will be camel case; otherwise, <c>false</c>.</value>
1495 </member>
1496 <member name="P:Newtonsoft.Json.Converters.StringEnumConverter.AllowIntegerValues">
1497 <summary>
1498 Gets or sets a value indicating whether integer values are allowed.
1499 </summary>
1500 <value><c>true</c> if integers are allowed; otherwise, <c>false</c>.</value>
1501 </member>
1502 <member name="T:Newtonsoft.Json.ConstructorHandling">
1503 <summary>
1504 Specifies how constructors are used when initializing objects during deserialization by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
1505 </summary>
1506 </member>
1507 <member name="F:Newtonsoft.Json.ConstructorHandling.Default">
1508 <summary>
1509 First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor.
1510 </summary>
1511 </member>
1512 <member name="F:Newtonsoft.Json.ConstructorHandling.AllowNonPublicDefaultConstructor">
1513 <summary>
1514 Json.NET will use a non-public default constructor before falling back to a paramatized constructor.
1515 </summary>
1516 </member>
1517 <member name="T:Newtonsoft.Json.Converters.VersionConverter">
1518 <summary>
1519 Converts a <see cref="T:System.Version"/> to and from a string (e.g. "1.2.3.4").
1520 </summary>
1521 </member>
1522 <member name="M:Newtonsoft.Json.Converters.VersionConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
1523 <summary>
1524 Writes the JSON representation of the object.
1525 </summary>
1526 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
1527 <param name="value">The value.</param>
1528 <param name="serializer">The calling serializer.</param>
1529 </member>
1530 <member name="M:Newtonsoft.Json.Converters.VersionConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
1531 <summary>
1532 Reads the JSON representation of the object.
1533 </summary>
1534 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
1535 <param name="objectType">Type of the object.</param>
1536 <param name="existingValue">The existing property value of the JSON that is being converted.</param>
1537 <param name="serializer">The calling serializer.</param>
1538 <returns>The object value.</returns>
1539 </member>
1540 <member name="M:Newtonsoft.Json.Converters.VersionConverter.CanConvert(System.Type)">
1541 <summary>
1542 Determines whether this instance can convert the specified object type.
1543 </summary>
1544 <param name="objectType">Type of the object.</param>
1545 <returns>
1546 <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>.
1547 </returns>
1548 </member>
1549 <member name="T:Newtonsoft.Json.FloatFormatHandling">
1550 <summary>
1551 Specifies float format handling options when writing special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>,
1552 <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/> with <see cref="T:Newtonsoft.Json.JsonWriter"/>.
1553 </summary>
1554 </member>
1555 <member name="F:Newtonsoft.Json.FloatFormatHandling.String">
1556 <summary>
1557 Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity".
1558 </summary>
1559 </member>
1560 <member name="F:Newtonsoft.Json.FloatFormatHandling.Symbol">
1561 <summary>
1562 Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity.
1563 Note that this will produce non-valid JSON.
1564 </summary>
1565 </member>
1566 <member name="F:Newtonsoft.Json.FloatFormatHandling.DefaultValue">
1567 <summary>
1568 Write special floating point values as the property's default value in JSON, e.g. 0.0 for a <see cref="T:System.Double"/> property, null for a <see cref="T:System.Nullable`1"/> property.
1569 </summary>
1570 </member>
1571 <member name="T:Newtonsoft.Json.FloatParseHandling">
1572 <summary>
1573 Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
1574 </summary>
1575 </member>
1576 <member name="F:Newtonsoft.Json.FloatParseHandling.Double">
1577 <summary>
1578 Floating point numbers are parsed to <see cref="F:Newtonsoft.Json.FloatParseHandling.Double"/>.
1579 </summary>
1580 </member>
1581 <member name="F:Newtonsoft.Json.FloatParseHandling.Decimal">
1582 <summary>
1583 Floating point numbers are parsed to <see cref="F:Newtonsoft.Json.FloatParseHandling.Decimal"/>.
1584 </summary>
1585 </member>
1586 <member name="T:Newtonsoft.Json.JsonDictionaryAttribute">
1587 <summary>
1588 Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> how to serialize the collection.
1589 </summary>
1590 </member>
1591 <member name="T:Newtonsoft.Json.JsonContainerAttribute">
1592 <summary>
1593 Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> how to serialize the object.
1594 </summary>
1595 </member>
1596 <member name="M:Newtonsoft.Json.JsonContainerAttribute.#ctor">
1597 <summary>
1598 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonContainerAttribute"/> class.
1599 </summary>
1600 </member>
1601 <member name="M:Newtonsoft.Json.JsonContainerAttribute.#ctor(System.String)">
1602 <summary>
1603 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonContainerAttribute"/> class with the specified container Id.
1604 </summary>
1605 <param name="id">The container Id.</param>
1606 </member>
1607 <member name="P:Newtonsoft.Json.JsonContainerAttribute.Id">
1608 <summary>
1609 Gets or sets the id.
1610 </summary>
1611 <value>The id.</value>
1612 </member>
1613 <member name="P:Newtonsoft.Json.JsonContainerAttribute.Title">
1614 <summary>
1615 Gets or sets the title.
1616 </summary>
1617 <value>The title.</value>
1618 </member>
1619 <member name="P:Newtonsoft.Json.JsonContainerAttribute.Description">
1620 <summary>
1621 Gets or sets the description.
1622 </summary>
1623 <value>The description.</value>
1624 </member>
1625 <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemConverterType">
1626 <summary>
1627 Gets the collection's items converter.
1628 </summary>
1629 <value>The collection's items converter.</value>
1630 </member>
1631 <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemConverterParameters">
1632 <summary>
1633 The parameter list to use when constructing the JsonConverter described by ItemConverterType.
1634 If null, the default constructor is used.
1635 When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number,
1636 order, and type of these parameters.
1637 </summary>
1638 <example>
1639 [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
1640 </example>
1641 </member>
1642 <member name="P:Newtonsoft.Json.JsonContainerAttribute.IsReference">
1643 <summary>
1644 Gets or sets a value that indicates whether to preserve object references.
1645 </summary>
1646 <value>
1647 <c>true</c> to keep object reference; otherwise, <c>false</c>. The default is <c>false</c>.
1648 </value>
1649 </member>
1650 <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemIsReference">
1651 <summary>
1652 Gets or sets a value that indicates whether to preserve collection's items references.
1653 </summary>
1654 <value>
1655 <c>true</c> to keep collection's items object references; otherwise, <c>false</c>. The default is <c>false</c>.
1656 </value>
1657 </member>
1658 <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemReferenceLoopHandling">
1659 <summary>
1660 Gets or sets the reference loop handling used when serializing the collection's items.
1661 </summary>
1662 <value>The reference loop handling.</value>
1663 </member>
1664 <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemTypeNameHandling">
1665 <summary>
1666 Gets or sets the type name handling used when serializing the collection's items.
1667 </summary>
1668 <value>The type name handling.</value>
1669 </member>
1670 <member name="M:Newtonsoft.Json.JsonDictionaryAttribute.#ctor">
1671 <summary>
1672 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonDictionaryAttribute"/> class.
1673 </summary>
1674 </member>
1675 <member name="M:Newtonsoft.Json.JsonDictionaryAttribute.#ctor(System.String)">
1676 <summary>
1677 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonDictionaryAttribute"/> class with the specified container Id.
1678 </summary>
1679 <param name="id">The container Id.</param>
1680 </member>
1681 <member name="T:Newtonsoft.Json.JsonException">
1682 <summary>
1683 The exception thrown when an error occurs during Json serialization or deserialization.
1684 </summary>
1685 </member>
1686 <member name="M:Newtonsoft.Json.JsonException.#ctor">
1687 <summary>
1688 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonException"/> class.
1689 </summary>
1690 </member>
1691 <member name="M:Newtonsoft.Json.JsonException.#ctor(System.String)">
1692 <summary>
1693 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonException"/> class
1694 with a specified error message.
1695 </summary>
1696 <param name="message">The error message that explains the reason for the exception.</param>
1697 </member>
1698 <member name="M:Newtonsoft.Json.JsonException.#ctor(System.String,System.Exception)">
1699 <summary>
1700 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonException"/> class
1701 with a specified error message and a reference to the inner exception that is the cause of this exception.
1702 </summary>
1703 <param name="message">The error message that explains the reason for the exception.</param>
1704 <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>
1705 </member>
1706 <member name="M:Newtonsoft.Json.JsonException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
1707 <summary>
1708 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonException"/> class.
1709 </summary>
1710 <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
1711 <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
1712 <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
1713 <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
1714 </member>
1715 <member name="T:Newtonsoft.Json.DateFormatHandling">
1716 <summary>
1717 Specifies how dates are formatted when writing JSON text.
1718 </summary>
1719 </member>
1720 <member name="F:Newtonsoft.Json.DateFormatHandling.IsoDateFormat">
1721 <summary>
1722 Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z".
1723 </summary>
1724 </member>
1725 <member name="F:Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat">
1726 <summary>
1727 Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/".
1728 </summary>
1729 </member>
1730 <member name="T:Newtonsoft.Json.DateParseHandling">
1731 <summary>
1732 Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text.
1733 </summary>
1734 </member>
1735 <member name="F:Newtonsoft.Json.DateParseHandling.None">
1736 <summary>
1737 Date formatted strings are not parsed to a date type and are read as strings.
1738 </summary>
1739 </member>
1740 <member name="F:Newtonsoft.Json.DateParseHandling.DateTime">
1741 <summary>
1742 Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to <see cref="F:Newtonsoft.Json.DateParseHandling.DateTime"/>.
1743 </summary>
1744 </member>
1745 <member name="F:Newtonsoft.Json.DateParseHandling.DateTimeOffset">
1746 <summary>
1747 Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to <see cref="F:Newtonsoft.Json.DateParseHandling.DateTimeOffset"/>.
1748 </summary>
1749 </member>
1750 <member name="T:Newtonsoft.Json.DateTimeZoneHandling">
1751 <summary>
1752 Specifies how to treat the time value when converting between string and <see cref="T:System.DateTime"/>.
1753 </summary>
1754 </member>
1755 <member name="F:Newtonsoft.Json.DateTimeZoneHandling.Local">
1756 <summary>
1757 Treat as local time. If the <see cref="T:System.DateTime"/> object represents a Coordinated Universal Time (UTC), it is converted to the local time.
1758 </summary>
1759 </member>
1760 <member name="F:Newtonsoft.Json.DateTimeZoneHandling.Utc">
1761 <summary>
1762 Treat as a UTC. If the <see cref="T:System.DateTime"/> object represents a local time, it is converted to a UTC.
1763 </summary>
1764 </member>
1765 <member name="F:Newtonsoft.Json.DateTimeZoneHandling.Unspecified">
1766 <summary>
1767 Treat as a local time if a <see cref="T:System.DateTime"/> is being converted to a string.
1768 If a string is being converted to <see cref="T:System.DateTime"/>, convert to a local time if a time zone is specified.
1769 </summary>
1770 </member>
1771 <member name="F:Newtonsoft.Json.DateTimeZoneHandling.RoundtripKind">
1772 <summary>
1773 Time zone information should be preserved when converting.
1774 </summary>
1775 </member>
1776 <member name="T:Newtonsoft.Json.Formatting">
1777 <summary>
1778 Specifies formatting options for the <see cref="T:Newtonsoft.Json.JsonTextWriter"/>.
1779 </summary>
1780 </member>
1781 <member name="F:Newtonsoft.Json.Formatting.None">
1782 <summary>
1783 No special formatting is applied. This is the default.
1784 </summary>
1785 </member>
1786 <member name="F:Newtonsoft.Json.Formatting.Indented">
1787 <summary>
1788 Causes child objects to be indented according to the <see cref="P:Newtonsoft.Json.JsonTextWriter.Indentation"/> and <see cref="P:Newtonsoft.Json.JsonTextWriter.IndentChar"/> settings.
1789 </summary>
1790 </member>
1791 <member name="T:Newtonsoft.Json.JsonConstructorAttribute">
1792 <summary>
1793 Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to use the specified constructor when deserializing that object.
1794 </summary>
1795 </member>
1796 <member name="T:Newtonsoft.Json.JsonExtensionDataAttribute">
1797 <summary>
1798 Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to deserialize properties with no matching class member into the specified collection
1799 and write values during serialization.
1800 </summary>
1801 </member>
1802 <member name="M:Newtonsoft.Json.JsonExtensionDataAttribute.#ctor">
1803 <summary>
1804 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonExtensionDataAttribute"/> class.
1805 </summary>
1806 </member>
1807 <member name="P:Newtonsoft.Json.JsonExtensionDataAttribute.WriteData">
1808 <summary>
1809 Gets or sets a value that indicates whether to write extension data when serializing the object.
1810 </summary>
1811 <value>
1812 <c>true</c> to write extension data when serializing the object; otherwise, <c>false</c>. The default is <c>true</c>.
1813 </value>
1814 </member>
1815 <member name="P:Newtonsoft.Json.JsonExtensionDataAttribute.ReadData">
1816 <summary>
1817 Gets or sets a value that indicates whether to read extension data when deserializing the object.
1818 </summary>
1819 <value>
1820 <c>true</c> to read extension data when deserializing the object; otherwise, <c>false</c>. The default is <c>true</c>.
1821 </value>
1822 </member>
1823 <member name="T:Newtonsoft.Json.Linq.JsonMergeSettings">
1824 <summary>
1825 Specifies the settings used when merging JSON.
1826 </summary>
1827 </member>
1828 <member name="P:Newtonsoft.Json.Linq.JsonMergeSettings.MergeArrayHandling">
1829 <summary>
1830 Gets or sets the method used when merging JSON arrays.
1831 </summary>
1832 <value>The method used when merging JSON arrays.</value>
1833 </member>
1834 <member name="T:Newtonsoft.Json.Linq.MergeArrayHandling">
1835 <summary>
1836 Specifies how JSON arrays are merged together.
1837 </summary>
1838 </member>
1839 <member name="F:Newtonsoft.Json.Linq.MergeArrayHandling.Concat">
1840 <summary>Concatenate arrays.</summary>
1841 </member>
1842 <member name="F:Newtonsoft.Json.Linq.MergeArrayHandling.Union">
1843 <summary>Union arrays, skipping items that already exist.</summary>
1844 </member>
1845 <member name="F:Newtonsoft.Json.Linq.MergeArrayHandling.Replace">
1846 <summary>Replace all array items.</summary>
1847 </member>
1848 <member name="F:Newtonsoft.Json.Linq.MergeArrayHandling.Merge">
1849 <summary>Merge array items together, matched by index.</summary>
1850 </member>
1851 <member name="T:Newtonsoft.Json.MetadataPropertyHandling">
1852 <summary>
1853 Specifies metadata property handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
1854 </summary>
1855 </member>
1856 <member name="F:Newtonsoft.Json.MetadataPropertyHandling.Default">
1857 <summary>
1858 Read metadata properties located at the start of a JSON object.
1859 </summary>
1860 </member>
1861 <member name="F:Newtonsoft.Json.MetadataPropertyHandling.ReadAhead">
1862 <summary>
1863 Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance.
1864 </summary>
1865 </member>
1866 <member name="F:Newtonsoft.Json.MetadataPropertyHandling.Ignore">
1867 <summary>
1868 Do not try to read metadata properties.
1869 </summary>
1870 </member>
1871 <member name="T:Newtonsoft.Json.Serialization.DiagnosticsTraceWriter">
1872 <summary>
1873 Represents a trace writer that writes to the application's <see cref="T:System.Diagnostics.TraceListener"/> instances.
1874 </summary>
1875 </member>
1876 <member name="T:Newtonsoft.Json.Serialization.ITraceWriter">
1877 <summary>
1878 Represents a trace writer.
1879 </summary>
1880 </member>
1881 <member name="M:Newtonsoft.Json.Serialization.ITraceWriter.Trace(System.Diagnostics.TraceLevel,System.String,System.Exception)">
1882 <summary>
1883 Writes the specified trace level, message and optional exception.
1884 </summary>
1885 <param name="level">The <see cref="T:System.Diagnostics.TraceLevel"/> at which to write this trace.</param>
1886 <param name="message">The trace message.</param>
1887 <param name="ex">The trace exception. This parameter is optional.</param>
1888 </member>
1889 <member name="P:Newtonsoft.Json.Serialization.ITraceWriter.LevelFilter">
1890 <summary>
1891 Gets the <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.
1892 For example a filter level of <code>Info</code> will exclude <code>Verbose</code> messages and include <code>Info</code>,
1893 <code>Warning</code> and <code>Error</code> messages.
1894 </summary>
1895 <value>The <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.</value>
1896 </member>
1897 <member name="M:Newtonsoft.Json.Serialization.DiagnosticsTraceWriter.Trace(System.Diagnostics.TraceLevel,System.String,System.Exception)">
1898 <summary>
1899 Writes the specified trace level, message and optional exception.
1900 </summary>
1901 <param name="level">The <see cref="T:System.Diagnostics.TraceLevel"/> at which to write this trace.</param>
1902 <param name="message">The trace message.</param>
1903 <param name="ex">The trace exception. This parameter is optional.</param>
1904 </member>
1905 <member name="P:Newtonsoft.Json.Serialization.DiagnosticsTraceWriter.LevelFilter">
1906 <summary>
1907 Gets the <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.
1908 For example a filter level of <code>Info</code> will exclude <code>Verbose</code> messages and include <code>Info</code>,
1909 <code>Warning</code> and <code>Error</code> messages.
1910 </summary>
1911 <value>
1912 The <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.
1913 </value>
1914 </member>
1915 <member name="T:Newtonsoft.Json.Serialization.ExpressionValueProvider">
1916 <summary>
1917 Get and set values for a <see cref="T:System.Reflection.MemberInfo"/> using dynamic methods.
1918 </summary>
1919 </member>
1920 <member name="T:Newtonsoft.Json.Serialization.IValueProvider">
1921 <summary>
1922 Provides methods to get and set values.
1923 </summary>
1924 </member>
1925 <member name="M:Newtonsoft.Json.Serialization.IValueProvider.SetValue(System.Object,System.Object)">
1926 <summary>
1927 Sets the value.
1928 </summary>
1929 <param name="target">The target to set the value on.</param>
1930 <param name="value">The value to set on the target.</param>
1931 </member>
1932 <member name="M:Newtonsoft.Json.Serialization.IValueProvider.GetValue(System.Object)">
1933 <summary>
1934 Gets the value.
1935 </summary>
1936 <param name="target">The target to get the value from.</param>
1937 <returns>The value.</returns>
1938 </member>
1939 <member name="M:Newtonsoft.Json.Serialization.ExpressionValueProvider.#ctor(System.Reflection.MemberInfo)">
1940 <summary>
1941 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.ExpressionValueProvider"/> class.
1942 </summary>
1943 <param name="memberInfo">The member info.</param>
1944 </member>
1945 <member name="M:Newtonsoft.Json.Serialization.ExpressionValueProvider.SetValue(System.Object,System.Object)">
1946 <summary>
1947 Sets the value.
1948 </summary>
1949 <param name="target">The target to set the value on.</param>
1950 <param name="value">The value to set on the target.</param>
1951 </member>
1952 <member name="M:Newtonsoft.Json.Serialization.ExpressionValueProvider.GetValue(System.Object)">
1953 <summary>
1954 Gets the value.
1955 </summary>
1956 <param name="target">The target to get the value from.</param>
1957 <returns>The value.</returns>
1958 </member>
1959 <member name="T:Newtonsoft.Json.Serialization.JsonContainerContract">
1960 <summary>
1961 Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
1962 </summary>
1963 </member>
1964 <member name="T:Newtonsoft.Json.Serialization.JsonContract">
1965 <summary>
1966 Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
1967 </summary>
1968 </member>
1969 <member name="P:Newtonsoft.Json.Serialization.JsonContract.UnderlyingType">
1970 <summary>
1971 Gets the underlying type for the contract.
1972 </summary>
1973 <value>The underlying type for the contract.</value>
1974 </member>
1975 <member name="P:Newtonsoft.Json.Serialization.JsonContract.CreatedType">
1976 <summary>
1977 Gets or sets the type created during deserialization.
1978 </summary>
1979 <value>The type created during deserialization.</value>
1980 </member>
1981 <member name="P:Newtonsoft.Json.Serialization.JsonContract.IsReference">
1982 <summary>
1983 Gets or sets whether this type contract is serialized as a reference.
1984 </summary>
1985 <value>Whether this type contract is serialized as a reference.</value>
1986 </member>
1987 <member name="P:Newtonsoft.Json.Serialization.JsonContract.Converter">
1988 <summary>
1989 Gets or sets the default <see cref="T:Newtonsoft.Json.JsonConverter"/> for this contract.
1990 </summary>
1991 <value>The converter.</value>
1992 </member>
1993 <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnDeserializedCallbacks">
1994 <summary>
1995 Gets or sets all methods called immediately after deserialization of the object.
1996 </summary>
1997 <value>The methods called immediately after deserialization of the object.</value>
1998 </member>
1999 <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnDeserializingCallbacks">
2000 <summary>
2001 Gets or sets all methods called during deserialization of the object.
2002 </summary>
2003 <value>The methods called during deserialization of the object.</value>
2004 </member>
2005 <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnSerializedCallbacks">
2006 <summary>
2007 Gets or sets all methods called after serialization of the object graph.
2008 </summary>
2009 <value>The methods called after serialization of the object graph.</value>
2010 </member>
2011 <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnSerializingCallbacks">
2012 <summary>
2013 Gets or sets all methods called before serialization of the object.
2014 </summary>
2015 <value>The methods called before serialization of the object.</value>
2016 </member>
2017 <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnErrorCallbacks">
2018 <summary>
2019 Gets or sets all method called when an error is thrown during the serialization of the object.
2020 </summary>
2021 <value>The methods called when an error is thrown during the serialization of the object.</value>
2022 </member>
2023 <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnDeserialized">
2024 <summary>
2025 Gets or sets the method called immediately after deserialization of the object.
2026 </summary>
2027 <value>The method called immediately after deserialization of the object.</value>
2028 </member>
2029 <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnDeserializing">
2030 <summary>
2031 Gets or sets the method called during deserialization of the object.
2032 </summary>
2033 <value>The method called during deserialization of the object.</value>
2034 </member>
2035 <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnSerialized">
2036 <summary>
2037 Gets or sets the method called after serialization of the object graph.
2038 </summary>
2039 <value>The method called after serialization of the object graph.</value>
2040 </member>
2041 <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnSerializing">
2042 <summary>
2043 Gets or sets the method called before serialization of the object.
2044 </summary>
2045 <value>The method called before serialization of the object.</value>
2046 </member>
2047 <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnError">
2048 <summary>
2049 Gets or sets the method called when an error is thrown during the serialization of the object.
2050 </summary>
2051 <value>The method called when an error is thrown during the serialization of the object.</value>
2052 </member>
2053 <member name="P:Newtonsoft.Json.Serialization.JsonContract.DefaultCreator">
2054 <summary>
2055 Gets or sets the default creator method used to create the object.
2056 </summary>
2057 <value>The default creator method used to create the object.</value>
2058 </member>
2059 <member name="P:Newtonsoft.Json.Serialization.JsonContract.DefaultCreatorNonPublic">
2060 <summary>
2061 Gets or sets a value indicating whether the default creator is non public.
2062 </summary>
2063 <value><c>true</c> if the default object creator is non-public; otherwise, <c>false</c>.</value>
2064 </member>
2065 <member name="M:Newtonsoft.Json.Serialization.JsonContainerContract.#ctor(System.Type)">
2066 <summary>
2067 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonContainerContract"/> class.
2068 </summary>
2069 <param name="underlyingType">The underlying type for the contract.</param>
2070 </member>
2071 <member name="P:Newtonsoft.Json.Serialization.JsonContainerContract.ItemConverter">
2072 <summary>
2073 Gets or sets the default collection items <see cref="T:Newtonsoft.Json.JsonConverter"/>.
2074 </summary>
2075 <value>The converter.</value>
2076 </member>
2077 <member name="P:Newtonsoft.Json.Serialization.JsonContainerContract.ItemIsReference">
2078 <summary>
2079 Gets or sets a value indicating whether the collection items preserve object references.
2080 </summary>
2081 <value><c>true</c> if collection items preserve object references; otherwise, <c>false</c>.</value>
2082 </member>
2083 <member name="P:Newtonsoft.Json.Serialization.JsonContainerContract.ItemReferenceLoopHandling">
2084 <summary>
2085 Gets or sets the collection item reference loop handling.
2086 </summary>
2087 <value>The reference loop handling.</value>
2088 </member>
2089 <member name="P:Newtonsoft.Json.Serialization.JsonContainerContract.ItemTypeNameHandling">
2090 <summary>
2091 Gets or sets the collection item type name handling.
2092 </summary>
2093 <value>The type name handling.</value>
2094 </member>
2095 <member name="T:Newtonsoft.Json.Serialization.MemoryTraceWriter">
2096 <summary>
2097 Represents a trace writer that writes to memory. When the trace message limit is
2098 reached then old trace messages will be removed as new messages are added.
2099 </summary>
2100 </member>
2101 <member name="M:Newtonsoft.Json.Serialization.MemoryTraceWriter.#ctor">
2102 <summary>
2103 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.MemoryTraceWriter"/> class.
2104 </summary>
2105 </member>
2106 <member name="M:Newtonsoft.Json.Serialization.MemoryTraceWriter.Trace(System.Diagnostics.TraceLevel,System.String,System.Exception)">
2107 <summary>
2108 Writes the specified trace level, message and optional exception.
2109 </summary>
2110 <param name="level">The <see cref="T:System.Diagnostics.TraceLevel"/> at which to write this trace.</param>
2111 <param name="message">The trace message.</param>
2112 <param name="ex">The trace exception. This parameter is optional.</param>
2113 </member>
2114 <member name="M:Newtonsoft.Json.Serialization.MemoryTraceWriter.GetTraceMessages">
2115 <summary>
2116 Returns an enumeration of the most recent trace messages.
2117 </summary>
2118 <returns>An enumeration of the most recent trace messages.</returns>
2119 </member>
2120 <member name="M:Newtonsoft.Json.Serialization.MemoryTraceWriter.ToString">
2121 <summary>
2122 Returns a <see cref="T:System.String"/> of the most recent trace messages.
2123 </summary>
2124 <returns>
2125 A <see cref="T:System.String"/> of the most recent trace messages.
2126 </returns>
2127 </member>
2128 <member name="P:Newtonsoft.Json.Serialization.MemoryTraceWriter.LevelFilter">
2129 <summary>
2130 Gets the <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.
2131 For example a filter level of <code>Info</code> will exclude <code>Verbose</code> messages and include <code>Info</code>,
2132 <code>Warning</code> and <code>Error</code> messages.
2133 </summary>
2134 <value>
2135 The <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.
2136 </value>
2137 </member>
2138 <member name="T:Newtonsoft.Json.IJsonLineInfo">
2139 <summary>
2140 Provides an interface to enable a class to return line and position information.
2141 </summary>
2142 </member>
2143 <member name="M:Newtonsoft.Json.IJsonLineInfo.HasLineInfo">
2144 <summary>
2145 Gets a value indicating whether the class can return line information.
2146 </summary>
2147 <returns>
2148 <c>true</c> if LineNumber and LinePosition can be provided; otherwise, <c>false</c>.
2149 </returns>
2150 </member>
2151 <member name="P:Newtonsoft.Json.IJsonLineInfo.LineNumber">
2152 <summary>
2153 Gets the current line number.
2154 </summary>
2155 <value>The current line number or 0 if no line information is available (for example, HasLineInfo returns false).</value>
2156 </member>
2157 <member name="P:Newtonsoft.Json.IJsonLineInfo.LinePosition">
2158 <summary>
2159 Gets the current line position.
2160 </summary>
2161 <value>The current line position or 0 if no line information is available (for example, HasLineInfo returns false).</value>
2162 </member>
2163 <member name="T:Newtonsoft.Json.StringEscapeHandling">
2164 <summary>
2165 Specifies how strings are escaped when writing JSON text.
2166 </summary>
2167 </member>
2168 <member name="F:Newtonsoft.Json.StringEscapeHandling.Default">
2169 <summary>
2170 Only control characters (e.g. newline) are escaped.
2171 </summary>
2172 </member>
2173 <member name="F:Newtonsoft.Json.StringEscapeHandling.EscapeNonAscii">
2174 <summary>
2175 All non-ASCII and control characters (e.g. newline) are escaped.
2176 </summary>
2177 </member>
2178 <member name="F:Newtonsoft.Json.StringEscapeHandling.EscapeHtml">
2179 <summary>
2180 HTML (&lt;, &gt;, &amp;, &apos;, &quot;) and control characters (e.g. newline) are escaped.
2181 </summary>
2182 </member>
2183 <member name="T:Newtonsoft.Json.Linq.JRaw">
2184 <summary>
2185 Represents a raw JSON string.
2186 </summary>
2187 </member>
2188 <member name="T:Newtonsoft.Json.Linq.JValue">
2189 <summary>
2190 Represents a value in JSON (string, integer, date, etc).
2191 </summary>
2192 </member>
2193 <member name="T:Newtonsoft.Json.Linq.JToken">
2194 <summary>
2195 Represents an abstract JSON token.
2196 </summary>
2197 </member>
2198 <member name="T:Newtonsoft.Json.Linq.IJEnumerable`1">
2199 <summary>
2200 Represents a collection of <see cref="T:Newtonsoft.Json.Linq.JToken"/> objects.
2201 </summary>
2202 <typeparam name="T">The type of token</typeparam>
2203 </member>
2204 <member name="P:Newtonsoft.Json.Linq.IJEnumerable`1.Item(System.Object)">
2205 <summary>
2206 Gets the <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/> with the specified key.
2207 </summary>
2208 <value></value>
2209 </member>
2210 <member name="M:Newtonsoft.Json.Linq.JToken.DeepEquals(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)">
2211 <summary>
2212 Compares the values of two tokens, including the values of all descendant tokens.
2213 </summary>
2214 <param name="t1">The first <see cref="T:Newtonsoft.Json.Linq.JToken"/> to compare.</param>
2215 <param name="t2">The second <see cref="T:Newtonsoft.Json.Linq.JToken"/> to compare.</param>
2216 <returns>true if the tokens are equal; otherwise false.</returns>
2217 </member>
2218 <member name="M:Newtonsoft.Json.Linq.JToken.AddAfterSelf(System.Object)">
2219 <summary>
2220 Adds the specified content immediately after this token.
2221 </summary>
2222 <param name="content">A content object that contains simple content or a collection of content objects to be added after this token.</param>
2223 </member>
2224 <member name="M:Newtonsoft.Json.Linq.JToken.AddBeforeSelf(System.Object)">
2225 <summary>
2226 Adds the specified content immediately before this token.
2227 </summary>
2228 <param name="content">A content object that contains simple content or a collection of content objects to be added before this token.</param>
2229 </member>
2230 <member name="M:Newtonsoft.Json.Linq.JToken.Ancestors">
2231 <summary>
2232 Returns a collection of the ancestor tokens of this token.
2233 </summary>
2234 <returns>A collection of the ancestor tokens of this token.</returns>
2235 </member>
2236 <member name="M:Newtonsoft.Json.Linq.JToken.AfterSelf">
2237 <summary>
2238 Returns a collection of the sibling tokens after this token, in document order.
2239 </summary>
2240 <returns>A collection of the sibling tokens after this tokens, in document order.</returns>
2241 </member>
2242 <member name="M:Newtonsoft.Json.Linq.JToken.BeforeSelf">
2243 <summary>
2244 Returns a collection of the sibling tokens before this token, in document order.
2245 </summary>
2246 <returns>A collection of the sibling tokens before this token, in document order.</returns>
2247 </member>
2248 <member name="M:Newtonsoft.Json.Linq.JToken.Value``1(System.Object)">
2249 <summary>
2250 Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key converted to the specified type.
2251 </summary>
2252 <typeparam name="T">The type to convert the token to.</typeparam>
2253 <param name="key">The token key.</param>
2254 <returns>The converted token value.</returns>
2255 </member>
2256 <member name="M:Newtonsoft.Json.Linq.JToken.Children">
2257 <summary>
2258 Returns a collection of the child tokens of this token, in document order.
2259 </summary>
2260 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the child tokens of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order.</returns>
2261 </member>
2262 <member name="M:Newtonsoft.Json.Linq.JToken.Children``1">
2263 <summary>
2264 Returns a collection of the child tokens of this token, in document order, filtered by the specified type.
2265 </summary>
2266 <typeparam name="T">The type to filter the child tokens on.</typeparam>
2267 <returns>A <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> containing the child tokens of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order.</returns>
2268 </member>
2269 <member name="M:Newtonsoft.Json.Linq.JToken.Values``1">
2270 <summary>
2271 Returns a collection of the child values of this token, in document order.
2272 </summary>
2273 <typeparam name="T">The type to convert the values to.</typeparam>
2274 <returns>A <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the child values of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order.</returns>
2275 </member>
2276 <member name="M:Newtonsoft.Json.Linq.JToken.Remove">
2277 <summary>
2278 Removes this token from its parent.
2279 </summary>
2280 </member>
2281 <member name="M:Newtonsoft.Json.Linq.JToken.Replace(Newtonsoft.Json.Linq.JToken)">
2282 <summary>
2283 Replaces this token with the specified token.
2284 </summary>
2285 <param name="value">The value.</param>
2286 </member>
2287 <member name="M:Newtonsoft.Json.Linq.JToken.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])">
2288 <summary>
2289 Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>.
2290 </summary>
2291 <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
2292 <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
2293 </member>
2294 <member name="M:Newtonsoft.Json.Linq.JToken.ToString">
2295 <summary>
2296 Returns the indented JSON for this token.
2297 </summary>
2298 <returns>
2299 The indented JSON for this token.
2300 </returns>
2301 </member>
2302 <member name="M:Newtonsoft.Json.Linq.JToken.ToString(Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[])">
2303 <summary>
2304 Returns the JSON for this token using the given formatting and converters.
2305 </summary>
2306 <param name="formatting">Indicates how the output is formatted.</param>
2307 <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
2308 <returns>The JSON for this token using the given formatting and converters.</returns>
2309 </member>
2310 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Boolean">
2311 <summary>
2312 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Boolean"/>.
2313 </summary>
2314 <param name="value">The value.</param>
2315 <returns>The result of the conversion.</returns>
2316 </member>
2317 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.DateTimeOffset">
2318 <summary>
2319 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.DateTimeOffset"/>.
2320 </summary>
2321 <param name="value">The value.</param>
2322 <returns>The result of the conversion.</returns>
2323 </member>
2324 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Boolean}">
2325 <summary>
2326 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2327 </summary>
2328 <param name="value">The value.</param>
2329 <returns>The result of the conversion.</returns>
2330 </member>
2331 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Int64">
2332 <summary>
2333 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Int64"/>.
2334 </summary>
2335 <param name="value">The value.</param>
2336 <returns>The result of the conversion.</returns>
2337 </member>
2338 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.DateTime}">
2339 <summary>
2340 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2341 </summary>
2342 <param name="value">The value.</param>
2343 <returns>The result of the conversion.</returns>
2344 </member>
2345 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.DateTimeOffset}">
2346 <summary>
2347 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2348 </summary>
2349 <param name="value">The value.</param>
2350 <returns>The result of the conversion.</returns>
2351 </member>
2352 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Decimal}">
2353 <summary>
2354 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2355 </summary>
2356 <param name="value">The value.</param>
2357 <returns>The result of the conversion.</returns>
2358 </member>
2359 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Double}">
2360 <summary>
2361 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2362 </summary>
2363 <param name="value">The value.</param>
2364 <returns>The result of the conversion.</returns>
2365 </member>
2366 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Char}">
2367 <summary>
2368 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2369 </summary>
2370 <param name="value">The value.</param>
2371 <returns>The result of the conversion.</returns>
2372 </member>
2373 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Int32">
2374 <summary>
2375 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Int32"/>.
2376 </summary>
2377 <param name="value">The value.</param>
2378 <returns>The result of the conversion.</returns>
2379 </member>
2380 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Int16">
2381 <summary>
2382 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Int16"/>.
2383 </summary>
2384 <param name="value">The value.</param>
2385 <returns>The result of the conversion.</returns>
2386 </member>
2387 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.UInt16">
2388 <summary>
2389 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.UInt16"/>.
2390 </summary>
2391 <param name="value">The value.</param>
2392 <returns>The result of the conversion.</returns>
2393 </member>
2394 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Char">
2395 <summary>
2396 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Char"/>.
2397 </summary>
2398 <param name="value">The value.</param>
2399 <returns>The result of the conversion.</returns>
2400 </member>
2401 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Byte">
2402 <summary>
2403 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Byte"/>.
2404 </summary>
2405 <param name="value">The value.</param>
2406 <returns>The result of the conversion.</returns>
2407 </member>
2408 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.SByte">
2409 <summary>
2410 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.SByte"/>.
2411 </summary>
2412 <param name="value">The value.</param>
2413 <returns>The result of the conversion.</returns>
2414 </member>
2415 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Int32}">
2416 <summary>
2417 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2418 </summary>
2419 <param name="value">The value.</param>
2420 <returns>The result of the conversion.</returns>
2421 </member>
2422 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Int16}">
2423 <summary>
2424 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2425 </summary>
2426 <param name="value">The value.</param>
2427 <returns>The result of the conversion.</returns>
2428 </member>
2429 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.UInt16}">
2430 <summary>
2431 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2432 </summary>
2433 <param name="value">The value.</param>
2434 <returns>The result of the conversion.</returns>
2435 </member>
2436 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Byte}">
2437 <summary>
2438 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2439 </summary>
2440 <param name="value">The value.</param>
2441 <returns>The result of the conversion.</returns>
2442 </member>
2443 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.SByte}">
2444 <summary>
2445 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2446 </summary>
2447 <param name="value">The value.</param>
2448 <returns>The result of the conversion.</returns>
2449 </member>
2450 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.DateTime">
2451 <summary>
2452 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.DateTime"/>.
2453 </summary>
2454 <param name="value">The value.</param>
2455 <returns>The result of the conversion.</returns>
2456 </member>
2457 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Int64}">
2458 <summary>
2459 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2460 </summary>
2461 <param name="value">The value.</param>
2462 <returns>The result of the conversion.</returns>
2463 </member>
2464 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Single}">
2465 <summary>
2466 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2467 </summary>
2468 <param name="value">The value.</param>
2469 <returns>The result of the conversion.</returns>
2470 </member>
2471 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Decimal">
2472 <summary>
2473 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Decimal"/>.
2474 </summary>
2475 <param name="value">The value.</param>
2476 <returns>The result of the conversion.</returns>
2477 </member>
2478 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.UInt32}">
2479 <summary>
2480 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2481 </summary>
2482 <param name="value">The value.</param>
2483 <returns>The result of the conversion.</returns>
2484 </member>
2485 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.UInt64}">
2486 <summary>
2487 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>.
2488 </summary>
2489 <param name="value">The value.</param>
2490 <returns>The result of the conversion.</returns>
2491 </member>
2492 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Double">
2493 <summary>
2494 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Double"/>.
2495 </summary>
2496 <param name="value">The value.</param>
2497 <returns>The result of the conversion.</returns>
2498 </member>
2499 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Single">
2500 <summary>
2501 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Single"/>.
2502 </summary>
2503 <param name="value">The value.</param>
2504 <returns>The result of the conversion.</returns>
2505 </member>
2506 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.String">
2507 <summary>
2508 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.String"/>.
2509 </summary>
2510 <param name="value">The value.</param>
2511 <returns>The result of the conversion.</returns>
2512 </member>
2513 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.UInt32">
2514 <summary>
2515 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.UInt32"/>.
2516 </summary>
2517 <param name="value">The value.</param>
2518 <returns>The result of the conversion.</returns>
2519 </member>
2520 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.UInt64">
2521 <summary>
2522 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.UInt64"/>.
2523 </summary>
2524 <param name="value">The value.</param>
2525 <returns>The result of the conversion.</returns>
2526 </member>
2527 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Byte[]">
2528 <summary>
2529 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Byte[]"/>.
2530 </summary>
2531 <param name="value">The value.</param>
2532 <returns>The result of the conversion.</returns>
2533 </member>
2534 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Guid">
2535 <summary>
2536 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Guid"/>.
2537 </summary>
2538 <param name="value">The value.</param>
2539 <returns>The result of the conversion.</returns>
2540 </member>
2541 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Guid}">
2542 <summary>
2543 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Guid"/>.
2544 </summary>
2545 <param name="value">The value.</param>
2546 <returns>The result of the conversion.</returns>
2547 </member>
2548 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.TimeSpan">
2549 <summary>
2550 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.TimeSpan"/>.
2551 </summary>
2552 <param name="value">The value.</param>
2553 <returns>The result of the conversion.</returns>
2554 </member>
2555 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.TimeSpan}">
2556 <summary>
2557 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.TimeSpan"/>.
2558 </summary>
2559 <param name="value">The value.</param>
2560 <returns>The result of the conversion.</returns>
2561 </member>
2562 <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Uri">
2563 <summary>
2564 Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Uri"/>.
2565 </summary>
2566 <param name="value">The value.</param>
2567 <returns>The result of the conversion.</returns>
2568 </member>
2569 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Boolean)~Newtonsoft.Json.Linq.JToken">
2570 <summary>
2571 Performs an implicit conversion from <see cref="T:System.Boolean"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2572 </summary>
2573 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2574 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2575 </member>
2576 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.DateTimeOffset)~Newtonsoft.Json.Linq.JToken">
2577 <summary>
2578 Performs an implicit conversion from <see cref="T:System.DateTimeOffset"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2579 </summary>
2580 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2581 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2582 </member>
2583 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Byte)~Newtonsoft.Json.Linq.JToken">
2584 <summary>
2585 Performs an implicit conversion from <see cref="T:System.Byte"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2586 </summary>
2587 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2588 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2589 </member>
2590 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Byte})~Newtonsoft.Json.Linq.JToken">
2591 <summary>
2592 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2593 </summary>
2594 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2595 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2596 </member>
2597 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.SByte)~Newtonsoft.Json.Linq.JToken">
2598 <summary>
2599 Performs an implicit conversion from <see cref="T:System.SByte"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2600 </summary>
2601 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2602 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2603 </member>
2604 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.SByte})~Newtonsoft.Json.Linq.JToken">
2605 <summary>
2606 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2607 </summary>
2608 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2609 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2610 </member>
2611 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Boolean})~Newtonsoft.Json.Linq.JToken">
2612 <summary>
2613 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2614 </summary>
2615 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2616 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2617 </member>
2618 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Int64)~Newtonsoft.Json.Linq.JToken">
2619 <summary>
2620 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2621 </summary>
2622 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2623 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2624 </member>
2625 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.DateTime})~Newtonsoft.Json.Linq.JToken">
2626 <summary>
2627 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2628 </summary>
2629 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2630 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2631 </member>
2632 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.DateTimeOffset})~Newtonsoft.Json.Linq.JToken">
2633 <summary>
2634 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2635 </summary>
2636 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2637 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2638 </member>
2639 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Decimal})~Newtonsoft.Json.Linq.JToken">
2640 <summary>
2641 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2642 </summary>
2643 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2644 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2645 </member>
2646 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Double})~Newtonsoft.Json.Linq.JToken">
2647 <summary>
2648 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2649 </summary>
2650 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2651 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2652 </member>
2653 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Int16)~Newtonsoft.Json.Linq.JToken">
2654 <summary>
2655 Performs an implicit conversion from <see cref="T:System.Int16"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2656 </summary>
2657 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2658 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2659 </member>
2660 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.UInt16)~Newtonsoft.Json.Linq.JToken">
2661 <summary>
2662 Performs an implicit conversion from <see cref="T:System.UInt16"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2663 </summary>
2664 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2665 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2666 </member>
2667 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Int32)~Newtonsoft.Json.Linq.JToken">
2668 <summary>
2669 Performs an implicit conversion from <see cref="T:System.Int32"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2670 </summary>
2671 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2672 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2673 </member>
2674 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Int32})~Newtonsoft.Json.Linq.JToken">
2675 <summary>
2676 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2677 </summary>
2678 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2679 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2680 </member>
2681 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.DateTime)~Newtonsoft.Json.Linq.JToken">
2682 <summary>
2683 Performs an implicit conversion from <see cref="T:System.DateTime"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2684 </summary>
2685 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2686 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2687 </member>
2688 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Int64})~Newtonsoft.Json.Linq.JToken">
2689 <summary>
2690 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2691 </summary>
2692 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2693 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2694 </member>
2695 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Single})~Newtonsoft.Json.Linq.JToken">
2696 <summary>
2697 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2698 </summary>
2699 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2700 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2701 </member>
2702 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Decimal)~Newtonsoft.Json.Linq.JToken">
2703 <summary>
2704 Performs an implicit conversion from <see cref="T:System.Decimal"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2705 </summary>
2706 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2707 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2708 </member>
2709 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Int16})~Newtonsoft.Json.Linq.JToken">
2710 <summary>
2711 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2712 </summary>
2713 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2714 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2715 </member>
2716 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.UInt16})~Newtonsoft.Json.Linq.JToken">
2717 <summary>
2718 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2719 </summary>
2720 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2721 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2722 </member>
2723 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.UInt32})~Newtonsoft.Json.Linq.JToken">
2724 <summary>
2725 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2726 </summary>
2727 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2728 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2729 </member>
2730 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.UInt64})~Newtonsoft.Json.Linq.JToken">
2731 <summary>
2732 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2733 </summary>
2734 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2735 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2736 </member>
2737 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Double)~Newtonsoft.Json.Linq.JToken">
2738 <summary>
2739 Performs an implicit conversion from <see cref="T:System.Double"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2740 </summary>
2741 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2742 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2743 </member>
2744 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Single)~Newtonsoft.Json.Linq.JToken">
2745 <summary>
2746 Performs an implicit conversion from <see cref="T:System.Single"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2747 </summary>
2748 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2749 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2750 </member>
2751 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.String)~Newtonsoft.Json.Linq.JToken">
2752 <summary>
2753 Performs an implicit conversion from <see cref="T:System.String"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2754 </summary>
2755 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2756 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2757 </member>
2758 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.UInt32)~Newtonsoft.Json.Linq.JToken">
2759 <summary>
2760 Performs an implicit conversion from <see cref="T:System.UInt32"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2761 </summary>
2762 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2763 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2764 </member>
2765 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.UInt64)~Newtonsoft.Json.Linq.JToken">
2766 <summary>
2767 Performs an implicit conversion from <see cref="T:System.UInt64"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2768 </summary>
2769 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2770 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2771 </member>
2772 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Byte[])~Newtonsoft.Json.Linq.JToken">
2773 <summary>
2774 Performs an implicit conversion from <see cref="T:System.Byte[]"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2775 </summary>
2776 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2777 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2778 </member>
2779 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Uri)~Newtonsoft.Json.Linq.JToken">
2780 <summary>
2781 Performs an implicit conversion from <see cref="T:System.Uri"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2782 </summary>
2783 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2784 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2785 </member>
2786 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.TimeSpan)~Newtonsoft.Json.Linq.JToken">
2787 <summary>
2788 Performs an implicit conversion from <see cref="T:System.TimeSpan"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2789 </summary>
2790 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2791 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2792 </member>
2793 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.TimeSpan})~Newtonsoft.Json.Linq.JToken">
2794 <summary>
2795 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2796 </summary>
2797 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2798 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2799 </member>
2800 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Guid)~Newtonsoft.Json.Linq.JToken">
2801 <summary>
2802 Performs an implicit conversion from <see cref="T:System.Guid"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2803 </summary>
2804 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2805 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2806 </member>
2807 <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Guid})~Newtonsoft.Json.Linq.JToken">
2808 <summary>
2809 Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2810 </summary>
2811 <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param>
2812 <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns>
2813 </member>
2814 <member name="M:Newtonsoft.Json.Linq.JToken.CreateReader">
2815 <summary>
2816 Creates an <see cref="T:Newtonsoft.Json.JsonReader"/> for this token.
2817 </summary>
2818 <returns>An <see cref="T:Newtonsoft.Json.JsonReader"/> that can be used to read this token and its descendants.</returns>
2819 </member>
2820 <member name="M:Newtonsoft.Json.Linq.JToken.FromObject(System.Object)">
2821 <summary>
2822 Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from an object.
2823 </summary>
2824 <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param>
2825 <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the value of the specified object</returns>
2826 </member>
2827 <member name="M:Newtonsoft.Json.Linq.JToken.FromObject(System.Object,Newtonsoft.Json.JsonSerializer)">
2828 <summary>
2829 Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from an object using the specified <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
2830 </summary>
2831 <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param>
2832 <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used when reading the object.</param>
2833 <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the value of the specified object</returns>
2834 </member>
2835 <member name="M:Newtonsoft.Json.Linq.JToken.ToObject``1">
2836 <summary>
2837 Creates the specified .NET type from the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2838 </summary>
2839 <typeparam name="T">The object type that the token will be deserialized to.</typeparam>
2840 <returns>The new object created from the JSON value.</returns>
2841 </member>
2842 <member name="M:Newtonsoft.Json.Linq.JToken.ToObject(System.Type)">
2843 <summary>
2844 Creates the specified .NET type from the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2845 </summary>
2846 <param name="objectType">The object type that the token will be deserialized to.</param>
2847 <returns>The new object created from the JSON value.</returns>
2848 </member>
2849 <member name="M:Newtonsoft.Json.Linq.JToken.ToObject``1(Newtonsoft.Json.JsonSerializer)">
2850 <summary>
2851 Creates the specified .NET type from the <see cref="T:Newtonsoft.Json.Linq.JToken"/> using the specified <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
2852 </summary>
2853 <typeparam name="T">The object type that the token will be deserialized to.</typeparam>
2854 <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used when creating the object.</param>
2855 <returns>The new object created from the JSON value.</returns>
2856 </member>
2857 <member name="M:Newtonsoft.Json.Linq.JToken.ToObject(System.Type,Newtonsoft.Json.JsonSerializer)">
2858 <summary>
2859 Creates the specified .NET type from the <see cref="T:Newtonsoft.Json.Linq.JToken"/> using the specified <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
2860 </summary>
2861 <param name="objectType">The object type that the token will be deserialized to.</param>
2862 <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used when creating the object.</param>
2863 <returns>The new object created from the JSON value.</returns>
2864 </member>
2865 <member name="M:Newtonsoft.Json.Linq.JToken.ReadFrom(Newtonsoft.Json.JsonReader)">
2866 <summary>
2867 Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>.
2868 </summary>
2869 <param name="reader">An <see cref="T:Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param>
2870 <returns>
2871 An <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens
2872 that were read from the reader. The runtime type of the token is determined
2873 by the token type of the first token encountered in the reader.
2874 </returns>
2875 </member>
2876 <member name="M:Newtonsoft.Json.Linq.JToken.Parse(System.String)">
2877 <summary>
2878 Load a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a string that contains JSON.
2879 </summary>
2880 <param name="json">A <see cref="T:System.String"/> that contains JSON.</param>
2881 <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> populated from the string that contains JSON.</returns>
2882 </member>
2883 <member name="M:Newtonsoft.Json.Linq.JToken.Load(Newtonsoft.Json.JsonReader)">
2884 <summary>
2885 Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>.
2886 </summary>
2887 <param name="reader">An <see cref="T:Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param>
2888 <returns>
2889 An <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens
2890 that were read from the reader. The runtime type of the token is determined
2891 by the token type of the first token encountered in the reader.
2892 </returns>
2893 </member>
2894 <member name="M:Newtonsoft.Json.Linq.JToken.SelectToken(System.String)">
2895 <summary>
2896 Selects a <see cref="T:Newtonsoft.Json.Linq.JToken"/> using a JPath expression. Selects the token that matches the object path.
2897 </summary>
2898 <param name="path">
2899 A <see cref="T:System.String"/> that contains a JPath expression.
2900 </param>
2901 <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/>, or null.</returns>
2902 </member>
2903 <member name="M:Newtonsoft.Json.Linq.JToken.SelectToken(System.String,System.Boolean)">
2904 <summary>
2905 Selects a <see cref="T:Newtonsoft.Json.Linq.JToken"/> using a JPath expression. Selects the token that matches the object path.
2906 </summary>
2907 <param name="path">
2908 A <see cref="T:System.String"/> that contains a JPath expression.
2909 </param>
2910 <param name="errorWhenNoMatch">A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.</param>
2911 <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns>
2912 </member>
2913 <member name="M:Newtonsoft.Json.Linq.JToken.SelectTokens(System.String)">
2914 <summary>
2915 Selects a collection of elements using a JPath expression.
2916 </summary>
2917 <param name="path">
2918 A <see cref="T:System.String"/> that contains a JPath expression.
2919 </param>
2920 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the selected elements.</returns>
2921 </member>
2922 <member name="M:Newtonsoft.Json.Linq.JToken.SelectTokens(System.String,System.Boolean)">
2923 <summary>
2924 Selects a collection of elements using a JPath expression.
2925 </summary>
2926 <param name="path">
2927 A <see cref="T:System.String"/> that contains a JPath expression.
2928 </param>
2929 <param name="errorWhenNoMatch">A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.</param>
2930 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the selected elements.</returns>
2931 </member>
2932 <member name="M:Newtonsoft.Json.Linq.JToken.GetMetaObject(System.Linq.Expressions.Expression)">
2933 <summary>
2934 Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object.
2935 </summary>
2936 <param name="parameter">The expression tree representation of the runtime value.</param>
2937 <returns>
2938 The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object.
2939 </returns>
2940 </member>
2941 <member name="M:Newtonsoft.Json.Linq.JToken.System#Dynamic#IDynamicMetaObjectProvider#GetMetaObject(System.Linq.Expressions.Expression)">
2942 <summary>
2943 Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object.
2944 </summary>
2945 <param name="parameter">The expression tree representation of the runtime value.</param>
2946 <returns>
2947 The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object.
2948 </returns>
2949 </member>
2950 <member name="M:Newtonsoft.Json.Linq.JToken.DeepClone">
2951 <summary>
2952 Creates a new instance of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. All child tokens are recursively cloned.
2953 </summary>
2954 <returns>A new instance of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns>
2955 </member>
2956 <member name="P:Newtonsoft.Json.Linq.JToken.EqualityComparer">
2957 <summary>
2958 Gets a comparer that can compare two tokens for value equality.
2959 </summary>
2960 <value>A <see cref="T:Newtonsoft.Json.Linq.JTokenEqualityComparer"/> that can compare two nodes for value equality.</value>
2961 </member>
2962 <member name="P:Newtonsoft.Json.Linq.JToken.Parent">
2963 <summary>
2964 Gets or sets the parent.
2965 </summary>
2966 <value>The parent.</value>
2967 </member>
2968 <member name="P:Newtonsoft.Json.Linq.JToken.Root">
2969 <summary>
2970 Gets the root <see cref="T:Newtonsoft.Json.Linq.JToken"/> of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2971 </summary>
2972 <value>The root <see cref="T:Newtonsoft.Json.Linq.JToken"/> of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</value>
2973 </member>
2974 <member name="P:Newtonsoft.Json.Linq.JToken.Type">
2975 <summary>
2976 Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
2977 </summary>
2978 <value>The type.</value>
2979 </member>
2980 <member name="P:Newtonsoft.Json.Linq.JToken.HasValues">
2981 <summary>
2982 Gets a value indicating whether this token has child tokens.
2983 </summary>
2984 <value>
2985 <c>true</c> if this token has child values; otherwise, <c>false</c>.
2986 </value>
2987 </member>
2988 <member name="P:Newtonsoft.Json.Linq.JToken.Next">
2989 <summary>
2990 Gets the next sibling token of this node.
2991 </summary>
2992 <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the next sibling token.</value>
2993 </member>
2994 <member name="P:Newtonsoft.Json.Linq.JToken.Previous">
2995 <summary>
2996 Gets the previous sibling token of this node.
2997 </summary>
2998 <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the previous sibling token.</value>
2999 </member>
3000 <member name="P:Newtonsoft.Json.Linq.JToken.Path">
3001 <summary>
3002 Gets the path of the JSON token.
3003 </summary>
3004 </member>
3005 <member name="P:Newtonsoft.Json.Linq.JToken.Item(System.Object)">
3006 <summary>
3007 Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.
3008 </summary>
3009 <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.</value>
3010 </member>
3011 <member name="P:Newtonsoft.Json.Linq.JToken.First">
3012 <summary>
3013 Get the first child token of this token.
3014 </summary>
3015 <value>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the first child token of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</value>
3016 </member>
3017 <member name="P:Newtonsoft.Json.Linq.JToken.Last">
3018 <summary>
3019 Get the last child token of this token.
3020 </summary>
3021 <value>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the last child token of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</value>
3022 </member>
3023 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(Newtonsoft.Json.Linq.JValue)">
3024 <summary>
3025 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class from another <see cref="T:Newtonsoft.Json.Linq.JValue"/> object.
3026 </summary>
3027 <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JValue"/> object to copy from.</param>
3028 </member>
3029 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Int64)">
3030 <summary>
3031 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3032 </summary>
3033 <param name="value">The value.</param>
3034 </member>
3035 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Decimal)">
3036 <summary>
3037 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3038 </summary>
3039 <param name="value">The value.</param>
3040 </member>
3041 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Char)">
3042 <summary>
3043 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3044 </summary>
3045 <param name="value">The value.</param>
3046 </member>
3047 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.UInt64)">
3048 <summary>
3049 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3050 </summary>
3051 <param name="value">The value.</param>
3052 </member>
3053 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Double)">
3054 <summary>
3055 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3056 </summary>
3057 <param name="value">The value.</param>
3058 </member>
3059 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Single)">
3060 <summary>
3061 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3062 </summary>
3063 <param name="value">The value.</param>
3064 </member>
3065 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.DateTime)">
3066 <summary>
3067 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3068 </summary>
3069 <param name="value">The value.</param>
3070 </member>
3071 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.DateTimeOffset)">
3072 <summary>
3073 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3074 </summary>
3075 <param name="value">The value.</param>
3076 </member>
3077 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Boolean)">
3078 <summary>
3079 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3080 </summary>
3081 <param name="value">The value.</param>
3082 </member>
3083 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.String)">
3084 <summary>
3085 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3086 </summary>
3087 <param name="value">The value.</param>
3088 </member>
3089 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Guid)">
3090 <summary>
3091 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3092 </summary>
3093 <param name="value">The value.</param>
3094 </member>
3095 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Uri)">
3096 <summary>
3097 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3098 </summary>
3099 <param name="value">The value.</param>
3100 </member>
3101 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.TimeSpan)">
3102 <summary>
3103 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3104 </summary>
3105 <param name="value">The value.</param>
3106 </member>
3107 <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Object)">
3108 <summary>
3109 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value.
3110 </summary>
3111 <param name="value">The value.</param>
3112 </member>
3113 <member name="M:Newtonsoft.Json.Linq.JValue.CreateComment(System.String)">
3114 <summary>
3115 Creates a <see cref="T:Newtonsoft.Json.Linq.JValue"/> comment with the given value.
3116 </summary>
3117 <param name="value">The value.</param>
3118 <returns>A <see cref="T:Newtonsoft.Json.Linq.JValue"/> comment with the given value.</returns>
3119 </member>
3120 <member name="M:Newtonsoft.Json.Linq.JValue.CreateString(System.String)">
3121 <summary>
3122 Creates a <see cref="T:Newtonsoft.Json.Linq.JValue"/> string with the given value.
3123 </summary>
3124 <param name="value">The value.</param>
3125 <returns>A <see cref="T:Newtonsoft.Json.Linq.JValue"/> string with the given value.</returns>
3126 </member>
3127 <member name="M:Newtonsoft.Json.Linq.JValue.CreateNull">
3128 <summary>
3129 Creates a <see cref="T:Newtonsoft.Json.Linq.JValue"/> null value.
3130 </summary>
3131 <returns>A <see cref="T:Newtonsoft.Json.Linq.JValue"/> null value.</returns>
3132 </member>
3133 <member name="M:Newtonsoft.Json.Linq.JValue.CreateUndefined">
3134 <summary>
3135 Creates a <see cref="T:Newtonsoft.Json.Linq.JValue"/> null value.
3136 </summary>
3137 <returns>A <see cref="T:Newtonsoft.Json.Linq.JValue"/> null value.</returns>
3138 </member>
3139 <member name="M:Newtonsoft.Json.Linq.JValue.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])">
3140 <summary>
3141 Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>.
3142 </summary>
3143 <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
3144 <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
3145 </member>
3146 <member name="M:Newtonsoft.Json.Linq.JValue.Equals(Newtonsoft.Json.Linq.JValue)">
3147 <summary>
3148 Indicates whether the current object is equal to another object of the same type.
3149 </summary>
3150 <returns>
3151 true if the current object is equal to the <paramref name="other"/> parameter; otherwise, false.
3152 </returns>
3153 <param name="other">An object to compare with this object.</param>
3154 </member>
3155 <member name="M:Newtonsoft.Json.Linq.JValue.Equals(System.Object)">
3156 <summary>
3157 Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>.
3158 </summary>
3159 <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:System.Object"/>.</param>
3160 <returns>
3161 true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>; otherwise, false.
3162 </returns>
3163 <exception cref="T:System.NullReferenceException">
3164 The <paramref name="obj"/> parameter is null.
3165 </exception>
3166 </member>
3167 <member name="M:Newtonsoft.Json.Linq.JValue.GetHashCode">
3168 <summary>
3169 Serves as a hash function for a particular type.
3170 </summary>
3171 <returns>
3172 A hash code for the current <see cref="T:System.Object"/>.
3173 </returns>
3174 </member>
3175 <member name="M:Newtonsoft.Json.Linq.JValue.ToString">
3176 <summary>
3177 Returns a <see cref="T:System.String"/> that represents this instance.
3178 </summary>
3179 <returns>
3180 A <see cref="T:System.String"/> that represents this instance.
3181 </returns>
3182 </member>
3183 <member name="M:Newtonsoft.Json.Linq.JValue.ToString(System.String)">
3184 <summary>
3185 Returns a <see cref="T:System.String"/> that represents this instance.
3186 </summary>
3187 <param name="format">The format.</param>
3188 <returns>
3189 A <see cref="T:System.String"/> that represents this instance.
3190 </returns>
3191 </member>
3192 <member name="M:Newtonsoft.Json.Linq.JValue.ToString(System.IFormatProvider)">
3193 <summary>
3194 Returns a <see cref="T:System.String"/> that represents this instance.
3195 </summary>
3196 <param name="formatProvider">The format provider.</param>
3197 <returns>
3198 A <see cref="T:System.String"/> that represents this instance.
3199 </returns>
3200 </member>
3201 <member name="M:Newtonsoft.Json.Linq.JValue.ToString(System.String,System.IFormatProvider)">
3202 <summary>
3203 Returns a <see cref="T:System.String"/> that represents this instance.
3204 </summary>
3205 <param name="format">The format.</param>
3206 <param name="formatProvider">The format provider.</param>
3207 <returns>
3208 A <see cref="T:System.String"/> that represents this instance.
3209 </returns>
3210 </member>
3211 <member name="M:Newtonsoft.Json.Linq.JValue.GetMetaObject(System.Linq.Expressions.Expression)">
3212 <summary>
3213 Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object.
3214 </summary>
3215 <param name="parameter">The expression tree representation of the runtime value.</param>
3216 <returns>
3217 The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object.
3218 </returns>
3219 </member>
3220 <member name="M:Newtonsoft.Json.Linq.JValue.CompareTo(Newtonsoft.Json.Linq.JValue)">
3221 <summary>
3222 Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
3223 </summary>
3224 <param name="obj">An object to compare with this instance.</param>
3225 <returns>
3226 A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings:
3227 Value
3228 Meaning
3229 Less than zero
3230 This instance is less than <paramref name="obj"/>.
3231 Zero
3232 This instance is equal to <paramref name="obj"/>.
3233 Greater than zero
3234 This instance is greater than <paramref name="obj"/>.
3235 </returns>
3236 <exception cref="T:System.ArgumentException">
3237 <paramref name="obj"/> is not the same type as this instance.
3238 </exception>
3239 </member>
3240 <member name="P:Newtonsoft.Json.Linq.JValue.HasValues">
3241 <summary>
3242 Gets a value indicating whether this token has child tokens.
3243 </summary>
3244 <value>
3245 <c>true</c> if this token has child values; otherwise, <c>false</c>.
3246 </value>
3247 </member>
3248 <member name="P:Newtonsoft.Json.Linq.JValue.Type">
3249 <summary>
3250 Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
3251 </summary>
3252 <value>The type.</value>
3253 </member>
3254 <member name="P:Newtonsoft.Json.Linq.JValue.Value">
3255 <summary>
3256 Gets or sets the underlying token value.
3257 </summary>
3258 <value>The underlying token value.</value>
3259 </member>
3260 <member name="M:Newtonsoft.Json.Linq.JRaw.#ctor(Newtonsoft.Json.Linq.JRaw)">
3261 <summary>
3262 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JRaw"/> class from another <see cref="T:Newtonsoft.Json.Linq.JRaw"/> object.
3263 </summary>
3264 <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JRaw"/> object to copy from.</param>
3265 </member>
3266 <member name="M:Newtonsoft.Json.Linq.JRaw.#ctor(System.Object)">
3267 <summary>
3268 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JRaw"/> class.
3269 </summary>
3270 <param name="rawJson">The raw json.</param>
3271 </member>
3272 <member name="M:Newtonsoft.Json.Linq.JRaw.Create(Newtonsoft.Json.JsonReader)">
3273 <summary>
3274 Creates an instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.
3275 </summary>
3276 <param name="reader">The reader.</param>
3277 <returns>An instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.</returns>
3278 </member>
3279 <member name="T:Newtonsoft.Json.Required">
3280 <summary>
3281 Indicating whether a property is required.
3282 </summary>
3283 </member>
3284 <member name="F:Newtonsoft.Json.Required.Default">
3285 <summary>
3286 The property is not required. The default state.
3287 </summary>
3288 </member>
3289 <member name="F:Newtonsoft.Json.Required.AllowNull">
3290 <summary>
3291 The property must be defined in JSON but can be a null value.
3292 </summary>
3293 </member>
3294 <member name="F:Newtonsoft.Json.Required.Always">
3295 <summary>
3296 The property must be defined in JSON and cannot be a null value.
3297 </summary>
3298 </member>
3299 <member name="T:Newtonsoft.Json.Serialization.JsonDynamicContract">
3300 <summary>
3301 Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
3302 </summary>
3303 </member>
3304 <member name="M:Newtonsoft.Json.Serialization.JsonDynamicContract.#ctor(System.Type)">
3305 <summary>
3306 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonDynamicContract"/> class.
3307 </summary>
3308 <param name="underlyingType">The underlying type for the contract.</param>
3309 </member>
3310 <member name="P:Newtonsoft.Json.Serialization.JsonDynamicContract.Properties">
3311 <summary>
3312 Gets the object's properties.
3313 </summary>
3314 <value>The object's properties.</value>
3315 </member>
3316 <member name="P:Newtonsoft.Json.Serialization.JsonDynamicContract.PropertyNameResolver">
3317 <summary>
3318 Gets or sets the property name resolver.
3319 </summary>
3320 <value>The property name resolver.</value>
3321 </member>
3322 <member name="T:Newtonsoft.Json.Serialization.JsonISerializableContract">
3323 <summary>
3324 Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
3325 </summary>
3326 </member>
3327 <member name="M:Newtonsoft.Json.Serialization.JsonISerializableContract.#ctor(System.Type)">
3328 <summary>
3329 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonISerializableContract"/> class.
3330 </summary>
3331 <param name="underlyingType">The underlying type for the contract.</param>
3332 </member>
3333 <member name="P:Newtonsoft.Json.Serialization.JsonISerializableContract.ISerializableCreator">
3334 <summary>
3335 Gets or sets the ISerializable object constructor.
3336 </summary>
3337 <value>The ISerializable object constructor.</value>
3338 </member>
3339 <member name="T:Newtonsoft.Json.Serialization.JsonLinqContract">
3340 <summary>
3341 Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
3342 </summary>
3343 </member>
3344 <member name="M:Newtonsoft.Json.Serialization.JsonLinqContract.#ctor(System.Type)">
3345 <summary>
3346 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonLinqContract"/> class.
3347 </summary>
3348 <param name="underlyingType">The underlying type for the contract.</param>
3349 </member>
3350 <member name="T:Newtonsoft.Json.Serialization.JsonPrimitiveContract">
3351 <summary>
3352 Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
3353 </summary>
3354 </member>
3355 <member name="M:Newtonsoft.Json.Serialization.JsonPrimitiveContract.#ctor(System.Type)">
3356 <summary>
3357 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonPrimitiveContract"/> class.
3358 </summary>
3359 <param name="underlyingType">The underlying type for the contract.</param>
3360 </member>
3361 <member name="T:Newtonsoft.Json.Serialization.DynamicValueProvider">
3362 <summary>
3363 Get and set values for a <see cref="T:System.Reflection.MemberInfo"/> using dynamic methods.
3364 </summary>
3365 </member>
3366 <member name="M:Newtonsoft.Json.Serialization.DynamicValueProvider.#ctor(System.Reflection.MemberInfo)">
3367 <summary>
3368 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.DynamicValueProvider"/> class.
3369 </summary>
3370 <param name="memberInfo">The member info.</param>
3371 </member>
3372 <member name="M:Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(System.Object,System.Object)">
3373 <summary>
3374 Sets the value.
3375 </summary>
3376 <param name="target">The target to set the value on.</param>
3377 <param name="value">The value to set on the target.</param>
3378 </member>
3379 <member name="M:Newtonsoft.Json.Serialization.DynamicValueProvider.GetValue(System.Object)">
3380 <summary>
3381 Gets the value.
3382 </summary>
3383 <param name="target">The target to get the value from.</param>
3384 <returns>The value.</returns>
3385 </member>
3386 <member name="T:Newtonsoft.Json.Serialization.ErrorEventArgs">
3387 <summary>
3388 Provides data for the Error event.
3389 </summary>
3390 </member>
3391 <member name="M:Newtonsoft.Json.Serialization.ErrorEventArgs.#ctor(System.Object,Newtonsoft.Json.Serialization.ErrorContext)">
3392 <summary>
3393 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.ErrorEventArgs"/> class.
3394 </summary>
3395 <param name="currentObject">The current object.</param>
3396 <param name="errorContext">The error context.</param>
3397 </member>
3398 <member name="P:Newtonsoft.Json.Serialization.ErrorEventArgs.CurrentObject">
3399 <summary>
3400 Gets the current object the error event is being raised against.
3401 </summary>
3402 <value>The current object the error event is being raised against.</value>
3403 </member>
3404 <member name="P:Newtonsoft.Json.Serialization.ErrorEventArgs.ErrorContext">
3405 <summary>
3406 Gets the error context.
3407 </summary>
3408 <value>The error context.</value>
3409 </member>
3410 <member name="T:Newtonsoft.Json.Linq.JPropertyDescriptor">
3411 <summary>
3412 Represents a view of a <see cref="T:Newtonsoft.Json.Linq.JProperty"/>.
3413 </summary>
3414 </member>
3415 <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.#ctor(System.String)">
3416 <summary>
3417 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JPropertyDescriptor"/> class.
3418 </summary>
3419 <param name="name">The name.</param>
3420 </member>
3421 <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.CanResetValue(System.Object)">
3422 <summary>
3423 When overridden in a derived class, returns whether resetting an object changes its value.
3424 </summary>
3425 <returns>
3426 true if resetting the component changes its value; otherwise, false.
3427 </returns>
3428 <param name="component">The component to test for reset capability.
3429 </param>
3430 </member>
3431 <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.GetValue(System.Object)">
3432 <summary>
3433 When overridden in a derived class, gets the current value of the property on a component.
3434 </summary>
3435 <returns>
3436 The value of a property for a given component.
3437 </returns>
3438 <param name="component">The component with the property for which to retrieve the value.
3439 </param>
3440 </member>
3441 <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.ResetValue(System.Object)">
3442 <summary>
3443 When overridden in a derived class, resets the value for this property of the component to the default value.
3444 </summary>
3445 <param name="component">The component with the property value that is to be reset to the default value.
3446 </param>
3447 </member>
3448 <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.SetValue(System.Object,System.Object)">
3449 <summary>
3450 When overridden in a derived class, sets the value of the component to a different value.
3451 </summary>
3452 <param name="component">The component with the property value that is to be set.
3453 </param><param name="value">The new value.
3454 </param>
3455 </member>
3456 <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.ShouldSerializeValue(System.Object)">
3457 <summary>
3458 When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted.
3459 </summary>
3460 <returns>
3461 true if the property should be persisted; otherwise, false.
3462 </returns>
3463 <param name="component">The component with the property to be examined for persistence.
3464 </param>
3465 </member>
3466 <member name="P:Newtonsoft.Json.Linq.JPropertyDescriptor.ComponentType">
3467 <summary>
3468 When overridden in a derived class, gets the type of the component this property is bound to.
3469 </summary>
3470 <returns>
3471 A <see cref="T:System.Type"/> that represents the type of component this property is bound to. When the <see cref="M:System.ComponentModel.PropertyDescriptor.GetValue(System.Object)"/> or <see cref="M:System.ComponentModel.PropertyDescriptor.SetValue(System.Object,System.Object)"/> methods are invoked, the object specified might be an instance of this type.
3472 </returns>
3473 </member>
3474 <member name="P:Newtonsoft.Json.Linq.JPropertyDescriptor.IsReadOnly">
3475 <summary>
3476 When overridden in a derived class, gets a value indicating whether this property is read-only.
3477 </summary>
3478 <returns>
3479 true if the property is read-only; otherwise, false.
3480 </returns>
3481 </member>
3482 <member name="P:Newtonsoft.Json.Linq.JPropertyDescriptor.PropertyType">
3483 <summary>
3484 When overridden in a derived class, gets the type of the property.
3485 </summary>
3486 <returns>
3487 A <see cref="T:System.Type"/> that represents the type of the property.
3488 </returns>
3489 </member>
3490 <member name="P:Newtonsoft.Json.Linq.JPropertyDescriptor.NameHashCode">
3491 <summary>
3492 Gets the hash code for the name of the member.
3493 </summary>
3494 <value></value>
3495 <returns>
3496 The hash code for the name of the member.
3497 </returns>
3498 </member>
3499 <member name="T:Newtonsoft.Json.Serialization.IReferenceResolver">
3500 <summary>
3501 Used to resolve references when serializing and deserializing JSON by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
3502 </summary>
3503 </member>
3504 <member name="M:Newtonsoft.Json.Serialization.IReferenceResolver.ResolveReference(System.Object,System.String)">
3505 <summary>
3506 Resolves a reference to its object.
3507 </summary>
3508 <param name="context">The serialization context.</param>
3509 <param name="reference">The reference to resolve.</param>
3510 <returns>The object that</returns>
3511 </member>
3512 <member name="M:Newtonsoft.Json.Serialization.IReferenceResolver.GetReference(System.Object,System.Object)">
3513 <summary>
3514 Gets the reference for the sepecified object.
3515 </summary>
3516 <param name="context">The serialization context.</param>
3517 <param name="value">The object to get a reference for.</param>
3518 <returns>The reference to the object.</returns>
3519 </member>
3520 <member name="M:Newtonsoft.Json.Serialization.IReferenceResolver.IsReferenced(System.Object,System.Object)">
3521 <summary>
3522 Determines whether the specified object is referenced.
3523 </summary>
3524 <param name="context">The serialization context.</param>
3525 <param name="value">The object to test for a reference.</param>
3526 <returns>
3527 <c>true</c> if the specified object is referenced; otherwise, <c>false</c>.
3528 </returns>
3529 </member>
3530 <member name="M:Newtonsoft.Json.Serialization.IReferenceResolver.AddReference(System.Object,System.String,System.Object)">
3531 <summary>
3532 Adds a reference to the specified object.
3533 </summary>
3534 <param name="context">The serialization context.</param>
3535 <param name="reference">The reference.</param>
3536 <param name="value">The object to reference.</param>
3537 </member>
3538 <member name="T:Newtonsoft.Json.PreserveReferencesHandling">
3539 <summary>
3540 Specifies reference handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
3541 Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable.
3542 </summary>
3543 <example>
3544 <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="PreservingObjectReferencesOn" title="Preserve Object References"/>
3545 </example>
3546 </member>
3547 <member name="F:Newtonsoft.Json.PreserveReferencesHandling.None">
3548 <summary>
3549 Do not preserve references when serializing types.
3550 </summary>
3551 </member>
3552 <member name="F:Newtonsoft.Json.PreserveReferencesHandling.Objects">
3553 <summary>
3554 Preserve references when serializing into a JSON object structure.
3555 </summary>
3556 </member>
3557 <member name="F:Newtonsoft.Json.PreserveReferencesHandling.Arrays">
3558 <summary>
3559 Preserve references when serializing into a JSON array structure.
3560 </summary>
3561 </member>
3562 <member name="F:Newtonsoft.Json.PreserveReferencesHandling.All">
3563 <summary>
3564 Preserve references when serializing.
3565 </summary>
3566 </member>
3567 <member name="T:Newtonsoft.Json.JsonArrayAttribute">
3568 <summary>
3569 Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> how to serialize the collection.
3570 </summary>
3571 </member>
3572 <member name="M:Newtonsoft.Json.JsonArrayAttribute.#ctor">
3573 <summary>
3574 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonArrayAttribute"/> class.
3575 </summary>
3576 </member>
3577 <member name="M:Newtonsoft.Json.JsonArrayAttribute.#ctor(System.Boolean)">
3578 <summary>
3579 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonObjectAttribute"/> class with a flag indicating whether the array can contain null items
3580 </summary>
3581 <param name="allowNullItems">A flag indicating whether the array can contain null items.</param>
3582 </member>
3583 <member name="M:Newtonsoft.Json.JsonArrayAttribute.#ctor(System.String)">
3584 <summary>
3585 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonArrayAttribute"/> class with the specified container Id.
3586 </summary>
3587 <param name="id">The container Id.</param>
3588 </member>
3589 <member name="P:Newtonsoft.Json.JsonArrayAttribute.AllowNullItems">
3590 <summary>
3591 Gets or sets a value indicating whether null items are allowed in the collection.
3592 </summary>
3593 <value><c>true</c> if null items are allowed in the collection; otherwise, <c>false</c>.</value>
3594 </member>
3595 <member name="T:Newtonsoft.Json.DefaultValueHandling">
3596 <summary>
3597 Specifies default value handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
3598 </summary>
3599 <example>
3600 <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeDefaultValueHandlingObject" title="DefaultValueHandling Class"/>
3601 <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeDefaultValueHandlingExample" title="DefaultValueHandling Ignore Example"/>
3602 </example>
3603 </member>
3604 <member name="F:Newtonsoft.Json.DefaultValueHandling.Include">
3605 <summary>
3606 Include members where the member value is the same as the member's default value when serializing objects.
3607 Included members are written to JSON. Has no effect when deserializing.
3608 </summary>
3609 </member>
3610 <member name="F:Newtonsoft.Json.DefaultValueHandling.Ignore">
3611 <summary>
3612 Ignore members where the member value is the same as the member's default value when serializing objects
3613 so that is is not written to JSON.
3614 This option will ignore all default values (e.g. <c>null</c> for objects and nullable types; <c>0</c> for integers,
3615 decimals and floating point numbers; and <c>false</c> for booleans). The default value ignored can be changed by
3616 placing the <see cref="T:System.ComponentModel.DefaultValueAttribute"/> on the property.
3617 </summary>
3618 </member>
3619 <member name="F:Newtonsoft.Json.DefaultValueHandling.Populate">
3620 <summary>
3621 Members with a default value but no JSON will be set to their default value when deserializing.
3622 </summary>
3623 </member>
3624 <member name="F:Newtonsoft.Json.DefaultValueHandling.IgnoreAndPopulate">
3625 <summary>
3626 Ignore members where the member value is the same as the member's default value when serializing objects
3627 and sets members to their default value when deserializing.
3628 </summary>
3629 </member>
3630 <member name="T:Newtonsoft.Json.JsonConverterAttribute">
3631 <summary>
3632 Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to use the specified <see cref="T:Newtonsoft.Json.JsonConverter"/> when serializing the member or class.
3633 </summary>
3634 </member>
3635 <member name="M:Newtonsoft.Json.JsonConverterAttribute.#ctor(System.Type)">
3636 <summary>
3637 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonConverterAttribute"/> class.
3638 </summary>
3639 <param name="converterType">Type of the converter.</param>
3640 </member>
3641 <member name="M:Newtonsoft.Json.JsonConverterAttribute.#ctor(System.Type,System.Object[])">
3642 <summary>
3643 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonConverterAttribute"/> class.
3644 </summary>
3645 <param name="converterType">Type of the converter.</param>
3646 <param name="converterParameters">Parameter list to use when constructing the JsonConverter. Can be null.</param>
3647 </member>
3648 <member name="P:Newtonsoft.Json.JsonConverterAttribute.ConverterType">
3649 <summary>
3650 Gets the type of the converter.
3651 </summary>
3652 <value>The type of the converter.</value>
3653 </member>
3654 <member name="P:Newtonsoft.Json.JsonConverterAttribute.ConverterParameters">
3655 <summary>
3656 The parameter list to use when constructing the JsonConverter described by ConverterType.
3657 If null, the default constructor is used.
3658 </summary>
3659 </member>
3660 <member name="T:Newtonsoft.Json.JsonObjectAttribute">
3661 <summary>
3662 Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> how to serialize the object.
3663 </summary>
3664 </member>
3665 <member name="M:Newtonsoft.Json.JsonObjectAttribute.#ctor">
3666 <summary>
3667 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonObjectAttribute"/> class.
3668 </summary>
3669 </member>
3670 <member name="M:Newtonsoft.Json.JsonObjectAttribute.#ctor(Newtonsoft.Json.MemberSerialization)">
3671 <summary>
3672 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonObjectAttribute"/> class with the specified member serialization.
3673 </summary>
3674 <param name="memberSerialization">The member serialization.</param>
3675 </member>
3676 <member name="M:Newtonsoft.Json.JsonObjectAttribute.#ctor(System.String)">
3677 <summary>
3678 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonObjectAttribute"/> class with the specified container Id.
3679 </summary>
3680 <param name="id">The container Id.</param>
3681 </member>
3682 <member name="P:Newtonsoft.Json.JsonObjectAttribute.MemberSerialization">
3683 <summary>
3684 Gets or sets the member serialization.
3685 </summary>
3686 <value>The member serialization.</value>
3687 </member>
3688 <member name="P:Newtonsoft.Json.JsonObjectAttribute.ItemRequired">
3689 <summary>
3690 Gets or sets a value that indicates whether the object's properties are required.
3691 </summary>
3692 <value>
3693 A value indicating whether the object's properties are required.
3694 </value>
3695 </member>
3696 <member name="T:Newtonsoft.Json.JsonSerializerSettings">
3697 <summary>
3698 Specifies the settings on a <see cref="T:Newtonsoft.Json.JsonSerializer"/> object.
3699 </summary>
3700 </member>
3701 <member name="M:Newtonsoft.Json.JsonSerializerSettings.#ctor">
3702 <summary>
3703 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> class.
3704 </summary>
3705 </member>
3706 <member name="P:Newtonsoft.Json.JsonSerializerSettings.ReferenceLoopHandling">
3707 <summary>
3708 Gets or sets how reference loops (e.g. a class referencing itself) is handled.
3709 </summary>
3710 <value>Reference loop handling.</value>
3711 </member>
3712 <member name="P:Newtonsoft.Json.JsonSerializerSettings.MissingMemberHandling">
3713 <summary>
3714 Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization.
3715 </summary>
3716 <value>Missing member handling.</value>
3717 </member>
3718 <member name="P:Newtonsoft.Json.JsonSerializerSettings.ObjectCreationHandling">
3719 <summary>
3720 Gets or sets how objects are created during deserialization.
3721 </summary>
3722 <value>The object creation handling.</value>
3723 </member>
3724 <member name="P:Newtonsoft.Json.JsonSerializerSettings.NullValueHandling">
3725 <summary>
3726 Gets or sets how null values are handled during serialization and deserialization.
3727 </summary>
3728 <value>Null value handling.</value>
3729 </member>
3730 <member name="P:Newtonsoft.Json.JsonSerializerSettings.DefaultValueHandling">
3731 <summary>
3732 Gets or sets how null default are handled during serialization and deserialization.
3733 </summary>
3734 <value>The default value handling.</value>
3735 </member>
3736 <member name="P:Newtonsoft.Json.JsonSerializerSettings.Converters">
3737 <summary>
3738 Gets or sets a collection <see cref="T:Newtonsoft.Json.JsonConverter"/> that will be used during serialization.
3739 </summary>
3740 <value>The converters.</value>
3741 </member>
3742 <member name="P:Newtonsoft.Json.JsonSerializerSettings.PreserveReferencesHandling">
3743 <summary>
3744 Gets or sets how object references are preserved by the serializer.
3745 </summary>
3746 <value>The preserve references handling.</value>
3747 </member>
3748 <member name="P:Newtonsoft.Json.JsonSerializerSettings.TypeNameHandling">
3749 <summary>
3750 Gets or sets how type name writing and reading is handled by the serializer.
3751 </summary>
3752 <value>The type name handling.</value>
3753 </member>
3754 <member name="P:Newtonsoft.Json.JsonSerializerSettings.MetadataPropertyHandling">
3755 <summary>
3756 Gets or sets how metadata properties are used during deserialization.
3757 </summary>
3758 <value>The metadata properties handling.</value>
3759 </member>
3760 <member name="P:Newtonsoft.Json.JsonSerializerSettings.TypeNameAssemblyFormat">
3761 <summary>
3762 Gets or sets how a type name assembly is written and resolved by the serializer.
3763 </summary>
3764 <value>The type name assembly format.</value>
3765 </member>
3766 <member name="P:Newtonsoft.Json.JsonSerializerSettings.ConstructorHandling">
3767 <summary>
3768 Gets or sets how constructors are used during deserialization.
3769 </summary>
3770 <value>The constructor handling.</value>
3771 </member>
3772 <member name="P:Newtonsoft.Json.JsonSerializerSettings.ContractResolver">
3773 <summary>
3774 Gets or sets the contract resolver used by the serializer when
3775 serializing .NET objects to JSON and vice versa.
3776 </summary>
3777 <value>The contract resolver.</value>
3778 </member>
3779 <member name="P:Newtonsoft.Json.JsonSerializerSettings.ReferenceResolver">
3780 <summary>
3781 Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references.
3782 </summary>
3783 <value>The reference resolver.</value>
3784 </member>
3785 <member name="P:Newtonsoft.Json.JsonSerializerSettings.TraceWriter">
3786 <summary>
3787 Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.ITraceWriter"/> used by the serializer when writing trace messages.
3788 </summary>
3789 <value>The trace writer.</value>
3790 </member>
3791 <member name="P:Newtonsoft.Json.JsonSerializerSettings.Binder">
3792 <summary>
3793 Gets or sets the <see cref="T:System.Runtime.Serialization.SerializationBinder"/> used by the serializer when resolving type names.
3794 </summary>
3795 <value>The binder.</value>
3796 </member>
3797 <member name="P:Newtonsoft.Json.JsonSerializerSettings.Error">
3798 <summary>
3799 Gets or sets the error handler called during serialization and deserialization.
3800 </summary>
3801 <value>The error handler called during serialization and deserialization.</value>
3802 </member>
3803 <member name="P:Newtonsoft.Json.JsonSerializerSettings.Context">
3804 <summary>
3805 Gets or sets the <see cref="T:System.Runtime.Serialization.StreamingContext"/> used by the serializer when invoking serialization callback methods.
3806 </summary>
3807 <value>The context.</value>
3808 </member>
3809 <member name="P:Newtonsoft.Json.JsonSerializerSettings.DateFormatString">
3810 <summary>
3811 Get or set how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatting when writing JSON text.
3812 </summary>
3813 </member>
3814 <member name="P:Newtonsoft.Json.JsonSerializerSettings.MaxDepth">
3815 <summary>
3816 Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:Newtonsoft.Json.JsonReaderException"/>.
3817 </summary>
3818 </member>
3819 <member name="P:Newtonsoft.Json.JsonSerializerSettings.Formatting">
3820 <summary>
3821 Indicates how JSON text output is formatted.
3822 </summary>
3823 </member>
3824 <member name="P:Newtonsoft.Json.JsonSerializerSettings.DateFormatHandling">
3825 <summary>
3826 Get or set how dates are written to JSON text.
3827 </summary>
3828 </member>
3829 <member name="P:Newtonsoft.Json.JsonSerializerSettings.DateTimeZoneHandling">
3830 <summary>
3831 Get or set how <see cref="T:System.DateTime"/> time zones are handling during serialization and deserialization.
3832 </summary>
3833 </member>
3834 <member name="P:Newtonsoft.Json.JsonSerializerSettings.DateParseHandling">
3835 <summary>
3836 Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON.
3837 </summary>
3838 </member>
3839 <member name="P:Newtonsoft.Json.JsonSerializerSettings.FloatFormatHandling">
3840 <summary>
3841 Get or set how special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>,
3842 <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/>,
3843 are written as JSON.
3844 </summary>
3845 </member>
3846 <member name="P:Newtonsoft.Json.JsonSerializerSettings.FloatParseHandling">
3847 <summary>
3848 Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
3849 </summary>
3850 </member>
3851 <member name="P:Newtonsoft.Json.JsonSerializerSettings.StringEscapeHandling">
3852 <summary>
3853 Get or set how strings are escaped when writing JSON text.
3854 </summary>
3855 </member>
3856 <member name="P:Newtonsoft.Json.JsonSerializerSettings.Culture">
3857 <summary>
3858 Gets or sets the culture used when reading JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>.
3859 </summary>
3860 </member>
3861 <member name="P:Newtonsoft.Json.JsonSerializerSettings.CheckAdditionalContent">
3862 <summary>
3863 Gets a value indicating whether there will be a check for additional content after deserializing an object.
3864 </summary>
3865 <value>
3866 <c>true</c> if there will be a check for additional content after deserializing an object; otherwise, <c>false</c>.
3867 </value>
3868 </member>
3869 <member name="T:Newtonsoft.Json.JsonValidatingReader">
3870 <summary>
3871 Represents a reader that provides <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> validation.
3872 </summary>
3873 </member>
3874 <member name="M:Newtonsoft.Json.JsonValidatingReader.#ctor(Newtonsoft.Json.JsonReader)">
3875 <summary>
3876 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonValidatingReader"/> class that
3877 validates the content returned from the given <see cref="T:Newtonsoft.Json.JsonReader"/>.
3878 </summary>
3879 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from while validating.</param>
3880 </member>
3881 <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsInt32">
3882 <summary>
3883 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
3884 </summary>
3885 <returns>A <see cref="T:System.Nullable`1"/>.</returns>
3886 </member>
3887 <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsBytes">
3888 <summary>
3889 Reads the next JSON token from the stream as a <see cref="T:Byte[]"/>.
3890 </summary>
3891 <returns>
3892 A <see cref="T:Byte[]"/> or a null reference if the next JSON token is null.
3893 </returns>
3894 </member>
3895 <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsDecimal">
3896 <summary>
3897 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
3898 </summary>
3899 <returns>A <see cref="T:System.Nullable`1"/>.</returns>
3900 </member>
3901 <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsString">
3902 <summary>
3903 Reads the next JSON token from the stream as a <see cref="T:System.String"/>.
3904 </summary>
3905 <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns>
3906 </member>
3907 <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsDateTime">
3908 <summary>
3909 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
3910 </summary>
3911 <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns>
3912 </member>
3913 <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsDateTimeOffset">
3914 <summary>
3915 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
3916 </summary>
3917 <returns>A <see cref="T:System.Nullable`1"/>.</returns>
3918 </member>
3919 <member name="M:Newtonsoft.Json.JsonValidatingReader.Read">
3920 <summary>
3921 Reads the next JSON token from the stream.
3922 </summary>
3923 <returns>
3924 true if the next token was read successfully; false if there are no more tokens to read.
3925 </returns>
3926 </member>
3927 <member name="E:Newtonsoft.Json.JsonValidatingReader.ValidationEventHandler">
3928 <summary>
3929 Sets an event handler for receiving schema validation errors.
3930 </summary>
3931 </member>
3932 <member name="P:Newtonsoft.Json.JsonValidatingReader.Value">
3933 <summary>
3934 Gets the text value of the current JSON token.
3935 </summary>
3936 <value></value>
3937 </member>
3938 <member name="P:Newtonsoft.Json.JsonValidatingReader.Depth">
3939 <summary>
3940 Gets the depth of the current token in the JSON document.
3941 </summary>
3942 <value>The depth of the current token in the JSON document.</value>
3943 </member>
3944 <member name="P:Newtonsoft.Json.JsonValidatingReader.Path">
3945 <summary>
3946 Gets the path of the current JSON token.
3947 </summary>
3948 </member>
3949 <member name="P:Newtonsoft.Json.JsonValidatingReader.QuoteChar">
3950 <summary>
3951 Gets the quotation mark character used to enclose the value of a string.
3952 </summary>
3953 <value></value>
3954 </member>
3955 <member name="P:Newtonsoft.Json.JsonValidatingReader.TokenType">
3956 <summary>
3957 Gets the type of the current JSON token.
3958 </summary>
3959 <value></value>
3960 </member>
3961 <member name="P:Newtonsoft.Json.JsonValidatingReader.ValueType">
3962 <summary>
3963 Gets the Common Language Runtime (CLR) type for the current JSON token.
3964 </summary>
3965 <value></value>
3966 </member>
3967 <member name="P:Newtonsoft.Json.JsonValidatingReader.Schema">
3968 <summary>
3969 Gets or sets the schema.
3970 </summary>
3971 <value>The schema.</value>
3972 </member>
3973 <member name="P:Newtonsoft.Json.JsonValidatingReader.Reader">
3974 <summary>
3975 Gets the <see cref="T:Newtonsoft.Json.JsonReader"/> used to construct this <see cref="T:Newtonsoft.Json.JsonValidatingReader"/>.
3976 </summary>
3977 <value>The <see cref="T:Newtonsoft.Json.JsonReader"/> specified in the constructor.</value>
3978 </member>
3979 <member name="T:Newtonsoft.Json.Linq.JTokenEqualityComparer">
3980 <summary>
3981 Compares tokens to determine whether they are equal.
3982 </summary>
3983 </member>
3984 <member name="M:Newtonsoft.Json.Linq.JTokenEqualityComparer.Equals(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)">
3985 <summary>
3986 Determines whether the specified objects are equal.
3987 </summary>
3988 <param name="x">The first object of type <see cref="T:Newtonsoft.Json.Linq.JToken"/> to compare.</param>
3989 <param name="y">The second object of type <see cref="T:Newtonsoft.Json.Linq.JToken"/> to compare.</param>
3990 <returns>
3991 true if the specified objects are equal; otherwise, false.
3992 </returns>
3993 </member>
3994 <member name="M:Newtonsoft.Json.Linq.JTokenEqualityComparer.GetHashCode(Newtonsoft.Json.Linq.JToken)">
3995 <summary>
3996 Returns a hash code for the specified object.
3997 </summary>
3998 <param name="obj">The <see cref="T:System.Object"/> for which a hash code is to be returned.</param>
3999 <returns>A hash code for the specified object.</returns>
4000 <exception cref="T:System.ArgumentNullException">The type of <paramref name="obj"/> is a reference type and <paramref name="obj"/> is null.</exception>
4001 </member>
4002 <member name="T:Newtonsoft.Json.MemberSerialization">
4003 <summary>
4004 Specifies the member serialization options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
4005 </summary>
4006 </member>
4007 <member name="F:Newtonsoft.Json.MemberSerialization.OptOut">
4008 <summary>
4009 All public members are serialized by default. Members can be excluded using <see cref="T:Newtonsoft.Json.JsonIgnoreAttribute"/> or <see cref="T:System.NonSerializedAttribute"/>.
4010 This is the default member serialization mode.
4011 </summary>
4012 </member>
4013 <member name="F:Newtonsoft.Json.MemberSerialization.OptIn">
4014 <summary>
4015 Only members must be marked with <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/> or <see cref="T:System.Runtime.Serialization.DataMemberAttribute"/> are serialized.
4016 This member serialization mode can also be set by marking the class with <see cref="T:System.Runtime.Serialization.DataContractAttribute"/>.
4017 </summary>
4018 </member>
4019 <member name="F:Newtonsoft.Json.MemberSerialization.Fields">
4020 <summary>
4021 All public and private fields are serialized. Members can be excluded using <see cref="T:Newtonsoft.Json.JsonIgnoreAttribute"/> or <see cref="T:System.NonSerializedAttribute"/>.
4022 This member serialization mode can also be set by marking the class with <see cref="T:System.SerializableAttribute"/>
4023 and setting IgnoreSerializableAttribute on <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> to false.
4024 </summary>
4025 </member>
4026 <member name="T:Newtonsoft.Json.ObjectCreationHandling">
4027 <summary>
4028 Specifies how object creation is handled by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
4029 </summary>
4030 </member>
4031 <member name="F:Newtonsoft.Json.ObjectCreationHandling.Auto">
4032 <summary>
4033 Reuse existing objects, create new objects when needed.
4034 </summary>
4035 </member>
4036 <member name="F:Newtonsoft.Json.ObjectCreationHandling.Reuse">
4037 <summary>
4038 Only reuse existing objects.
4039 </summary>
4040 </member>
4041 <member name="F:Newtonsoft.Json.ObjectCreationHandling.Replace">
4042 <summary>
4043 Always create new objects.
4044 </summary>
4045 </member>
4046 <member name="T:Newtonsoft.Json.Converters.IsoDateTimeConverter">
4047 <summary>
4048 Converts a <see cref="T:System.DateTime"/> to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z).
4049 </summary>
4050 </member>
4051 <member name="M:Newtonsoft.Json.Converters.IsoDateTimeConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
4052 <summary>
4053 Writes the JSON representation of the object.
4054 </summary>
4055 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
4056 <param name="value">The value.</param>
4057 <param name="serializer">The calling serializer.</param>
4058 </member>
4059 <member name="M:Newtonsoft.Json.Converters.IsoDateTimeConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
4060 <summary>
4061 Reads the JSON representation of the object.
4062 </summary>
4063 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
4064 <param name="objectType">Type of the object.</param>
4065 <param name="existingValue">The existing value of object being read.</param>
4066 <param name="serializer">The calling serializer.</param>
4067 <returns>The object value.</returns>
4068 </member>
4069 <member name="P:Newtonsoft.Json.Converters.IsoDateTimeConverter.DateTimeStyles">
4070 <summary>
4071 Gets or sets the date time styles used when converting a date to and from JSON.
4072 </summary>
4073 <value>The date time styles used when converting a date to and from JSON.</value>
4074 </member>
4075 <member name="P:Newtonsoft.Json.Converters.IsoDateTimeConverter.DateTimeFormat">
4076 <summary>
4077 Gets or sets the date time format used when converting a date to and from JSON.
4078 </summary>
4079 <value>The date time format used when converting a date to and from JSON.</value>
4080 </member>
4081 <member name="P:Newtonsoft.Json.Converters.IsoDateTimeConverter.Culture">
4082 <summary>
4083 Gets or sets the culture used when converting a date to and from JSON.
4084 </summary>
4085 <value>The culture used when converting a date to and from JSON.</value>
4086 </member>
4087 <member name="T:Newtonsoft.Json.Converters.JavaScriptDateTimeConverter">
4088 <summary>
4089 Converts a <see cref="T:System.DateTime"/> to and from a JavaScript date constructor (e.g. new Date(52231943)).
4090 </summary>
4091 </member>
4092 <member name="M:Newtonsoft.Json.Converters.JavaScriptDateTimeConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
4093 <summary>
4094 Writes the JSON representation of the object.
4095 </summary>
4096 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
4097 <param name="value">The value.</param>
4098 <param name="serializer">The calling serializer.</param>
4099 </member>
4100 <member name="M:Newtonsoft.Json.Converters.JavaScriptDateTimeConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
4101 <summary>
4102 Reads the JSON representation of the object.
4103 </summary>
4104 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
4105 <param name="objectType">Type of the object.</param>
4106 <param name="existingValue">The existing property value of the JSON that is being converted.</param>
4107 <param name="serializer">The calling serializer.</param>
4108 <returns>The object value.</returns>
4109 </member>
4110 <member name="T:Newtonsoft.Json.Converters.XmlNodeConverter">
4111 <summary>
4112 Converts XML to and from JSON.
4113 </summary>
4114 </member>
4115 <member name="M:Newtonsoft.Json.Converters.XmlNodeConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)">
4116 <summary>
4117 Writes the JSON representation of the object.
4118 </summary>
4119 <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param>
4120 <param name="serializer">The calling serializer.</param>
4121 <param name="value">The value.</param>
4122 </member>
4123 <member name="M:Newtonsoft.Json.Converters.XmlNodeConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)">
4124 <summary>
4125 Reads the JSON representation of the object.
4126 </summary>
4127 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param>
4128 <param name="objectType">Type of the object.</param>
4129 <param name="existingValue">The existing value of object being read.</param>
4130 <param name="serializer">The calling serializer.</param>
4131 <returns>The object value.</returns>
4132 </member>
4133 <member name="M:Newtonsoft.Json.Converters.XmlNodeConverter.IsNamespaceAttribute(System.String,System.String@)">
4134 <summary>
4135 Checks if the attributeName is a namespace attribute.
4136 </summary>
4137 <param name="attributeName">Attribute name to test.</param>
4138 <param name="prefix">The attribute name prefix if it has one, otherwise an empty string.</param>
4139 <returns>True if attribute name is for a namespace attribute, otherwise false.</returns>
4140 </member>
4141 <member name="M:Newtonsoft.Json.Converters.XmlNodeConverter.CanConvert(System.Type)">
4142 <summary>
4143 Determines whether this instance can convert the specified value type.
4144 </summary>
4145 <param name="valueType">Type of the value.</param>
4146 <returns>
4147 <c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>.
4148 </returns>
4149 </member>
4150 <member name="P:Newtonsoft.Json.Converters.XmlNodeConverter.DeserializeRootElementName">
4151 <summary>
4152 Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements.
4153 </summary>
4154 <value>The name of the deserialize root element.</value>
4155 </member>
4156 <member name="P:Newtonsoft.Json.Converters.XmlNodeConverter.WriteArrayAttribute">
4157 <summary>
4158 Gets or sets a flag to indicate whether to write the Json.NET array attribute.
4159 This attribute helps preserve arrays when converting the written XML back to JSON.
4160 </summary>
4161 <value><c>true</c> if the array attibute is written to the XML; otherwise, <c>false</c>.</value>
4162 </member>
4163 <member name="P:Newtonsoft.Json.Converters.XmlNodeConverter.OmitRootObject">
4164 <summary>
4165 Gets or sets a value indicating whether to write the root JSON object.
4166 </summary>
4167 <value><c>true</c> if the JSON root object is omitted; otherwise, <c>false</c>.</value>
4168 </member>
4169 <member name="T:Newtonsoft.Json.JsonTextReader">
4170 <summary>
4171 Represents a reader that provides fast, non-cached, forward-only access to JSON text data.
4172 </summary>
4173 </member>
4174 <member name="M:Newtonsoft.Json.JsonTextReader.#ctor(System.IO.TextReader)">
4175 <summary>
4176 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReader"/> class with the specified <see cref="T:System.IO.TextReader"/>.
4177 </summary>
4178 <param name="reader">The <c>TextReader</c> containing the XML data to read.</param>
4179 </member>
4180 <member name="M:Newtonsoft.Json.JsonTextReader.Read">
4181 <summary>
4182 Reads the next JSON token from the stream.
4183 </summary>
4184 <returns>
4185 true if the next token was read successfully; false if there are no more tokens to read.
4186 </returns>
4187 </member>
4188 <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsBytes">
4189 <summary>
4190 Reads the next JSON token from the stream as a <see cref="T:Byte[]"/>.
4191 </summary>
4192 <returns>
4193 A <see cref="T:Byte[]"/> or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array.
4194 </returns>
4195 </member>
4196 <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDecimal">
4197 <summary>
4198 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
4199 </summary>
4200 <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns>
4201 </member>
4202 <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsInt32">
4203 <summary>
4204 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
4205 </summary>
4206 <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns>
4207 </member>
4208 <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsString">
4209 <summary>
4210 Reads the next JSON token from the stream as a <see cref="T:System.String"/>.
4211 </summary>
4212 <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns>
4213 </member>
4214 <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDateTime">
4215 <summary>
4216 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
4217 </summary>
4218 <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns>
4219 </member>
4220 <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDateTimeOffset">
4221 <summary>
4222 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
4223 </summary>
4224 <returns>A <see cref="T:System.DateTimeOffset"/>. This method will return <c>null</c> at the end of an array.</returns>
4225 </member>
4226 <member name="M:Newtonsoft.Json.JsonTextReader.Close">
4227 <summary>
4228 Changes the state to closed.
4229 </summary>
4230 </member>
4231 <member name="M:Newtonsoft.Json.JsonTextReader.HasLineInfo">
4232 <summary>
4233 Gets a value indicating whether the class can return line information.
4234 </summary>
4235 <returns>
4236 <c>true</c> if LineNumber and LinePosition can be provided; otherwise, <c>false</c>.
4237 </returns>
4238 </member>
4239 <member name="P:Newtonsoft.Json.JsonTextReader.LineNumber">
4240 <summary>
4241 Gets the current line number.
4242 </summary>
4243 <value>
4244 The current line number or 0 if no line information is available (for example, HasLineInfo returns false).
4245 </value>
4246 </member>
4247 <member name="P:Newtonsoft.Json.JsonTextReader.LinePosition">
4248 <summary>
4249 Gets the current line position.
4250 </summary>
4251 <value>
4252 The current line position or 0 if no line information is available (for example, HasLineInfo returns false).
4253 </value>
4254 </member>
4255 <member name="T:Newtonsoft.Json.JsonPropertyAttribute">
4256 <summary>
4257 Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to always serialize the member with the specified name.
4258 </summary>
4259 </member>
4260 <member name="M:Newtonsoft.Json.JsonPropertyAttribute.#ctor">
4261 <summary>
4262 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/> class.
4263 </summary>
4264 </member>
4265 <member name="M:Newtonsoft.Json.JsonPropertyAttribute.#ctor(System.String)">
4266 <summary>
4267 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/> class with the specified name.
4268 </summary>
4269 <param name="propertyName">Name of the property.</param>
4270 </member>
4271 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemConverterType">
4272 <summary>
4273 Gets or sets the converter used when serializing the property's collection items.
4274 </summary>
4275 <value>The collection's items converter.</value>
4276 </member>
4277 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemConverterParameters">
4278 <summary>
4279 The parameter list to use when constructing the JsonConverter described by ItemConverterType.
4280 If null, the default constructor is used.
4281 When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number,
4282 order, and type of these parameters.
4283 </summary>
4284 <example>
4285 [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })]
4286 </example>
4287 </member>
4288 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.NullValueHandling">
4289 <summary>
4290 Gets or sets the null value handling used when serializing this property.
4291 </summary>
4292 <value>The null value handling.</value>
4293 </member>
4294 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.DefaultValueHandling">
4295 <summary>
4296 Gets or sets the default value handling used when serializing this property.
4297 </summary>
4298 <value>The default value handling.</value>
4299 </member>
4300 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ReferenceLoopHandling">
4301 <summary>
4302 Gets or sets the reference loop handling used when serializing this property.
4303 </summary>
4304 <value>The reference loop handling.</value>
4305 </member>
4306 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ObjectCreationHandling">
4307 <summary>
4308 Gets or sets the object creation handling used when deserializing this property.
4309 </summary>
4310 <value>The object creation handling.</value>
4311 </member>
4312 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.TypeNameHandling">
4313 <summary>
4314 Gets or sets the type name handling used when serializing this property.
4315 </summary>
4316 <value>The type name handling.</value>
4317 </member>
4318 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.IsReference">
4319 <summary>
4320 Gets or sets whether this property's value is serialized as a reference.
4321 </summary>
4322 <value>Whether this property's value is serialized as a reference.</value>
4323 </member>
4324 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.Order">
4325 <summary>
4326 Gets or sets the order of serialization and deserialization of a member.
4327 </summary>
4328 <value>The numeric order of serialization or deserialization.</value>
4329 </member>
4330 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.Required">
4331 <summary>
4332 Gets or sets a value indicating whether this property is required.
4333 </summary>
4334 <value>
4335 A value indicating whether this property is required.
4336 </value>
4337 </member>
4338 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.PropertyName">
4339 <summary>
4340 Gets or sets the name of the property.
4341 </summary>
4342 <value>The name of the property.</value>
4343 </member>
4344 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemReferenceLoopHandling">
4345 <summary>
4346 Gets or sets the the reference loop handling used when serializing the property's collection items.
4347 </summary>
4348 <value>The collection's items reference loop handling.</value>
4349 </member>
4350 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemTypeNameHandling">
4351 <summary>
4352 Gets or sets the the type name handling used when serializing the property's collection items.
4353 </summary>
4354 <value>The collection's items type name handling.</value>
4355 </member>
4356 <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemIsReference">
4357 <summary>
4358 Gets or sets whether this property's collection items are serialized as a reference.
4359 </summary>
4360 <value>Whether this property's collection items are serialized as a reference.</value>
4361 </member>
4362 <member name="T:Newtonsoft.Json.JsonIgnoreAttribute">
4363 <summary>
4364 Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> not to serialize the public field or public read/write property value.
4365 </summary>
4366 </member>
4367 <member name="T:Newtonsoft.Json.JsonTextWriter">
4368 <summary>
4369 Represents a writer that provides a fast, non-cached, forward-only way of generating Json data.
4370 </summary>
4371 </member>
4372 <member name="M:Newtonsoft.Json.JsonTextWriter.#ctor(System.IO.TextWriter)">
4373 <summary>
4374 Creates an instance of the <c>JsonWriter</c> class using the specified <see cref="T:System.IO.TextWriter"/>.
4375 </summary>
4376 <param name="textWriter">The <c>TextWriter</c> to write to.</param>
4377 </member>
4378 <member name="M:Newtonsoft.Json.JsonTextWriter.Flush">
4379 <summary>
4380 Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream.
4381 </summary>
4382 </member>
4383 <member name="M:Newtonsoft.Json.JsonTextWriter.Close">
4384 <summary>
4385 Closes this stream and the underlying stream.
4386 </summary>
4387 </member>
4388 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartObject">
4389 <summary>
4390 Writes the beginning of a Json object.
4391 </summary>
4392 </member>
4393 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartArray">
4394 <summary>
4395 Writes the beginning of a Json array.
4396 </summary>
4397 </member>
4398 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartConstructor(System.String)">
4399 <summary>
4400 Writes the start of a constructor with the given name.
4401 </summary>
4402 <param name="name">The name of the constructor.</param>
4403 </member>
4404 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteEnd(Newtonsoft.Json.JsonToken)">
4405 <summary>
4406 Writes the specified end token.
4407 </summary>
4408 <param name="token">The end token to write.</param>
4409 </member>
4410 <member name="M:Newtonsoft.Json.JsonTextWriter.WritePropertyName(System.String)">
4411 <summary>
4412 Writes the property name of a name/value pair on a Json object.
4413 </summary>
4414 <param name="name">The name of the property.</param>
4415 </member>
4416 <member name="M:Newtonsoft.Json.JsonTextWriter.WritePropertyName(System.String,System.Boolean)">
4417 <summary>
4418 Writes the property name of a name/value pair on a JSON object.
4419 </summary>
4420 <param name="name">The name of the property.</param>
4421 <param name="escape">A flag to indicate whether the text should be escaped when it is written as a JSON property name.</param>
4422 </member>
4423 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteIndent">
4424 <summary>
4425 Writes indent characters.
4426 </summary>
4427 </member>
4428 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueDelimiter">
4429 <summary>
4430 Writes the JSON value delimiter.
4431 </summary>
4432 </member>
4433 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteIndentSpace">
4434 <summary>
4435 Writes an indent space.
4436 </summary>
4437 </member>
4438 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Object)">
4439 <summary>
4440 Writes a <see cref="T:System.Object"/> value.
4441 An error will raised if the value cannot be written as a single JSON token.
4442 </summary>
4443 <param name="value">The <see cref="T:System.Object"/> value to write.</param>
4444 </member>
4445 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteNull">
4446 <summary>
4447 Writes a null value.
4448 </summary>
4449 </member>
4450 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteUndefined">
4451 <summary>
4452 Writes an undefined value.
4453 </summary>
4454 </member>
4455 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteRaw(System.String)">
4456 <summary>
4457 Writes raw JSON.
4458 </summary>
4459 <param name="json">The raw JSON to write.</param>
4460 </member>
4461 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.String)">
4462 <summary>
4463 Writes a <see cref="T:System.String"/> value.
4464 </summary>
4465 <param name="value">The <see cref="T:System.String"/> value to write.</param>
4466 </member>
4467 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Int32)">
4468 <summary>
4469 Writes a <see cref="T:System.Int32"/> value.
4470 </summary>
4471 <param name="value">The <see cref="T:System.Int32"/> value to write.</param>
4472 </member>
4473 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.UInt32)">
4474 <summary>
4475 Writes a <see cref="T:System.UInt32"/> value.
4476 </summary>
4477 <param name="value">The <see cref="T:System.UInt32"/> value to write.</param>
4478 </member>
4479 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Int64)">
4480 <summary>
4481 Writes a <see cref="T:System.Int64"/> value.
4482 </summary>
4483 <param name="value">The <see cref="T:System.Int64"/> value to write.</param>
4484 </member>
4485 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.UInt64)">
4486 <summary>
4487 Writes a <see cref="T:System.UInt64"/> value.
4488 </summary>
4489 <param name="value">The <see cref="T:System.UInt64"/> value to write.</param>
4490 </member>
4491 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Single)">
4492 <summary>
4493 Writes a <see cref="T:System.Single"/> value.
4494 </summary>
4495 <param name="value">The <see cref="T:System.Single"/> value to write.</param>
4496 </member>
4497 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Nullable{System.Single})">
4498 <summary>
4499 Writes a <see cref="T:System.Nullable`1"/> value.
4500 </summary>
4501 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
4502 </member>
4503 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Double)">
4504 <summary>
4505 Writes a <see cref="T:System.Double"/> value.
4506 </summary>
4507 <param name="value">The <see cref="T:System.Double"/> value to write.</param>
4508 </member>
4509 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Nullable{System.Double})">
4510 <summary>
4511 Writes a <see cref="T:System.Nullable`1"/> value.
4512 </summary>
4513 <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param>
4514 </member>
4515 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Boolean)">
4516 <summary>
4517 Writes a <see cref="T:System.Boolean"/> value.
4518 </summary>
4519 <param name="value">The <see cref="T:System.Boolean"/> value to write.</param>
4520 </member>
4521 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Int16)">
4522 <summary>
4523 Writes a <see cref="T:System.Int16"/> value.
4524 </summary>
4525 <param name="value">The <see cref="T:System.Int16"/> value to write.</param>
4526 </member>
4527 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.UInt16)">
4528 <summary>
4529 Writes a <see cref="T:System.UInt16"/> value.
4530 </summary>
4531 <param name="value">The <see cref="T:System.UInt16"/> value to write.</param>
4532 </member>
4533 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Char)">
4534 <summary>
4535 Writes a <see cref="T:System.Char"/> value.
4536 </summary>
4537 <param name="value">The <see cref="T:System.Char"/> value to write.</param>
4538 </member>
4539 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Byte)">
4540 <summary>
4541 Writes a <see cref="T:System.Byte"/> value.
4542 </summary>
4543 <param name="value">The <see cref="T:System.Byte"/> value to write.</param>
4544 </member>
4545 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.SByte)">
4546 <summary>
4547 Writes a <see cref="T:System.SByte"/> value.
4548 </summary>
4549 <param name="value">The <see cref="T:System.SByte"/> value to write.</param>
4550 </member>
4551 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Decimal)">
4552 <summary>
4553 Writes a <see cref="T:System.Decimal"/> value.
4554 </summary>
4555 <param name="value">The <see cref="T:System.Decimal"/> value to write.</param>
4556 </member>
4557 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.DateTime)">
4558 <summary>
4559 Writes a <see cref="T:System.DateTime"/> value.
4560 </summary>
4561 <param name="value">The <see cref="T:System.DateTime"/> value to write.</param>
4562 </member>
4563 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Byte[])">
4564 <summary>
4565 Writes a <see cref="T:Byte[]"/> value.
4566 </summary>
4567 <param name="value">The <see cref="T:Byte[]"/> value to write.</param>
4568 </member>
4569 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.DateTimeOffset)">
4570 <summary>
4571 Writes a <see cref="T:System.DateTimeOffset"/> value.
4572 </summary>
4573 <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param>
4574 </member>
4575 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Guid)">
4576 <summary>
4577 Writes a <see cref="T:System.Guid"/> value.
4578 </summary>
4579 <param name="value">The <see cref="T:System.Guid"/> value to write.</param>
4580 </member>
4581 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.TimeSpan)">
4582 <summary>
4583 Writes a <see cref="T:System.TimeSpan"/> value.
4584 </summary>
4585 <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param>
4586 </member>
4587 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Uri)">
4588 <summary>
4589 Writes a <see cref="T:System.Uri"/> value.
4590 </summary>
4591 <param name="value">The <see cref="T:System.Uri"/> value to write.</param>
4592 </member>
4593 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteComment(System.String)">
4594 <summary>
4595 Writes out a comment <code>/*...*/</code> containing the specified text.
4596 </summary>
4597 <param name="text">Text to place inside the comment.</param>
4598 </member>
4599 <member name="M:Newtonsoft.Json.JsonTextWriter.WriteWhitespace(System.String)">
4600 <summary>
4601 Writes out the given white space.
4602 </summary>
4603 <param name="ws">The string of white space characters.</param>
4604 </member>
4605 <member name="P:Newtonsoft.Json.JsonTextWriter.Indentation">
4606 <summary>
4607 Gets or sets how many IndentChars to write for each level in the hierarchy when <see cref="T:Newtonsoft.Json.Formatting"/> is set to <c>Formatting.Indented</c>.
4608 </summary>
4609 </member>
4610 <member name="P:Newtonsoft.Json.JsonTextWriter.QuoteChar">
4611 <summary>
4612 Gets or sets which character to use to quote attribute values.
4613 </summary>
4614 </member>
4615 <member name="P:Newtonsoft.Json.JsonTextWriter.IndentChar">
4616 <summary>
4617 Gets or sets which character to use for indenting when <see cref="T:Newtonsoft.Json.Formatting"/> is set to <c>Formatting.Indented</c>.
4618 </summary>
4619 </member>
4620 <member name="P:Newtonsoft.Json.JsonTextWriter.QuoteName">
4621 <summary>
4622 Gets or sets a value indicating whether object names will be surrounded with quotes.
4623 </summary>
4624 </member>
4625 <member name="T:Newtonsoft.Json.JsonWriterException">
4626 <summary>
4627 The exception thrown when an error occurs while reading Json text.
4628 </summary>
4629 </member>
4630 <member name="M:Newtonsoft.Json.JsonWriterException.#ctor">
4631 <summary>
4632 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonWriterException"/> class.
4633 </summary>
4634 </member>
4635 <member name="M:Newtonsoft.Json.JsonWriterException.#ctor(System.String)">
4636 <summary>
4637 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonWriterException"/> class
4638 with a specified error message.
4639 </summary>
4640 <param name="message">The error message that explains the reason for the exception.</param>
4641 </member>
4642 <member name="M:Newtonsoft.Json.JsonWriterException.#ctor(System.String,System.Exception)">
4643 <summary>
4644 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonWriterException"/> class
4645 with a specified error message and a reference to the inner exception that is the cause of this exception.
4646 </summary>
4647 <param name="message">The error message that explains the reason for the exception.</param>
4648 <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>
4649 </member>
4650 <member name="M:Newtonsoft.Json.JsonWriterException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
4651 <summary>
4652 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonWriterException"/> class.
4653 </summary>
4654 <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
4655 <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
4656 <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
4657 <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
4658 </member>
4659 <member name="P:Newtonsoft.Json.JsonWriterException.Path">
4660 <summary>
4661 Gets the path to the JSON where the error occurred.
4662 </summary>
4663 <value>The path to the JSON where the error occurred.</value>
4664 </member>
4665 <member name="T:Newtonsoft.Json.JsonReaderException">
4666 <summary>
4667 The exception thrown when an error occurs while reading Json text.
4668 </summary>
4669 </member>
4670 <member name="M:Newtonsoft.Json.JsonReaderException.#ctor">
4671 <summary>
4672 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReaderException"/> class.
4673 </summary>
4674 </member>
4675 <member name="M:Newtonsoft.Json.JsonReaderException.#ctor(System.String)">
4676 <summary>
4677 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReaderException"/> class
4678 with a specified error message.
4679 </summary>
4680 <param name="message">The error message that explains the reason for the exception.</param>
4681 </member>
4682 <member name="M:Newtonsoft.Json.JsonReaderException.#ctor(System.String,System.Exception)">
4683 <summary>
4684 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReaderException"/> class
4685 with a specified error message and a reference to the inner exception that is the cause of this exception.
4686 </summary>
4687 <param name="message">The error message that explains the reason for the exception.</param>
4688 <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>
4689 </member>
4690 <member name="M:Newtonsoft.Json.JsonReaderException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
4691 <summary>
4692 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReaderException"/> class.
4693 </summary>
4694 <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
4695 <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
4696 <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
4697 <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
4698 </member>
4699 <member name="P:Newtonsoft.Json.JsonReaderException.LineNumber">
4700 <summary>
4701 Gets the line number indicating where the error occurred.
4702 </summary>
4703 <value>The line number indicating where the error occurred.</value>
4704 </member>
4705 <member name="P:Newtonsoft.Json.JsonReaderException.LinePosition">
4706 <summary>
4707 Gets the line position indicating where the error occurred.
4708 </summary>
4709 <value>The line position indicating where the error occurred.</value>
4710 </member>
4711 <member name="P:Newtonsoft.Json.JsonReaderException.Path">
4712 <summary>
4713 Gets the path to the JSON where the error occurred.
4714 </summary>
4715 <value>The path to the JSON where the error occurred.</value>
4716 </member>
4717 <member name="T:Newtonsoft.Json.JsonConverterCollection">
4718 <summary>
4719 Represents a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>.
4720 </summary>
4721 </member>
4722 <member name="T:Newtonsoft.Json.JsonConvert">
4723 <summary>
4724 Provides methods for converting between common language runtime types and JSON types.
4725 </summary>
4726 <example>
4727 <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="SerializeObject" title="Serializing and Deserializing JSON with JsonConvert" />
4728 </example>
4729 </member>
4730 <member name="F:Newtonsoft.Json.JsonConvert.True">
4731 <summary>
4732 Represents JavaScript's boolean value true as a string. This field is read-only.
4733 </summary>
4734 </member>
4735 <member name="F:Newtonsoft.Json.JsonConvert.False">
4736 <summary>
4737 Represents JavaScript's boolean value false as a string. This field is read-only.
4738 </summary>
4739 </member>
4740 <member name="F:Newtonsoft.Json.JsonConvert.Null">
4741 <summary>
4742 Represents JavaScript's null as a string. This field is read-only.
4743 </summary>
4744 </member>
4745 <member name="F:Newtonsoft.Json.JsonConvert.Undefined">
4746 <summary>
4747 Represents JavaScript's undefined as a string. This field is read-only.
4748 </summary>
4749 </member>
4750 <member name="F:Newtonsoft.Json.JsonConvert.PositiveInfinity">
4751 <summary>
4752 Represents JavaScript's positive infinity as a string. This field is read-only.
4753 </summary>
4754 </member>
4755 <member name="F:Newtonsoft.Json.JsonConvert.NegativeInfinity">
4756 <summary>
4757 Represents JavaScript's negative infinity as a string. This field is read-only.
4758 </summary>
4759 </member>
4760 <member name="F:Newtonsoft.Json.JsonConvert.NaN">
4761 <summary>
4762 Represents JavaScript's NaN as a string. This field is read-only.
4763 </summary>
4764 </member>
4765 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.DateTime)">
4766 <summary>
4767 Converts the <see cref="T:System.DateTime"/> to its JSON string representation.
4768 </summary>
4769 <param name="value">The value to convert.</param>
4770 <returns>A JSON string representation of the <see cref="T:System.DateTime"/>.</returns>
4771 </member>
4772 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.DateTime,Newtonsoft.Json.DateFormatHandling,Newtonsoft.Json.DateTimeZoneHandling)">
4773 <summary>
4774 Converts the <see cref="T:System.DateTime"/> to its JSON string representation using the <see cref="T:Newtonsoft.Json.DateFormatHandling"/> specified.
4775 </summary>
4776 <param name="value">The value to convert.</param>
4777 <param name="format">The format the date will be converted to.</param>
4778 <param name="timeZoneHandling">The time zone handling when the date is converted to a string.</param>
4779 <returns>A JSON string representation of the <see cref="T:System.DateTime"/>.</returns>
4780 </member>
4781 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.DateTimeOffset)">
4782 <summary>
4783 Converts the <see cref="T:System.DateTimeOffset"/> to its JSON string representation.
4784 </summary>
4785 <param name="value">The value to convert.</param>
4786 <returns>A JSON string representation of the <see cref="T:System.DateTimeOffset"/>.</returns>
4787 </member>
4788 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.DateTimeOffset,Newtonsoft.Json.DateFormatHandling)">
4789 <summary>
4790 Converts the <see cref="T:System.DateTimeOffset"/> to its JSON string representation using the <see cref="T:Newtonsoft.Json.DateFormatHandling"/> specified.
4791 </summary>
4792 <param name="value">The value to convert.</param>
4793 <param name="format">The format the date will be converted to.</param>
4794 <returns>A JSON string representation of the <see cref="T:System.DateTimeOffset"/>.</returns>
4795 </member>
4796 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Boolean)">
4797 <summary>
4798 Converts the <see cref="T:System.Boolean"/> to its JSON string representation.
4799 </summary>
4800 <param name="value">The value to convert.</param>
4801 <returns>A JSON string representation of the <see cref="T:System.Boolean"/>.</returns>
4802 </member>
4803 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Char)">
4804 <summary>
4805 Converts the <see cref="T:System.Char"/> to its JSON string representation.
4806 </summary>
4807 <param name="value">The value to convert.</param>
4808 <returns>A JSON string representation of the <see cref="T:System.Char"/>.</returns>
4809 </member>
4810 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Enum)">
4811 <summary>
4812 Converts the <see cref="T:System.Enum"/> to its JSON string representation.
4813 </summary>
4814 <param name="value">The value to convert.</param>
4815 <returns>A JSON string representation of the <see cref="T:System.Enum"/>.</returns>
4816 </member>
4817 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Int32)">
4818 <summary>
4819 Converts the <see cref="T:System.Int32"/> to its JSON string representation.
4820 </summary>
4821 <param name="value">The value to convert.</param>
4822 <returns>A JSON string representation of the <see cref="T:System.Int32"/>.</returns>
4823 </member>
4824 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Int16)">
4825 <summary>
4826 Converts the <see cref="T:System.Int16"/> to its JSON string representation.
4827 </summary>
4828 <param name="value">The value to convert.</param>
4829 <returns>A JSON string representation of the <see cref="T:System.Int16"/>.</returns>
4830 </member>
4831 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.UInt16)">
4832 <summary>
4833 Converts the <see cref="T:System.UInt16"/> to its JSON string representation.
4834 </summary>
4835 <param name="value">The value to convert.</param>
4836 <returns>A JSON string representation of the <see cref="T:System.UInt16"/>.</returns>
4837 </member>
4838 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.UInt32)">
4839 <summary>
4840 Converts the <see cref="T:System.UInt32"/> to its JSON string representation.
4841 </summary>
4842 <param name="value">The value to convert.</param>
4843 <returns>A JSON string representation of the <see cref="T:System.UInt32"/>.</returns>
4844 </member>
4845 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Int64)">
4846 <summary>
4847 Converts the <see cref="T:System.Int64"/> to its JSON string representation.
4848 </summary>
4849 <param name="value">The value to convert.</param>
4850 <returns>A JSON string representation of the <see cref="T:System.Int64"/>.</returns>
4851 </member>
4852 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.UInt64)">
4853 <summary>
4854 Converts the <see cref="T:System.UInt64"/> to its JSON string representation.
4855 </summary>
4856 <param name="value">The value to convert.</param>
4857 <returns>A JSON string representation of the <see cref="T:System.UInt64"/>.</returns>
4858 </member>
4859 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Single)">
4860 <summary>
4861 Converts the <see cref="T:System.Single"/> to its JSON string representation.
4862 </summary>
4863 <param name="value">The value to convert.</param>
4864 <returns>A JSON string representation of the <see cref="T:System.Single"/>.</returns>
4865 </member>
4866 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Double)">
4867 <summary>
4868 Converts the <see cref="T:System.Double"/> to its JSON string representation.
4869 </summary>
4870 <param name="value">The value to convert.</param>
4871 <returns>A JSON string representation of the <see cref="T:System.Double"/>.</returns>
4872 </member>
4873 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Byte)">
4874 <summary>
4875 Converts the <see cref="T:System.Byte"/> to its JSON string representation.
4876 </summary>
4877 <param name="value">The value to convert.</param>
4878 <returns>A JSON string representation of the <see cref="T:System.Byte"/>.</returns>
4879 </member>
4880 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.SByte)">
4881 <summary>
4882 Converts the <see cref="T:System.SByte"/> to its JSON string representation.
4883 </summary>
4884 <param name="value">The value to convert.</param>
4885 <returns>A JSON string representation of the <see cref="T:System.SByte"/>.</returns>
4886 </member>
4887 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Decimal)">
4888 <summary>
4889 Converts the <see cref="T:System.Decimal"/> to its JSON string representation.
4890 </summary>
4891 <param name="value">The value to convert.</param>
4892 <returns>A JSON string representation of the <see cref="T:System.SByte"/>.</returns>
4893 </member>
4894 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Guid)">
4895 <summary>
4896 Converts the <see cref="T:System.Guid"/> to its JSON string representation.
4897 </summary>
4898 <param name="value">The value to convert.</param>
4899 <returns>A JSON string representation of the <see cref="T:System.Guid"/>.</returns>
4900 </member>
4901 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.TimeSpan)">
4902 <summary>
4903 Converts the <see cref="T:System.TimeSpan"/> to its JSON string representation.
4904 </summary>
4905 <param name="value">The value to convert.</param>
4906 <returns>A JSON string representation of the <see cref="T:System.TimeSpan"/>.</returns>
4907 </member>
4908 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Uri)">
4909 <summary>
4910 Converts the <see cref="T:System.Uri"/> to its JSON string representation.
4911 </summary>
4912 <param name="value">The value to convert.</param>
4913 <returns>A JSON string representation of the <see cref="T:System.Uri"/>.</returns>
4914 </member>
4915 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.String)">
4916 <summary>
4917 Converts the <see cref="T:System.String"/> to its JSON string representation.
4918 </summary>
4919 <param name="value">The value to convert.</param>
4920 <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns>
4921 </member>
4922 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.String,System.Char)">
4923 <summary>
4924 Converts the <see cref="T:System.String"/> to its JSON string representation.
4925 </summary>
4926 <param name="value">The value to convert.</param>
4927 <param name="delimiter">The string delimiter character.</param>
4928 <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns>
4929 </member>
4930 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.String,System.Char,Newtonsoft.Json.StringEscapeHandling)">
4931 <summary>
4932 Converts the <see cref="T:System.String"/> to its JSON string representation.
4933 </summary>
4934 <param name="value">The value to convert.</param>
4935 <param name="delimiter">The string delimiter character.</param>
4936 <param name="stringEscapeHandling">The string escape handling.</param>
4937 <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns>
4938 </member>
4939 <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Object)">
4940 <summary>
4941 Converts the <see cref="T:System.Object"/> to its JSON string representation.
4942 </summary>
4943 <param name="value">The value to convert.</param>
4944 <returns>A JSON string representation of the <see cref="T:System.Object"/>.</returns>
4945 </member>
4946 <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object)">
4947 <summary>
4948 Serializes the specified object to a JSON string.
4949 </summary>
4950 <param name="value">The object to serialize.</param>
4951 <returns>A JSON string representation of the object.</returns>
4952 </member>
4953 <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.Formatting)">
4954 <summary>
4955 Serializes the specified object to a JSON string using formatting.
4956 </summary>
4957 <param name="value">The object to serialize.</param>
4958 <param name="formatting">Indicates how the output is formatted.</param>
4959 <returns>
4960 A JSON string representation of the object.
4961 </returns>
4962 </member>
4963 <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.JsonConverter[])">
4964 <summary>
4965 Serializes the specified object to a JSON string using a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>.
4966 </summary>
4967 <param name="value">The object to serialize.</param>
4968 <param name="converters">A collection converters used while serializing.</param>
4969 <returns>A JSON string representation of the object.</returns>
4970 </member>
4971 <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[])">
4972 <summary>
4973 Serializes the specified object to a JSON string using formatting and a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>.
4974 </summary>
4975 <param name="value">The object to serialize.</param>
4976 <param name="formatting">Indicates how the output is formatted.</param>
4977 <param name="converters">A collection converters used while serializing.</param>
4978 <returns>A JSON string representation of the object.</returns>
4979 </member>
4980 <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.JsonSerializerSettings)">
4981 <summary>
4982 Serializes the specified object to a JSON string using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
4983 </summary>
4984 <param name="value">The object to serialize.</param>
4985 <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object.
4986 If this is null, default serialization settings will be used.</param>
4987 <returns>
4988 A JSON string representation of the object.
4989 </returns>
4990 </member>
4991 <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,System.Type,Newtonsoft.Json.JsonSerializerSettings)">
4992 <summary>
4993 Serializes the specified object to a JSON string using a type, formatting and <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
4994 </summary>
4995 <param name="value">The object to serialize.</param>
4996 <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object.
4997 If this is null, default serialization settings will be used.</param>
4998 <param name="type">
4999 The type of the value being serialized.
5000 This parameter is used when <see cref="T:Newtonsoft.Json.TypeNameHandling"/> is Auto to write out the type name if the type of the value does not match.
5001 Specifing the type is optional.
5002 </param>
5003 <returns>
5004 A JSON string representation of the object.
5005 </returns>
5006 </member>
5007 <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings)">
5008 <summary>
5009 Serializes the specified object to a JSON string using formatting and <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5010 </summary>
5011 <param name="value">The object to serialize.</param>
5012 <param name="formatting">Indicates how the output is formatted.</param>
5013 <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object.
5014 If this is null, default serialization settings will be used.</param>
5015 <returns>
5016 A JSON string representation of the object.
5017 </returns>
5018 </member>
5019 <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,System.Type,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings)">
5020 <summary>
5021 Serializes the specified object to a JSON string using a type, formatting and <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5022 </summary>
5023 <param name="value">The object to serialize.</param>
5024 <param name="formatting">Indicates how the output is formatted.</param>
5025 <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object.
5026 If this is null, default serialization settings will be used.</param>
5027 <param name="type">
5028 The type of the value being serialized.
5029 This parameter is used when <see cref="T:Newtonsoft.Json.TypeNameHandling"/> is Auto to write out the type name if the type of the value does not match.
5030 Specifing the type is optional.
5031 </param>
5032 <returns>
5033 A JSON string representation of the object.
5034 </returns>
5035 </member>
5036 <member name="M:Newtonsoft.Json.JsonConvert.SerializeObjectAsync(System.Object)">
5037 <summary>
5038 Asynchronously serializes the specified object to a JSON string.
5039 Serialization will happen on a new thread.
5040 </summary>
5041 <param name="value">The object to serialize.</param>
5042 <returns>
5043 A task that represents the asynchronous serialize operation. The value of the <c>TResult</c> parameter contains a JSON string representation of the object.
5044 </returns>
5045 </member>
5046 <member name="M:Newtonsoft.Json.JsonConvert.SerializeObjectAsync(System.Object,Newtonsoft.Json.Formatting)">
5047 <summary>
5048 Asynchronously serializes the specified object to a JSON string using formatting.
5049 Serialization will happen on a new thread.
5050 </summary>
5051 <param name="value">The object to serialize.</param>
5052 <param name="formatting">Indicates how the output is formatted.</param>
5053 <returns>
5054 A task that represents the asynchronous serialize operation. The value of the <c>TResult</c> parameter contains a JSON string representation of the object.
5055 </returns>
5056 </member>
5057 <member name="M:Newtonsoft.Json.JsonConvert.SerializeObjectAsync(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings)">
5058 <summary>
5059 Asynchronously serializes the specified object to a JSON string using formatting and a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>.
5060 Serialization will happen on a new thread.
5061 </summary>
5062 <param name="value">The object to serialize.</param>
5063 <param name="formatting">Indicates how the output is formatted.</param>
5064 <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object.
5065 If this is null, default serialization settings will be used.</param>
5066 <returns>
5067 A task that represents the asynchronous serialize operation. The value of the <c>TResult</c> parameter contains a JSON string representation of the object.
5068 </returns>
5069 </member>
5070 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String)">
5071 <summary>
5072 Deserializes the JSON to a .NET object.
5073 </summary>
5074 <param name="value">The JSON to deserialize.</param>
5075 <returns>The deserialized object from the JSON string.</returns>
5076 </member>
5077 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,Newtonsoft.Json.JsonSerializerSettings)">
5078 <summary>
5079 Deserializes the JSON to a .NET object using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5080 </summary>
5081 <param name="value">The JSON to deserialize.</param>
5082 <param name="settings">
5083 The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object.
5084 If this is null, default serialization settings will be used.
5085 </param>
5086 <returns>The deserialized object from the JSON string.</returns>
5087 </member>
5088 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,System.Type)">
5089 <summary>
5090 Deserializes the JSON to the specified .NET type.
5091 </summary>
5092 <param name="value">The JSON to deserialize.</param>
5093 <param name="type">The <see cref="T:System.Type"/> of object being deserialized.</param>
5094 <returns>The deserialized object from the JSON string.</returns>
5095 </member>
5096 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject``1(System.String)">
5097 <summary>
5098 Deserializes the JSON to the specified .NET type.
5099 </summary>
5100 <typeparam name="T">The type of the object to deserialize to.</typeparam>
5101 <param name="value">The JSON to deserialize.</param>
5102 <returns>The deserialized object from the JSON string.</returns>
5103 </member>
5104 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeAnonymousType``1(System.String,``0)">
5105 <summary>
5106 Deserializes the JSON to the given anonymous type.
5107 </summary>
5108 <typeparam name="T">
5109 The anonymous type to deserialize to. This can't be specified
5110 traditionally and must be infered from the anonymous type passed
5111 as a parameter.
5112 </typeparam>
5113 <param name="value">The JSON to deserialize.</param>
5114 <param name="anonymousTypeObject">The anonymous type object.</param>
5115 <returns>The deserialized anonymous type from the JSON string.</returns>
5116 </member>
5117 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeAnonymousType``1(System.String,``0,Newtonsoft.Json.JsonSerializerSettings)">
5118 <summary>
5119 Deserializes the JSON to the given anonymous type using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5120 </summary>
5121 <typeparam name="T">
5122 The anonymous type to deserialize to. This can't be specified
5123 traditionally and must be infered from the anonymous type passed
5124 as a parameter.
5125 </typeparam>
5126 <param name="value">The JSON to deserialize.</param>
5127 <param name="anonymousTypeObject">The anonymous type object.</param>
5128 <param name="settings">
5129 The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object.
5130 If this is null, default serialization settings will be used.
5131 </param>
5132 <returns>The deserialized anonymous type from the JSON string.</returns>
5133 </member>
5134 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject``1(System.String,Newtonsoft.Json.JsonConverter[])">
5135 <summary>
5136 Deserializes the JSON to the specified .NET type using a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>.
5137 </summary>
5138 <typeparam name="T">The type of the object to deserialize to.</typeparam>
5139 <param name="value">The JSON to deserialize.</param>
5140 <param name="converters">Converters to use while deserializing.</param>
5141 <returns>The deserialized object from the JSON string.</returns>
5142 </member>
5143 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject``1(System.String,Newtonsoft.Json.JsonSerializerSettings)">
5144 <summary>
5145 Deserializes the JSON to the specified .NET type using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5146 </summary>
5147 <typeparam name="T">The type of the object to deserialize to.</typeparam>
5148 <param name="value">The object to deserialize.</param>
5149 <param name="settings">
5150 The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object.
5151 If this is null, default serialization settings will be used.
5152 </param>
5153 <returns>The deserialized object from the JSON string.</returns>
5154 </member>
5155 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,System.Type,Newtonsoft.Json.JsonConverter[])">
5156 <summary>
5157 Deserializes the JSON to the specified .NET type using a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>.
5158 </summary>
5159 <param name="value">The JSON to deserialize.</param>
5160 <param name="type">The type of the object to deserialize.</param>
5161 <param name="converters">Converters to use while deserializing.</param>
5162 <returns>The deserialized object from the JSON string.</returns>
5163 </member>
5164 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,System.Type,Newtonsoft.Json.JsonSerializerSettings)">
5165 <summary>
5166 Deserializes the JSON to the specified .NET type using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5167 </summary>
5168 <param name="value">The JSON to deserialize.</param>
5169 <param name="type">The type of the object to deserialize to.</param>
5170 <param name="settings">
5171 The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object.
5172 If this is null, default serialization settings will be used.
5173 </param>
5174 <returns>The deserialized object from the JSON string.</returns>
5175 </member>
5176 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObjectAsync``1(System.String)">
5177 <summary>
5178 Asynchronously deserializes the JSON to the specified .NET type.
5179 Deserialization will happen on a new thread.
5180 </summary>
5181 <typeparam name="T">The type of the object to deserialize to.</typeparam>
5182 <param name="value">The JSON to deserialize.</param>
5183 <returns>
5184 A task that represents the asynchronous deserialize operation. The value of the <c>TResult</c> parameter contains the deserialized object from the JSON string.
5185 </returns>
5186 </member>
5187 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObjectAsync``1(System.String,Newtonsoft.Json.JsonSerializerSettings)">
5188 <summary>
5189 Asynchronously deserializes the JSON to the specified .NET type using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5190 Deserialization will happen on a new thread.
5191 </summary>
5192 <typeparam name="T">The type of the object to deserialize to.</typeparam>
5193 <param name="value">The JSON to deserialize.</param>
5194 <param name="settings">
5195 The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object.
5196 If this is null, default serialization settings will be used.
5197 </param>
5198 <returns>
5199 A task that represents the asynchronous deserialize operation. The value of the <c>TResult</c> parameter contains the deserialized object from the JSON string.
5200 </returns>
5201 </member>
5202 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObjectAsync(System.String)">
5203 <summary>
5204 Asynchronously deserializes the JSON to the specified .NET type.
5205 Deserialization will happen on a new thread.
5206 </summary>
5207 <param name="value">The JSON to deserialize.</param>
5208 <returns>
5209 A task that represents the asynchronous deserialize operation. The value of the <c>TResult</c> parameter contains the deserialized object from the JSON string.
5210 </returns>
5211 </member>
5212 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObjectAsync(System.String,System.Type,Newtonsoft.Json.JsonSerializerSettings)">
5213 <summary>
5214 Asynchronously deserializes the JSON to the specified .NET type using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5215 Deserialization will happen on a new thread.
5216 </summary>
5217 <param name="value">The JSON to deserialize.</param>
5218 <param name="type">The type of the object to deserialize to.</param>
5219 <param name="settings">
5220 The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object.
5221 If this is null, default serialization settings will be used.
5222 </param>
5223 <returns>
5224 A task that represents the asynchronous deserialize operation. The value of the <c>TResult</c> parameter contains the deserialized object from the JSON string.
5225 </returns>
5226 </member>
5227 <member name="M:Newtonsoft.Json.JsonConvert.PopulateObject(System.String,System.Object)">
5228 <summary>
5229 Populates the object with values from the JSON string.
5230 </summary>
5231 <param name="value">The JSON to populate values from.</param>
5232 <param name="target">The target object to populate values onto.</param>
5233 </member>
5234 <member name="M:Newtonsoft.Json.JsonConvert.PopulateObject(System.String,System.Object,Newtonsoft.Json.JsonSerializerSettings)">
5235 <summary>
5236 Populates the object with values from the JSON string using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5237 </summary>
5238 <param name="value">The JSON to populate values from.</param>
5239 <param name="target">The target object to populate values onto.</param>
5240 <param name="settings">
5241 The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object.
5242 If this is null, default serialization settings will be used.
5243 </param>
5244 </member>
5245 <member name="M:Newtonsoft.Json.JsonConvert.PopulateObjectAsync(System.String,System.Object,Newtonsoft.Json.JsonSerializerSettings)">
5246 <summary>
5247 Asynchronously populates the object with values from the JSON string using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5248 </summary>
5249 <param name="value">The JSON to populate values from.</param>
5250 <param name="target">The target object to populate values onto.</param>
5251 <param name="settings">
5252 The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object.
5253 If this is null, default serialization settings will be used.
5254 </param>
5255 <returns>
5256 A task that represents the asynchronous populate operation.
5257 </returns>
5258 </member>
5259 <member name="M:Newtonsoft.Json.JsonConvert.SerializeXmlNode(System.Xml.XmlNode)">
5260 <summary>
5261 Serializes the XML node to a JSON string.
5262 </summary>
5263 <param name="node">The node to serialize.</param>
5264 <returns>A JSON string of the XmlNode.</returns>
5265 </member>
5266 <member name="M:Newtonsoft.Json.JsonConvert.SerializeXmlNode(System.Xml.XmlNode,Newtonsoft.Json.Formatting)">
5267 <summary>
5268 Serializes the XML node to a JSON string using formatting.
5269 </summary>
5270 <param name="node">The node to serialize.</param>
5271 <param name="formatting">Indicates how the output is formatted.</param>
5272 <returns>A JSON string of the XmlNode.</returns>
5273 </member>
5274 <member name="M:Newtonsoft.Json.JsonConvert.SerializeXmlNode(System.Xml.XmlNode,Newtonsoft.Json.Formatting,System.Boolean)">
5275 <summary>
5276 Serializes the XML node to a JSON string using formatting and omits the root object if <paramref name="omitRootObject"/> is <c>true</c>.
5277 </summary>
5278 <param name="node">The node to serialize.</param>
5279 <param name="formatting">Indicates how the output is formatted.</param>
5280 <param name="omitRootObject">Omits writing the root object.</param>
5281 <returns>A JSON string of the XmlNode.</returns>
5282 </member>
5283 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXmlNode(System.String)">
5284 <summary>
5285 Deserializes the XmlNode from a JSON string.
5286 </summary>
5287 <param name="value">The JSON string.</param>
5288 <returns>The deserialized XmlNode</returns>
5289 </member>
5290 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXmlNode(System.String,System.String)">
5291 <summary>
5292 Deserializes the XmlNode from a JSON string nested in a root elment specified by <paramref name="deserializeRootElementName"/>.
5293 </summary>
5294 <param name="value">The JSON string.</param>
5295 <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param>
5296 <returns>The deserialized XmlNode</returns>
5297 </member>
5298 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXmlNode(System.String,System.String,System.Boolean)">
5299 <summary>
5300 Deserializes the XmlNode from a JSON string nested in a root elment specified by <paramref name="deserializeRootElementName"/>
5301 and writes a .NET array attribute for collections.
5302 </summary>
5303 <param name="value">The JSON string.</param>
5304 <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param>
5305 <param name="writeArrayAttribute">
5306 A flag to indicate whether to write the Json.NET array attribute.
5307 This attribute helps preserve arrays when converting the written XML back to JSON.
5308 </param>
5309 <returns>The deserialized XmlNode</returns>
5310 </member>
5311 <member name="M:Newtonsoft.Json.JsonConvert.SerializeXNode(System.Xml.Linq.XObject)">
5312 <summary>
5313 Serializes the <see cref="T:System.Xml.Linq.XNode"/> to a JSON string.
5314 </summary>
5315 <param name="node">The node to convert to JSON.</param>
5316 <returns>A JSON string of the XNode.</returns>
5317 </member>
5318 <member name="M:Newtonsoft.Json.JsonConvert.SerializeXNode(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting)">
5319 <summary>
5320 Serializes the <see cref="T:System.Xml.Linq.XNode"/> to a JSON string using formatting.
5321 </summary>
5322 <param name="node">The node to convert to JSON.</param>
5323 <param name="formatting">Indicates how the output is formatted.</param>
5324 <returns>A JSON string of the XNode.</returns>
5325 </member>
5326 <member name="M:Newtonsoft.Json.JsonConvert.SerializeXNode(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting,System.Boolean)">
5327 <summary>
5328 Serializes the <see cref="T:System.Xml.Linq.XNode"/> to a JSON string using formatting and omits the root object if <paramref name="omitRootObject"/> is <c>true</c>.
5329 </summary>
5330 <param name="node">The node to serialize.</param>
5331 <param name="formatting">Indicates how the output is formatted.</param>
5332 <param name="omitRootObject">Omits writing the root object.</param>
5333 <returns>A JSON string of the XNode.</returns>
5334 </member>
5335 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXNode(System.String)">
5336 <summary>
5337 Deserializes the <see cref="T:System.Xml.Linq.XNode"/> from a JSON string.
5338 </summary>
5339 <param name="value">The JSON string.</param>
5340 <returns>The deserialized XNode</returns>
5341 </member>
5342 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXNode(System.String,System.String)">
5343 <summary>
5344 Deserializes the <see cref="T:System.Xml.Linq.XNode"/> from a JSON string nested in a root elment specified by <paramref name="deserializeRootElementName"/>.
5345 </summary>
5346 <param name="value">The JSON string.</param>
5347 <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param>
5348 <returns>The deserialized XNode</returns>
5349 </member>
5350 <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXNode(System.String,System.String,System.Boolean)">
5351 <summary>
5352 Deserializes the <see cref="T:System.Xml.Linq.XNode"/> from a JSON string nested in a root elment specified by <paramref name="deserializeRootElementName"/>
5353 and writes a .NET array attribute for collections.
5354 </summary>
5355 <param name="value">The JSON string.</param>
5356 <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param>
5357 <param name="writeArrayAttribute">
5358 A flag to indicate whether to write the Json.NET array attribute.
5359 This attribute helps preserve arrays when converting the written XML back to JSON.
5360 </param>
5361 <returns>The deserialized XNode</returns>
5362 </member>
5363 <member name="P:Newtonsoft.Json.JsonConvert.DefaultSettings">
5364 <summary>
5365 Gets or sets a function that creates default <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5366 Default settings are automatically used by serialization methods on <see cref="T:Newtonsoft.Json.JsonConvert"/>,
5367 and <see cref="M:Newtonsoft.Json.Linq.JToken.ToObject``1"/> and <see cref="M:Newtonsoft.Json.Linq.JToken.FromObject(System.Object)"/> on <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
5368 To serialize without using any default settings create a <see cref="T:Newtonsoft.Json.JsonSerializer"/> with
5369 <see cref="M:Newtonsoft.Json.JsonSerializer.Create"/>.
5370 </summary>
5371 </member>
5372 <member name="T:Newtonsoft.Json.JsonSerializationException">
5373 <summary>
5374 The exception thrown when an error occurs during Json serialization or deserialization.
5375 </summary>
5376 </member>
5377 <member name="M:Newtonsoft.Json.JsonSerializationException.#ctor">
5378 <summary>
5379 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializationException"/> class.
5380 </summary>
5381 </member>
5382 <member name="M:Newtonsoft.Json.JsonSerializationException.#ctor(System.String)">
5383 <summary>
5384 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializationException"/> class
5385 with a specified error message.
5386 </summary>
5387 <param name="message">The error message that explains the reason for the exception.</param>
5388 </member>
5389 <member name="M:Newtonsoft.Json.JsonSerializationException.#ctor(System.String,System.Exception)">
5390 <summary>
5391 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializationException"/> class
5392 with a specified error message and a reference to the inner exception that is the cause of this exception.
5393 </summary>
5394 <param name="message">The error message that explains the reason for the exception.</param>
5395 <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>
5396 </member>
5397 <member name="M:Newtonsoft.Json.JsonSerializationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
5398 <summary>
5399 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializationException"/> class.
5400 </summary>
5401 <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
5402 <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
5403 <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
5404 <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
5405 </member>
5406 <member name="T:Newtonsoft.Json.JsonSerializer">
5407 <summary>
5408 Serializes and deserializes objects into and from the JSON format.
5409 The <see cref="T:Newtonsoft.Json.JsonSerializer"/> enables you to control how objects are encoded into JSON.
5410 </summary>
5411 </member>
5412 <member name="M:Newtonsoft.Json.JsonSerializer.#ctor">
5413 <summary>
5414 Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializer"/> class.
5415 </summary>
5416 </member>
5417 <member name="M:Newtonsoft.Json.JsonSerializer.Create">
5418 <summary>
5419 Creates a new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance.
5420 The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will not use default settings.
5421 </summary>
5422 <returns>
5423 A new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance.
5424 The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will not use default settings.
5425 </returns>
5426 </member>
5427 <member name="M:Newtonsoft.Json.JsonSerializer.Create(Newtonsoft.Json.JsonSerializerSettings)">
5428 <summary>
5429 Creates a new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5430 The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will not use default settings.
5431 </summary>
5432 <param name="settings">The settings to be applied to the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.</param>
5433 <returns>
5434 A new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5435 The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will not use default settings.
5436 </returns>
5437 </member>
5438 <member name="M:Newtonsoft.Json.JsonSerializer.CreateDefault">
5439 <summary>
5440 Creates a new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance.
5441 The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will use default settings.
5442 </summary>
5443 <returns>
5444 A new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance.
5445 The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will use default settings.
5446 </returns>
5447 </member>
5448 <member name="M:Newtonsoft.Json.JsonSerializer.CreateDefault(Newtonsoft.Json.JsonSerializerSettings)">
5449 <summary>
5450 Creates a new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5451 The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will use default settings.
5452 </summary>
5453 <param name="settings">The settings to be applied to the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.</param>
5454 <returns>
5455 A new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>.
5456 The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will use default settings.
5457 </returns>
5458 </member>
5459 <member name="M:Newtonsoft.Json.JsonSerializer.Populate(System.IO.TextReader,System.Object)">
5460 <summary>
5461 Populates the JSON values onto the target object.
5462 </summary>
5463 <param name="reader">The <see cref="T:System.IO.TextReader"/> that contains the JSON structure to reader values from.</param>
5464 <param name="target">The target object to populate values onto.</param>
5465 </member>
5466 <member name="M:Newtonsoft.Json.JsonSerializer.Populate(Newtonsoft.Json.JsonReader,System.Object)">
5467 <summary>
5468 Populates the JSON values onto the target object.
5469 </summary>
5470 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> that contains the JSON structure to reader values from.</param>
5471 <param name="target">The target object to populate values onto.</param>
5472 </member>
5473 <member name="M:Newtonsoft.Json.JsonSerializer.Deserialize(Newtonsoft.Json.JsonReader)">
5474 <summary>
5475 Deserializes the Json structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.
5476 </summary>
5477 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> that contains the JSON structure to deserialize.</param>
5478 <returns>The <see cref="T:System.Object"/> being deserialized.</returns>
5479 </member>
5480 <member name="M:Newtonsoft.Json.JsonSerializer.Deserialize(System.IO.TextReader,System.Type)">
5481 <summary>
5482 Deserializes the Json structure contained by the specified <see cref="T:System.IO.StringReader"/>
5483 into an instance of the specified type.
5484 </summary>
5485 <param name="reader">The <see cref="T:System.IO.TextReader"/> containing the object.</param>
5486 <param name="objectType">The <see cref="T:System.Type"/> of object being deserialized.</param>
5487 <returns>The instance of <paramref name="objectType"/> being deserialized.</returns>
5488 </member>
5489 <member name="M:Newtonsoft.Json.JsonSerializer.Deserialize``1(Newtonsoft.Json.JsonReader)">
5490 <summary>
5491 Deserializes the Json structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/>
5492 into an instance of the specified type.
5493 </summary>
5494 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the object.</param>
5495 <typeparam name="T">The type of the object to deserialize.</typeparam>
5496 <returns>The instance of <typeparamref name="T"/> being deserialized.</returns>
5497 </member>
5498 <member name="M:Newtonsoft.Json.JsonSerializer.Deserialize(Newtonsoft.Json.JsonReader,System.Type)">
5499 <summary>
5500 Deserializes the Json structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/>
5501 into an instance of the specified type.
5502 </summary>
5503 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the object.</param>
5504 <param name="objectType">The <see cref="T:System.Type"/> of object being deserialized.</param>
5505 <returns>The instance of <paramref name="objectType"/> being deserialized.</returns>
5506 </member>
5507 <member name="M:Newtonsoft.Json.JsonSerializer.Serialize(System.IO.TextWriter,System.Object)">
5508 <summary>
5509 Serializes the specified <see cref="T:System.Object"/> and writes the Json structure
5510 to a <c>Stream</c> using the specified <see cref="T:System.IO.TextWriter"/>.
5511 </summary>
5512 <param name="textWriter">The <see cref="T:System.IO.TextWriter"/> used to write the Json structure.</param>
5513 <param name="value">The <see cref="T:System.Object"/> to serialize.</param>
5514 </member>
5515 <member name="M:Newtonsoft.Json.JsonSerializer.Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type)">
5516 <summary>
5517 Serializes the specified <see cref="T:System.Object"/> and writes the Json structure
5518 to a <c>Stream</c> using the specified <see cref="T:System.IO.TextWriter"/>.
5519 </summary>
5520 <param name="jsonWriter">The <see cref="T:Newtonsoft.Json.JsonWriter"/> used to write the Json structure.</param>
5521 <param name="value">The <see cref="T:System.Object"/> to serialize.</param>
5522 <param name="objectType">
5523 The type of the value being serialized.
5524 This parameter is used when <see cref="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> is Auto to write out the type name if the type of the value does not match.
5525 Specifing the type is optional.
5526 </param>
5527 </member>
5528 <member name="M:Newtonsoft.Json.JsonSerializer.Serialize(System.IO.TextWriter,System.Object,System.Type)">
5529 <summary>
5530 Serializes the specified <see cref="T:System.Object"/> and writes the Json structure
5531 to a <c>Stream</c> using the specified <see cref="T:System.IO.TextWriter"/>.
5532 </summary>
5533 <param name="textWriter">The <see cref="T:System.IO.TextWriter"/> used to write the Json structure.</param>
5534 <param name="value">The <see cref="T:System.Object"/> to serialize.</param>
5535 <param name="objectType">
5536 The type of the value being serialized.
5537 This parameter is used when <see cref="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> is Auto to write out the type name if the type of the value does not match.
5538 Specifing the type is optional.
5539 </param>
5540 </member>
5541 <member name="M:Newtonsoft.Json.JsonSerializer.Serialize(Newtonsoft.Json.JsonWriter,System.Object)">
5542 <summary>
5543 Serializes the specified <see cref="T:System.Object"/> and writes the Json structure
5544 to a <c>Stream</c> using the specified <see cref="T:Newtonsoft.Json.JsonWriter"/>.
5545 </summary>
5546 <param name="jsonWriter">The <see cref="T:Newtonsoft.Json.JsonWriter"/> used to write the Json structure.</param>
5547 <param name="value">The <see cref="T:System.Object"/> to serialize.</param>
5548 </member>
5549 <member name="E:Newtonsoft.Json.JsonSerializer.Error">
5550 <summary>
5551 Occurs when the <see cref="T:Newtonsoft.Json.JsonSerializer"/> errors during serialization and deserialization.
5552 </summary>
5553 </member>
5554 <member name="P:Newtonsoft.Json.JsonSerializer.ReferenceResolver">
5555 <summary>
5556 Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references.
5557 </summary>
5558 </member>
5559 <member name="P:Newtonsoft.Json.JsonSerializer.Binder">
5560 <summary>
5561 Gets or sets the <see cref="T:System.Runtime.Serialization.SerializationBinder"/> used by the serializer when resolving type names.
5562 </summary>
5563 </member>
5564 <member name="P:Newtonsoft.Json.JsonSerializer.TraceWriter">
5565 <summary>
5566 Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.ITraceWriter"/> used by the serializer when writing trace messages.
5567 </summary>
5568 <value>The trace writer.</value>
5569 </member>
5570 <member name="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling">
5571 <summary>
5572 Gets or sets how type name writing and reading is handled by the serializer.
5573 </summary>
5574 </member>
5575 <member name="P:Newtonsoft.Json.JsonSerializer.TypeNameAssemblyFormat">
5576 <summary>
5577 Gets or sets how a type name assembly is written and resolved by the serializer.
5578 </summary>
5579 <value>The type name assembly format.</value>
5580 </member>
5581 <member name="P:Newtonsoft.Json.JsonSerializer.PreserveReferencesHandling">
5582 <summary>
5583 Gets or sets how object references are preserved by the serializer.
5584 </summary>
5585 </member>
5586 <member name="P:Newtonsoft.Json.JsonSerializer.ReferenceLoopHandling">
5587 <summary>
5588 Get or set how reference loops (e.g. a class referencing itself) is handled.
5589 </summary>
5590 </member>
5591 <member name="P:Newtonsoft.Json.JsonSerializer.MissingMemberHandling">
5592 <summary>
5593 Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization.
5594 </summary>
5595 </member>
5596 <member name="P:Newtonsoft.Json.JsonSerializer.NullValueHandling">
5597 <summary>
5598 Get or set how null values are handled during serialization and deserialization.
5599 </summary>
5600 </member>
5601 <member name="P:Newtonsoft.Json.JsonSerializer.DefaultValueHandling">
5602 <summary>
5603 Get or set how null default are handled during serialization and deserialization.
5604 </summary>
5605 </member>
5606 <member name="P:Newtonsoft.Json.JsonSerializer.ObjectCreationHandling">
5607 <summary>
5608 Gets or sets how objects are created during deserialization.
5609 </summary>
5610 <value>The object creation handling.</value>
5611 </member>
5612 <member name="P:Newtonsoft.Json.JsonSerializer.ConstructorHandling">
5613 <summary>
5614 Gets or sets how constructors are used during deserialization.
5615 </summary>
5616 <value>The constructor handling.</value>
5617 </member>
5618 <member name="P:Newtonsoft.Json.JsonSerializer.MetadataPropertyHandling">
5619 <summary>
5620 Gets or sets how metadata properties are used during deserialization.
5621 </summary>
5622 <value>The metadata properties handling.</value>
5623 </member>
5624 <member name="P:Newtonsoft.Json.JsonSerializer.Converters">
5625 <summary>
5626 Gets a collection <see cref="T:Newtonsoft.Json.JsonConverter"/> that will be used during serialization.
5627 </summary>
5628 <value>Collection <see cref="T:Newtonsoft.Json.JsonConverter"/> that will be used during serialization.</value>
5629 </member>
5630 <member name="P:Newtonsoft.Json.JsonSerializer.ContractResolver">
5631 <summary>
5632 Gets or sets the contract resolver used by the serializer when
5633 serializing .NET objects to JSON and vice versa.
5634 </summary>
5635 </member>
5636 <member name="P:Newtonsoft.Json.JsonSerializer.Context">
5637 <summary>
5638 Gets or sets the <see cref="T:System.Runtime.Serialization.StreamingContext"/> used by the serializer when invoking serialization callback methods.
5639 </summary>
5640 <value>The context.</value>
5641 </member>
5642 <member name="P:Newtonsoft.Json.JsonSerializer.Formatting">
5643 <summary>
5644 Indicates how JSON text output is formatted.
5645 </summary>
5646 </member>
5647 <member name="P:Newtonsoft.Json.JsonSerializer.DateFormatHandling">
5648 <summary>
5649 Get or set how dates are written to JSON text.
5650 </summary>
5651 </member>
5652 <member name="P:Newtonsoft.Json.JsonSerializer.DateTimeZoneHandling">
5653 <summary>
5654 Get or set how <see cref="T:System.DateTime"/> time zones are handling during serialization and deserialization.
5655 </summary>
5656 </member>
5657 <member name="P:Newtonsoft.Json.JsonSerializer.DateParseHandling">
5658 <summary>
5659 Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON.
5660 </summary>
5661 </member>
5662 <member name="P:Newtonsoft.Json.JsonSerializer.FloatParseHandling">
5663 <summary>
5664 Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text.
5665 </summary>
5666 </member>
5667 <member name="P:Newtonsoft.Json.JsonSerializer.FloatFormatHandling">
5668 <summary>
5669 Get or set how special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>,
5670 <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/>,
5671 are written as JSON text.
5672 </summary>
5673 </member>
5674 <member name="P:Newtonsoft.Json.JsonSerializer.StringEscapeHandling">
5675 <summary>
5676 Get or set how strings are escaped when writing JSON text.
5677 </summary>
5678 </member>
5679 <member name="P:Newtonsoft.Json.JsonSerializer.DateFormatString">
5680 <summary>
5681 Get or set how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatting when writing JSON text.
5682 </summary>
5683 </member>
5684 <member name="P:Newtonsoft.Json.JsonSerializer.Culture">
5685 <summary>
5686 Gets or sets the culture used when reading JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>.
5687 </summary>
5688 </member>
5689 <member name="P:Newtonsoft.Json.JsonSerializer.MaxDepth">
5690 <summary>
5691 Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:Newtonsoft.Json.JsonReaderException"/>.
5692 </summary>
5693 </member>
5694 <member name="P:Newtonsoft.Json.JsonSerializer.CheckAdditionalContent">
5695 <summary>
5696 Gets a value indicating whether there will be a check for additional JSON content after deserializing an object.
5697 </summary>
5698 <value>
5699 <c>true</c> if there will be a check for additional JSON content after deserializing an object; otherwise, <c>false</c>.
5700 </value>
5701 </member>
5702 <member name="T:Newtonsoft.Json.Linq.Extensions">
5703 <summary>
5704 Contains the LINQ to JSON extension methods.
5705 </summary>
5706 </member>
5707 <member name="M:Newtonsoft.Json.Linq.Extensions.Ancestors``1(System.Collections.Generic.IEnumerable{``0})">
5708 <summary>
5709 Returns a collection of tokens that contains the ancestors of every token in the source collection.
5710 </summary>
5711 <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</typeparam>
5712 <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
5713 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the ancestors of every node in the source collection.</returns>
5714 </member>
5715 <member name="M:Newtonsoft.Json.Linq.Extensions.Descendants``1(System.Collections.Generic.IEnumerable{``0})">
5716 <summary>
5717 Returns a collection of tokens that contains the descendants of every token in the source collection.
5718 </summary>
5719 <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JContainer"/>.</typeparam>
5720 <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
5721 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the descendants of every node in the source collection.</returns>
5722 </member>
5723 <member name="M:Newtonsoft.Json.Linq.Extensions.Properties(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject})">
5724 <summary>
5725 Returns a collection of child properties of every object in the source collection.
5726 </summary>
5727 <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JObject"/> that contains the source collection.</param>
5728 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JProperty"/> that contains the properties of every object in the source collection.</returns>
5729 </member>
5730 <member name="M:Newtonsoft.Json.Linq.Extensions.Values(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken},System.Object)">
5731 <summary>
5732 Returns a collection of child values of every object in the source collection with the given key.
5733 </summary>
5734 <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
5735 <param name="key">The token key.</param>
5736 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every node in the source collection with the given key.</returns>
5737 </member>
5738 <member name="M:Newtonsoft.Json.Linq.Extensions.Values(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})">
5739 <summary>
5740 Returns a collection of child values of every object in the source collection.
5741 </summary>
5742 <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
5743 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every node in the source collection.</returns>
5744 </member>
5745 <member name="M:Newtonsoft.Json.Linq.Extensions.Values``1(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken},System.Object)">
5746 <summary>
5747 Returns a collection of converted child values of every object in the source collection with the given key.
5748 </summary>
5749 <typeparam name="U">The type to convert the values to.</typeparam>
5750 <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
5751 <param name="key">The token key.</param>
5752 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every node in the source collection with the given key.</returns>
5753 </member>
5754 <member name="M:Newtonsoft.Json.Linq.Extensions.Values``1(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})">
5755 <summary>
5756 Returns a collection of converted child values of every object in the source collection.
5757 </summary>
5758 <typeparam name="U">The type to convert the values to.</typeparam>
5759 <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
5760 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every node in the source collection.</returns>
5761 </member>
5762 <member name="M:Newtonsoft.Json.Linq.Extensions.Value``1(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})">
5763 <summary>
5764 Converts the value.
5765 </summary>
5766 <typeparam name="U">The type to convert the value to.</typeparam>
5767 <param name="value">A <see cref="T:Newtonsoft.Json.Linq.JToken"/> cast as a <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param>
5768 <returns>A converted value.</returns>
5769 </member>
5770 <member name="M:Newtonsoft.Json.Linq.Extensions.Value``2(System.Collections.Generic.IEnumerable{``0})">
5771 <summary>
5772 Converts the value.
5773 </summary>
5774 <typeparam name="T">The source collection type.</typeparam>
5775 <typeparam name="U">The type to convert the value to.</typeparam>
5776 <param name="value">A <see cref="T:Newtonsoft.Json.Linq.JToken"/> cast as a <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param>
5777 <returns>A converted value.</returns>
5778 </member>
5779 <member name="M:Newtonsoft.Json.Linq.Extensions.Children``1(System.Collections.Generic.IEnumerable{``0})">
5780 <summary>
5781 Returns a collection of child tokens of every array in the source collection.
5782 </summary>
5783 <typeparam name="T">The source collection type.</typeparam>
5784 <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
5785 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every node in the source collection.</returns>
5786 </member>
5787 <member name="M:Newtonsoft.Json.Linq.Extensions.Children``2(System.Collections.Generic.IEnumerable{``0})">
5788 <summary>
5789 Returns a collection of converted child tokens of every array in the source collection.
5790 </summary>
5791 <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
5792 <typeparam name="U">The type to convert the values to.</typeparam>
5793 <typeparam name="T">The source collection type.</typeparam>
5794 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every node in the source collection.</returns>
5795 </member>
5796 <member name="M:Newtonsoft.Json.Linq.Extensions.AsJEnumerable(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})">
5797 <summary>
5798 Returns the input typed as <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/>.
5799 </summary>
5800 <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
5801 <returns>The input typed as <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/>.</returns>
5802 </member>
5803 <member name="M:Newtonsoft.Json.Linq.Extensions.AsJEnumerable``1(System.Collections.Generic.IEnumerable{``0})">
5804 <summary>
5805 Returns the input typed as <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/>.
5806 </summary>
5807 <typeparam name="T">The source collection type.</typeparam>
5808 <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param>
5809 <returns>The input typed as <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/>.</returns>
5810 </member>
5811 <member name="T:Newtonsoft.Json.Linq.JConstructor">
5812 <summary>
5813 Represents a JSON constructor.
5814 </summary>
5815 </member>
5816 <member name="T:Newtonsoft.Json.Linq.JContainer">
5817 <summary>
5818 Represents a token that can contain other tokens.
5819 </summary>
5820 </member>
5821 <member name="M:Newtonsoft.Json.Linq.JContainer.OnAddingNew(System.ComponentModel.AddingNewEventArgs)">
5822 <summary>
5823 Raises the <see cref="E:Newtonsoft.Json.Linq.JContainer.AddingNew"/> event.
5824 </summary>
5825 <param name="e">The <see cref="T:System.ComponentModel.AddingNewEventArgs"/> instance containing the event data.</param>
5826 </member>
5827 <member name="M:Newtonsoft.Json.Linq.JContainer.OnListChanged(System.ComponentModel.ListChangedEventArgs)">
5828 <summary>
5829 Raises the <see cref="E:Newtonsoft.Json.Linq.JContainer.ListChanged"/> event.
5830 </summary>
5831 <param name="e">The <see cref="T:System.ComponentModel.ListChangedEventArgs"/> instance containing the event data.</param>
5832 </member>
5833 <member name="M:Newtonsoft.Json.Linq.JContainer.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
5834 <summary>
5835 Raises the <see cref="E:Newtonsoft.Json.Linq.JContainer.CollectionChanged"/> event.
5836 </summary>
5837 <param name="e">The <see cref="T:System.Collections.Specialized.NotifyCollectionChangedEventArgs"/> instance containing the event data.</param>
5838 </member>
5839 <member name="M:Newtonsoft.Json.Linq.JContainer.Children">
5840 <summary>
5841 Returns a collection of the child tokens of this token, in document order.
5842 </summary>
5843 <returns>
5844 An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the child tokens of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order.
5845 </returns>
5846 </member>
5847 <member name="M:Newtonsoft.Json.Linq.JContainer.Values``1">
5848 <summary>
5849 Returns a collection of the child values of this token, in document order.
5850 </summary>
5851 <typeparam name="T">The type to convert the values to.</typeparam>
5852 <returns>
5853 A <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the child values of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order.
5854 </returns>
5855 </member>
5856 <member name="M:Newtonsoft.Json.Linq.JContainer.Descendants">
5857 <summary>
5858 Returns a collection of the descendant tokens for this token in document order.
5859 </summary>
5860 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the descendant tokens of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns>
5861 </member>
5862 <member name="M:Newtonsoft.Json.Linq.JContainer.Add(System.Object)">
5863 <summary>
5864 Adds the specified content as children of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
5865 </summary>
5866 <param name="content">The content to be added.</param>
5867 </member>
5868 <member name="M:Newtonsoft.Json.Linq.JContainer.AddFirst(System.Object)">
5869 <summary>
5870 Adds the specified content as the first children of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
5871 </summary>
5872 <param name="content">The content to be added.</param>
5873 </member>
5874 <member name="M:Newtonsoft.Json.Linq.JContainer.CreateWriter">
5875 <summary>
5876 Creates an <see cref="T:Newtonsoft.Json.JsonWriter"/> that can be used to add tokens to the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
5877 </summary>
5878 <returns>An <see cref="T:Newtonsoft.Json.JsonWriter"/> that is ready to have content written to it.</returns>
5879 </member>
5880 <member name="M:Newtonsoft.Json.Linq.JContainer.ReplaceAll(System.Object)">
5881 <summary>
5882 Replaces the children nodes of this token with the specified content.
5883 </summary>
5884 <param name="content">The content.</param>
5885 </member>
5886 <member name="M:Newtonsoft.Json.Linq.JContainer.RemoveAll">
5887 <summary>
5888 Removes the child nodes from this token.
5889 </summary>
5890 </member>
5891 <member name="M:Newtonsoft.Json.Linq.JContainer.Merge(System.Object)">
5892 <summary>
5893 Merge the specified content into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
5894 </summary>
5895 <param name="content">The content to be merged.</param>
5896 </member>
5897 <member name="M:Newtonsoft.Json.Linq.JContainer.Merge(System.Object,Newtonsoft.Json.Linq.JsonMergeSettings)">
5898 <summary>
5899 Merge the specified content into this <see cref="T:Newtonsoft.Json.Linq.JToken"/> using <see cref="T:Newtonsoft.Json.Linq.JsonMergeSettings"/>.
5900 </summary>
5901 <param name="content">The content to be merged.</param>
5902 <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonMergeSettings"/> used to merge the content.</param>
5903 </member>
5904 <member name="E:Newtonsoft.Json.Linq.JContainer.ListChanged">
5905 <summary>
5906 Occurs when the list changes or an item in the list changes.
5907 </summary>
5908 </member>
5909 <member name="E:Newtonsoft.Json.Linq.JContainer.AddingNew">
5910 <summary>
5911 Occurs before an item is added to the collection.
5912 </summary>
5913 </member>
5914 <member name="E:Newtonsoft.Json.Linq.JContainer.CollectionChanged">
5915 <summary>
5916 Occurs when the items list of the collection has changed, or the collection is reset.
5917 </summary>
5918 </member>
5919 <member name="P:Newtonsoft.Json.Linq.JContainer.ChildrenTokens">
5920 <summary>
5921 Gets the container's children tokens.
5922 </summary>
5923 <value>The container's children tokens.</value>
5924 </member>
5925 <member name="P:Newtonsoft.Json.Linq.JContainer.HasValues">
5926 <summary>
5927 Gets a value indicating whether this token has child tokens.
5928 </summary>
5929 <value>
5930 <c>true</c> if this token has child values; otherwise, <c>false</c>.
5931 </value>
5932 </member>
5933 <member name="P:Newtonsoft.Json.Linq.JContainer.First">
5934 <summary>
5935 Get the first child token of this token.
5936 </summary>
5937 <value>
5938 A <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the first child token of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
5939 </value>
5940 </member>
5941 <member name="P:Newtonsoft.Json.Linq.JContainer.Last">
5942 <summary>
5943 Get the last child token of this token.
5944 </summary>
5945 <value>
5946 A <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the last child token of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
5947 </value>
5948 </member>
5949 <member name="P:Newtonsoft.Json.Linq.JContainer.Count">
5950 <summary>
5951 Gets the count of child JSON tokens.
5952 </summary>
5953 <value>The count of child JSON tokens</value>
5954 </member>
5955 <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor">
5956 <summary>
5957 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class.
5958 </summary>
5959 </member>
5960 <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor(Newtonsoft.Json.Linq.JConstructor)">
5961 <summary>
5962 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class from another <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> object.
5963 </summary>
5964 <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> object to copy from.</param>
5965 </member>
5966 <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor(System.String,System.Object[])">
5967 <summary>
5968 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class with the specified name and content.
5969 </summary>
5970 <param name="name">The constructor name.</param>
5971 <param name="content">The contents of the constructor.</param>
5972 </member>
5973 <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor(System.String,System.Object)">
5974 <summary>
5975 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class with the specified name and content.
5976 </summary>
5977 <param name="name">The constructor name.</param>
5978 <param name="content">The contents of the constructor.</param>
5979 </member>
5980 <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor(System.String)">
5981 <summary>
5982 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class with the specified name.
5983 </summary>
5984 <param name="name">The constructor name.</param>
5985 </member>
5986 <member name="M:Newtonsoft.Json.Linq.JConstructor.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])">
5987 <summary>
5988 Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>.
5989 </summary>
5990 <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
5991 <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
5992 </member>
5993 <member name="M:Newtonsoft.Json.Linq.JConstructor.Load(Newtonsoft.Json.JsonReader)">
5994 <summary>
5995 Loads an <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>.
5996 </summary>
5997 <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/>.</param>
5998 <returns>A <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns>
5999 </member>
6000 <member name="P:Newtonsoft.Json.Linq.JConstructor.ChildrenTokens">
6001 <summary>
6002 Gets the container's children tokens.
6003 </summary>
6004 <value>The container's children tokens.</value>
6005 </member>
6006 <member name="P:Newtonsoft.Json.Linq.JConstructor.Name">
6007 <summary>
6008 Gets or sets the name of this constructor.
6009 </summary>
6010 <value>The constructor name.</value>
6011 </member>
6012 <member name="P:Newtonsoft.Json.Linq.JConstructor.Type">
6013 <summary>
6014 Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
6015 </summary>
6016 <value>The type.</value>
6017 </member>
6018 <member name="P:Newtonsoft.Json.Linq.JConstructor.Item(System.Object)">
6019 <summary>
6020 Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.
6021 </summary>
6022 <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.</value>
6023 </member>
6024 <member name="T:Newtonsoft.Json.Linq.JEnumerable`1">
6025 <summary>
6026 Represents a collection of <see cref="T:Newtonsoft.Json.Linq.JToken"/> objects.
6027 </summary>
6028 <typeparam name="T">The type of token</typeparam>
6029 </member>
6030 <member name="F:Newtonsoft.Json.Linq.JEnumerable`1.Empty">
6031 <summary>
6032 An empty collection of <see cref="T:Newtonsoft.Json.Linq.JToken"/> objects.
6033 </summary>
6034 </member>
6035 <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.#ctor(System.Collections.Generic.IEnumerable{`0})">
6036 <summary>
6037 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> struct.
6038 </summary>
6039 <param name="enumerable">The enumerable.</param>
6040 </member>
6041 <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.GetEnumerator">
6042 <summary>
6043 Returns an enumerator that iterates through the collection.
6044 </summary>
6045 <returns>
6046 A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
6047 </returns>
6048 </member>
6049 <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.System#Collections#IEnumerable#GetEnumerator">
6050 <summary>
6051 Returns an enumerator that iterates through a collection.
6052 </summary>
6053 <returns>
6054 An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
6055 </returns>
6056 </member>
6057 <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.Equals(Newtonsoft.Json.Linq.JEnumerable{`0})">
6058 <summary>
6059 Determines whether the specified <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> is equal to this instance.
6060 </summary>
6061 <param name="other">The <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> to compare with this instance.</param>
6062 <returns>
6063 <c>true</c> if the specified <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> is equal to this instance; otherwise, <c>false</c>.
6064 </returns>
6065 </member>
6066 <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.Equals(System.Object)">
6067 <summary>
6068 Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
6069 </summary>
6070 <param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param>
6071 <returns>
6072 <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
6073 </returns>
6074 </member>
6075 <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.GetHashCode">
6076 <summary>
6077 Returns a hash code for this instance.
6078 </summary>
6079 <returns>
6080 A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
6081 </returns>
6082 </member>
6083 <member name="P:Newtonsoft.Json.Linq.JEnumerable`1.Item(System.Object)">
6084 <summary>
6085 Gets the <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/> with the specified key.
6086 </summary>
6087 <value></value>
6088 </member>
6089 <member name="T:Newtonsoft.Json.Linq.JObject">
6090 <summary>
6091 Represents a JSON object.
6092 </summary>
6093 <example>
6094 <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParse" title="Parsing a JSON Object from Text" />
6095 </example>
6096 </member>
6097 <member name="M:Newtonsoft.Json.Linq.JObject.#ctor">
6098 <summary>
6099 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JObject"/> class.
6100 </summary>
6101 </member>
6102 <member name="M:Newtonsoft.Json.Linq.JObject.#ctor(Newtonsoft.Json.Linq.JObject)">
6103 <summary>
6104 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JObject"/> class from another <see cref="T:Newtonsoft.Json.Linq.JObject"/> object.
6105 </summary>
6106 <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JObject"/> object to copy from.</param>
6107 </member>
6108 <member name="M:Newtonsoft.Json.Linq.JObject.#ctor(System.Object[])">
6109 <summary>
6110 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JObject"/> class with the specified content.
6111 </summary>
6112 <param name="content">The contents of the object.</param>
6113 </member>
6114 <member name="M:Newtonsoft.Json.Linq.JObject.#ctor(System.Object)">
6115 <summary>
6116 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JObject"/> class with the specified content.
6117 </summary>
6118 <param name="content">The contents of the object.</param>
6119 </member>
6120 <member name="M:Newtonsoft.Json.Linq.JObject.Properties">
6121 <summary>
6122 Gets an <see cref="T:System.Collections.Generic.IEnumerable`1"/> of this object's properties.
6123 </summary>
6124 <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of this object's properties.</returns>
6125 </member>
6126 <member name="M:Newtonsoft.Json.Linq.JObject.Property(System.String)">
6127 <summary>
6128 Gets a <see cref="T:Newtonsoft.Json.Linq.JProperty"/> the specified name.
6129 </summary>
6130 <param name="name">The property name.</param>
6131 <returns>A <see cref="T:Newtonsoft.Json.Linq.JProperty"/> with the specified name or null.</returns>
6132 </member>
6133 <member name="M:Newtonsoft.Json.Linq.JObject.PropertyValues">
6134 <summary>
6135 Gets an <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> of this object's property values.
6136 </summary>
6137 <returns>An <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> of this object's property values.</returns>
6138 </member>
6139 <member name="M:Newtonsoft.Json.Linq.JObject.Load(Newtonsoft.Json.JsonReader)">
6140 <summary>
6141 Loads an <see cref="T:Newtonsoft.Json.Linq.JObject"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>.
6142 </summary>
6143 <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JObject"/>.</param>
6144 <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns>
6145 </member>
6146 <member name="M:Newtonsoft.Json.Linq.JObject.Parse(System.String)">
6147 <summary>
6148 Load a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from a string that contains JSON.
6149 </summary>
6150 <param name="json">A <see cref="T:System.String"/> that contains JSON.</param>
6151 <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> populated from the string that contains JSON.</returns>
6152 <example>
6153 <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParse" title="Parsing a JSON Object from Text"/>
6154 </example>
6155 </member>
6156 <member name="M:Newtonsoft.Json.Linq.JObject.FromObject(System.Object)">
6157 <summary>
6158 Creates a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from an object.
6159 </summary>
6160 <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JObject"/>.</param>
6161 <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> with the values of the specified object</returns>
6162 </member>
6163 <member name="M:Newtonsoft.Json.Linq.JObject.FromObject(System.Object,Newtonsoft.Json.JsonSerializer)">
6164 <summary>
6165 Creates a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from an object.
6166 </summary>
6167 <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JObject"/>.</param>
6168 <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used to read the object.</param>
6169 <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> with the values of the specified object</returns>
6170 </member>
6171 <member name="M:Newtonsoft.Json.Linq.JObject.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])">
6172 <summary>
6173 Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>.
6174 </summary>
6175 <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
6176 <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
6177 </member>
6178 <member name="M:Newtonsoft.Json.Linq.JObject.GetValue(System.String)">
6179 <summary>
6180 Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name.
6181 </summary>
6182 <param name="propertyName">Name of the property.</param>
6183 <returns>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name.</returns>
6184 </member>
6185 <member name="M:Newtonsoft.Json.Linq.JObject.GetValue(System.String,System.StringComparison)">
6186 <summary>
6187 Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name.
6188 The exact property name will be searched for first and if no matching property is found then
6189 the <see cref="T:System.StringComparison"/> will be used to match a property.
6190 </summary>
6191 <param name="propertyName">Name of the property.</param>
6192 <param name="comparison">One of the enumeration values that specifies how the strings will be compared.</param>
6193 <returns>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name.</returns>
6194 </member>
6195 <member name="M:Newtonsoft.Json.Linq.JObject.TryGetValue(System.String,System.StringComparison,Newtonsoft.Json.Linq.JToken@)">
6196 <summary>
6197 Tries to get the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name.
6198 The exact property name will be searched for first and if no matching property is found then
6199 the <see cref="T:System.StringComparison"/> will be used to match a property.
6200 </summary>
6201 <param name="propertyName">Name of the property.</param>
6202 <param name="value">The value.</param>
6203 <param name="comparison">One of the enumeration values that specifies how the strings will be compared.</param>
6204 <returns>true if a value was successfully retrieved; otherwise, false.</returns>
6205 </member>
6206 <member name="M:Newtonsoft.Json.Linq.JObject.Add(System.String,Newtonsoft.Json.Linq.JToken)">
6207 <summary>
6208 Adds the specified property name.
6209 </summary>
6210 <param name="propertyName">Name of the property.</param>
6211 <param name="value">The value.</param>
6212 </member>
6213 <member name="M:Newtonsoft.Json.Linq.JObject.Remove(System.String)">
6214 <summary>
6215 Removes the property with the specified name.
6216 </summary>
6217 <param name="propertyName">Name of the property.</param>
6218 <returns>true if item was successfully removed; otherwise, false.</returns>
6219 </member>
6220 <member name="M:Newtonsoft.Json.Linq.JObject.TryGetValue(System.String,Newtonsoft.Json.Linq.JToken@)">
6221 <summary>
6222 Tries the get value.
6223 </summary>
6224 <param name="propertyName">Name of the property.</param>
6225 <param name="value">The value.</param>
6226 <returns>true if a value was successfully retrieved; otherwise, false.</returns>
6227 </member>
6228 <member name="M:Newtonsoft.Json.Linq.JObject.GetEnumerator">
6229 <summary>
6230 Returns an enumerator that iterates through the collection.
6231 </summary>
6232 <returns>
6233 A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
6234 </returns>
6235 </member>
6236 <member name="M:Newtonsoft.Json.Linq.JObject.OnPropertyChanged(System.String)">
6237 <summary>
6238 Raises the <see cref="E:Newtonsoft.Json.Linq.JObject.PropertyChanged"/> event with the provided arguments.
6239 </summary>
6240 <param name="propertyName">Name of the property.</param>
6241 </member>
6242 <member name="M:Newtonsoft.Json.Linq.JObject.OnPropertyChanging(System.String)">
6243 <summary>
6244 Raises the <see cref="E:Newtonsoft.Json.Linq.JObject.PropertyChanging"/> event with the provided arguments.
6245 </summary>
6246 <param name="propertyName">Name of the property.</param>
6247 </member>
6248 <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetProperties">
6249 <summary>
6250 Returns the properties for this instance of a component.
6251 </summary>
6252 <returns>
6253 A <see cref="T:System.ComponentModel.PropertyDescriptorCollection"/> that represents the properties for this component instance.
6254 </returns>
6255 </member>
6256 <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetProperties(System.Attribute[])">
6257 <summary>
6258 Returns the properties for this instance of a component using the attribute array as a filter.
6259 </summary>
6260 <param name="attributes">An array of type <see cref="T:System.Attribute"/> that is used as a filter.</param>
6261 <returns>
6262 A <see cref="T:System.ComponentModel.PropertyDescriptorCollection"/> that represents the filtered properties for this component instance.
6263 </returns>
6264 </member>
6265 <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetAttributes">
6266 <summary>
6267 Returns a collection of custom attributes for this instance of a component.
6268 </summary>
6269 <returns>
6270 An <see cref="T:System.ComponentModel.AttributeCollection"/> containing the attributes for this object.
6271 </returns>
6272 </member>
6273 <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetClassName">
6274 <summary>
6275 Returns the class name of this instance of a component.
6276 </summary>
6277 <returns>
6278 The class name of the object, or null if the class does not have a name.
6279 </returns>
6280 </member>
6281 <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetComponentName">
6282 <summary>
6283 Returns the name of this instance of a component.
6284 </summary>
6285 <returns>
6286 The name of the object, or null if the object does not have a name.
6287 </returns>
6288 </member>
6289 <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetConverter">
6290 <summary>
6291 Returns a type converter for this instance of a component.
6292 </summary>
6293 <returns>
6294 A <see cref="T:System.ComponentModel.TypeConverter"/> that is the converter for this object, or null if there is no <see cref="T:System.ComponentModel.TypeConverter"/> for this object.
6295 </returns>
6296 </member>
6297 <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetDefaultEvent">
6298 <summary>
6299 Returns the default event for this instance of a component.
6300 </summary>
6301 <returns>
6302 An <see cref="T:System.ComponentModel.EventDescriptor"/> that represents the default event for this object, or null if this object does not have events.
6303 </returns>
6304 </member>
6305 <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetDefaultProperty">
6306 <summary>
6307 Returns the default property for this instance of a component.
6308 </summary>
6309 <returns>
6310 A <see cref="T:System.ComponentModel.PropertyDescriptor"/> that represents the default property for this object, or null if this object does not have properties.
6311 </returns>
6312 </member>
6313 <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetEditor(System.Type)">
6314 <summary>
6315 Returns an editor of the specified type for this instance of a component.
6316 </summary>
6317 <param name="editorBaseType">A <see cref="T:System.Type"/> that represents the editor for this object.</param>
6318 <returns>
6319 An <see cref="T:System.Object"/> of the specified type that is the editor for this object, or null if the editor cannot be found.
6320 </returns>
6321 </member>
6322 <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetEvents(System.Attribute[])">
6323 <summary>
6324 Returns the events for this instance of a component using the specified attribute array as a filter.
6325 </summary>
6326 <param name="attributes">An array of type <see cref="T:System.Attribute"/> that is used as a filter.</param>
6327 <returns>
6328 An <see cref="T:System.ComponentModel.EventDescriptorCollection"/> that represents the filtered events for this component instance.
6329 </returns>
6330 </member>
6331 <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetEvents">
6332 <summary>
6333 Returns the events for this instance of a component.
6334 </summary>
6335 <returns>
6336 An <see cref="T:System.ComponentModel.EventDescriptorCollection"/> that represents the events for this component instance.
6337 </returns>
6338 </member>
6339 <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetPropertyOwner(System.ComponentModel.PropertyDescriptor)">
6340 <summary>
6341 Returns an object that contains the property described by the specified property descriptor.
6342 </summary>
6343 <param name="pd">A <see cref="T:System.ComponentModel.PropertyDescriptor"/> that represents the property whose owner is to be found.</param>
6344 <returns>
6345 An <see cref="T:System.Object"/> that represents the owner of the specified property.
6346 </returns>
6347 </member>
6348 <member name="M:Newtonsoft.Json.Linq.JObject.GetMetaObject(System.Linq.Expressions.Expression)">
6349 <summary>
6350 Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object.
6351 </summary>
6352 <param name="parameter">The expression tree representation of the runtime value.</param>
6353 <returns>
6354 The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object.
6355 </returns>
6356 </member>
6357 <member name="P:Newtonsoft.Json.Linq.JObject.ChildrenTokens">
6358 <summary>
6359 Gets the container's children tokens.
6360 </summary>
6361 <value>The container's children tokens.</value>
6362 </member>
6363 <member name="E:Newtonsoft.Json.Linq.JObject.PropertyChanged">
6364 <summary>
6365 Occurs when a property value changes.
6366 </summary>
6367 </member>
6368 <member name="E:Newtonsoft.Json.Linq.JObject.PropertyChanging">
6369 <summary>
6370 Occurs when a property value is changing.
6371 </summary>
6372 </member>
6373 <member name="P:Newtonsoft.Json.Linq.JObject.Type">
6374 <summary>
6375 Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
6376 </summary>
6377 <value>The type.</value>
6378 </member>
6379 <member name="P:Newtonsoft.Json.Linq.JObject.Item(System.Object)">
6380 <summary>
6381 Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.
6382 </summary>
6383 <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.</value>
6384 </member>
6385 <member name="P:Newtonsoft.Json.Linq.JObject.Item(System.String)">
6386 <summary>
6387 Gets or sets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name.
6388 </summary>
6389 <value></value>
6390 </member>
6391 <member name="T:Newtonsoft.Json.Linq.JArray">
6392 <summary>
6393 Represents a JSON array.
6394 </summary>
6395 <example>
6396 <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParseArray" title="Parsing a JSON Array from Text" />
6397 </example>
6398 </member>
6399 <member name="M:Newtonsoft.Json.Linq.JArray.#ctor">
6400 <summary>
6401 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JArray"/> class.
6402 </summary>
6403 </member>
6404 <member name="M:Newtonsoft.Json.Linq.JArray.#ctor(Newtonsoft.Json.Linq.JArray)">
6405 <summary>
6406 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JArray"/> class from another <see cref="T:Newtonsoft.Json.Linq.JArray"/> object.
6407 </summary>
6408 <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JArray"/> object to copy from.</param>
6409 </member>
6410 <member name="M:Newtonsoft.Json.Linq.JArray.#ctor(System.Object[])">
6411 <summary>
6412 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JArray"/> class with the specified content.
6413 </summary>
6414 <param name="content">The contents of the array.</param>
6415 </member>
6416 <member name="M:Newtonsoft.Json.Linq.JArray.#ctor(System.Object)">
6417 <summary>
6418 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JArray"/> class with the specified content.
6419 </summary>
6420 <param name="content">The contents of the array.</param>
6421 </member>
6422 <member name="M:Newtonsoft.Json.Linq.JArray.Load(Newtonsoft.Json.JsonReader)">
6423 <summary>
6424 Loads an <see cref="T:Newtonsoft.Json.Linq.JArray"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>.
6425 </summary>
6426 <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param>
6427 <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns>
6428 </member>
6429 <member name="M:Newtonsoft.Json.Linq.JArray.Parse(System.String)">
6430 <summary>
6431 Load a <see cref="T:Newtonsoft.Json.Linq.JArray"/> from a string that contains JSON.
6432 </summary>
6433 <param name="json">A <see cref="T:System.String"/> that contains JSON.</param>
6434 <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> populated from the string that contains JSON.</returns>
6435 <example>
6436 <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParseArray" title="Parsing a JSON Array from Text"/>
6437 </example>
6438 </member>
6439 <member name="M:Newtonsoft.Json.Linq.JArray.FromObject(System.Object)">
6440 <summary>
6441 Creates a <see cref="T:Newtonsoft.Json.Linq.JArray"/> from an object.
6442 </summary>
6443 <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param>
6444 <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> with the values of the specified object</returns>
6445 </member>
6446 <member name="M:Newtonsoft.Json.Linq.JArray.FromObject(System.Object,Newtonsoft.Json.JsonSerializer)">
6447 <summary>
6448 Creates a <see cref="T:Newtonsoft.Json.Linq.JArray"/> from an object.
6449 </summary>
6450 <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param>
6451 <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used to read the object.</param>
6452 <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> with the values of the specified object</returns>
6453 </member>
6454 <member name="M:Newtonsoft.Json.Linq.JArray.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])">
6455 <summary>
6456 Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>.
6457 </summary>
6458 <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
6459 <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
6460 </member>
6461 <member name="M:Newtonsoft.Json.Linq.JArray.IndexOf(Newtonsoft.Json.Linq.JToken)">
6462 <summary>
6463 Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1"/>.
6464 </summary>
6465 <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1"/>.</param>
6466 <returns>
6467 The index of <paramref name="item"/> if found in the list; otherwise, -1.
6468 </returns>
6469 </member>
6470 <member name="M:Newtonsoft.Json.Linq.JArray.Insert(System.Int32,Newtonsoft.Json.Linq.JToken)">
6471 <summary>
6472 Inserts an item to the <see cref="T:System.Collections.Generic.IList`1"/> at the specified index.
6473 </summary>
6474 <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param>
6475 <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1"/>.</param>
6476 <exception cref="T:System.ArgumentOutOfRangeException">
6477 <paramref name="index"/> is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"/>.</exception>
6478 <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IList`1"/> is read-only.</exception>
6479 </member>
6480 <member name="M:Newtonsoft.Json.Linq.JArray.RemoveAt(System.Int32)">
6481 <summary>
6482 Removes the <see cref="T:System.Collections.Generic.IList`1"/> item at the specified index.
6483 </summary>
6484 <param name="index">The zero-based index of the item to remove.</param>
6485 <exception cref="T:System.ArgumentOutOfRangeException">
6486 <paramref name="index"/> is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"/>.</exception>
6487 <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IList`1"/> is read-only.</exception>
6488 </member>
6489 <member name="M:Newtonsoft.Json.Linq.JArray.GetEnumerator">
6490 <summary>
6491 Returns an enumerator that iterates through the collection.
6492 </summary>
6493 <returns>
6494 A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.
6495 </returns>
6496 </member>
6497 <member name="M:Newtonsoft.Json.Linq.JArray.Add(Newtonsoft.Json.Linq.JToken)">
6498 <summary>
6499 Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
6500 </summary>
6501 <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
6502 <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
6503 </member>
6504 <member name="M:Newtonsoft.Json.Linq.JArray.Clear">
6505 <summary>
6506 Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
6507 </summary>
6508 <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
6509 </member>
6510 <member name="M:Newtonsoft.Json.Linq.JArray.Contains(Newtonsoft.Json.Linq.JToken)">
6511 <summary>
6512 Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
6513 </summary>
6514 <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
6515 <returns>
6516 true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
6517 </returns>
6518 </member>
6519 <member name="M:Newtonsoft.Json.Linq.JArray.CopyTo(Newtonsoft.Json.Linq.JToken[],System.Int32)">
6520 <summary>
6521 Copies to.
6522 </summary>
6523 <param name="array">The array.</param>
6524 <param name="arrayIndex">Index of the array.</param>
6525 </member>
6526 <member name="M:Newtonsoft.Json.Linq.JArray.Remove(Newtonsoft.Json.Linq.JToken)">
6527 <summary>
6528 Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
6529 </summary>
6530 <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
6531 <returns>
6532 true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
6533 </returns>
6534 <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
6535 </member>
6536 <member name="P:Newtonsoft.Json.Linq.JArray.ChildrenTokens">
6537 <summary>
6538 Gets the container's children tokens.
6539 </summary>
6540 <value>The container's children tokens.</value>
6541 </member>
6542 <member name="P:Newtonsoft.Json.Linq.JArray.Type">
6543 <summary>
6544 Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
6545 </summary>
6546 <value>The type.</value>
6547 </member>
6548 <member name="P:Newtonsoft.Json.Linq.JArray.Item(System.Object)">
6549 <summary>
6550 Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.
6551 </summary>
6552 <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.</value>
6553 </member>
6554 <member name="P:Newtonsoft.Json.Linq.JArray.Item(System.Int32)">
6555 <summary>
6556 Gets or sets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> at the specified index.
6557 </summary>
6558 <value></value>
6559 </member>
6560 <member name="P:Newtonsoft.Json.Linq.JArray.IsReadOnly">
6561 <summary>
6562 Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only.
6563 </summary>
6564 <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.</returns>
6565 </member>
6566 <member name="T:Newtonsoft.Json.Linq.JTokenReader">
6567 <summary>
6568 Represents a reader that provides fast, non-cached, forward-only access to serialized Json data.
6569 </summary>
6570 </member>
6571 <member name="M:Newtonsoft.Json.Linq.JTokenReader.#ctor(Newtonsoft.Json.Linq.JToken)">
6572 <summary>
6573 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JTokenReader"/> class.
6574 </summary>
6575 <param name="token">The token to read from.</param>
6576 </member>
6577 <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsBytes">
6578 <summary>
6579 Reads the next JSON token from the stream as a <see cref="T:Byte[]"/>.
6580 </summary>
6581 <returns>
6582 A <see cref="T:Byte[]"/> or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array.
6583 </returns>
6584 </member>
6585 <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsDecimal">
6586 <summary>
6587 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
6588 </summary>
6589 <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns>
6590 </member>
6591 <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsInt32">
6592 <summary>
6593 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
6594 </summary>
6595 <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns>
6596 </member>
6597 <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsString">
6598 <summary>
6599 Reads the next JSON token from the stream as a <see cref="T:System.String"/>.
6600 </summary>
6601 <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns>
6602 </member>
6603 <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsDateTime">
6604 <summary>
6605 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
6606 </summary>
6607 <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns>
6608 </member>
6609 <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsDateTimeOffset">
6610 <summary>
6611 Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>.
6612 </summary>
6613 <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns>
6614 </member>
6615 <member name="M:Newtonsoft.Json.Linq.JTokenReader.Read">
6616 <summary>
6617 Reads the next JSON token from the stream.
6618 </summary>
6619 <returns>
6620 true if the next token was read successfully; false if there are no more tokens to read.
6621 </returns>
6622 </member>
6623 <member name="P:Newtonsoft.Json.Linq.JTokenReader.Path">
6624 <summary>
6625 Gets the path of the current JSON token.
6626 </summary>
6627 </member>
6628 <member name="T:Newtonsoft.Json.Linq.JTokenWriter">
6629 <summary>
6630 Represents a writer that provides a fast, non-cached, forward-only way of generating Json data.
6631 </summary>
6632 </member>
6633 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.#ctor(Newtonsoft.Json.Linq.JContainer)">
6634 <summary>
6635 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JTokenWriter"/> class writing to the given <see cref="T:Newtonsoft.Json.Linq.JContainer"/>.
6636 </summary>
6637 <param name="container">The container being written to.</param>
6638 </member>
6639 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.#ctor">
6640 <summary>
6641 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JTokenWriter"/> class.
6642 </summary>
6643 </member>
6644 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.Flush">
6645 <summary>
6646 Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream.
6647 </summary>
6648 </member>
6649 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.Close">
6650 <summary>
6651 Closes this stream and the underlying stream.
6652 </summary>
6653 </member>
6654 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteStartObject">
6655 <summary>
6656 Writes the beginning of a Json object.
6657 </summary>
6658 </member>
6659 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteStartArray">
6660 <summary>
6661 Writes the beginning of a Json array.
6662 </summary>
6663 </member>
6664 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteStartConstructor(System.String)">
6665 <summary>
6666 Writes the start of a constructor with the given name.
6667 </summary>
6668 <param name="name">The name of the constructor.</param>
6669 </member>
6670 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteEnd(Newtonsoft.Json.JsonToken)">
6671 <summary>
6672 Writes the end.
6673 </summary>
6674 <param name="token">The token.</param>
6675 </member>
6676 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WritePropertyName(System.String)">
6677 <summary>
6678 Writes the property name of a name/value pair on a Json object.
6679 </summary>
6680 <param name="name">The name of the property.</param>
6681 </member>
6682 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Object)">
6683 <summary>
6684 Writes a <see cref="T:System.Object"/> value.
6685 An error will raised if the value cannot be written as a single JSON token.
6686 </summary>
6687 <param name="value">The <see cref="T:System.Object"/> value to write.</param>
6688 </member>
6689 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteNull">
6690 <summary>
6691 Writes a null value.
6692 </summary>
6693 </member>
6694 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteUndefined">
6695 <summary>
6696 Writes an undefined value.
6697 </summary>
6698 </member>
6699 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteRaw(System.String)">
6700 <summary>
6701 Writes raw JSON.
6702 </summary>
6703 <param name="json">The raw JSON to write.</param>
6704 </member>
6705 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteComment(System.String)">
6706 <summary>
6707 Writes out a comment <code>/*...*/</code> containing the specified text.
6708 </summary>
6709 <param name="text">Text to place inside the comment.</param>
6710 </member>
6711 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.String)">
6712 <summary>
6713 Writes a <see cref="T:System.String"/> value.
6714 </summary>
6715 <param name="value">The <see cref="T:System.String"/> value to write.</param>
6716 </member>
6717 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Int32)">
6718 <summary>
6719 Writes a <see cref="T:System.Int32"/> value.
6720 </summary>
6721 <param name="value">The <see cref="T:System.Int32"/> value to write.</param>
6722 </member>
6723 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.UInt32)">
6724 <summary>
6725 Writes a <see cref="T:System.UInt32"/> value.
6726 </summary>
6727 <param name="value">The <see cref="T:System.UInt32"/> value to write.</param>
6728 </member>
6729 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Int64)">
6730 <summary>
6731 Writes a <see cref="T:System.Int64"/> value.
6732 </summary>
6733 <param name="value">The <see cref="T:System.Int64"/> value to write.</param>
6734 </member>
6735 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.UInt64)">
6736 <summary>
6737 Writes a <see cref="T:System.UInt64"/> value.
6738 </summary>
6739 <param name="value">The <see cref="T:System.UInt64"/> value to write.</param>
6740 </member>
6741 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Single)">
6742 <summary>
6743 Writes a <see cref="T:System.Single"/> value.
6744 </summary>
6745 <param name="value">The <see cref="T:System.Single"/> value to write.</param>
6746 </member>
6747 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Double)">
6748 <summary>
6749 Writes a <see cref="T:System.Double"/> value.
6750 </summary>
6751 <param name="value">The <see cref="T:System.Double"/> value to write.</param>
6752 </member>
6753 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Boolean)">
6754 <summary>
6755 Writes a <see cref="T:System.Boolean"/> value.
6756 </summary>
6757 <param name="value">The <see cref="T:System.Boolean"/> value to write.</param>
6758 </member>
6759 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Int16)">
6760 <summary>
6761 Writes a <see cref="T:System.Int16"/> value.
6762 </summary>
6763 <param name="value">The <see cref="T:System.Int16"/> value to write.</param>
6764 </member>
6765 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.UInt16)">
6766 <summary>
6767 Writes a <see cref="T:System.UInt16"/> value.
6768 </summary>
6769 <param name="value">The <see cref="T:System.UInt16"/> value to write.</param>
6770 </member>
6771 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Char)">
6772 <summary>
6773 Writes a <see cref="T:System.Char"/> value.
6774 </summary>
6775 <param name="value">The <see cref="T:System.Char"/> value to write.</param>
6776 </member>
6777 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Byte)">
6778 <summary>
6779 Writes a <see cref="T:System.Byte"/> value.
6780 </summary>
6781 <param name="value">The <see cref="T:System.Byte"/> value to write.</param>
6782 </member>
6783 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.SByte)">
6784 <summary>
6785 Writes a <see cref="T:System.SByte"/> value.
6786 </summary>
6787 <param name="value">The <see cref="T:System.SByte"/> value to write.</param>
6788 </member>
6789 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Decimal)">
6790 <summary>
6791 Writes a <see cref="T:System.Decimal"/> value.
6792 </summary>
6793 <param name="value">The <see cref="T:System.Decimal"/> value to write.</param>
6794 </member>
6795 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.DateTime)">
6796 <summary>
6797 Writes a <see cref="T:System.DateTime"/> value.
6798 </summary>
6799 <param name="value">The <see cref="T:System.DateTime"/> value to write.</param>
6800 </member>
6801 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.DateTimeOffset)">
6802 <summary>
6803 Writes a <see cref="T:System.DateTimeOffset"/> value.
6804 </summary>
6805 <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param>
6806 </member>
6807 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Byte[])">
6808 <summary>
6809 Writes a <see cref="T:Byte[]"/> value.
6810 </summary>
6811 <param name="value">The <see cref="T:Byte[]"/> value to write.</param>
6812 </member>
6813 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.TimeSpan)">
6814 <summary>
6815 Writes a <see cref="T:System.TimeSpan"/> value.
6816 </summary>
6817 <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param>
6818 </member>
6819 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Guid)">
6820 <summary>
6821 Writes a <see cref="T:System.Guid"/> value.
6822 </summary>
6823 <param name="value">The <see cref="T:System.Guid"/> value to write.</param>
6824 </member>
6825 <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Uri)">
6826 <summary>
6827 Writes a <see cref="T:System.Uri"/> value.
6828 </summary>
6829 <param name="value">The <see cref="T:System.Uri"/> value to write.</param>
6830 </member>
6831 <member name="P:Newtonsoft.Json.Linq.JTokenWriter.Token">
6832 <summary>
6833 Gets the token being writen.
6834 </summary>
6835 <value>The token being writen.</value>
6836 </member>
6837 <member name="T:Newtonsoft.Json.Linq.JProperty">
6838 <summary>
6839 Represents a JSON property.
6840 </summary>
6841 </member>
6842 <member name="M:Newtonsoft.Json.Linq.JProperty.#ctor(Newtonsoft.Json.Linq.JProperty)">
6843 <summary>
6844 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/> class from another <see cref="T:Newtonsoft.Json.Linq.JProperty"/> object.
6845 </summary>
6846 <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JProperty"/> object to copy from.</param>
6847 </member>
6848 <member name="M:Newtonsoft.Json.Linq.JProperty.#ctor(System.String,System.Object[])">
6849 <summary>
6850 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/> class.
6851 </summary>
6852 <param name="name">The property name.</param>
6853 <param name="content">The property content.</param>
6854 </member>
6855 <member name="M:Newtonsoft.Json.Linq.JProperty.#ctor(System.String,System.Object)">
6856 <summary>
6857 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/> class.
6858 </summary>
6859 <param name="name">The property name.</param>
6860 <param name="content">The property content.</param>
6861 </member>
6862 <member name="M:Newtonsoft.Json.Linq.JProperty.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])">
6863 <summary>
6864 Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>.
6865 </summary>
6866 <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
6867 <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param>
6868 </member>
6869 <member name="M:Newtonsoft.Json.Linq.JProperty.Load(Newtonsoft.Json.JsonReader)">
6870 <summary>
6871 Loads an <see cref="T:Newtonsoft.Json.Linq.JProperty"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>.
6872 </summary>
6873 <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/>.</param>
6874 <returns>A <see cref="T:Newtonsoft.Json.Linq.JProperty"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns>
6875 </member>
6876 <member name="P:Newtonsoft.Json.Linq.JProperty.ChildrenTokens">
6877 <summary>
6878 Gets the container's children tokens.
6879 </summary>
6880 <value>The container's children tokens.</value>
6881 </member>
6882 <member name="P:Newtonsoft.Json.Linq.JProperty.Name">
6883 <summary>
6884 Gets the property name.
6885 </summary>
6886 <value>The property name.</value>
6887 </member>
6888 <member name="P:Newtonsoft.Json.Linq.JProperty.Value">
6889 <summary>
6890 Gets or sets the property value.
6891 </summary>
6892 <value>The property value.</value>
6893 </member>
6894 <member name="P:Newtonsoft.Json.Linq.JProperty.Type">
6895 <summary>
6896 Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
6897 </summary>
6898 <value>The type.</value>
6899 </member>
6900 <member name="T:Newtonsoft.Json.Linq.JTokenType">
6901 <summary>
6902 Specifies the type of token.
6903 </summary>
6904 </member>
6905 <member name="F:Newtonsoft.Json.Linq.JTokenType.None">
6906 <summary>
6907 No token type has been set.
6908 </summary>
6909 </member>
6910 <member name="F:Newtonsoft.Json.Linq.JTokenType.Object">
6911 <summary>
6912 A JSON object.
6913 </summary>
6914 </member>
6915 <member name="F:Newtonsoft.Json.Linq.JTokenType.Array">
6916 <summary>
6917 A JSON array.
6918 </summary>
6919 </member>
6920 <member name="F:Newtonsoft.Json.Linq.JTokenType.Constructor">
6921 <summary>
6922 A JSON constructor.
6923 </summary>
6924 </member>
6925 <member name="F:Newtonsoft.Json.Linq.JTokenType.Property">
6926 <summary>
6927 A JSON object property.
6928 </summary>
6929 </member>
6930 <member name="F:Newtonsoft.Json.Linq.JTokenType.Comment">
6931 <summary>
6932 A comment.
6933 </summary>
6934 </member>
6935 <member name="F:Newtonsoft.Json.Linq.JTokenType.Integer">
6936 <summary>
6937 An integer value.
6938 </summary>
6939 </member>
6940 <member name="F:Newtonsoft.Json.Linq.JTokenType.Float">
6941 <summary>
6942 A float value.
6943 </summary>
6944 </member>
6945 <member name="F:Newtonsoft.Json.Linq.JTokenType.String">
6946 <summary>
6947 A string value.
6948 </summary>
6949 </member>
6950 <member name="F:Newtonsoft.Json.Linq.JTokenType.Boolean">
6951 <summary>
6952 A boolean value.
6953 </summary>
6954 </member>
6955 <member name="F:Newtonsoft.Json.Linq.JTokenType.Null">
6956 <summary>
6957 A null value.
6958 </summary>
6959 </member>
6960 <member name="F:Newtonsoft.Json.Linq.JTokenType.Undefined">
6961 <summary>
6962 An undefined value.
6963 </summary>
6964 </member>
6965 <member name="F:Newtonsoft.Json.Linq.JTokenType.Date">
6966 <summary>
6967 A date value.
6968 </summary>
6969 </member>
6970 <member name="F:Newtonsoft.Json.Linq.JTokenType.Raw">
6971 <summary>
6972 A raw JSON value.
6973 </summary>
6974 </member>
6975 <member name="F:Newtonsoft.Json.Linq.JTokenType.Bytes">
6976 <summary>
6977 A collection of bytes value.
6978 </summary>
6979 </member>
6980 <member name="F:Newtonsoft.Json.Linq.JTokenType.Guid">
6981 <summary>
6982 A Guid value.
6983 </summary>
6984 </member>
6985 <member name="F:Newtonsoft.Json.Linq.JTokenType.Uri">
6986 <summary>
6987 A Uri value.
6988 </summary>
6989 </member>
6990 <member name="F:Newtonsoft.Json.Linq.JTokenType.TimeSpan">
6991 <summary>
6992 A TimeSpan value.
6993 </summary>
6994 </member>
6995 <member name="T:Newtonsoft.Json.Schema.Extensions">
6996 <summary>
6997 Contains the JSON schema extension methods.
6998 </summary>
6999 </member>
7000 <member name="M:Newtonsoft.Json.Schema.Extensions.IsValid(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema)">
7001 <summary>
7002 Determines whether the <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid.
7003 </summary>
7004 <param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param>
7005 <param name="schema">The schema to test with.</param>
7006 <returns>
7007 <c>true</c> if the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid; otherwise, <c>false</c>.
7008 </returns>
7009 </member>
7010 <member name="M:Newtonsoft.Json.Schema.Extensions.IsValid(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema,System.Collections.Generic.IList{System.String}@)">
7011 <summary>
7012 Determines whether the <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid.
7013 </summary>
7014 <param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param>
7015 <param name="schema">The schema to test with.</param>
7016 <param name="errorMessages">When this method returns, contains any error messages generated while validating. </param>
7017 <returns>
7018 <c>true</c> if the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid; otherwise, <c>false</c>.
7019 </returns>
7020 </member>
7021 <member name="M:Newtonsoft.Json.Schema.Extensions.Validate(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema)">
7022 <summary>
7023 Validates the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
7024 </summary>
7025 <param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param>
7026 <param name="schema">The schema to test with.</param>
7027 </member>
7028 <member name="M:Newtonsoft.Json.Schema.Extensions.Validate(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema,Newtonsoft.Json.Schema.ValidationEventHandler)">
7029 <summary>
7030 Validates the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/>.
7031 </summary>
7032 <param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param>
7033 <param name="schema">The schema to test with.</param>
7034 <param name="validationEventHandler">The validation event handler.</param>
7035 </member>
7036 <member name="T:Newtonsoft.Json.Schema.JsonSchemaException">
7037 <summary>
7038 Returns detailed information about the schema exception.
7039 </summary>
7040 </member>
7041 <member name="M:Newtonsoft.Json.Schema.JsonSchemaException.#ctor">
7042 <summary>
7043 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> class.
7044 </summary>
7045 </member>
7046 <member name="M:Newtonsoft.Json.Schema.JsonSchemaException.#ctor(System.String)">
7047 <summary>
7048 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> class
7049 with a specified error message.
7050 </summary>
7051 <param name="message">The error message that explains the reason for the exception.</param>
7052 </member>
7053 <member name="M:Newtonsoft.Json.Schema.JsonSchemaException.#ctor(System.String,System.Exception)">
7054 <summary>
7055 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> class
7056 with a specified error message and a reference to the inner exception that is the cause of this exception.
7057 </summary>
7058 <param name="message">The error message that explains the reason for the exception.</param>
7059 <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param>
7060 </member>
7061 <member name="M:Newtonsoft.Json.Schema.JsonSchemaException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
7062 <summary>
7063 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> class.
7064 </summary>
7065 <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param>
7066 <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param>
7067 <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception>
7068 <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception>
7069 </member>
7070 <member name="P:Newtonsoft.Json.Schema.JsonSchemaException.LineNumber">
7071 <summary>
7072 Gets the line number indicating where the error occurred.
7073 </summary>
7074 <value>The line number indicating where the error occurred.</value>
7075 </member>
7076 <member name="P:Newtonsoft.Json.Schema.JsonSchemaException.LinePosition">
7077 <summary>
7078 Gets the line position indicating where the error occurred.
7079 </summary>
7080 <value>The line position indicating where the error occurred.</value>
7081 </member>
7082 <member name="P:Newtonsoft.Json.Schema.JsonSchemaException.Path">
7083 <summary>
7084 Gets the path to the JSON where the error occurred.
7085 </summary>
7086 <value>The path to the JSON where the error occurred.</value>
7087 </member>
7088 <member name="T:Newtonsoft.Json.Schema.JsonSchemaResolver">
7089 <summary>
7090 Resolves <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from an id.
7091 </summary>
7092 </member>
7093 <member name="M:Newtonsoft.Json.Schema.JsonSchemaResolver.#ctor">
7094 <summary>
7095 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/> class.
7096 </summary>
7097 </member>
7098 <member name="M:Newtonsoft.Json.Schema.JsonSchemaResolver.GetSchema(System.String)">
7099 <summary>
7100 Gets a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> for the specified reference.
7101 </summary>
7102 <param name="reference">The id.</param>
7103 <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> for the specified reference.</returns>
7104 </member>
7105 <member name="P:Newtonsoft.Json.Schema.JsonSchemaResolver.LoadedSchemas">
7106 <summary>
7107 Gets or sets the loaded schemas.
7108 </summary>
7109 <value>The loaded schemas.</value>
7110 </member>
7111 <member name="T:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling">
7112 <summary>
7113 Specifies undefined schema Id handling options for the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaGenerator"/>.
7114 </summary>
7115 </member>
7116 <member name="F:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling.None">
7117 <summary>
7118 Do not infer a schema Id.
7119 </summary>
7120 </member>
7121 <member name="F:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling.UseTypeName">
7122 <summary>
7123 Use the .NET type name as the schema Id.
7124 </summary>
7125 </member>
7126 <member name="F:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling.UseAssemblyQualifiedName">
7127 <summary>
7128 Use the assembly qualified .NET type name as the schema Id.
7129 </summary>
7130 </member>
7131 <member name="T:Newtonsoft.Json.Schema.ValidationEventArgs">
7132 <summary>
7133 Returns detailed information related to the <see cref="T:Newtonsoft.Json.Schema.ValidationEventHandler"/>.
7134 </summary>
7135 </member>
7136 <member name="P:Newtonsoft.Json.Schema.ValidationEventArgs.Exception">
7137 <summary>
7138 Gets the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> associated with the validation error.
7139 </summary>
7140 <value>The JsonSchemaException associated with the validation error.</value>
7141 </member>
7142 <member name="P:Newtonsoft.Json.Schema.ValidationEventArgs.Path">
7143 <summary>
7144 Gets the path of the JSON location where the validation error occurred.
7145 </summary>
7146 <value>The path of the JSON location where the validation error occurred.</value>
7147 </member>
7148 <member name="P:Newtonsoft.Json.Schema.ValidationEventArgs.Message">
7149 <summary>
7150 Gets the text description corresponding to the validation error.
7151 </summary>
7152 <value>The text description.</value>
7153 </member>
7154 <member name="T:Newtonsoft.Json.Schema.ValidationEventHandler">
7155 <summary>
7156 Represents the callback method that will handle JSON schema validation events and the <see cref="T:Newtonsoft.Json.Schema.ValidationEventArgs"/>.
7157 </summary>
7158 </member>
7159 <member name="T:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver">
7160 <summary>
7161 Resolves member mappings for a type, camel casing property names.
7162 </summary>
7163 </member>
7164 <member name="T:Newtonsoft.Json.Serialization.DefaultContractResolver">
7165 <summary>
7166 Used by <see cref="T:Newtonsoft.Json.JsonSerializer"/> to resolves a <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/> for a given <see cref="T:System.Type"/>.
7167 </summary>
7168 </member>
7169 <member name="T:Newtonsoft.Json.Serialization.IContractResolver">
7170 <summary>
7171 Used by <see cref="T:Newtonsoft.Json.JsonSerializer"/> to resolves a <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/> for a given <see cref="T:System.Type"/>.
7172 </summary>
7173 <example>
7174 <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeContractResolverObject" title="IContractResolver Class"/>
7175 <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeContractResolverExample" title="IContractResolver Example"/>
7176 </example>
7177 </member>
7178 <member name="M:Newtonsoft.Json.Serialization.IContractResolver.ResolveContract(System.Type)">
7179 <summary>
7180 Resolves the contract for a given type.
7181 </summary>
7182 <param name="type">The type to resolve a contract for.</param>
7183 <returns>The contract for a given type.</returns>
7184 </member>
7185 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.#ctor">
7186 <summary>
7187 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> class.
7188 </summary>
7189 </member>
7190 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.#ctor(System.Boolean)">
7191 <summary>
7192 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> class.
7193 </summary>
7194 <param name="shareCache">
7195 If set to <c>true</c> the <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> will use a cached shared with other resolvers of the same type.
7196 Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only
7197 happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different
7198 results. When set to false it is highly recommended to reuse <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> instances with the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
7199 </param>
7200 </member>
7201 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(System.Type)">
7202 <summary>
7203 Resolves the contract for a given type.
7204 </summary>
7205 <param name="type">The type to resolve a contract for.</param>
7206 <returns>The contract for a given type.</returns>
7207 </member>
7208 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.GetSerializableMembers(System.Type)">
7209 <summary>
7210 Gets the serializable members for the type.
7211 </summary>
7212 <param name="objectType">The type to get serializable members for.</param>
7213 <returns>The serializable members for the type.</returns>
7214 </member>
7215 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateObjectContract(System.Type)">
7216 <summary>
7217 Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonObjectContract"/> for the given type.
7218 </summary>
7219 <param name="objectType">Type of the object.</param>
7220 <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonObjectContract"/> for the given type.</returns>
7221 </member>
7222 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateConstructorParameters(System.Reflection.ConstructorInfo,Newtonsoft.Json.Serialization.JsonPropertyCollection)">
7223 <summary>
7224 Creates the constructor parameters.
7225 </summary>
7226 <param name="constructor">The constructor to create properties for.</param>
7227 <param name="memberProperties">The type's member properties.</param>
7228 <returns>Properties for the given <see cref="T:System.Reflection.ConstructorInfo"/>.</returns>
7229 </member>
7230 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreatePropertyFromConstructorParameter(Newtonsoft.Json.Serialization.JsonProperty,System.Reflection.ParameterInfo)">
7231 <summary>
7232 Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.ParameterInfo"/>.
7233 </summary>
7234 <param name="matchingMemberProperty">The matching member property.</param>
7235 <param name="parameterInfo">The constructor parameter.</param>
7236 <returns>A created <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.ParameterInfo"/>.</returns>
7237 </member>
7238 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContractConverter(System.Type)">
7239 <summary>
7240 Resolves the default <see cref="T:Newtonsoft.Json.JsonConverter"/> for the contract.
7241 </summary>
7242 <param name="objectType">Type of the object.</param>
7243 <returns>The contract's default <see cref="T:Newtonsoft.Json.JsonConverter"/>.</returns>
7244 </member>
7245 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateDictionaryContract(System.Type)">
7246 <summary>
7247 Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonDictionaryContract"/> for the given type.
7248 </summary>
7249 <param name="objectType">Type of the object.</param>
7250 <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonDictionaryContract"/> for the given type.</returns>
7251 </member>
7252 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateArrayContract(System.Type)">
7253 <summary>
7254 Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonArrayContract"/> for the given type.
7255 </summary>
7256 <param name="objectType">Type of the object.</param>
7257 <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonArrayContract"/> for the given type.</returns>
7258 </member>
7259 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreatePrimitiveContract(System.Type)">
7260 <summary>
7261 Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonPrimitiveContract"/> for the given type.
7262 </summary>
7263 <param name="objectType">Type of the object.</param>
7264 <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonPrimitiveContract"/> for the given type.</returns>
7265 </member>
7266 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateLinqContract(System.Type)">
7267 <summary>
7268 Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonLinqContract"/> for the given type.
7269 </summary>
7270 <param name="objectType">Type of the object.</param>
7271 <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonLinqContract"/> for the given type.</returns>
7272 </member>
7273 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateISerializableContract(System.Type)">
7274 <summary>
7275 Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonISerializableContract"/> for the given type.
7276 </summary>
7277 <param name="objectType">Type of the object.</param>
7278 <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonISerializableContract"/> for the given type.</returns>
7279 </member>
7280 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateDynamicContract(System.Type)">
7281 <summary>
7282 Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonDynamicContract"/> for the given type.
7283 </summary>
7284 <param name="objectType">Type of the object.</param>
7285 <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonDynamicContract"/> for the given type.</returns>
7286 </member>
7287 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateStringContract(System.Type)">
7288 <summary>
7289 Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonStringContract"/> for the given type.
7290 </summary>
7291 <param name="objectType">Type of the object.</param>
7292 <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonStringContract"/> for the given type.</returns>
7293 </member>
7294 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract(System.Type)">
7295 <summary>
7296 Determines which contract type is created for the given type.
7297 </summary>
7298 <param name="objectType">Type of the object.</param>
7299 <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/> for the given type.</returns>
7300 </member>
7301 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateProperties(System.Type,Newtonsoft.Json.MemberSerialization)">
7302 <summary>
7303 Creates properties for the given <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/>.
7304 </summary>
7305 <param name="type">The type to create properties for.</param>
7306 /// <param name="memberSerialization">The member serialization mode for the type.</param>
7307 <returns>Properties for the given <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/>.</returns>
7308 </member>
7309 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateMemberValueProvider(System.Reflection.MemberInfo)">
7310 <summary>
7311 Creates the <see cref="T:Newtonsoft.Json.Serialization.IValueProvider"/> used by the serializer to get and set values from a member.
7312 </summary>
7313 <param name="member">The member.</param>
7314 <returns>The <see cref="T:Newtonsoft.Json.Serialization.IValueProvider"/> used by the serializer to get and set values from a member.</returns>
7315 </member>
7316 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateProperty(System.Reflection.MemberInfo,Newtonsoft.Json.MemberSerialization)">
7317 <summary>
7318 Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.MemberInfo"/>.
7319 </summary>
7320 <param name="memberSerialization">The member's parent <see cref="T:Newtonsoft.Json.MemberSerialization"/>.</param>
7321 <param name="member">The member to create a <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for.</param>
7322 <returns>A created <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.MemberInfo"/>.</returns>
7323 </member>
7324 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolvePropertyName(System.String)">
7325 <summary>
7326 Resolves the name of the property.
7327 </summary>
7328 <param name="propertyName">Name of the property.</param>
7329 <returns>Name of the property.</returns>
7330 </member>
7331 <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.GetResolvedPropertyName(System.String)">
7332 <summary>
7333 Gets the resolved name of the property.
7334 </summary>
7335 <param name="propertyName">Name of the property.</param>
7336 <returns>Name of the property.</returns>
7337 </member>
7338 <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.DynamicCodeGeneration">
7339 <summary>
7340 Gets a value indicating whether members are being get and set using dynamic code generation.
7341 This value is determined by the runtime permissions available.
7342 </summary>
7343 <value>
7344 <c>true</c> if using dynamic code generation; otherwise, <c>false</c>.
7345 </value>
7346 </member>
7347 <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.DefaultMembersSearchFlags">
7348 <summary>
7349 Gets or sets the default members search flags.
7350 </summary>
7351 <value>The default members search flags.</value>
7352 </member>
7353 <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.SerializeCompilerGeneratedMembers">
7354 <summary>
7355 Gets or sets a value indicating whether compiler generated members should be serialized.
7356 </summary>
7357 <value>
7358 <c>true</c> if serialized compiler generated members; otherwise, <c>false</c>.
7359 </value>
7360 </member>
7361 <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.IgnoreSerializableInterface">
7362 <summary>
7363 Gets or sets a value indicating whether to ignore the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface when serializing and deserializing types.
7364 </summary>
7365 <value>
7366 <c>true</c> if the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface will be ignored when serializing and deserializing types; otherwise, <c>false</c>.
7367 </value>
7368 </member>
7369 <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.IgnoreSerializableAttribute">
7370 <summary>
7371 Gets or sets a value indicating whether to ignore the <see cref="T:System.SerializableAttribute"/> attribute when serializing and deserializing types.
7372 </summary>
7373 <value>
7374 <c>true</c> if the <see cref="T:System.SerializableAttribute"/> attribute will be ignored when serializing and deserializing types; otherwise, <c>false</c>.
7375 </value>
7376 </member>
7377 <member name="M:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver.#ctor">
7378 <summary>
7379 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver"/> class.
7380 </summary>
7381 </member>
7382 <member name="M:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver.ResolvePropertyName(System.String)">
7383 <summary>
7384 Resolves the name of the property.
7385 </summary>
7386 <param name="propertyName">Name of the property.</param>
7387 <returns>The property name camel cased.</returns>
7388 </member>
7389 <member name="T:Newtonsoft.Json.Serialization.DefaultSerializationBinder">
7390 <summary>
7391 The default serialization binder used when resolving and loading classes from type names.
7392 </summary>
7393 </member>
7394 <member name="M:Newtonsoft.Json.Serialization.DefaultSerializationBinder.BindToType(System.String,System.String)">
7395 <summary>
7396 When overridden in a derived class, controls the binding of a serialized object to a type.
7397 </summary>
7398 <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param>
7399 <param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object.</param>
7400 <returns>
7401 The type of the object the formatter creates a new instance of.
7402 </returns>
7403 </member>
7404 <member name="M:Newtonsoft.Json.Serialization.DefaultSerializationBinder.BindToName(System.Type,System.String@,System.String@)">
7405 <summary>
7406 When overridden in a derived class, controls the binding of a serialized object to a type.
7407 </summary>
7408 <param name="serializedType">The type of the object the formatter creates a new instance of.</param>
7409 <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object. </param>
7410 <param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object. </param>
7411 </member>
7412 <member name="T:Newtonsoft.Json.Serialization.ErrorContext">
7413 <summary>
7414 Provides information surrounding an error.
7415 </summary>
7416 </member>
7417 <member name="P:Newtonsoft.Json.Serialization.ErrorContext.Error">
7418 <summary>
7419 Gets the error.
7420 </summary>
7421 <value>The error.</value>
7422 </member>
7423 <member name="P:Newtonsoft.Json.Serialization.ErrorContext.OriginalObject">
7424 <summary>
7425 Gets the original object that caused the error.
7426 </summary>
7427 <value>The original object that caused the error.</value>
7428 </member>
7429 <member name="P:Newtonsoft.Json.Serialization.ErrorContext.Member">
7430 <summary>
7431 Gets the member that caused the error.
7432 </summary>
7433 <value>The member that caused the error.</value>
7434 </member>
7435 <member name="P:Newtonsoft.Json.Serialization.ErrorContext.Path">
7436 <summary>
7437 Gets the path of the JSON location where the error occurred.
7438 </summary>
7439 <value>The path of the JSON location where the error occurred.</value>
7440 </member>
7441 <member name="P:Newtonsoft.Json.Serialization.ErrorContext.Handled">
7442 <summary>
7443 Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.ErrorContext"/> is handled.
7444 </summary>
7445 <value><c>true</c> if handled; otherwise, <c>false</c>.</value>
7446 </member>
7447 <member name="T:Newtonsoft.Json.Serialization.JsonArrayContract">
7448 <summary>
7449 Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
7450 </summary>
7451 </member>
7452 <member name="M:Newtonsoft.Json.Serialization.JsonArrayContract.#ctor(System.Type)">
7453 <summary>
7454 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonArrayContract"/> class.
7455 </summary>
7456 <param name="underlyingType">The underlying type for the contract.</param>
7457 </member>
7458 <member name="P:Newtonsoft.Json.Serialization.JsonArrayContract.CollectionItemType">
7459 <summary>
7460 Gets the <see cref="T:System.Type"/> of the collection items.
7461 </summary>
7462 <value>The <see cref="T:System.Type"/> of the collection items.</value>
7463 </member>
7464 <member name="P:Newtonsoft.Json.Serialization.JsonArrayContract.IsMultidimensionalArray">
7465 <summary>
7466 Gets a value indicating whether the collection type is a multidimensional array.
7467 </summary>
7468 <value><c>true</c> if the collection type is a multidimensional array; otherwise, <c>false</c>.</value>
7469 </member>
7470 <member name="T:Newtonsoft.Json.Serialization.SerializationCallback">
7471 <summary>
7472 Handles <see cref="T:Newtonsoft.Json.JsonSerializer"/> serialization callback events.
7473 </summary>
7474 <param name="o">The object that raised the callback event.</param>
7475 <param name="context">The streaming context.</param>
7476 </member>
7477 <member name="T:Newtonsoft.Json.Serialization.SerializationErrorCallback">
7478 <summary>
7479 Handles <see cref="T:Newtonsoft.Json.JsonSerializer"/> serialization error callback events.
7480 </summary>
7481 <param name="o">The object that raised the callback event.</param>
7482 <param name="context">The streaming context.</param>
7483 <param name="errorContext">The error context.</param>
7484 </member>
7485 <member name="T:Newtonsoft.Json.Serialization.ExtensionDataSetter">
7486 <summary>
7487 Sets extension data for an object during deserialization.
7488 </summary>
7489 <param name="o">The object to set extension data on.</param>
7490 <param name="key">The extension data key.</param>
7491 <param name="value">The extension data value.</param>
7492 </member>
7493 <member name="T:Newtonsoft.Json.Serialization.ExtensionDataGetter">
7494 <summary>
7495 Gets extension data for an object during serialization.
7496 </summary>
7497 <param name="o">The object to set extension data on.</param>
7498 </member>
7499 <member name="T:Newtonsoft.Json.Serialization.JsonDictionaryContract">
7500 <summary>
7501 Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
7502 </summary>
7503 </member>
7504 <member name="M:Newtonsoft.Json.Serialization.JsonDictionaryContract.#ctor(System.Type)">
7505 <summary>
7506 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonDictionaryContract"/> class.
7507 </summary>
7508 <param name="underlyingType">The underlying type for the contract.</param>
7509 </member>
7510 <member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.PropertyNameResolver">
7511 <summary>
7512 Gets or sets the property name resolver.
7513 </summary>
7514 <value>The property name resolver.</value>
7515 </member>
7516 <member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.DictionaryKeyType">
7517 <summary>
7518 Gets the <see cref="T:System.Type"/> of the dictionary keys.
7519 </summary>
7520 <value>The <see cref="T:System.Type"/> of the dictionary keys.</value>
7521 </member>
7522 <member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.DictionaryValueType">
7523 <summary>
7524 Gets the <see cref="T:System.Type"/> of the dictionary values.
7525 </summary>
7526 <value>The <see cref="T:System.Type"/> of the dictionary values.</value>
7527 </member>
7528 <member name="T:Newtonsoft.Json.Serialization.JsonProperty">
7529 <summary>
7530 Maps a JSON property to a .NET member or constructor parameter.
7531 </summary>
7532 </member>
7533 <member name="M:Newtonsoft.Json.Serialization.JsonProperty.ToString">
7534 <summary>
7535 Returns a <see cref="T:System.String"/> that represents this instance.
7536 </summary>
7537 <returns>
7538 A <see cref="T:System.String"/> that represents this instance.
7539 </returns>
7540 </member>
7541 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.PropertyName">
7542 <summary>
7543 Gets or sets the name of the property.
7544 </summary>
7545 <value>The name of the property.</value>
7546 </member>
7547 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.DeclaringType">
7548 <summary>
7549 Gets or sets the type that declared this property.
7550 </summary>
7551 <value>The type that declared this property.</value>
7552 </member>
7553 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Order">
7554 <summary>
7555 Gets or sets the order of serialization and deserialization of a member.
7556 </summary>
7557 <value>The numeric order of serialization or deserialization.</value>
7558 </member>
7559 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.UnderlyingName">
7560 <summary>
7561 Gets or sets the name of the underlying member or parameter.
7562 </summary>
7563 <value>The name of the underlying member or parameter.</value>
7564 </member>
7565 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ValueProvider">
7566 <summary>
7567 Gets the <see cref="T:Newtonsoft.Json.Serialization.IValueProvider"/> that will get and set the <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> during serialization.
7568 </summary>
7569 <value>The <see cref="T:Newtonsoft.Json.Serialization.IValueProvider"/> that will get and set the <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> during serialization.</value>
7570 </member>
7571 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.PropertyType">
7572 <summary>
7573 Gets or sets the type of the property.
7574 </summary>
7575 <value>The type of the property.</value>
7576 </member>
7577 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Converter">
7578 <summary>
7579 Gets or sets the <see cref="T:Newtonsoft.Json.JsonConverter"/> for the property.
7580 If set this converter takes presidence over the contract converter for the property type.
7581 </summary>
7582 <value>The converter.</value>
7583 </member>
7584 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.MemberConverter">
7585 <summary>
7586 Gets or sets the member converter.
7587 </summary>
7588 <value>The member converter.</value>
7589 </member>
7590 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Ignored">
7591 <summary>
7592 Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is ignored.
7593 </summary>
7594 <value><c>true</c> if ignored; otherwise, <c>false</c>.</value>
7595 </member>
7596 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Readable">
7597 <summary>
7598 Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is readable.
7599 </summary>
7600 <value><c>true</c> if readable; otherwise, <c>false</c>.</value>
7601 </member>
7602 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Writable">
7603 <summary>
7604 Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is writable.
7605 </summary>
7606 <value><c>true</c> if writable; otherwise, <c>false</c>.</value>
7607 </member>
7608 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.HasMemberAttribute">
7609 <summary>
7610 Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> has a member attribute.
7611 </summary>
7612 <value><c>true</c> if has a member attribute; otherwise, <c>false</c>.</value>
7613 </member>
7614 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.DefaultValue">
7615 <summary>
7616 Gets the default value.
7617 </summary>
7618 <value>The default value.</value>
7619 </member>
7620 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Required">
7621 <summary>
7622 Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is required.
7623 </summary>
7624 <value>A value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is required.</value>
7625 </member>
7626 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.IsReference">
7627 <summary>
7628 Gets or sets a value indicating whether this property preserves object references.
7629 </summary>
7630 <value>
7631 <c>true</c> if this instance is reference; otherwise, <c>false</c>.
7632 </value>
7633 </member>
7634 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.NullValueHandling">
7635 <summary>
7636 Gets or sets the property null value handling.
7637 </summary>
7638 <value>The null value handling.</value>
7639 </member>
7640 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.DefaultValueHandling">
7641 <summary>
7642 Gets or sets the property default value handling.
7643 </summary>
7644 <value>The default value handling.</value>
7645 </member>
7646 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ReferenceLoopHandling">
7647 <summary>
7648 Gets or sets the property reference loop handling.
7649 </summary>
7650 <value>The reference loop handling.</value>
7651 </member>
7652 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ObjectCreationHandling">
7653 <summary>
7654 Gets or sets the property object creation handling.
7655 </summary>
7656 <value>The object creation handling.</value>
7657 </member>
7658 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.TypeNameHandling">
7659 <summary>
7660 Gets or sets or sets the type name handling.
7661 </summary>
7662 <value>The type name handling.</value>
7663 </member>
7664 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ShouldSerialize">
7665 <summary>
7666 Gets or sets a predicate used to determine whether the property should be serialize.
7667 </summary>
7668 <value>A predicate used to determine whether the property should be serialize.</value>
7669 </member>
7670 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.GetIsSpecified">
7671 <summary>
7672 Gets or sets a predicate used to determine whether the property should be serialized.
7673 </summary>
7674 <value>A predicate used to determine whether the property should be serialized.</value>
7675 </member>
7676 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.SetIsSpecified">
7677 <summary>
7678 Gets or sets an action used to set whether the property has been deserialized.
7679 </summary>
7680 <value>An action used to set whether the property has been deserialized.</value>
7681 </member>
7682 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ItemConverter">
7683 <summary>
7684 Gets or sets the converter used when serializing the property's collection items.
7685 </summary>
7686 <value>The collection's items converter.</value>
7687 </member>
7688 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ItemIsReference">
7689 <summary>
7690 Gets or sets whether this property's collection items are serialized as a reference.
7691 </summary>
7692 <value>Whether this property's collection items are serialized as a reference.</value>
7693 </member>
7694 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ItemTypeNameHandling">
7695 <summary>
7696 Gets or sets the the type name handling used when serializing the property's collection items.
7697 </summary>
7698 <value>The collection's items type name handling.</value>
7699 </member>
7700 <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ItemReferenceLoopHandling">
7701 <summary>
7702 Gets or sets the the reference loop handling used when serializing the property's collection items.
7703 </summary>
7704 <value>The collection's items reference loop handling.</value>
7705 </member>
7706 <member name="T:Newtonsoft.Json.Serialization.JsonPropertyCollection">
7707 <summary>
7708 A collection of <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> objects.
7709 </summary>
7710 </member>
7711 <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.#ctor(System.Type)">
7712 <summary>
7713 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonPropertyCollection"/> class.
7714 </summary>
7715 <param name="type">The type.</param>
7716 </member>
7717 <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.GetKeyForItem(Newtonsoft.Json.Serialization.JsonProperty)">
7718 <summary>
7719 When implemented in a derived class, extracts the key from the specified element.
7720 </summary>
7721 <param name="item">The element from which to extract the key.</param>
7722 <returns>The key for the specified element.</returns>
7723 </member>
7724 <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.AddProperty(Newtonsoft.Json.Serialization.JsonProperty)">
7725 <summary>
7726 Adds a <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> object.
7727 </summary>
7728 <param name="property">The property to add to the collection.</param>
7729 </member>
7730 <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.GetClosestMatchProperty(System.String)">
7731 <summary>
7732 Gets the closest matching <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> object.
7733 First attempts to get an exact case match of propertyName and then
7734 a case insensitive match.
7735 </summary>
7736 <param name="propertyName">Name of the property.</param>
7737 <returns>A matching property if found.</returns>
7738 </member>
7739 <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.GetProperty(System.String,System.StringComparison)">
7740 <summary>
7741 Gets a property by property name.
7742 </summary>
7743 <param name="propertyName">The name of the property to get.</param>
7744 <param name="comparisonType">Type property name string comparison.</param>
7745 <returns>A matching property if found.</returns>
7746 </member>
7747 <member name="T:Newtonsoft.Json.MissingMemberHandling">
7748 <summary>
7749 Specifies missing member handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
7750 </summary>
7751 </member>
7752 <member name="F:Newtonsoft.Json.MissingMemberHandling.Ignore">
7753 <summary>
7754 Ignore a missing member and do not attempt to deserialize it.
7755 </summary>
7756 </member>
7757 <member name="F:Newtonsoft.Json.MissingMemberHandling.Error">
7758 <summary>
7759 Throw a <see cref="T:Newtonsoft.Json.JsonSerializationException"/> when a missing member is encountered during deserialization.
7760 </summary>
7761 </member>
7762 <member name="T:Newtonsoft.Json.NullValueHandling">
7763 <summary>
7764 Specifies null value handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
7765 </summary>
7766 <example>
7767 <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeNullValueHandlingObject" title="NullValueHandling Class"/>
7768 <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeNullValueHandlingExample" title="NullValueHandling Ignore Example"/>
7769 </example>
7770 </member>
7771 <member name="F:Newtonsoft.Json.NullValueHandling.Include">
7772 <summary>
7773 Include null values when serializing and deserializing objects.
7774 </summary>
7775 </member>
7776 <member name="F:Newtonsoft.Json.NullValueHandling.Ignore">
7777 <summary>
7778 Ignore null values when serializing and deserializing objects.
7779 </summary>
7780 </member>
7781 <member name="T:Newtonsoft.Json.ReferenceLoopHandling">
7782 <summary>
7783 Specifies reference loop handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
7784 </summary>
7785 </member>
7786 <member name="F:Newtonsoft.Json.ReferenceLoopHandling.Error">
7787 <summary>
7788 Throw a <see cref="T:Newtonsoft.Json.JsonSerializationException"/> when a loop is encountered.
7789 </summary>
7790 </member>
7791 <member name="F:Newtonsoft.Json.ReferenceLoopHandling.Ignore">
7792 <summary>
7793 Ignore loop references and do not serialize.
7794 </summary>
7795 </member>
7796 <member name="F:Newtonsoft.Json.ReferenceLoopHandling.Serialize">
7797 <summary>
7798 Serialize loop references.
7799 </summary>
7800 </member>
7801 <member name="T:Newtonsoft.Json.Schema.JsonSchema">
7802 <summary>
7803 An in-memory representation of a JSON Schema.
7804 </summary>
7805 </member>
7806 <member name="M:Newtonsoft.Json.Schema.JsonSchema.#ctor">
7807 <summary>
7808 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> class.
7809 </summary>
7810 </member>
7811 <member name="M:Newtonsoft.Json.Schema.JsonSchema.Read(Newtonsoft.Json.JsonReader)">
7812 <summary>
7813 Reads a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.
7814 </summary>
7815 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the JSON Schema to read.</param>
7816 <returns>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> object representing the JSON Schema.</returns>
7817 </member>
7818 <member name="M:Newtonsoft.Json.Schema.JsonSchema.Read(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Schema.JsonSchemaResolver)">
7819 <summary>
7820 Reads a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.
7821 </summary>
7822 <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the JSON Schema to read.</param>
7823 <param name="resolver">The <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/> to use when resolving schema references.</param>
7824 <returns>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> object representing the JSON Schema.</returns>
7825 </member>
7826 <member name="M:Newtonsoft.Json.Schema.JsonSchema.Parse(System.String)">
7827 <summary>
7828 Load a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from a string that contains schema JSON.
7829 </summary>
7830 <param name="json">A <see cref="T:System.String"/> that contains JSON.</param>
7831 <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> populated from the string that contains JSON.</returns>
7832 </member>
7833 <member name="M:Newtonsoft.Json.Schema.JsonSchema.Parse(System.String,Newtonsoft.Json.Schema.JsonSchemaResolver)">
7834 <summary>
7835 Parses the specified json.
7836 </summary>
7837 <param name="json">The json.</param>
7838 <param name="resolver">The resolver.</param>
7839 <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> populated from the string that contains JSON.</returns>
7840 </member>
7841 <member name="M:Newtonsoft.Json.Schema.JsonSchema.WriteTo(Newtonsoft.Json.JsonWriter)">
7842 <summary>
7843 Writes this schema to a <see cref="T:Newtonsoft.Json.JsonWriter"/>.
7844 </summary>
7845 <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
7846 </member>
7847 <member name="M:Newtonsoft.Json.Schema.JsonSchema.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.Schema.JsonSchemaResolver)">
7848 <summary>
7849 Writes this schema to a <see cref="T:Newtonsoft.Json.JsonWriter"/> using the specified <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/>.
7850 </summary>
7851 <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param>
7852 <param name="resolver">The resolver used.</param>
7853 </member>
7854 <member name="M:Newtonsoft.Json.Schema.JsonSchema.ToString">
7855 <summary>
7856 Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
7857 </summary>
7858 <returns>
7859 A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
7860 </returns>
7861 </member>
7862 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Id">
7863 <summary>
7864 Gets or sets the id.
7865 </summary>
7866 </member>
7867 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Title">
7868 <summary>
7869 Gets or sets the title.
7870 </summary>
7871 </member>
7872 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Required">
7873 <summary>
7874 Gets or sets whether the object is required.
7875 </summary>
7876 </member>
7877 <member name="P:Newtonsoft.Json.Schema.JsonSchema.ReadOnly">
7878 <summary>
7879 Gets or sets whether the object is read only.
7880 </summary>
7881 </member>
7882 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Hidden">
7883 <summary>
7884 Gets or sets whether the object is visible to users.
7885 </summary>
7886 </member>
7887 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Transient">
7888 <summary>
7889 Gets or sets whether the object is transient.
7890 </summary>
7891 </member>
7892 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Description">
7893 <summary>
7894 Gets or sets the description of the object.
7895 </summary>
7896 </member>
7897 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Type">
7898 <summary>
7899 Gets or sets the types of values allowed by the object.
7900 </summary>
7901 <value>The type.</value>
7902 </member>
7903 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Pattern">
7904 <summary>
7905 Gets or sets the pattern.
7906 </summary>
7907 <value>The pattern.</value>
7908 </member>
7909 <member name="P:Newtonsoft.Json.Schema.JsonSchema.MinimumLength">
7910 <summary>
7911 Gets or sets the minimum length.
7912 </summary>
7913 <value>The minimum length.</value>
7914 </member>
7915 <member name="P:Newtonsoft.Json.Schema.JsonSchema.MaximumLength">
7916 <summary>
7917 Gets or sets the maximum length.
7918 </summary>
7919 <value>The maximum length.</value>
7920 </member>
7921 <member name="P:Newtonsoft.Json.Schema.JsonSchema.DivisibleBy">
7922 <summary>
7923 Gets or sets a number that the value should be divisble by.
7924 </summary>
7925 <value>A number that the value should be divisble by.</value>
7926 </member>
7927 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Minimum">
7928 <summary>
7929 Gets or sets the minimum.
7930 </summary>
7931 <value>The minimum.</value>
7932 </member>
7933 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Maximum">
7934 <summary>
7935 Gets or sets the maximum.
7936 </summary>
7937 <value>The maximum.</value>
7938 </member>
7939 <member name="P:Newtonsoft.Json.Schema.JsonSchema.ExclusiveMinimum">
7940 <summary>
7941 Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute.
7942 </summary>
7943 <value>A flag indicating whether the value can not equal the number defined by the "minimum" attribute.</value>
7944 </member>
7945 <member name="P:Newtonsoft.Json.Schema.JsonSchema.ExclusiveMaximum">
7946 <summary>
7947 Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute.
7948 </summary>
7949 <value>A flag indicating whether the value can not equal the number defined by the "maximum" attribute.</value>
7950 </member>
7951 <member name="P:Newtonsoft.Json.Schema.JsonSchema.MinimumItems">
7952 <summary>
7953 Gets or sets the minimum number of items.
7954 </summary>
7955 <value>The minimum number of items.</value>
7956 </member>
7957 <member name="P:Newtonsoft.Json.Schema.JsonSchema.MaximumItems">
7958 <summary>
7959 Gets or sets the maximum number of items.
7960 </summary>
7961 <value>The maximum number of items.</value>
7962 </member>
7963 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Items">
7964 <summary>
7965 Gets or sets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of items.
7966 </summary>
7967 <value>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of items.</value>
7968 </member>
7969 <member name="P:Newtonsoft.Json.Schema.JsonSchema.PositionalItemsValidation">
7970 <summary>
7971 Gets or sets a value indicating whether items in an array are validated using the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> instance at their array position from <see cref="P:Newtonsoft.Json.Schema.JsonSchema.Items"/>.
7972 </summary>
7973 <value>
7974 <c>true</c> if items are validated using their array position; otherwise, <c>false</c>.
7975 </value>
7976 </member>
7977 <member name="P:Newtonsoft.Json.Schema.JsonSchema.AdditionalItems">
7978 <summary>
7979 Gets or sets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of additional items.
7980 </summary>
7981 <value>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of additional items.</value>
7982 </member>
7983 <member name="P:Newtonsoft.Json.Schema.JsonSchema.AllowAdditionalItems">
7984 <summary>
7985 Gets or sets a value indicating whether additional items are allowed.
7986 </summary>
7987 <value>
7988 <c>true</c> if additional items are allowed; otherwise, <c>false</c>.
7989 </value>
7990 </member>
7991 <member name="P:Newtonsoft.Json.Schema.JsonSchema.UniqueItems">
7992 <summary>
7993 Gets or sets whether the array items must be unique.
7994 </summary>
7995 </member>
7996 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Properties">
7997 <summary>
7998 Gets or sets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of properties.
7999 </summary>
8000 <value>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of properties.</value>
8001 </member>
8002 <member name="P:Newtonsoft.Json.Schema.JsonSchema.AdditionalProperties">
8003 <summary>
8004 Gets or sets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of additional properties.
8005 </summary>
8006 <value>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of additional properties.</value>
8007 </member>
8008 <member name="P:Newtonsoft.Json.Schema.JsonSchema.PatternProperties">
8009 <summary>
8010 Gets or sets the pattern properties.
8011 </summary>
8012 <value>The pattern properties.</value>
8013 </member>
8014 <member name="P:Newtonsoft.Json.Schema.JsonSchema.AllowAdditionalProperties">
8015 <summary>
8016 Gets or sets a value indicating whether additional properties are allowed.
8017 </summary>
8018 <value>
8019 <c>true</c> if additional properties are allowed; otherwise, <c>false</c>.
8020 </value>
8021 </member>
8022 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Requires">
8023 <summary>
8024 Gets or sets the required property if this property is present.
8025 </summary>
8026 <value>The required property if this property is present.</value>
8027 </member>
8028 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Enum">
8029 <summary>
8030 Gets or sets the a collection of valid enum values allowed.
8031 </summary>
8032 <value>A collection of valid enum values allowed.</value>
8033 </member>
8034 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Disallow">
8035 <summary>
8036 Gets or sets disallowed types.
8037 </summary>
8038 <value>The disallow types.</value>
8039 </member>
8040 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Default">
8041 <summary>
8042 Gets or sets the default value.
8043 </summary>
8044 <value>The default value.</value>
8045 </member>
8046 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Extends">
8047 <summary>
8048 Gets or sets the collection of <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> that this schema extends.
8049 </summary>
8050 <value>The collection of <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> that this schema extends.</value>
8051 </member>
8052 <member name="P:Newtonsoft.Json.Schema.JsonSchema.Format">
8053 <summary>
8054 Gets or sets the format.
8055 </summary>
8056 <value>The format.</value>
8057 </member>
8058 <member name="T:Newtonsoft.Json.Schema.JsonSchemaGenerator">
8059 <summary>
8060 Generates a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from a specified <see cref="T:System.Type"/>.
8061 </summary>
8062 </member>
8063 <member name="M:Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type)">
8064 <summary>
8065 Generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified type.
8066 </summary>
8067 <param name="type">The type to generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from.</param>
8068 <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns>
8069 </member>
8070 <member name="M:Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type,Newtonsoft.Json.Schema.JsonSchemaResolver)">
8071 <summary>
8072 Generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified type.
8073 </summary>
8074 <param name="type">The type to generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from.</param>
8075 <param name="resolver">The <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/> used to resolve schema references.</param>
8076 <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns>
8077 </member>
8078 <member name="M:Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type,System.Boolean)">
8079 <summary>
8080 Generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified type.
8081 </summary>
8082 <param name="type">The type to generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from.</param>
8083 <param name="rootSchemaNullable">Specify whether the generated root <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> will be nullable.</param>
8084 <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns>
8085 </member>
8086 <member name="M:Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type,Newtonsoft.Json.Schema.JsonSchemaResolver,System.Boolean)">
8087 <summary>
8088 Generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified type.
8089 </summary>
8090 <param name="type">The type to generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from.</param>
8091 <param name="resolver">The <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/> used to resolve schema references.</param>
8092 <param name="rootSchemaNullable">Specify whether the generated root <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> will be nullable.</param>
8093 <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns>
8094 </member>
8095 <member name="P:Newtonsoft.Json.Schema.JsonSchemaGenerator.UndefinedSchemaIdHandling">
8096 <summary>
8097 Gets or sets how undefined schemas are handled by the serializer.
8098 </summary>
8099 </member>
8100 <member name="P:Newtonsoft.Json.Schema.JsonSchemaGenerator.ContractResolver">
8101 <summary>
8102 Gets or sets the contract resolver.
8103 </summary>
8104 <value>The contract resolver.</value>
8105 </member>
8106 <member name="T:Newtonsoft.Json.Schema.JsonSchemaType">
8107 <summary>
8108 The value types allowed by the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/>.
8109 </summary>
8110 </member>
8111 <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.None">
8112 <summary>
8113 No type specified.
8114 </summary>
8115 </member>
8116 <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.String">
8117 <summary>
8118 String type.
8119 </summary>
8120 </member>
8121 <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Float">
8122 <summary>
8123 Float type.
8124 </summary>
8125 </member>
8126 <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Integer">
8127 <summary>
8128 Integer type.
8129 </summary>
8130 </member>
8131 <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Boolean">
8132 <summary>
8133 Boolean type.
8134 </summary>
8135 </member>
8136 <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Object">
8137 <summary>
8138 Object type.
8139 </summary>
8140 </member>
8141 <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Array">
8142 <summary>
8143 Array type.
8144 </summary>
8145 </member>
8146 <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Null">
8147 <summary>
8148 Null type.
8149 </summary>
8150 </member>
8151 <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Any">
8152 <summary>
8153 Any type.
8154 </summary>
8155 </member>
8156 <member name="T:Newtonsoft.Json.Serialization.JsonObjectContract">
8157 <summary>
8158 Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
8159 </summary>
8160 </member>
8161 <member name="M:Newtonsoft.Json.Serialization.JsonObjectContract.#ctor(System.Type)">
8162 <summary>
8163 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonObjectContract"/> class.
8164 </summary>
8165 <param name="underlyingType">The underlying type for the contract.</param>
8166 </member>
8167 <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.MemberSerialization">
8168 <summary>
8169 Gets or sets the object member serialization.
8170 </summary>
8171 <value>The member object serialization.</value>
8172 </member>
8173 <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ItemRequired">
8174 <summary>
8175 Gets or sets a value that indicates whether the object's properties are required.
8176 </summary>
8177 <value>
8178 A value indicating whether the object's properties are required.
8179 </value>
8180 </member>
8181 <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.Properties">
8182 <summary>
8183 Gets the object's properties.
8184 </summary>
8185 <value>The object's properties.</value>
8186 </member>
8187 <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ConstructorParameters">
8188 <summary>
8189 Gets the constructor parameters required for any non-default constructor
8190 </summary>
8191 </member>
8192 <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.CreatorParameters">
8193 <summary>
8194 Gets a collection of <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> instances that define the parameters used with <see cref="P:Newtonsoft.Json.Serialization.JsonObjectContract.OverrideCreator"/>.
8195 </summary>
8196 </member>
8197 <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.OverrideConstructor">
8198 <summary>
8199 Gets or sets the override constructor used to create the object.
8200 This is set when a constructor is marked up using the
8201 JsonConstructor attribute.
8202 </summary>
8203 <value>The override constructor.</value>
8204 </member>
8205 <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ParametrizedConstructor">
8206 <summary>
8207 Gets or sets the parametrized constructor used to create the object.
8208 </summary>
8209 <value>The parametrized constructor.</value>
8210 </member>
8211 <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.OverrideCreator">
8212 <summary>
8213 Gets or sets the function used to create the object. When set this function will override <see cref="P:Newtonsoft.Json.Serialization.JsonContract.DefaultCreator"/>.
8214 This function is called with a collection of arguments which are defined by the <see cref="P:Newtonsoft.Json.Serialization.JsonObjectContract.CreatorParameters"/> collection.
8215 </summary>
8216 <value>The function used to create the object.</value>
8217 </member>
8218 <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ExtensionDataSetter">
8219 <summary>
8220 Gets or sets the extension data setter.
8221 </summary>
8222 </member>
8223 <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ExtensionDataGetter">
8224 <summary>
8225 Gets or sets the extension data getter.
8226 </summary>
8227 </member>
8228 <member name="T:Newtonsoft.Json.Serialization.JsonStringContract">
8229 <summary>
8230 Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
8231 </summary>
8232 </member>
8233 <member name="M:Newtonsoft.Json.Serialization.JsonStringContract.#ctor(System.Type)">
8234 <summary>
8235 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonStringContract"/> class.
8236 </summary>
8237 <param name="underlyingType">The underlying type for the contract.</param>
8238 </member>
8239 <member name="M:Newtonsoft.Json.Serialization.JsonTypeReflector.CreateJsonConverterInstance(System.Type,System.Object[])">
8240 <summary>
8241 Lookup and create an instance of the JsonConverter type described by the argument.
8242 </summary>
8243 <param name="converterType">The JsonConverter type to create.</param>
8244 <param name="converterArgs">Optional arguments to pass to an initializing constructor of the JsonConverter.
8245 If null, the default constructor is used.</param>
8246 </member>
8247 <member name="M:Newtonsoft.Json.Serialization.JsonTypeReflector.GetJsonConverterCreator(System.Type)">
8248 <summary>
8249 Create a factory function that can be used to create instances of a JsonConverter described by the
8250 argument type. The returned function can then be used to either invoke the converter's default ctor, or any
8251 parameterized constructors by way of an object array.
8252 </summary>
8253 </member>
8254 <member name="T:Newtonsoft.Json.Serialization.ReflectionValueProvider">
8255 <summary>
8256 Get and set values for a <see cref="T:System.Reflection.MemberInfo"/> using reflection.
8257 </summary>
8258 </member>
8259 <member name="M:Newtonsoft.Json.Serialization.ReflectionValueProvider.#ctor(System.Reflection.MemberInfo)">
8260 <summary>
8261 Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.ReflectionValueProvider"/> class.
8262 </summary>
8263 <param name="memberInfo">The member info.</param>
8264 </member>
8265 <member name="M:Newtonsoft.Json.Serialization.ReflectionValueProvider.SetValue(System.Object,System.Object)">
8266 <summary>
8267 Sets the value.
8268 </summary>
8269 <param name="target">The target to set the value on.</param>
8270 <param name="value">The value to set on the target.</param>
8271 </member>
8272 <member name="M:Newtonsoft.Json.Serialization.ReflectionValueProvider.GetValue(System.Object)">
8273 <summary>
8274 Gets the value.
8275 </summary>
8276 <param name="target">The target to get the value from.</param>
8277 <returns>The value.</returns>
8278 </member>
8279 <member name="T:Newtonsoft.Json.Serialization.OnErrorAttribute">
8280 <summary>
8281 When applied to a method, specifies that the method is called when an error occurs serializing an object.
8282 </summary>
8283 </member>
8284 <member name="M:Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.CallMethodWithResult(System.String,System.Dynamic.DynamicMetaObjectBinder,System.Linq.Expressions.Expression[],Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback,Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback)">
8285 <summary>
8286 Helper method for generating a MetaObject which calls a
8287 specific method on Dynamic that returns a result
8288 </summary>
8289 </member>
8290 <member name="M:Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.CallMethodReturnLast(System.String,System.Dynamic.DynamicMetaObjectBinder,System.Linq.Expressions.Expression[],Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback)">
8291 <summary>
8292 Helper method for generating a MetaObject which calls a
8293 specific method on Dynamic, but uses one of the arguments for
8294 the result.
8295 </summary>
8296 </member>
8297 <member name="M:Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.CallMethodNoResult(System.String,System.Dynamic.DynamicMetaObjectBinder,System.Linq.Expressions.Expression[],Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback)">
8298 <summary>
8299 Helper method for generating a MetaObject which calls a
8300 specific method on Dynamic, but uses one of the arguments for
8301 the result.
8302 </summary>
8303 </member>
8304 <member name="M:Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.GetRestrictions">
8305 <summary>
8306 Returns a Restrictions object which includes our current restrictions merged
8307 with a restriction limiting our type
8308 </summary>
8309 </member>
8310 <member name="T:Newtonsoft.Json.Serialization.ObjectConstructor`1">
8311 <summary>
8312 Represents a method that constructs an object.
8313 </summary>
8314 <typeparam name="T">The object type to create.</typeparam>
8315 </member>
8316 <member name="T:Newtonsoft.Json.TypeNameHandling">
8317 <summary>
8318 Specifies type name handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.
8319 </summary>
8320 </member>
8321 <member name="F:Newtonsoft.Json.TypeNameHandling.None">
8322 <summary>
8323 Do not include the .NET type name when serializing types.
8324 </summary>
8325 </member>
8326 <member name="F:Newtonsoft.Json.TypeNameHandling.Objects">
8327 <summary>
8328 Include the .NET type name when serializing into a JSON object structure.
8329 </summary>
8330 </member>
8331 <member name="F:Newtonsoft.Json.TypeNameHandling.Arrays">
8332 <summary>
8333 Include the .NET type name when serializing into a JSON array structure.
8334 </summary>
8335 </member>
8336 <member name="F:Newtonsoft.Json.TypeNameHandling.All">
8337 <summary>
8338 Always include the .NET type name when serializing.
8339 </summary>
8340 </member>
8341 <member name="F:Newtonsoft.Json.TypeNameHandling.Auto">
8342 <summary>
8343 Include the .NET type name when the type of the object being serialized is not the same as its declared type.
8344 </summary>
8345 </member>
8346 <member name="M:Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast(System.Object,System.Globalization.CultureInfo,System.Type)">
8347 <summary>
8348 Converts the value to the specified type. If the value is unable to be converted, the
8349 value is checked whether it assignable to the specified type.
8350 </summary>
8351 <param name="initialValue">The value to convert.</param>
8352 <param name="culture">The culture to use when converting.</param>
8353 <param name="targetType">The type to convert or cast the value to.</param>
8354 <returns>
8355 The converted type. If conversion was unsuccessful, the initial value
8356 is returned if assignable to the target type.
8357 </returns>
8358 </member>
8359 <member name="M:Newtonsoft.Json.Utilities.EnumUtils.GetNamesAndValues``1">
8360 <summary>
8361 Gets a dictionary of the names and values of an Enum type.
8362 </summary>
8363 <returns></returns>
8364 </member>
8365 <member name="M:Newtonsoft.Json.Utilities.EnumUtils.GetNamesAndValues``1(System.Type)">
8366 <summary>
8367 Gets a dictionary of the names and values of an Enum type.
8368 </summary>
8369 <param name="enumType">The enum type to get names and values for.</param>
8370 <returns></returns>
8371 </member>
8372 <member name="T:Newtonsoft.Json.JsonToken">
8373 <summary>
8374 Specifies the type of Json token.
8375 </summary>
8376 </member>
8377 <member name="F:Newtonsoft.Json.JsonToken.None">
8378 <summary>
8379 This is returned by the <see cref="T:Newtonsoft.Json.JsonReader"/> if a <see cref="M:Newtonsoft.Json.JsonReader.Read"/> method has not been called.
8380 </summary>
8381 </member>
8382 <member name="F:Newtonsoft.Json.JsonToken.StartObject">
8383 <summary>
8384 An object start token.
8385 </summary>
8386 </member>
8387 <member name="F:Newtonsoft.Json.JsonToken.StartArray">
8388 <summary>
8389 An array start token.
8390 </summary>
8391 </member>
8392 <member name="F:Newtonsoft.Json.JsonToken.StartConstructor">
8393 <summary>
8394 A constructor start token.
8395 </summary>
8396 </member>
8397 <member name="F:Newtonsoft.Json.JsonToken.PropertyName">
8398 <summary>
8399 An object property name.
8400 </summary>
8401 </member>
8402 <member name="F:Newtonsoft.Json.JsonToken.Comment">
8403 <summary>
8404 A comment.
8405 </summary>
8406 </member>
8407 <member name="F:Newtonsoft.Json.JsonToken.Raw">
8408 <summary>
8409 Raw JSON.
8410 </summary>
8411 </member>
8412 <member name="F:Newtonsoft.Json.JsonToken.Integer">
8413 <summary>
8414 An integer.
8415 </summary>
8416 </member>
8417 <member name="F:Newtonsoft.Json.JsonToken.Float">
8418 <summary>
8419 A float.
8420 </summary>
8421 </member>
8422 <member name="F:Newtonsoft.Json.JsonToken.String">
8423 <summary>
8424 A string.
8425 </summary>
8426 </member>
8427 <member name="F:Newtonsoft.Json.JsonToken.Boolean">
8428 <summary>
8429 A boolean.
8430 </summary>
8431 </member>
8432 <member name="F:Newtonsoft.Json.JsonToken.Null">
8433 <summary>
8434 A null token.
8435 </summary>
8436 </member>
8437 <member name="F:Newtonsoft.Json.JsonToken.Undefined">
8438 <summary>
8439 An undefined token.
8440 </summary>
8441 </member>
8442 <member name="F:Newtonsoft.Json.JsonToken.EndObject">
8443 <summary>
8444 An object end token.
8445 </summary>
8446 </member>
8447 <member name="F:Newtonsoft.Json.JsonToken.EndArray">
8448 <summary>
8449 An array end token.
8450 </summary>
8451 </member>
8452 <member name="F:Newtonsoft.Json.JsonToken.EndConstructor">
8453 <summary>
8454 A constructor end token.
8455 </summary>
8456 </member>
8457 <member name="F:Newtonsoft.Json.JsonToken.Date">
8458 <summary>
8459 A Date.
8460 </summary>
8461 </member>
8462 <member name="F:Newtonsoft.Json.JsonToken.Bytes">
8463 <summary>
8464 Byte data.
8465 </summary>
8466 </member>
8467 <member name="T:Newtonsoft.Json.Utilities.StringBuffer">
8468 <summary>
8469 Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer.
8470 </summary>
8471 </member>
8472 <member name="M:Newtonsoft.Json.Utilities.CollectionUtils.IsNullOrEmpty``1(System.Collections.Generic.ICollection{``0})">
8473 <summary>
8474 Determines whether the collection is null or empty.
8475 </summary>
8476 <param name="collection">The collection.</param>
8477 <returns>
8478 <c>true</c> if the collection is null or empty; otherwise, <c>false</c>.
8479 </returns>
8480 </member>
8481 <member name="M:Newtonsoft.Json.Utilities.CollectionUtils.AddRange``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{``0})">
8482 <summary>
8483 Adds the elements of the specified collection to the specified generic IList.
8484 </summary>
8485 <param name="initial">The list to add to.</param>
8486 <param name="collection">The collection of elements to add.</param>
8487 </member>
8488 <member name="M:Newtonsoft.Json.Utilities.CollectionUtils.IndexOf``1(System.Collections.Generic.IEnumerable{``0},``0,System.Collections.Generic.IEqualityComparer{``0})">
8489 <summary>
8490 Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer.
8491 </summary>
8492 <typeparam name="TSource">The type of the elements of source.</typeparam>
8493 <param name="list">A sequence in which to locate a value.</param>
8494 <param name="value">The object to locate in the sequence</param>
8495 <param name="comparer">An equality comparer to compare values.</param>
8496 <returns>The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1.</returns>
8497 </member>
8498 <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.GetCollectionItemType(System.Type)">
8499 <summary>
8500 Gets the type of the typed collection's items.
8501 </summary>
8502 <param name="type">The type.</param>
8503 <returns>The type of the typed collection's items.</returns>
8504 </member>
8505 <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.GetMemberUnderlyingType(System.Reflection.MemberInfo)">
8506 <summary>
8507 Gets the member's underlying type.
8508 </summary>
8509 <param name="member">The member.</param>
8510 <returns>The underlying type of the member.</returns>
8511 </member>
8512 <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.IsIndexedProperty(System.Reflection.MemberInfo)">
8513 <summary>
8514 Determines whether the member is an indexed property.
8515 </summary>
8516 <param name="member">The member.</param>
8517 <returns>
8518 <c>true</c> if the member is an indexed property; otherwise, <c>false</c>.
8519 </returns>
8520 </member>
8521 <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.IsIndexedProperty(System.Reflection.PropertyInfo)">
8522 <summary>
8523 Determines whether the property is an indexed property.
8524 </summary>
8525 <param name="property">The property.</param>
8526 <returns>
8527 <c>true</c> if the property is an indexed property; otherwise, <c>false</c>.
8528 </returns>
8529 </member>
8530 <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.GetMemberValue(System.Reflection.MemberInfo,System.Object)">
8531 <summary>
8532 Gets the member's value on the object.
8533 </summary>
8534 <param name="member">The member.</param>
8535 <param name="target">The target object.</param>
8536 <returns>The member's value on the object.</returns>
8537 </member>
8538 <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.SetMemberValue(System.Reflection.MemberInfo,System.Object,System.Object)">
8539 <summary>
8540 Sets the member's value on the target object.
8541 </summary>
8542 <param name="member">The member.</param>
8543 <param name="target">The target.</param>
8544 <param name="value">The value.</param>
8545 </member>
8546 <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.CanReadMemberValue(System.Reflection.MemberInfo,System.Boolean)">
8547 <summary>
8548 Determines whether the specified MemberInfo can be read.
8549 </summary>
8550 <param name="member">The MemberInfo to determine whether can be read.</param>
8551 /// <param name="nonPublic">if set to <c>true</c> then allow the member to be gotten non-publicly.</param>
8552 <returns>
8553 <c>true</c> if the specified MemberInfo can be read; otherwise, <c>false</c>.
8554 </returns>
8555 </member>
8556 <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.CanSetMemberValue(System.Reflection.MemberInfo,System.Boolean,System.Boolean)">
8557 <summary>
8558 Determines whether the specified MemberInfo can be set.
8559 </summary>
8560 <param name="member">The MemberInfo to determine whether can be set.</param>
8561 <param name="nonPublic">if set to <c>true</c> then allow the member to be set non-publicly.</param>
8562 <param name="canSetReadOnly">if set to <c>true</c> then allow the member to be set if read-only.</param>
8563 <returns>
8564 <c>true</c> if the specified MemberInfo can be set; otherwise, <c>false</c>.
8565 </returns>
8566 </member>
8567 <member name="M:Newtonsoft.Json.Utilities.StringUtils.IsWhiteSpace(System.String)">
8568 <summary>
8569 Determines whether the string is all white space. Empty string will return false.
8570 </summary>
8571 <param name="s">The string to test whether it is all white space.</param>
8572 <returns>
8573 <c>true</c> if the string is all white space; otherwise, <c>false</c>.
8574 </returns>
8575 </member>
8576 <member name="M:Newtonsoft.Json.Utilities.StringUtils.NullEmptyString(System.String)">
8577 <summary>
8578 Nulls an empty string.
8579 </summary>
8580 <param name="s">The string.</param>
8581 <returns>Null if the string was null, otherwise the string unchanged.</returns>
8582 </member>
8583 <member name="T:Newtonsoft.Json.WriteState">
8584 <summary>
8585 Specifies the state of the <see cref="T:Newtonsoft.Json.JsonWriter"/>.
8586 </summary>
8587 </member>
8588 <member name="F:Newtonsoft.Json.WriteState.Error">
8589 <summary>
8590 An exception has been thrown, which has left the <see cref="T:Newtonsoft.Json.JsonWriter"/> in an invalid state.
8591 You may call the <see cref="M:Newtonsoft.Json.JsonWriter.Close"/> method to put the <see cref="T:Newtonsoft.Json.JsonWriter"/> in the <c>Closed</c> state.
8592 Any other <see cref="T:Newtonsoft.Json.JsonWriter"/> method calls results in an <see cref="T:System.InvalidOperationException"/> being thrown.
8593 </summary>
8594 </member>
8595 <member name="F:Newtonsoft.Json.WriteState.Closed">
8596 <summary>
8597 The <see cref="M:Newtonsoft.Json.JsonWriter.Close"/> method has been called.
8598 </summary>
8599 </member>
8600 <member name="F:Newtonsoft.Json.WriteState.Object">
8601 <summary>
8602 An object is being written.
8603 </summary>
8604 </member>
8605 <member name="F:Newtonsoft.Json.WriteState.Array">
8606 <summary>
8607 A array is being written.
8608 </summary>
8609 </member>
8610 <member name="F:Newtonsoft.Json.WriteState.Constructor">
8611 <summary>
8612 A constructor is being written.
8613 </summary>
8614 </member>
8615 <member name="F:Newtonsoft.Json.WriteState.Property">
8616 <summary>
8617 A property is being written.
8618 </summary>
8619 </member>
8620 <member name="F:Newtonsoft.Json.WriteState.Start">
8621 <summary>
8622 A write method has not been called.
8623 </summary>
8624 </member>
8625 </members>
8626</doc>
diff --git a/bin/Nini.dll b/bin/Nini.dll
new file mode 100755
index 0000000..2d16d95
--- /dev/null
+++ b/bin/Nini.dll
Binary files differ
diff --git a/bin/Npgsql.dll b/bin/Npgsql.dll
new file mode 100644
index 0000000..693cccb
--- /dev/null
+++ b/bin/Npgsql.dll
Binary files differ
diff --git a/bin/Npgsql.xml b/bin/Npgsql.xml
new file mode 100644
index 0000000..8133430
--- /dev/null
+++ b/bin/Npgsql.xml
@@ -0,0 +1,5620 @@
1<?xml version="1.0"?>
2<doc>
3 <assembly>
4 <name>Npgsql</name>
5 </assembly>
6 <members>
7 <member name="T:NpgsqlTypes.ArrayNativeToBackendTypeConverter">
8 <summary>
9 Handles serialisation of .NET array or IEnumeration to pg format.
10 Arrays of arrays, enumerations of enumerations, arrays of enumerations etc.
11 are treated as multi-dimensional arrays (in much the same manner as an array of arrays
12 is used to emulate multi-dimensional arrays in languages that lack native support for them).
13 If such an enumeration of enumerations is "jagged" (as opposed to rectangular, cuboid,
14 hypercuboid, hyperhypercuboid, etc) then this class will "correctly" serialise it, but pg
15 will raise an error as it doesn't allow jagged arrays.
16 </summary>
17 </member>
18 <member name="M:NpgsqlTypes.ArrayNativeToBackendTypeConverter.#ctor(NpgsqlTypes.NpgsqlNativeTypeInfo)">
19 <summary>
20 Create an ArrayNativeToBackendTypeConverter with the element converter passed
21 </summary>
22 <param name="elementConverter">The <see cref="T:NpgsqlTypes.NpgsqlNativeTypeInfo"/> that would be used to serialise the element type.</param>
23 </member>
24 <member name="M:NpgsqlTypes.ArrayNativeToBackendTypeConverter.ArrayToArrayText(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
25 <summary>
26 Serialise the enumeration or array.
27 </summary>
28 </member>
29 <member name="M:NpgsqlTypes.ArrayNativeToBackendTypeConverter.ArrayToArrayBinary(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,NpgsqlTypes.NativeToBackendTypeConverterOptions)">
30 <summary>
31 Convert a System.Array to PG binary format.
32 Write the array header and prepare to write array data to the stream.
33 </summary>
34 </member>
35 <member name="M:NpgsqlTypes.ArrayNativeToBackendTypeConverter.WriteBinaryArrayData(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Array,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.IO.MemoryStream,System.Int32,System.Int32[])">
36 <summary>
37 Append all array data to the binary stream.
38 </summary>
39 </member>
40 <member name="T:NpgsqlTypes.ArrayBackendToNativeTypeConverter">
41 <summary>
42 Handles parsing of pg arrays into .NET arrays.
43 </summary>
44 </member>
45 <member name="M:NpgsqlTypes.ArrayBackendToNativeTypeConverter.TokenEnumeration(System.String)">
46 <summary>
47 Takes a string representation of a pg 1-dimensional array
48 (or a 1-dimensional row within an n-dimensional array)
49 and allows enumeration of the string represenations of each items.
50 </summary>
51 </member>
52 <member name="M:NpgsqlTypes.ArrayBackendToNativeTypeConverter.ArrayChunkEnumeration(System.String)">
53 <summary>
54 Takes a string representation of a pg n-dimensional array
55 and allows enumeration of the string represenations of the next
56 lower level of rows (which in turn can be taken as (n-1)-dimensional arrays.
57 </summary>
58 </member>
59 <member name="M:NpgsqlTypes.ArrayBackendToNativeTypeConverter.RecursiveArrayListEnumeration(System.Collections.ArrayList)">
60 <summary>
61 Takes an ArrayList which may be an ArrayList of ArrayLists, an ArrayList of ArrayLists of ArrayLists
62 and so on and enumerates the items that aren't ArrayLists (the leaf nodes if we think of the ArrayList
63 passed as a tree). Simply uses the ArrayLists' own IEnumerators to get that of the next,
64 pushing them onto a stack until we hit something that isn't an ArrayList.
65 <param name="list"><see cref="T:System.Collections.ArrayList">ArrayList</see> to enumerate</param>
66 <returns><see cref="T:System.Collections.IEnumerable">IEnumerable</see></returns>
67 </summary>
68 </member>
69 <member name="M:NpgsqlTypes.ArrayBackendToNativeTypeConverter.#ctor(NpgsqlTypes.NpgsqlBackendTypeInfo)">
70 <summary>
71 Create a new ArrayBackendToNativeTypeConverter
72 </summary>
73 <param name="elementConverter"><see cref="T:NpgsqlTypes.NpgsqlBackendTypeInfo"/> for the element type.</param>
74 </member>
75 <member name="M:NpgsqlTypes.ArrayBackendToNativeTypeConverter.ArrayTextToArray(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
76 <summary>
77 Creates an array from pg text representation.
78 </summary>
79 </member>
80 <member name="M:NpgsqlTypes.ArrayBackendToNativeTypeConverter.ToArrayList(NpgsqlTypes.NpgsqlBackendTypeInfo,System.String,System.Int16,System.Int32)">
81 <summary>
82 Creates an array list from pg represenation of an array.
83 Multidimensional arrays are treated as ArrayLists of ArrayLists
84 </summary>
85 </member>
86 <member name="M:NpgsqlTypes.ArrayBackendToNativeTypeConverter.ToArray(System.Collections.ArrayList,System.Type)">
87 <summary>
88 Creates an n-dimensional array from an ArrayList of ArrayLists or
89 a 1-dimensional array from something else.
90 </summary>
91 <param name="list"><see cref="T:System.Collections.ArrayList"/> to convert</param>
92 <param name="elementType">Type of the elements in the list</param>
93 <returns><see cref="T:System.Array"/> produced.</returns>
94 </member>
95 <member name="M:NpgsqlTypes.ArrayBackendToNativeTypeConverter.ArrayBinaryToArray(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int32,System.Int32)">
96 <summary>
97 Creates an n-dimensional System.Array from PG binary representation.
98 This function reads the array header and sets up an n-dimensional System.Array object to hold its data.
99 PopulateArrayFromBinaryArray() is then called to carry out array population.
100 </summary>
101 </member>
102 <member name="M:NpgsqlTypes.ArrayBackendToNativeTypeConverter.PopulateArrayFromBinaryArray(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int32,System.Int32,System.Int32@,System.Int32[],System.Int32[],System.Int32,System.Array,System.Int32[])">
103 <summary>
104 Recursively populates an array from PB binary data representation.
105 </summary>
106 </member>
107 <member name="T:NpgsqlTypes.ArrayBackendToNativeTypeConverter.IntSetIterator">
108 <summary>
109 Takes an array of ints and treats them like the limits of a set of counters.
110 Retains a matching set of ints that is set to all zeros on the first ++
111 On a ++ it increments the "right-most" int. If that int reaches it's
112 limit it is set to zero and the one before it is incremented, and so on.
113
114 Making this a more general purpose class is pretty straight-forward, but we'll just put what we need here.
115 </summary>
116 </member>
117 <member name="T:NpgsqlTypes.BitString">
118 <summary>
119 <para>Implements a bit string; a collection of zero or more bits which can each be 1 or 0.</para>
120 <para>BitString's behave as a list of bools, though like most strings and unlike most collections the position
121 tends to be of as much significance as the value.</para>
122 <para>BitStrings are often used as masks, and are commonly cast to and from other values.</para>
123 </summary>
124 </member>
125 <member name="F:NpgsqlTypes.BitString.Empty">
126 <summary>
127 Represents the empty string.
128 </summary>
129 </member>
130 <member name="M:NpgsqlTypes.BitString.#ctor(System.Collections.Generic.IEnumerable{System.Boolean})">
131 <summary>
132 Create a BitString from an enumeration of boolean values. The BitString will contain
133 those booleans in the order they came in.
134 </summary>
135 <param name="bits">The boolean values.</param>
136 </member>
137 <member name="M:NpgsqlTypes.BitString.#ctor(System.Boolean,System.Int32)">
138 <summary>
139 Creates a BitString filled with a given number of true or false values.
140 </summary>
141 <param name="value">The value to fill the string with.</param>
142 <param name="count">The number of bits to fill.</param>
143 </member>
144 <member name="M:NpgsqlTypes.BitString.#ctor(System.String)">
145 <summary>
146 Creats a bitstring from a <see cref="T:System.String">string</see>.
147 <param name="str">The <see cref="T:System.String">string to copy from</see>.</param>
148 <seealso cref="M:NpgsqlTypes.BitString.Parse(System.String)"/>
149 </summary>
150 </member>
151 <member name="M:NpgsqlTypes.BitString.#ctor(System.Boolean)">
152 <summary>
153 Creates a single-bit element from a boolean value.
154 </summary>
155 <param name="boolean">The <see cref="T:System.Boolean">bool</see> value which determines whether
156 the bit is 1 or 0.</param>
157 </member>
158 <member name="M:NpgsqlTypes.BitString.#ctor(System.UInt32)">
159 <summary>
160 Creates a bitstring from an unsigned integer value. The string will be the shortest required to
161 contain the integer (e.g. 1 bit for 0 or 1, 2 for 2 or 3, 3 for 4-7, and so on).
162 </summary>
163 <param name="integer">The <see cref="T:System.UInt32">integer</see>.</param>
164 <remarks>This method is not CLS Compliant, and may not be available to some languages.</remarks>
165 </member>
166 <member name="M:NpgsqlTypes.BitString.#ctor(System.Int32)">
167 <summary>
168 Creates a bitstring from an integer value. The string will be the shortest required to
169 contain the integer (e.g. 1 bit for 0 or 1, 2 for 2 or 3, 3 for 4-7, and so on).
170 </summary>
171 <param name="integer">The <see cref="T:System.Int32">integer</see>.</param>
172 </member>
173 <member name="M:NpgsqlTypes.BitString.IndexOf(System.Boolean)">
174 <summary>
175 Finds the first instance of a given value
176 </summary>
177 <param name="item">The value - whether true or false - to search for.</param>
178 <returns>The index of the value found, or -1 if none are present.</returns>
179 </member>
180 <member name="M:NpgsqlTypes.BitString.Contains(System.Boolean)">
181 <summary>
182 True if there is at least one bit with the value looked for.
183 </summary>
184 <param name="item">The value - true or false - to detect.</param>
185 <returns>True if at least one bit was the same as item, false otherwise.</returns>
186 </member>
187 <member name="M:NpgsqlTypes.BitString.CopyTo(System.Boolean[],System.Int32)">
188 <summary>
189 Copies the bitstring to an array of bools.
190 </summary>
191 <param name="array">The <see cref="T:System.Boolean">boolean</see> array to copy to.</param>
192 <param name="arrayIndex">The index in the array to start copying from.</param>
193 </member>
194 <member name="M:NpgsqlTypes.BitString.GetEnumerator">
195 <summary>
196 Returns an enumerator that enumerates through the string.
197 </summary>
198 <returns>The enumerator.</returns>
199 </member>
200 <member name="M:NpgsqlTypes.BitString.Concat(NpgsqlTypes.BitString)">
201 <summary>
202 Creats a bitstring by concatenating another onto this one.
203 </summary>
204 <param name="append">The string to append to this one.</param>
205 <returns>The combined strings.</returns>
206 </member>
207 <member name="M:NpgsqlTypes.BitString.Substring(System.Int32,System.Int32)">
208 <summary>
209 Returns a substring of this string.
210 </summary>
211 <param name="start">The position to start from, must be between 0 and the length of the string.</param>
212 <param name="length">The length of the string to return, must be greater than zero, and may not be
213 so large that the start + length exceeds the bounds of this instance.</param>
214 <returns>The Bitstring identified</returns>
215 </member>
216 <member name="M:NpgsqlTypes.BitString.Substring(System.Int32)">
217 <summary>
218 Returns a substring of this string.
219 </summary>
220 <param name="start">The position to start from, must be between 0 and the length of the string,
221 the rest of the string is returned.</param>
222 <returns>The Bitstring identified</returns>
223 </member>
224 <member name="M:NpgsqlTypes.BitString.And(NpgsqlTypes.BitString)">
225 <summary>
226 A logical and between this string and another. The two strings must be the same length.
227 </summary>
228 <param name="operand">Another BitString to AND with this one.</param>
229 <returns>A bitstring with 1 where both BitStrings had 1 and 0 otherwise.</returns>
230 </member>
231 <member name="M:NpgsqlTypes.BitString.Or(NpgsqlTypes.BitString)">
232 <summary>
233 A logical or between this string and another. The two strings must be the same length.
234 </summary>
235 <param name="operand">Another BitString to OR with this one.</param>
236 <returns>A bitstring with 1 where either BitString had 1 and 0 otherwise.</returns>
237 </member>
238 <member name="M:NpgsqlTypes.BitString.Xor(NpgsqlTypes.BitString)">
239 <summary>
240 A logical xor between this string and another. The two strings must be the same length.
241 </summary>
242 <param name="operand">Another BitString to XOR with this one.</param>
243 <returns>A bitstring with 1 where one BitStrings and the other had 0,
244 and 0 where they both had 1 or both had 0.</returns>
245 </member>
246 <member name="M:NpgsqlTypes.BitString.Not">
247 <summary>
248 A bitstring that is the logical inverse of this one.
249 </summary>
250 <returns>A bitstring of the same length as this with 1 where this has 0 and vice-versa.</returns>
251 </member>
252 <member name="M:NpgsqlTypes.BitString.LShift(System.Int32)">
253 <summary>
254 Shifts the string operand bits to the left, filling with zeros to produce a
255 string of the same length.
256 </summary>
257 <param name="operand">The number of bits to shift to the left.</param>
258 <returns>A left-shifted bitstring.</returns>
259 <remarks><para>The behaviour of LShift is closer to what one would expect from dealing
260 with PostgreSQL bit-strings than in using the same operations on integers in .NET</para>
261 <para>In particular, negative operands result in a right-shift, and operands greater than
262 the length of the string will shift it entirely, resulting in a zero-filled string.</para>
263 </remarks>
264 </member>
265 <member name="M:NpgsqlTypes.BitString.RShift(System.Int32)">
266 <summary>
267 Shifts the string operand bits to the right, filling with zeros to produce a
268 string of the same length.
269 </summary>
270 <param name="operand">The number of bits to shift to the right.</param>
271 <returns>A right-shifted bitstring.</returns>
272 <remarks><para>The behaviour of RShift is closer to what one would expect from dealing
273 with PostgreSQL bit-strings than in using the same operations on integers in .NET</para>
274 <para>In particular, negative operands result in a left-shift, and operands greater than
275 the length of the string will shift it entirely, resulting in a zero-filled string. It also performs
276 a logical shift, rather than an arithmetic shift, so it always sets the vacated bit positions to zero
277 (like PostgreSQL and like .NET for unsigned integers but not for signed integers).</para>
278 </remarks>
279 </member>
280 <member name="M:NpgsqlTypes.BitString.Equals(NpgsqlTypes.BitString)">
281 <summary>
282 Returns true if the this string is identical to the argument passed.
283 </summary>
284 </member>
285 <member name="M:NpgsqlTypes.BitString.CompareTo(NpgsqlTypes.BitString)">
286 <summary>
287 Compares two strings. Strings are compared as strings, so while 0 being less than 1 will
288 mean a comparison between two strings of the same size is the same as treating them as numbers,
289 in the case of two strings of differing lengths the comparison starts at the right-most (most significant)
290 bit, and if all bits of the shorter string are exhausted without finding a comparison, then the larger
291 string is deemed to be greater than the shorter (0010 is greater than 0001 but less than 00100).
292 </summary>
293 <param name="other">Another string to compare with this one.</param>
294 <returns>A value if the two strings are identical, an integer less
295 than zero if this is less than the argument, and an integer greater
296 than zero otherwise.</returns>
297 </member>
298 <member name="M:NpgsqlTypes.BitString.CompareTo(System.Object)">
299 <summary>
300 Compares the string with another object.
301 </summary>
302 <param name="obj">The object to compare with.</param>
303 <returns>If the object is null then this string is considered greater. If the object is another BitString
304 then they are compared as in <see cref="M:NpgsqlTypes.BitString.CompareTo(NpgsqlTypes.BitString)">the explicit comparison for BitStrings</see>
305 in any other case a <see cref="T:System.ArgumentException"/> is thrown.</returns>
306 </member>
307 <member name="M:NpgsqlTypes.BitString.Equals(System.Object)">
308 <summary>
309 Compares this BitString with an object for equality.
310 </summary>
311 </member>
312 <member name="M:NpgsqlTypes.BitString.GetHashCode">
313 <summary>
314 Returns a code for use in hashing operations.
315 </summary>
316 </member>
317 <member name="M:NpgsqlTypes.BitString.ToString(System.String)">
318 <summary>
319 Returns a string representation of the BitString.
320 </summary>
321 <param name="format">
322 A string which can contain a letter and optionally a number which sets a minimum size for the string
323 returned. In each case using the lower-case form of the letter will result in a lower-case string
324 being returned.
325 <list type="table">
326 <item>
327 <term>B</term>
328 <description>A string of 1s and 0s.</description>
329 </item>
330 <item>
331 <term>X</term>
332 <description>An hexadecimal string (will result in an error unless the string's length is divisible by 4).</description>
333 </item>
334 <item>
335 <term>G</term>
336 <description>A string of 1s and 0s in single-quotes preceded by 'B' (Postgres bit string literal syntax).</description>
337 </item>
338 <term>Y</term>
339 <description>An hexadecimal string in single-quotes preceded by 'X' (Postgres bit literal syntax, will result in an error unless the string's length is divisible by 4.</description>
340 </list>
341 <term>C</term>
342 <description>The format produced by format-string "Y" if legal, otherwise that produced by format-string "G".</description>
343 <term>E</term>
344 <description>The most compact safe representation for Postgres. If single bit will be either a 0 or a 1. Otherwise if it
345 can be that produce by format string "Y" it will, otherwise if there are less than 9bits in length it will be that
346 produced by format-string "G". For longer strings that cannot be represented in hexadecimal it will be a string
347 representing the first part of the string in format "Y" followed by the PostgreSQL concatenation operator, followed
348 by the final bits in the format "G". E.g. "X'13DCE'||B'110'"</description>
349 If format is empty or null, it is treated as if "B" had been passed (the default repreesentation, and that
350 generally used by PostgreSQL for display).
351 </param>
352 <returns>The formatted string.</returns>
353 </member>
354 <member name="M:NpgsqlTypes.BitString.ToString">
355 <summary>
356 Returns a string representation for the Bitstring
357 </summary>
358 <returns>A string containing '0' and '1' characters.</returns>
359 </member>
360 <member name="M:NpgsqlTypes.BitString.ToString(System.String,System.IFormatProvider)">
361 <summary>
362 Returns the same string as <see cref="M:NpgsqlTypes.BitString.ToString(System.String)"/>. formatProvider is ignored.
363 </summary>
364 </member>
365 <member name="M:NpgsqlTypes.BitString.Parse(System.String)">
366 <summary>
367 Parses a string to produce a BitString. Most formats that can be produced by
368 <see cref="M:NpgsqlTypes.BitString.ToString(System.String)"/> can be accepted, but hexadecimal
369 can be interpreted with the preceding X' to mark the following characters as
370 being hexadecimal rather than binary.
371 </summary>
372 </member>
373 <member name="M:NpgsqlTypes.BitString.op_BitwiseAnd(NpgsqlTypes.BitString,NpgsqlTypes.BitString)">
374 <summary>
375 Performs a logical AND on the two operands.
376 </summary>
377 </member>
378 <member name="M:NpgsqlTypes.BitString.op_BitwiseOr(NpgsqlTypes.BitString,NpgsqlTypes.BitString)">
379 <summary>
380 Performs a logcial OR on the two operands.
381 </summary>
382 </member>
383 <member name="M:NpgsqlTypes.BitString.op_ExclusiveOr(NpgsqlTypes.BitString,NpgsqlTypes.BitString)">
384 <summary>
385 Perofrms a logical EXCLUSIVE-OR on the two operands
386 </summary>
387 </member>
388 <member name="M:NpgsqlTypes.BitString.op_OnesComplement(NpgsqlTypes.BitString)">
389 <summary>
390 Performs a logical NOT on the operand.
391 </summary>
392 </member>
393 <member name="M:NpgsqlTypes.BitString.op_Addition(NpgsqlTypes.BitString,NpgsqlTypes.BitString)">
394 <summary>
395 Concatenates the operands.
396 </summary>
397 </member>
398 <member name="M:NpgsqlTypes.BitString.op_LeftShift(NpgsqlTypes.BitString,System.Int32)">
399 <summary>
400 Left-shifts the string BitString.
401 </summary>
402 </member>
403 <member name="M:NpgsqlTypes.BitString.op_RightShift(NpgsqlTypes.BitString,System.Int32)">
404 <summary>
405 Right-shifts the string BitString.
406 </summary>
407 </member>
408 <member name="M:NpgsqlTypes.BitString.op_Equality(NpgsqlTypes.BitString,NpgsqlTypes.BitString)">
409 <summary>
410 Compares the two operands.
411 </summary>
412 </member>
413 <member name="M:NpgsqlTypes.BitString.op_Inequality(NpgsqlTypes.BitString,NpgsqlTypes.BitString)">
414 <summary>
415 Compares the two operands.
416 </summary>
417 </member>
418 <member name="M:NpgsqlTypes.BitString.op_LessThan(NpgsqlTypes.BitString,NpgsqlTypes.BitString)">
419 <summary>
420 Compares the two operands.
421 </summary>
422 </member>
423 <member name="M:NpgsqlTypes.BitString.op_GreaterThan(NpgsqlTypes.BitString,NpgsqlTypes.BitString)">
424 <summary>
425 Compares the two operands.
426 </summary>
427 </member>
428 <member name="M:NpgsqlTypes.BitString.op_LessThanOrEqual(NpgsqlTypes.BitString,NpgsqlTypes.BitString)">
429 <summary>
430 Compares the two operands.
431 </summary>
432 </member>
433 <member name="M:NpgsqlTypes.BitString.op_GreaterThanOrEqual(NpgsqlTypes.BitString,NpgsqlTypes.BitString)">
434 <summary>
435 Compares the two operands.
436 </summary>
437 </member>
438 <member name="M:NpgsqlTypes.BitString.ToString(System.Text.Encoding)">
439 <summary>
440 Interprets the bitstring as a series of bits in an encoded character string,
441 encoded according to the Encoding passed, and returns that string.
442 The bitstring must contain a whole number of octets(bytes) and also be
443 valid according to the Encoding passed.
444 </summary>
445 <param name="encoding">The <see cref="T:System.Text.Encoding"/> to use in producing the string.</param>
446 <returns>The string that was encoded in the BitString.</returns>
447 </member>
448 <member name="M:NpgsqlTypes.BitString.ToByteEnumerable">
449 <summary>
450 Interprets the bitstring as a series of octets (bytes) and returns those octets. Fails
451 if the Bitstring does not contain a whole number of octets (its length is not evenly
452 divisible by 8).
453 </summary>
454 </member>
455 <member name="M:NpgsqlTypes.BitString.ToSByteEnumerable">
456 <summary>
457 Interprets the bitstring as a series of signed octets (bytes) and returns those octets. Fails
458 if the Bitstring does not contain a whole number of octets (its length is not evenly
459 divisible by 8).
460 <remarks>This method is not CLS-Compliant and may not be available to languages that cannot
461 handle signed bytes.</remarks>
462 </summary>
463 </member>
464 <member name="M:NpgsqlTypes.BitString.ToUInt16Enumerable">
465 <summary>
466 Interprets the bitstring as a series of unsigned 16-bit integers and returns those integers.
467 Fails if the Bitstring's length is not evenly divisible by 16.
468 <remarks>This method is not CLS-Compliant and may not be available to languages that cannot
469 handle unsigned integers.</remarks>
470 </summary>
471 </member>
472 <member name="M:NpgsqlTypes.BitString.ToInt16Enumerable">
473 <summary>
474 Interprets the bitstring as a series of 16-bit integers and returns those integers.
475 Fails if the Bitstring's length is not evenly divisible by 16.
476 </summary>
477 </member>
478 <member name="M:NpgsqlTypes.BitString.ToUInt32Enumerable">
479 <summary>
480 Interprets the bitstring as a series of unsigned 32-bit integers and returns those integers.
481 Fails if the Bitstring's length is not evenly divisible by 32.
482 <remarks>This method is not CLS-Compliant and may not be available to languages that cannot
483 handle unsigned integers.</remarks>
484 </summary>
485 </member>
486 <member name="M:NpgsqlTypes.BitString.ToInt32Enumerable">
487 <summary>
488 Interprets the bitstring as a series of signed 32-bit integers and returns those integers.
489 Fails if the Bitstring's length is not evenly divisible by 32.
490 </summary>
491 </member>
492 <member name="M:NpgsqlTypes.BitString.ToUInt64Enumerable">
493 <summary>
494 Interprets the bitstring as a series of unsigned 64-bit integers and returns those integers.
495 Fails if the Bitstring's length is not evenly divisible by 64.
496 <remarks>This method is not CLS-Compliant and may not be available to languages that cannot
497 handle unsigned integers.</remarks>
498 </summary>
499 </member>
500 <member name="M:NpgsqlTypes.BitString.ToInt64Enumerable">
501 <summary>
502 Interprets the bitstring as a series of signed 64-bit integers and returns those integers.
503 Fails if the Bitstring's length is not evenly divisible by 64.
504 </summary>
505 </member>
506 <member name="P:NpgsqlTypes.BitString.Length">
507 <summary>
508 The length of the string.
509 </summary>
510 </member>
511 <member name="P:NpgsqlTypes.BitString.Item(System.Int32)">
512 <summary>
513 Retrieves the value of the bit at the given index.
514 </summary>
515 </member>
516 <member name="T:NpgsqlTypes.NpgsqlInterval">
517 <summary>
518 Represents the PostgreSQL interval datatype.
519 <remarks>PostgreSQL differs from .NET in how it's interval type doesn't assume 24 hours in a day
520 (to deal with 23- and 25-hour days caused by daylight savings adjustments) and has a concept
521 of months that doesn't exist in .NET's <see cref="T:System.TimeSpan"/> class. (Neither datatype
522 has any concessions for leap-seconds).
523 <para>For most uses just casting to and from TimeSpan will work correctly — in particular,
524 the results of subtracting one <see cref="T:System.DateTime"/> or the PostgreSQL date, time and
525 timestamp types from another should be the same whether you do so in .NET or PostgreSQL —
526 but if the handling of days and months in PostgreSQL is important to your application then you
527 should use this class instead of <see cref="T:System.TimeSpan"/>.</para>
528 <para>If you don't know whether these differences are important to your application, they
529 probably arent! Just use <see cref="T:System.TimeSpan"/> and do not use this class directly ☺</para>
530 <para>To avoid forcing unnecessary provider-specific concerns on users who need not be concerned
531 with them a call to <see cref="M:System.Data.IDataRecord.GetValue(System.Int32)"/> on a field containing an
532 <see cref="T:NpgsqlTypes.NpgsqlInterval"/> value will return a <see cref="T:System.TimeSpan"/> rather than an
533 <see cref="T:NpgsqlTypes.NpgsqlInterval"/>. If you need the extra functionality of <see cref="T:NpgsqlTypes.NpgsqlInterval"/>
534 then use <see cref="M:Npgsql.NpgsqlDataReader.GetInterval(System.Int32)"/>.</para>
535 </remarks>
536 <seealso cref="P:NpgsqlTypes.NpgsqlInterval.Ticks"/>
537 <seealso cref="M:NpgsqlTypes.NpgsqlInterval.JustifyDays"/>
538 <seealso cref="M:NpgsqlTypes.NpgsqlInterval.JustifyMonths"/>
539 <seealso cref="M:NpgsqlTypes.NpgsqlInterval.Canonicalize"/>
540 </summary>
541 </member>
542 <member name="F:NpgsqlTypes.NpgsqlInterval.TicksPerMicrosecond">
543 <summary>
544 Represents the number of ticks (100ns periods) in one microsecond. This field is constant.
545 </summary>
546 </member>
547 <member name="F:NpgsqlTypes.NpgsqlInterval.TicksPerMillsecond">
548 <summary>
549 Represents the number of ticks (100ns periods) in one millisecond. This field is constant.
550 </summary>
551 </member>
552 <member name="F:NpgsqlTypes.NpgsqlInterval.TicksPerSecond">
553 <summary>
554 Represents the number of ticks (100ns periods) in one second. This field is constant.
555 </summary>
556 </member>
557 <member name="F:NpgsqlTypes.NpgsqlInterval.TicksPerMinute">
558 <summary>
559 Represents the number of ticks (100ns periods) in one minute. This field is constant.
560 </summary>
561 </member>
562 <member name="F:NpgsqlTypes.NpgsqlInterval.TicksPerHour">
563 <summary>
564 Represents the number of ticks (100ns periods) in one hour. This field is constant.
565 </summary>
566 </member>
567 <member name="F:NpgsqlTypes.NpgsqlInterval.TicksPerDay">
568 <summary>
569 Represents the number of ticks (100ns periods) in one day. This field is constant.
570 </summary>
571 </member>
572 <member name="F:NpgsqlTypes.NpgsqlInterval.HoursPerDay">
573 <summary>
574 Represents the number of hours in one day (assuming no daylight savings adjustments). This field is constant.
575 </summary>
576 </member>
577 <member name="F:NpgsqlTypes.NpgsqlInterval.DaysPerMonth">
578 <summary>
579 Represents the number of days assumed in one month if month justification or unjustifcation is performed.
580 This is set to 30 for consistency with PostgreSQL. Note that this is means that month adjustments cause
581 a year to be taken as 30 &#xd7; 12 = 360 rather than 356/366 days.
582 </summary>
583 </member>
584 <member name="F:NpgsqlTypes.NpgsqlInterval.TicksPerMonth">
585 <summary>
586 Represents the number of ticks (100ns periods) in one day, assuming 30 days per month. <seealso cref="F:NpgsqlTypes.NpgsqlInterval.DaysPerMonth"/>
587 </summary>
588 </member>
589 <member name="F:NpgsqlTypes.NpgsqlInterval.MonthsPerYear">
590 <summary>
591 Represents the number of months in a year. This field is constant.
592 </summary>
593 </member>
594 <member name="F:NpgsqlTypes.NpgsqlInterval.MaxValue">
595 <summary>
596 Represents the maximum <see cref="T:NpgsqlTypes.NpgsqlInterval"/>. This field is read-only.
597 </summary>
598 </member>
599 <member name="F:NpgsqlTypes.NpgsqlInterval.MinValue">
600 <summary>
601 Represents the minimum <see cref="T:NpgsqlTypes.NpgsqlInterval"/>. This field is read-only.
602 </summary>
603 </member>
604 <member name="F:NpgsqlTypes.NpgsqlInterval.Zero">
605 <summary>
606 Represents the zero <see cref="T:NpgsqlTypes.NpgsqlInterval"/>. This field is read-only.
607 </summary>
608 </member>
609 <member name="M:NpgsqlTypes.NpgsqlInterval.#ctor(System.Int64)">
610 <summary>
611 Initializes a new <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to the specified number of ticks.
612 </summary>
613 <param name="ticks">A time period expressed in 100ns units.</param>
614 </member>
615 <member name="M:NpgsqlTypes.NpgsqlInterval.#ctor(System.TimeSpan)">
616 <summary>
617 Initializes a new <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to hold the same time as a <see cref="T:System.TimeSpan"/>
618 </summary>
619 <param name="timespan">A time period expressed in a <see cref="T:System.TimeSpan"/></param>
620 </member>
621 <member name="M:NpgsqlTypes.NpgsqlInterval.#ctor(System.Int32,System.Int32,System.Int64)">
622 <summary>
623 Initializes a new <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to the specified number of months, days
624 &amp; ticks.
625 </summary>
626 <param name="months">Number of months.</param>
627 <param name="days">Number of days.</param>
628 <param name="ticks">Number of 100ns units.</param>
629 </member>
630 <member name="M:NpgsqlTypes.NpgsqlInterval.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
631 <summary>
632 Initializes a new <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to the specified number of
633 days, hours, minutes &amp; seconds.
634 </summary>
635 <param name="days">Number of days.</param>
636 <param name="hours">Number of hours.</param>
637 <param name="minutes">Number of minutes.</param>
638 <param name="seconds">Number of seconds.</param>
639 </member>
640 <member name="M:NpgsqlTypes.NpgsqlInterval.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
641 <summary>
642 Initializes a new <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to the specified number of
643 days, hours, minutes, seconds &amp; milliseconds.
644 </summary>
645 <param name="days">Number of days.</param>
646 <param name="hours">Number of hours.</param>
647 <param name="minutes">Number of minutes.</param>
648 <param name="seconds">Number of seconds.</param>
649 <param name="milliseconds">Number of milliseconds.</param>
650 </member>
651 <member name="M:NpgsqlTypes.NpgsqlInterval.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
652 <summary>
653 Initializes a new <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to the specified number of
654 months, days, hours, minutes, seconds &amp; milliseconds.
655 </summary>
656 <param name="months">Number of months.</param>
657 <param name="days">Number of days.</param>
658 <param name="hours">Number of hours.</param>
659 <param name="minutes">Number of minutes.</param>
660 <param name="seconds">Number of seconds.</param>
661 <param name="milliseconds">Number of milliseconds.</param>
662 </member>
663 <member name="M:NpgsqlTypes.NpgsqlInterval.#ctor(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
664 <summary>
665 Initializes a new <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to the specified number of
666 years, months, days, hours, minutes, seconds &amp; milliseconds.
667 <para>Years are calculated exactly equivalent to 12 months.</para>
668 </summary>
669 <param name="years">Number of years.</param>
670 <param name="months">Number of months.</param>
671 <param name="days">Number of days.</param>
672 <param name="hours">Number of hours.</param>
673 <param name="minutes">Number of minutes.</param>
674 <param name="seconds">Number of seconds.</param>
675 <param name="milliseconds">Number of milliseconds.</param>
676 </member>
677 <member name="M:NpgsqlTypes.NpgsqlInterval.FromTicks(System.Int64)">
678 <summary>
679 Creates an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> from a number of ticks.
680 </summary>
681 <param name="ticks">The number of ticks (100ns units) in the interval.</param>
682 <returns>A <see cref="M:NpgsqlTypes.NpgsqlInterval.Canonicalize"/>d <see cref="T:NpgsqlTypes.NpgsqlInterval"/> with the given number of ticks.</returns>
683 </member>
684 <member name="M:NpgsqlTypes.NpgsqlInterval.FromMicroseconds(System.Double)">
685 <summary>
686 Creates an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> from a number of microseconds.
687 </summary>
688 <param name="micro">The number of microseconds in the interval.</param>
689 <returns>A <see cref="M:NpgsqlTypes.NpgsqlInterval.Canonicalize"/>d <see cref="T:NpgsqlTypes.NpgsqlInterval"/> with the given number of microseconds.</returns>
690 </member>
691 <member name="M:NpgsqlTypes.NpgsqlInterval.FromMilliseconds(System.Double)">
692 <summary>
693 Creates an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> from a number of milliseconds.
694 </summary>
695 <param name="milli">The number of milliseconds in the interval.</param>
696 <returns>A <see cref="M:NpgsqlTypes.NpgsqlInterval.Canonicalize"/>d <see cref="T:NpgsqlTypes.NpgsqlInterval"/> with the given number of milliseconds.</returns>
697 </member>
698 <member name="M:NpgsqlTypes.NpgsqlInterval.FromSeconds(System.Double)">
699 <summary>
700 Creates an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> from a number of seconds.
701 </summary>
702 <param name="seconds">The number of seconds in the interval.</param>
703 <returns>A <see cref="M:NpgsqlTypes.NpgsqlInterval.Canonicalize"/>d <see cref="T:NpgsqlTypes.NpgsqlInterval"/> with the given number of seconds.</returns>
704 </member>
705 <member name="M:NpgsqlTypes.NpgsqlInterval.FromMinutes(System.Double)">
706 <summary>
707 Creates an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> from a number of minutes.
708 </summary>
709 <param name="minutes">The number of minutes in the interval.</param>
710 <returns>A <see cref="M:NpgsqlTypes.NpgsqlInterval.Canonicalize"/>d <see cref="T:NpgsqlTypes.NpgsqlInterval"/> with the given number of minutes.</returns>
711 </member>
712 <member name="M:NpgsqlTypes.NpgsqlInterval.FromHours(System.Double)">
713 <summary>
714 Creates an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> from a number of hours.
715 </summary>
716 <param name="hours">The number of hours in the interval.</param>
717 <returns>A <see cref="M:NpgsqlTypes.NpgsqlInterval.Canonicalize"/>d <see cref="T:NpgsqlTypes.NpgsqlInterval"/> with the given number of hours.</returns>
718 </member>
719 <member name="M:NpgsqlTypes.NpgsqlInterval.FromDays(System.Double)">
720 <summary>
721 Creates an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> from a number of days.
722 </summary>
723 <param name="days">The number of days in the interval.</param>
724 <returns>A <see cref="M:NpgsqlTypes.NpgsqlInterval.Canonicalize"/>d <see cref="T:NpgsqlTypes.NpgsqlInterval"/> with the given number of days.</returns>
725 </member>
726 <member name="M:NpgsqlTypes.NpgsqlInterval.FromMonths(System.Double)">
727 <summary>
728 Creates an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> from a number of months.
729 </summary>
730 <param name="months">The number of months in the interval.</param>
731 <returns>A <see cref="M:NpgsqlTypes.NpgsqlInterval.Canonicalize"/>d <see cref="T:NpgsqlTypes.NpgsqlInterval"/> with the given number of months.</returns>
732 </member>
733 <member name="M:NpgsqlTypes.NpgsqlInterval.Add(NpgsqlTypes.NpgsqlInterval)">
734 <summary>
735 Adds another interval to this instance and returns the result.
736 </summary>
737 <param name="interval">An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to add to this instance.</param>
738 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"></see> whose values are the sums of the two instances.</returns>
739 </member>
740 <member name="M:NpgsqlTypes.NpgsqlInterval.Subtract(NpgsqlTypes.NpgsqlInterval)">
741 <summary>
742 Subtracts another interval from this instance and returns the result.
743 </summary>
744 <param name="interval">An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to subtract from this instance.</param>
745 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"></see> whose values are the differences of the two instances.</returns>
746 </member>
747 <member name="M:NpgsqlTypes.NpgsqlInterval.Negate">
748 <summary>
749 Returns an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> whose value is the negated value of this instance.
750 </summary>
751 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> whose value is the negated value of this instance.</returns>
752 </member>
753 <member name="M:NpgsqlTypes.NpgsqlInterval.Duration">
754 <summary>
755 This absolute value of this instance. In the case of some, but not all, components being negative,
756 the rules used for justification are used to determine if the instance is positive or negative.
757 </summary>
758 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> whose value is the absolute value of this instance.</returns>
759 </member>
760 <member name="M:NpgsqlTypes.NpgsqlInterval.JustifyDays">
761 <summary>
762 Equivalent to PostgreSQL's justify_days function.
763 </summary>
764 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> based on this one, but with any hours outside of the range [-23, 23]
765 converted into days.</returns>
766 </member>
767 <member name="M:NpgsqlTypes.NpgsqlInterval.UnjustifyDays">
768 <summary>
769 Opposite to PostgreSQL's justify_days function.
770 </summary>
771 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> based on this one, but with any days converted to multiples of ±24hours.</returns>
772 </member>
773 <member name="M:NpgsqlTypes.NpgsqlInterval.JustifyMonths">
774 <summary>
775 Equivalent to PostgreSQL's justify_months function.
776 </summary>
777 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> based on this one, but with any days outside of the range [-30, 30]
778 converted into months.</returns>
779 </member>
780 <member name="M:NpgsqlTypes.NpgsqlInterval.UnjustifyMonths">
781 <summary>
782 Opposite to PostgreSQL's justify_months function.
783 </summary>
784 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> based on this one, but with any months converted to multiples of ±30days.</returns>
785 </member>
786 <member name="M:NpgsqlTypes.NpgsqlInterval.JustifyInterval">
787 <summary>
788 Equivalent to PostgreSQL's justify_interval function.
789 </summary>
790 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> based on this one,
791 but with any months converted to multiples of ±30days
792 and then with any days converted to multiples of ±24hours</returns>
793 </member>
794 <member name="M:NpgsqlTypes.NpgsqlInterval.UnjustifyInterval">
795 <summary>
796 Opposite to PostgreSQL's justify_interval function.
797 </summary>
798 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> based on this one, but with any months converted to multiples of ±30days and then any days converted to multiples of ±24hours;</returns>
799 </member>
800 <member name="M:NpgsqlTypes.NpgsqlInterval.Canonicalize">
801 <summary>
802 Produces a canonical NpgslInterval with 0 months and hours in the range of [-23, 23].
803 <remarks>
804 <para>
805 While the fact that for many purposes, two different <see cref="T:NpgsqlTypes.NpgsqlInterval"/> instances could be considered
806 equivalent (e.g. one with 2days, 3hours and one with 1day 27hours) there are different possible canonical forms.
807 </para><para>
808 E.g. we could move all excess hours into days and all excess days into months and have the most readable form,
809 or we could move everything into the ticks and have the form that allows for the easiest arithmetic) the form
810 chosen has two important properties that make it the best choice.
811 </para><para>First, it is closest two how
812 <see cref="T:System.TimeSpan"/> objects are most often represented. Second, it is compatible with results of many
813 PostgreSQL functions, particularly with age() and the results of subtracting one date, time or timestamp from
814 another.
815 </para>
816 <para>Note that the results of casting a <see cref="T:System.TimeSpan"/> to <see cref="T:NpgsqlTypes.NpgsqlInterval"/> is
817 canonicalised.</para>
818 </remarks>
819 </summary>
820 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> based on this one, but with months converted to multiples of ±30days and with any hours outside of the range [-23, 23]
821 converted into days.</returns>
822 </member>
823 <member name="M:NpgsqlTypes.NpgsqlInterval.op_Implicit(System.TimeSpan)~NpgsqlTypes.NpgsqlInterval">
824 <summary>
825 Implicit cast of a <see cref="T:System.TimeSpan"/> to an <see cref="T:NpgsqlTypes.NpgsqlInterval"/>
826 </summary>
827 <param name="timespan">A <see cref="T:System.TimeSpan"/></param>
828 <returns>An eqivalent, canonical, <see cref="T:NpgsqlTypes.NpgsqlInterval"/>.</returns>
829 </member>
830 <member name="M:NpgsqlTypes.NpgsqlInterval.op_Explicit(NpgsqlTypes.NpgsqlInterval)~System.TimeSpan">
831 <summary>
832 Implicit cast of an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to a <see cref="T:System.TimeSpan"/>.
833 </summary>
834 <param name="interval">A <see cref="T:NpgsqlTypes.NpgsqlInterval"/>.</param>
835 <returns>An equivalent <see cref="T:System.TimeSpan"/>.</returns>
836 </member>
837 <member name="M:NpgsqlTypes.NpgsqlInterval.Equals(NpgsqlTypes.NpgsqlInterval)">
838 <summary>
839 Returns true if another <see cref="T:NpgsqlTypes.NpgsqlInterval"/> is exactly the same as this instance.
840 </summary>
841 <param name="other">An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> for comparison.</param>
842 <returns>true if the two <see cref="T:NpgsqlTypes.NpgsqlInterval"/> instances are exactly the same,
843 false otherwise.</returns>
844 </member>
845 <member name="M:NpgsqlTypes.NpgsqlInterval.Equals(System.Object)">
846 <summary>
847 Returns true if another object is an <see cref="T:NpgsqlTypes.NpgsqlInterval"/>, that is exactly the same as
848 this instance
849 </summary>
850 <param name="obj">An <see cref="T:System.Object"/> for comparison.</param>
851 <returns>true if the argument is an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> and is exactly the same
852 as this one, false otherwise.</returns>
853 </member>
854 <member name="M:NpgsqlTypes.NpgsqlInterval.Compare(NpgsqlTypes.NpgsqlInterval,NpgsqlTypes.NpgsqlInterval)">
855 <summary>
856 Compares two <see cref="T:NpgsqlTypes.NpgsqlInterval"/> instances.
857 </summary>
858 <param name="x">The first <see cref="T:NpgsqlTypes.NpgsqlInterval"/>.</param>
859 <param name="y">The second <see cref="T:NpgsqlTypes.NpgsqlInterval"/>.</param>
860 <returns>0 if the two are equal or equivalent. A value greater than zero if x is greater than y,
861 a value less than zero if x is less than y.</returns>
862 </member>
863 <member name="M:NpgsqlTypes.NpgsqlInterval.GetHashCode">
864 <summary>
865 A hash code suitable for uses with hashing algorithms.
866 </summary>
867 <returns>An signed integer.</returns>
868 </member>
869 <member name="M:NpgsqlTypes.NpgsqlInterval.CompareTo(NpgsqlTypes.NpgsqlInterval)">
870 <summary>
871 Compares this instance with another/
872 </summary>
873 <param name="other">An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to compare this with.</param>
874 <returns>0 if the instances are equal or equivalent. A value less than zero if
875 this instance is less than the argument. A value greater than zero if this instance
876 is greater than the instance.</returns>
877 </member>
878 <member name="M:NpgsqlTypes.NpgsqlInterval.CompareTo(System.Object)">
879 <summary>
880 Compares this instance with another/
881 </summary>
882 <param name="other">An object to compare this with.</param>
883 <returns>0 if the argument is an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> and the instances are equal or equivalent.
884 A value less than zero if the argument is an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> and
885 this instance is less than the argument.
886 A value greater than zero if the argument is an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> and this instance
887 is greater than the instance.</returns>
888 A value greater than zero if the argument is null.
889 <exception cref="T:System.ArgumentException">The argument is not an <see cref="T:NpgsqlTypes.NpgsqlInterval"/>.</exception>
890 </member>
891 <member name="M:NpgsqlTypes.NpgsqlInterval.Parse(System.String)">
892 <summary>
893 Parses a <see cref="T:System.String"/> and returns a <see cref="T:NpgsqlTypes.NpgsqlInterval"/> instance.
894 Designed to use the formats generally returned by PostgreSQL.
895 </summary>
896 <param name="str">The <see cref="T:System.String"/> to parse.</param>
897 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> represented by the argument.</returns>
898 <exception cref="T:System.ArgumentNullException">The string was null.</exception>
899 <exception cref="T:System.OverflowException">A value obtained from parsing the string exceeded the values allowed for the relevant component.</exception>
900 <exception cref="T:System.FormatException">The string was not in a format that could be parsed to produce an <see cref="T:NpgsqlTypes.NpgsqlInterval"/>.</exception>
901 </member>
902 <member name="M:NpgsqlTypes.NpgsqlInterval.TryParse(System.String,NpgsqlTypes.NpgsqlInterval@)">
903 <summary>
904 Attempt to parse a <see cref="T:System.String"/> to produce an <see cref="T:NpgsqlTypes.NpgsqlInterval"/>.
905 </summary>
906 <param name="str">The <see cref="T:System.String"/> to parse.</param>
907 <param name="result">(out) The <see cref="T:NpgsqlTypes.NpgsqlInterval"/> produced, or <see cref="F:NpgsqlTypes.NpgsqlInterval.Zero"/> if the parsing failed.</param>
908 <returns>true if the parsing succeeded, false otherwise.</returns>
909 </member>
910 <member name="M:NpgsqlTypes.NpgsqlInterval.ToString">
911 <summary>
912 Create a <see cref="T:System.String"/> representation of the <see cref="T:NpgsqlTypes.NpgsqlInterval"/> instance.
913 The format returned is of the form:
914 [M mon[s]] [d day[s]] [HH:mm:ss[.f[f[f[f[f[f[f[f[f]]]]]]]]]]
915 A zero <see cref="T:NpgsqlTypes.NpgsqlInterval"/> is represented as 00:00:00
916 <remarks>
917 Ticks are 100ns, Postgress resolution is only to 1µs at most. Hence we lose 1 or more decimal
918 precision in storing values in the database. Despite this, this method will output that extra
919 digit of precision. It's forward-compatible with any future increases in resolution up to 100ns,
920 and also makes this ToString() more applicable to any other use-case.
921 </remarks>
922 </summary>
923 <returns>The <see cref="T:System.String"/> representation.</returns>
924 </member>
925 <member name="M:NpgsqlTypes.NpgsqlInterval.op_Addition(NpgsqlTypes.NpgsqlInterval,NpgsqlTypes.NpgsqlInterval)">
926 <summary>
927 Adds two <see cref="T:NpgsqlTypes.NpgsqlInterval"/> together.
928 </summary>
929 <param name="x">The first <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to add.</param>
930 <param name="y">The second <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to add.</param>
931 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> whose values are the sum of the arguments.</returns>
932 </member>
933 <member name="M:NpgsqlTypes.NpgsqlInterval.op_Subtraction(NpgsqlTypes.NpgsqlInterval,NpgsqlTypes.NpgsqlInterval)">
934 <summary>
935 Subtracts one <see cref="T:NpgsqlTypes.NpgsqlInterval"/> from another.
936 </summary>
937 <param name="x">The <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to subtract the other from.</param>
938 <param name="y">The <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to subtract from the other.</param>
939 <returns>An <see cref="T:NpgsqlTypes.NpgsqlInterval"/> whose values are the difference of the arguments</returns>
940 </member>
941 <member name="M:NpgsqlTypes.NpgsqlInterval.op_Equality(NpgsqlTypes.NpgsqlInterval,NpgsqlTypes.NpgsqlInterval)">
942 <summary>
943 Returns true if two <see cref="T:NpgsqlTypes.NpgsqlInterval"/> are exactly the same.
944 </summary>
945 <param name="x">The first <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to compare.</param>
946 <param name="y">The second <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to compare.</param>
947 <returns>true if the two arguments are exactly the same, false otherwise.</returns>
948 </member>
949 <member name="M:NpgsqlTypes.NpgsqlInterval.op_Inequality(NpgsqlTypes.NpgsqlInterval,NpgsqlTypes.NpgsqlInterval)">
950 <summary>
951 Returns false if two <see cref="T:NpgsqlTypes.NpgsqlInterval"/> are exactly the same.
952 </summary>
953 <param name="x">The first <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to compare.</param>
954 <param name="y">The second <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to compare.</param>
955 <returns>false if the two arguments are exactly the same, true otherwise.</returns>
956 </member>
957 <member name="M:NpgsqlTypes.NpgsqlInterval.op_LessThan(NpgsqlTypes.NpgsqlInterval,NpgsqlTypes.NpgsqlInterval)">
958 <summary>
959 Compares two <see cref="T:NpgsqlTypes.NpgsqlInterval"/> instances to see if the first is less than the second
960 </summary>
961 <param name="x">The first <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to compare.</param>
962 <param name="y">The second <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to compare.</param>
963 <returns>true if the first <see cref="T:NpgsqlTypes.NpgsqlInterval"/> is less than second, false otherwise.</returns>
964 </member>
965 <member name="M:NpgsqlTypes.NpgsqlInterval.op_LessThanOrEqual(NpgsqlTypes.NpgsqlInterval,NpgsqlTypes.NpgsqlInterval)">
966 <summary>
967 Compares two <see cref="T:NpgsqlTypes.NpgsqlInterval"/> instances to see if the first is less than or equivalent to the second
968 </summary>
969 <param name="x">The first <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to compare.</param>
970 <param name="y">The second <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to compare.</param>
971 <returns>true if the first <see cref="T:NpgsqlTypes.NpgsqlInterval"/> is less than or equivalent to second, false otherwise.</returns>
972 </member>
973 <member name="M:NpgsqlTypes.NpgsqlInterval.op_GreaterThan(NpgsqlTypes.NpgsqlInterval,NpgsqlTypes.NpgsqlInterval)">
974 <summary>
975 Compares two <see cref="T:NpgsqlTypes.NpgsqlInterval"/> instances to see if the first is greater than the second
976 </summary>
977 <param name="x">The first <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to compare.</param>
978 <param name="y">The second <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to compare.</param>
979 <returns>true if the first <see cref="T:NpgsqlTypes.NpgsqlInterval"/> is greater than second, false otherwise.</returns>
980 </member>
981 <member name="M:NpgsqlTypes.NpgsqlInterval.op_GreaterThanOrEqual(NpgsqlTypes.NpgsqlInterval,NpgsqlTypes.NpgsqlInterval)">
982 <summary>
983 Compares two <see cref="T:NpgsqlTypes.NpgsqlInterval"/> instances to see if the first is greater than or equivalent the second
984 </summary>
985 <param name="x">The first <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to compare.</param>
986 <param name="y">The second <see cref="T:NpgsqlTypes.NpgsqlInterval"/> to compare.</param>
987 <returns>true if the first <see cref="T:NpgsqlTypes.NpgsqlInterval"/> is greater than or equivalent to the second, false otherwise.</returns>
988 </member>
989 <member name="M:NpgsqlTypes.NpgsqlInterval.op_UnaryPlus(NpgsqlTypes.NpgsqlInterval)">
990 <summary>
991 Returns the instance.
992 </summary>
993 <param name="x">An <see cref="T:NpgsqlTypes.NpgsqlInterval"/>.</param>
994 <returns>The argument.</returns>
995 </member>
996 <member name="M:NpgsqlTypes.NpgsqlInterval.op_UnaryNegation(NpgsqlTypes.NpgsqlInterval)">
997 <summary>
998 Negates an <see cref="T:NpgsqlTypes.NpgsqlInterval"/> instance.
999 </summary>
1000 <param name="x">An <see cref="T:NpgsqlTypes.NpgsqlInterval"/>.</param>
1001 <returns>The negation of the argument.</returns>
1002 </member>
1003 <member name="P:NpgsqlTypes.NpgsqlInterval.Ticks">
1004 <summary>
1005 The total number of ticks(100ns units) contained. This is the resolution of the
1006 <see cref="T:NpgsqlTypes.NpgsqlInterval"/> type. This ignores the number of days and
1007 months held. If you want them included use <see cref="M:NpgsqlTypes.NpgsqlInterval.UnjustifyInterval"/> first.
1008 <remarks>The resolution of the PostgreSQL
1009 interval type is by default 1µs = 1,000 ns. It may be smaller as follows:
1010 <list type="number">
1011 <item>
1012 <term>interval(0)</term>
1013 <description>resolution of 1s (1 second)</description>
1014 </item>
1015 <item>
1016 <term>interval(1)</term>
1017 <description>resolution of 100ms = 0.1s (100 milliseconds)</description>
1018 </item>
1019 <item>
1020 <term>interval(2)</term>
1021 <description>resolution of 10ms = 0.01s (10 milliseconds)</description>
1022 </item>
1023 <item>
1024 <term>interval(3)</term>
1025 <description>resolution of 1ms = 0.001s (1 millisecond)</description>
1026 </item>
1027 <item>
1028 <term>interval(4)</term>
1029 <description>resolution of 100µs = 0.0001s (100 microseconds)</description>
1030 </item>
1031 <item>
1032 <term>interval(5)</term>
1033 <description>resolution of 10µs = 0.00001s (10 microseconds)</description>
1034 </item>
1035 <item>
1036 <term>interval(6) or interval</term>
1037 <description>resolution of 1µs = 0.000001s (1 microsecond)</description>
1038 </item>
1039 </list>
1040 <para>As such, if the 100-nanosecond resolution is significant to an application, a PostgreSQL interval will
1041 not suffice for those purposes.</para>
1042 <para>In more frequent cases though, the resolution of the interval suffices.
1043 <see cref="T:NpgsqlTypes.NpgsqlInterval"/> will always suffice to handle the resolution of any interval value, and upon
1044 writing to the database, will be rounded to the resolution used.</para>
1045 </remarks>
1046 <returns>The number of ticks in the instance.</returns>
1047 </summary>
1048 </member>
1049 <member name="P:NpgsqlTypes.NpgsqlInterval.Microseconds">
1050 <summary>
1051 Gets the number of whole microseconds held in the instance.
1052 <returns>An in the range [-999999, 999999].</returns>
1053 </summary>
1054 </member>
1055 <member name="P:NpgsqlTypes.NpgsqlInterval.Milliseconds">
1056 <summary>
1057 Gets the number of whole milliseconds held in the instance.
1058 <returns>An in the range [-999, 999].</returns>
1059 </summary>
1060 </member>
1061 <member name="P:NpgsqlTypes.NpgsqlInterval.Seconds">
1062 <summary>
1063 Gets the number of whole seconds held in the instance.
1064 <returns>An in the range [-59, 59].</returns>
1065 </summary>
1066 </member>
1067 <member name="P:NpgsqlTypes.NpgsqlInterval.Minutes">
1068 <summary>
1069 Gets the number of whole minutes held in the instance.
1070 <returns>An in the range [-59, 59].</returns>
1071 </summary>
1072 </member>
1073 <member name="P:NpgsqlTypes.NpgsqlInterval.Hours">
1074 <summary>
1075 Gets the number of whole hours held in the instance.
1076 <remarks>Note that this can be less than -23 or greater than 23 unless <see cref="M:NpgsqlTypes.NpgsqlInterval.JustifyDays"/>
1077 has been used to produce this instance.</remarks>
1078 </summary>
1079 </member>
1080 <member name="P:NpgsqlTypes.NpgsqlInterval.Days">
1081 <summary>
1082 Gets the number of days held in the instance.
1083 <remarks>Note that this does not pay attention to a time component with -24 or less hours or
1084 24 or more hours, unless <see cref="M:NpgsqlTypes.NpgsqlInterval.JustifyDays"/> has been called to produce this instance.</remarks>
1085 </summary>
1086 </member>
1087 <member name="P:NpgsqlTypes.NpgsqlInterval.Months">
1088 <summary>
1089 Gets the number of months held in the instance.
1090 <remarks>Note that this does not pay attention to a day component with -30 or less days or
1091 30 or more days, unless <see cref="M:NpgsqlTypes.NpgsqlInterval.JustifyMonths"/> has been called to produce this instance.</remarks>
1092 </summary>
1093 </member>
1094 <member name="P:NpgsqlTypes.NpgsqlInterval.Time">
1095 <summary>
1096 Returns a <see cref="T:System.TimeSpan"/> representing the time component of the instance.
1097 <remarks>Note that this may have a value beyond the range ±23:59:59.9999999 unless
1098 <see cref="M:NpgsqlTypes.NpgsqlInterval.JustifyDays"/> has been called to produce this instance.</remarks>
1099 </summary>
1100 </member>
1101 <member name="P:NpgsqlTypes.NpgsqlInterval.TotalTicks">
1102 <summary>
1103 The total number of ticks (100ns units) in the instance, assuming 24 hours in each day and
1104 30 days in a month.
1105 </summary>
1106 </member>
1107 <member name="P:NpgsqlTypes.NpgsqlInterval.TotalMicroseconds">
1108 <summary>
1109 The total number of microseconds in the instance, assuming 24 hours in each day and
1110 30 days in a month.
1111 </summary>
1112 </member>
1113 <member name="P:NpgsqlTypes.NpgsqlInterval.TotalMilliseconds">
1114 <summary>
1115 The total number of milliseconds in the instance, assuming 24 hours in each day and
1116 30 days in a month.
1117 </summary>
1118 </member>
1119 <member name="P:NpgsqlTypes.NpgsqlInterval.TotalSeconds">
1120 <summary>
1121 The total number of seconds in the instance, assuming 24 hours in each day and
1122 30 days in a month.
1123 </summary>
1124 </member>
1125 <member name="P:NpgsqlTypes.NpgsqlInterval.TotalMinutes">
1126 <summary>
1127 The total number of minutes in the instance, assuming 24 hours in each day and
1128 30 days in a month.
1129 </summary>
1130 </member>
1131 <member name="P:NpgsqlTypes.NpgsqlInterval.TotalHours">
1132 <summary>
1133 The total number of hours in the instance, assuming 24 hours in each day and
1134 30 days in a month.
1135 </summary>
1136 </member>
1137 <member name="P:NpgsqlTypes.NpgsqlInterval.TotalDays">
1138 <summary>
1139 The total number of days in the instance, assuming 24 hours in each day and
1140 30 days in a month.
1141 </summary>
1142 </member>
1143 <member name="P:NpgsqlTypes.NpgsqlInterval.TotalMonths">
1144 <summary>
1145 The total number of months in the instance, assuming 24 hours in each day and
1146 30 days in a month.
1147 </summary>
1148 </member>
1149 <member name="M:NpgsqlTypes.NpgsqlTime.Normalize">
1150 <summary>
1151 Normalise this time; if it is 24:00:00, convert it to 00:00:00
1152 </summary>
1153 <returns>This time, normalised</returns>
1154 </member>
1155 <member name="P:NpgsqlTypes.NpgsqlTime.Ticks">
1156 <summary>
1157 The total number of ticks(100ns units) contained. This is the resolution of the
1158 <see cref="T:NpgsqlTypes.NpgsqlTime"/> type.
1159 <remarks>The resolution of the PostgreSQL
1160 interval type is by default 1µs = 1,000 ns. It may be smaller as follows:
1161 <list type="number">
1162 <item>
1163 <term>time(0)</term>
1164 <description>resolution of 1s (1 second)</description>
1165 </item>
1166 <item>
1167 <term>time(1)</term>
1168 <description>resolution of 100ms = 0.1s (100 milliseconds)</description>
1169 </item>
1170 <item>
1171 <term>time(2)</term>
1172 <description>resolution of 10ms = 0.01s (10 milliseconds)</description>
1173 </item>
1174 <item>
1175 <term>time(3)</term>
1176 <description>resolution of 1ms = 0.001s (1 millisecond)</description>
1177 </item>
1178 <item>
1179 <term>time(4)</term>
1180 <description>resolution of 100µs = 0.0001s (100 microseconds)</description>
1181 </item>
1182 <item>
1183 <term>time(5)</term>
1184 <description>resolution of 10µs = 0.00001s (10 microseconds)</description>
1185 </item>
1186 <item>
1187 <term>time(6) or interval</term>
1188 <description>resolution of 1µs = 0.000001s (1 microsecond)</description>
1189 </item>
1190 </list>
1191 <para>As such, if the 100-nanosecond resolution is significant to an application, a PostgreSQL time will
1192 not suffice for those purposes.</para>
1193 <para>In more frequent cases though, the resolution of time suffices.
1194 <see cref="T:NpgsqlTypes.NpgsqlTime"/> will always suffice to handle the resolution of any time value, and upon
1195 writing to the database, will be rounded to the resolution used.</para>
1196 </remarks>
1197 <returns>The number of ticks in the instance.</returns>
1198 </summary>
1199 </member>
1200 <member name="P:NpgsqlTypes.NpgsqlTime.Microseconds">
1201 <summary>
1202 Gets the number of whole microseconds held in the instance.
1203 <returns>An integer in the range [0, 999999].</returns>
1204 </summary>
1205 </member>
1206 <member name="P:NpgsqlTypes.NpgsqlTime.Milliseconds">
1207 <summary>
1208 Gets the number of whole milliseconds held in the instance.
1209 <returns>An integer in the range [0, 999].</returns>
1210 </summary>
1211 </member>
1212 <member name="P:NpgsqlTypes.NpgsqlTime.Seconds">
1213 <summary>
1214 Gets the number of whole seconds held in the instance.
1215 <returns>An interger in the range [0, 59].</returns>
1216 </summary>
1217 </member>
1218 <member name="P:NpgsqlTypes.NpgsqlTime.Minutes">
1219 <summary>
1220 Gets the number of whole minutes held in the instance.
1221 <returns>An integer in the range [0, 59].</returns>
1222 </summary>
1223 </member>
1224 <member name="P:NpgsqlTypes.NpgsqlTime.Hours">
1225 <summary>
1226 Gets the number of whole hours held in the instance.
1227 <remarks>Note that the time 24:00:00 can be stored for roundtrip compatibility. Any calculations on such a
1228 value will normalised it to 00:00:00.</remarks>
1229 </summary>
1230 </member>
1231 <member name="M:NpgsqlTypes.NpgsqlTimeTZ.Normalize">
1232 <summary>
1233 Normalise this time; if it is 24:00:00, convert it to 00:00:00
1234 </summary>
1235 <returns>This time, normalised</returns>
1236 </member>
1237 <member name="M:NpgsqlTypes.NpgsqlTimeTZ.CompareTo(NpgsqlTypes.NpgsqlTimeTZ)">
1238 <summary>
1239 Compares this with another <see cref="T:NpgsqlTypes.NpgsqlTimeTZ"/>. As per postgres' rules,
1240 first the times are compared as if they were both in the same timezone. If they are equal then
1241 then timezones are compared (+01:00 being "smaller" than -01:00).
1242 </summary>
1243 <param name="other">the <see cref="T:NpgsqlTypes.NpgsqlTimeTZ"/> to compare with.</param>
1244 <returns>An integer which is 0 if they are equal, &lt; 0 if this is the smaller and &gt; 0 if this is the larger.</returns>
1245 </member>
1246 <member name="P:NpgsqlTypes.NpgsqlTimeTZ.Microseconds">
1247 <summary>
1248 Gets the number of whole microseconds held in the instance.
1249 <returns>An integer in the range [0, 999999].</returns>
1250 </summary>
1251 </member>
1252 <member name="P:NpgsqlTypes.NpgsqlTimeTZ.Milliseconds">
1253 <summary>
1254 Gets the number of whole milliseconds held in the instance.
1255 <returns>An integer in the range [0, 999].</returns>
1256 </summary>
1257 </member>
1258 <member name="P:NpgsqlTypes.NpgsqlTimeTZ.Seconds">
1259 <summary>
1260 Gets the number of whole seconds held in the instance.
1261 <returns>An interger in the range [0, 59].</returns>
1262 </summary>
1263 </member>
1264 <member name="P:NpgsqlTypes.NpgsqlTimeTZ.Minutes">
1265 <summary>
1266 Gets the number of whole minutes held in the instance.
1267 <returns>An integer in the range [0, 59].</returns>
1268 </summary>
1269 </member>
1270 <member name="P:NpgsqlTypes.NpgsqlTimeTZ.Hours">
1271 <summary>
1272 Gets the number of whole hours held in the instance.
1273 <remarks>Note that the time 24:00:00 can be stored for roundtrip compatibility. Any calculations on such a
1274 value will normalised it to 00:00:00.</remarks>
1275 </summary>
1276 </member>
1277 <member name="T:NpgsqlTypes.LargeObjectManager">
1278 <summary>
1279 Summary description for LargeObjectManager.
1280 </summary>
1281 </member>
1282 <member name="T:NpgsqlTypes.NativeToBackendTypeConverterOptions">
1283 <summary>
1284 Options that control certain aspects of native to backend conversions that depend
1285 on backend version and status.
1286 </summary>
1287 </member>
1288 <member name="M:NpgsqlTypes.NativeToBackendTypeConverterOptions.System#ICloneable#Clone">
1289 <summary>
1290 Clone the current object.
1291 </summary>
1292 <returns>A new NativeToBackendTypeConverterOptions object.</returns>
1293 </member>
1294 <member name="M:NpgsqlTypes.NativeToBackendTypeConverterOptions.Clone(NpgsqlTypes.NpgsqlBackendTypeMapping)">
1295 <summary>
1296 Clone the current object with a different OID/Name mapping.
1297 </summary>
1298 <param name="oidToNameMapping">OID/Name mapping object to use in the new instance.</param>
1299 <returns>A new NativeToBackendTypeConverterOptions object.</returns>
1300 </member>
1301 <member name="T:NpgsqlTypes.BasicBackendToNativeTypeConverter">
1302 <summary>
1303 Provide event handlers to convert all native supported basic data types from their backend
1304 text representation to a .NET object.
1305 </summary>
1306 </member>
1307 <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.TextBinaryToString(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int32,System.Int32)">
1308 <summary>
1309 Convert UTF8 encoded text a string.
1310 </summary>
1311 </member>
1312 <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ByteaTextToByteArray(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1313 <summary>
1314 Byte array from bytea encoded as ASCII text, escaped or hex format.
1315 </summary>
1316 </member>
1317 <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ByteaBinaryToByteArray(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int32,System.Int32)">
1318 <summary>
1319 Byte array from bytea encoded as binary.
1320 </summary>
1321 </member>
1322 <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.BooleanTextToBoolean(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1323 <summary>
1324 Convert a postgresql boolean to a System.Boolean.
1325 </summary>
1326 </member>
1327 <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.BooleanBinaryToBoolean(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int32,System.Int32)">
1328 <summary>
1329 Convert a postgresql boolean to a System.Boolean.
1330 </summary>
1331 </member>
1332 <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToBit(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1333 <summary>
1334 Convert a postgresql bit to a System.Boolean.
1335 </summary>
1336 </member>
1337 <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToDateTime(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1338 <summary>
1339 Convert a postgresql datetime to a System.DateTime.
1340 </summary>
1341 </member>
1342 <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToDate(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1343 <summary>
1344 Convert a postgresql date to a System.DateTime.
1345 </summary>
1346 </member>
1347 <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToTime(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1348 <summary>
1349 Convert a postgresql time to a System.DateTime.
1350 </summary>
1351 </member>
1352 <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.ToMoney(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1353 <summary>
1354 Convert a postgresql money to a System.Decimal.
1355 </summary>
1356 </member>
1357 <member name="M:NpgsqlTypes.BasicBackendToNativeTypeConverter.Float4Float8BinaryToFloatDouble(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int32,System.Int32)">
1358 <summary>
1359 Convert a postgresql float4 or float8 to a System.Float or System.Double respectively.
1360 </summary>
1361 </member>
1362 <member name="T:NpgsqlTypes.ExtendedBackendToNativeTypeConverter">
1363 <summary>
1364 Provide event handlers to convert extended native supported data types from their backend
1365 text representation to a .NET object.
1366 </summary>
1367 </member>
1368 <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToPoint(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1369 <summary>
1370 Convert a postgresql point to a System.NpgsqlPoint.
1371 </summary>
1372 </member>
1373 <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToBox(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1374 <summary>
1375 Convert a postgresql point to a System.RectangleF.
1376 </summary>
1377 </member>
1378 <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToLSeg(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1379 <summary>
1380 LDeg.
1381 </summary>
1382 </member>
1383 <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToPath(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1384 <summary>
1385 Path.
1386 </summary>
1387 </member>
1388 <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToPolygon(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1389 <summary>
1390 Polygon.
1391 </summary>
1392 </member>
1393 <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToCircle(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1394 <summary>
1395 Circle.
1396 </summary>
1397 </member>
1398 <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToInet(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1399 <summary>
1400 Inet.
1401 </summary>
1402 </member>
1403 <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToMacAddress(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1404 <summary>
1405 MAC Address.
1406 </summary>
1407 </member>
1408 <member name="M:NpgsqlTypes.ExtendedBackendToNativeTypeConverter.ToInterval(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1409 <summary>
1410 interval
1411 </summary>
1412 </member>
1413 <member name="T:NpgsqlTypes.BasicNativeToBackendTypeConverter">
1414 <summary>
1415 Provide event handlers to convert the basic native supported data types from
1416 native form to backend representation.
1417 </summary>
1418 </member>
1419 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.StringToTextText(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1420 <summary>
1421 Convert a string to UTF8 encoded text, escaped and quoted as required.
1422 </summary>
1423 </member>
1424 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.StringToTextBinary(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,NpgsqlTypes.NativeToBackendTypeConverterOptions)">
1425 <summary>
1426 Convert a string to UTF8 encoded text.
1427 </summary>
1428 </member>
1429 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ByteArrayToByteaText(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1430 <summary>
1431 Binary data, escaped and quoted as required.
1432 </summary>
1433 </member>
1434 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ByteArrayToByteaTextEscaped(System.Byte[],NpgsqlTypes.BasicNativeToBackendTypeConverter.StringEncodingInfo)">
1435 <summary>
1436 Binary data with possible older style octal escapes, quoted.
1437 </summary>
1438 </member>
1439 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ByteArrayToByteaTextHexFormat(System.Byte[],NpgsqlTypes.BasicNativeToBackendTypeConverter.StringEncodingInfo)">
1440 <summary>
1441 Binary data in the new hex format (>= 9.0), quoted.
1442 </summary>
1443 </member>
1444 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ByteArrayToByteaBinary(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,NpgsqlTypes.NativeToBackendTypeConverterOptions)">
1445 <summary>
1446 Binary data, raw.
1447 </summary>
1448 </member>
1449 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.BooleanToBooleanText(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1450 <summary>
1451 Convert to a postgresql boolean text format.
1452 </summary>
1453 </member>
1454 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.BooleanToBooleanBinary(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,NpgsqlTypes.NativeToBackendTypeConverterOptions)">
1455 <summary>
1456 Convert to a postgresql boolean binary format.
1457 </summary>
1458 </member>
1459 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.Int16ToInt2Binary(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,NpgsqlTypes.NativeToBackendTypeConverterOptions)">
1460 <summary>
1461 Convert to a postgresql binary int2.
1462 </summary>
1463 </member>
1464 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.Int32ToInt4Binary(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,NpgsqlTypes.NativeToBackendTypeConverterOptions)">
1465 <summary>
1466 Convert to a postgresql binary int4.
1467 </summary>
1468 </member>
1469 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.Int64ToInt8Binary(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,NpgsqlTypes.NativeToBackendTypeConverterOptions)">
1470 <summary>
1471 Convert to a postgresql binary int8.
1472 </summary>
1473 </member>
1474 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToBit(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1475 <summary>
1476 Convert to a postgresql bit.
1477 </summary>
1478 </member>
1479 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToDateTime(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1480 <summary>
1481 Convert to a postgresql timestamp.
1482 </summary>
1483 </member>
1484 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToDate(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1485 <summary>
1486 Convert to a postgresql date.
1487 </summary>
1488 </member>
1489 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToTime(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1490 <summary>
1491 Convert to a postgresql time.
1492 </summary>
1493 </member>
1494 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.ToMoney(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1495 <summary>
1496 Convert to a postgres money.
1497 </summary>
1498 </member>
1499 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.SingleDoubleToFloat4Float8Text(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1500 <summary>
1501 Convert to a postgres double with maximum precision.
1502 </summary>
1503 </member>
1504 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.SingleToFloat4Binary(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,NpgsqlTypes.NativeToBackendTypeConverterOptions)">
1505 <summary>
1506 Convert a System.Float to a postgres float4.
1507 </summary>
1508 </member>
1509 <member name="M:NpgsqlTypes.BasicNativeToBackendTypeConverter.DoubleToFloat8Binary(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,NpgsqlTypes.NativeToBackendTypeConverterOptions)">
1510 <summary>
1511 Convert a System.Double to a postgres float8.
1512 </summary>
1513 </member>
1514 <member name="T:NpgsqlTypes.ExtendedNativeToBackendTypeConverter">
1515 <summary>
1516 Provide event handlers to convert extended native supported data types from
1517 native form to backend representation.
1518 </summary>
1519 </member>
1520 <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToPoint(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1521 <summary>
1522 Point.
1523 </summary>
1524 </member>
1525 <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToBox(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1526 <summary>
1527 Box.
1528 </summary>
1529 </member>
1530 <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToLSeg(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1531 <summary>
1532 LSeg.
1533 </summary>
1534 </member>
1535 <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToPath(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1536 <summary>
1537 Open path.
1538 </summary>
1539 </member>
1540 <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToPolygon(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1541 <summary>
1542 Polygon.
1543 </summary>
1544 </member>
1545 <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToMacAddress(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1546 <summary>
1547 Convert to a postgres MAC Address.
1548 </summary>
1549 </member>
1550 <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToCircle(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1551 <summary>
1552 Circle.
1553 </summary>
1554 </member>
1555 <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToIPAddress(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1556 <summary>
1557 Convert to a postgres inet.
1558 </summary>
1559 </member>
1560 <member name="M:NpgsqlTypes.ExtendedNativeToBackendTypeConverter.ToInterval(NpgsqlTypes.NpgsqlNativeTypeInfo,System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1561 <summary>
1562 Convert to a postgres interval
1563 </summary>
1564 </member>
1565 <member name="T:NpgsqlTypes.ConvertBackendTextToNativeHandler">
1566 <summary>
1567 Delegate called to convert the given backend text data to its native representation.
1568 </summary>
1569 </member>
1570 <member name="T:NpgsqlTypes.ConvertBackendBinaryToNativeHandler">
1571 <summary>
1572 Delegate called to convert the given backend binary data to its native representation.
1573 </summary>
1574 </member>
1575 <member name="T:NpgsqlTypes.NpgsqlBackendTypeInfo">
1576 <summary>
1577 Represents a backend data type.
1578 This class can be called upon to convert a backend field representation to a native object.
1579 </summary>
1580 </member>
1581 <member name="M:NpgsqlTypes.NpgsqlBackendTypeInfo.#ctor(System.Int32,System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Type,NpgsqlTypes.ConvertBackendTextToNativeHandler,NpgsqlTypes.ConvertBackendBinaryToNativeHandler)">
1582 <summary>
1583 Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers.
1584 </summary>
1585 <param name="OID">Type OID provided by the backend server.</param>
1586 <param name="Name">Type name provided by the backend server.</param>
1587 <param name="NpgsqlDbType">NpgsqlDbType</param>
1588 <param name="DbType">DbType</param>
1589 <param name="Type">System type to convert fields of this type to.</param>
1590 <param name="ConvertBackendTextToNative">Data conversion handler for text encoding.</param>
1591 <param name="ConvertBackendBinaryToNative">Data conversion handler for binary data.</param>
1592 </member>
1593 <member name="M:NpgsqlTypes.NpgsqlBackendTypeInfo.ConvertBackendBinaryToNative(System.Byte[],System.Int32,System.Int32)">
1594 <summary>
1595 Perform a data conversion from a backend representation to
1596 a native object.
1597 </summary>
1598 <param name="BackendData">Data sent from the backend.</param>
1599 <param name="fieldValueSize">fieldValueSize</param>
1600 <param name="TypeModifier">Type modifier field sent from the backend.</param>
1601 </member>
1602 <member name="M:NpgsqlTypes.NpgsqlBackendTypeInfo.ConvertBackendTextToNative(System.Byte[],System.Int16,System.Int32)">
1603 <summary>
1604 Perform a data conversion from a backend representation to
1605 a native object.
1606 </summary>
1607 <param name="BackendData">Data sent from the backend.</param>
1608 <param name="TypeSize">TypeSize</param>
1609 <param name="TypeModifier">Type modifier field sent from the backend.</param>
1610 </member>
1611 <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.OID">
1612 <summary>
1613 Type OID provided by the backend server.
1614 </summary>
1615 </member>
1616 <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.Name">
1617 <summary>
1618 Type name provided by the backend server.
1619 </summary>
1620 </member>
1621 <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.NpgsqlDbType">
1622 <summary>
1623 NpgsqlDbType.
1624 </summary>
1625 </member>
1626 <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.DbType">
1627 <summary>
1628 NpgsqlDbType.
1629 </summary>
1630 </member>
1631 <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.Type">
1632 <summary>
1633 Provider type to convert fields of this type to.
1634 </summary>
1635 </member>
1636 <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.FrameworkType">
1637 <summary>
1638 System type to convert fields of this type to.
1639 </summary>
1640 </member>
1641 <member name="P:NpgsqlTypes.NpgsqlBackendTypeInfo.SupportsBinaryBackendData">
1642 <summary>
1643 Reports whether a backend binary to native decoder is available for this type.
1644 </summary>
1645 </member>
1646 <member name="T:NpgsqlTypes.ConvertNativeToBackendTextHandler">
1647 <summary>
1648 Delegate called to convert the given native data to its backand representation.
1649 </summary>
1650 </member>
1651 <member name="T:NpgsqlTypes.NpgsqlNativeTypeInfo">
1652 <summary>
1653 Represents a backend data type.
1654 This class can be called upon to convert a native object to its backend field representation,
1655 </summary>
1656 </member>
1657 <member name="M:NpgsqlTypes.NpgsqlNativeTypeInfo.ArrayOf(NpgsqlTypes.NpgsqlNativeTypeInfo)">
1658 <summary>
1659 Returns an NpgsqlNativeTypeInfo for an array where the elements are of the type
1660 described by the NpgsqlNativeTypeInfo supplied.
1661 </summary>
1662 </member>
1663 <member name="M:NpgsqlTypes.NpgsqlNativeTypeInfo.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Boolean,NpgsqlTypes.ConvertNativeToBackendTextHandler,NpgsqlTypes.ConvertNativeToBackendBinaryHandler)">
1664 <summary>
1665 Construct a new NpgsqlTypeInfo with the given attributes and conversion handlers.
1666 </summary>
1667 <param name="Name">Type name provided by the backend server.</param>
1668 <param name="DbType">DbType</param>
1669 <param name="Quote">Quote</param>
1670 <param name="NpgsqlDbType">NpgsqlDbType</param>
1671 <param name="ConvertNativeToBackendText">Data conversion handler for text backend encoding.</param>
1672 <param name="ConvertNativeToBackendBinary">Data conversion handler for binary backend encoding (for extended queries).</param>
1673 </member>
1674 <member name="M:NpgsqlTypes.NpgsqlNativeTypeInfo.ConvertToBackend(System.Object,System.Boolean,NpgsqlTypes.NativeToBackendTypeConverterOptions,System.Boolean)">
1675 <summary>
1676 Perform a data conversion from a native object to
1677 a backend representation.
1678 DBNull and null values are handled differently depending if a plain query is used
1679 When
1680 </summary>
1681 <param name="NativeData">Native .NET object to be converted.</param>
1682 <param name="forExtendedQuery">Specifies that the value should be formatted for the extended query syntax.</param>
1683 <param name="options">Options to guide serialization. If null, a default options set is used.</param>
1684 <param name="arrayElement">Specifies that the value should be formatted as an extended query array element.</param>
1685 </member>
1686 <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.Name">
1687 <summary>
1688 Type name provided by the backend server.
1689 </summary>
1690 </member>
1691 <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.NpgsqlDbType">
1692 <summary>
1693 NpgsqlDbType.
1694 </summary>
1695 </member>
1696 <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.DbType">
1697 <summary>
1698 DbType.
1699 </summary>
1700 </member>
1701 <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.Quote">
1702 <summary>
1703 Apply quoting.
1704 </summary>
1705 </member>
1706 <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.UseSize">
1707 <summary>
1708 Use parameter size information.
1709 </summary>
1710 </member>
1711 <member name="P:NpgsqlTypes.NpgsqlNativeTypeInfo.SupportsBinaryBackendData">
1712 <summary>
1713 Reports whether a native to backend binary encoder is available for this type.
1714 </summary>
1715 </member>
1716 <member name="T:NpgsqlTypes.NpgsqlBackendTypeMapping">
1717 <summary>
1718 Provide mapping between type OID, type name, and a NpgsqlBackendTypeInfo object that represents it.
1719 </summary>
1720 </member>
1721 <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.#ctor">
1722 <summary>
1723 Construct an empty mapping.
1724 </summary>
1725 </member>
1726 <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.#ctor(NpgsqlTypes.NpgsqlBackendTypeMapping)">
1727 <summary>
1728 Copy constuctor.
1729 </summary>
1730 </member>
1731 <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.AddType(NpgsqlTypes.NpgsqlBackendTypeInfo)">
1732 <summary>
1733 Add the given NpgsqlBackendTypeInfo to this mapping.
1734 </summary>
1735 </member>
1736 <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.AddType(System.Int32,System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Type,NpgsqlTypes.ConvertBackendTextToNativeHandler,NpgsqlTypes.ConvertBackendBinaryToNativeHandler)">
1737 <summary>
1738 Add a new NpgsqlBackendTypeInfo with the given attributes and conversion handlers to this mapping.
1739 </summary>
1740 <param name="OID">Type OID provided by the backend server.</param>
1741 <param name="Name">Type name provided by the backend server.</param>
1742 <param name="NpgsqlDbType">NpgsqlDbType</param>
1743 <param name="DbType">DbType</param>
1744 <param name="Type">System type to convert fields of this type to.</param>
1745 <param name="BackendTextConvert">Data conversion handler for text encoding.</param>
1746 <param name="BackendBinaryConvert">Data conversion handler for binary data.</param>
1747 </member>
1748 <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.Clone">
1749 <summary>
1750 Make a shallow copy of this type mapping.
1751 </summary>
1752 </member>
1753 <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.ContainsOID(System.Int32)">
1754 <summary>
1755 Determine if a NpgsqlBackendTypeInfo with the given backend type OID exists in this mapping.
1756 </summary>
1757 </member>
1758 <member name="M:NpgsqlTypes.NpgsqlBackendTypeMapping.ContainsName(System.String)">
1759 <summary>
1760 Determine if a NpgsqlBackendTypeInfo with the given backend type name exists in this mapping.
1761 </summary>
1762 </member>
1763 <member name="P:NpgsqlTypes.NpgsqlBackendTypeMapping.Count">
1764 <summary>
1765 Get the number of type infos held.
1766 </summary>
1767 </member>
1768 <member name="P:NpgsqlTypes.NpgsqlBackendTypeMapping.Item(System.Int32)">
1769 <summary>
1770 Retrieve the NpgsqlBackendTypeInfo with the given backend type OID, or null if none found.
1771 </summary>
1772 </member>
1773 <member name="P:NpgsqlTypes.NpgsqlBackendTypeMapping.Item(System.String)">
1774 <summary>
1775 Retrieve the NpgsqlBackendTypeInfo with the given backend type name, or null if none found.
1776 </summary>
1777 </member>
1778 <member name="T:NpgsqlTypes.NpgsqlNativeTypeMapping">
1779 <summary>
1780 Provide mapping between type Type, NpgsqlDbType and a NpgsqlNativeTypeInfo object that represents it.
1781 </summary>
1782 </member>
1783 <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.AddType(NpgsqlTypes.NpgsqlNativeTypeInfo)">
1784 <summary>
1785 Add the given NpgsqlNativeTypeInfo to this mapping.
1786 </summary>
1787 </member>
1788 <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.AddType(System.String,NpgsqlTypes.NpgsqlDbType,System.Data.DbType,System.Boolean,NpgsqlTypes.ConvertNativeToBackendTextHandler,NpgsqlTypes.ConvertNativeToBackendBinaryHandler)">
1789 <summary>
1790 Add a new NpgsqlNativeTypeInfo with the given attributes and conversion handlers to this mapping.
1791 </summary>
1792 <param name="Name">Type name provided by the backend server.</param>
1793 <param name="NpgsqlDbType">NpgsqlDbType</param>
1794 <param name="DbType">DbType</param>
1795 <param name="Quote">Quote</param>
1796 <param name="NativeTextConvert">Data conversion handler for text backend encoding.</param>
1797 <param name="NativeBinaryConvert">Data conversion handler for binary backend encoding (for extended query).</param>
1798 </member>
1799 <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.TryGetValue(NpgsqlTypes.NpgsqlDbType,NpgsqlTypes.NpgsqlNativeTypeInfo@)">
1800 <summary>
1801 Retrieve the NpgsqlNativeTypeInfo with the given NpgsqlDbType.
1802 </summary>
1803 </member>
1804 <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.TryGetValue(System.Data.DbType,NpgsqlTypes.NpgsqlNativeTypeInfo@)">
1805 <summary>
1806 Retrieve the NpgsqlNativeTypeInfo with the given DbType.
1807 </summary>
1808 </member>
1809 <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.TryGetValue(System.Type,NpgsqlTypes.NpgsqlNativeTypeInfo@)">
1810 <summary>
1811 Retrieve the NpgsqlNativeTypeInfo with the given Type.
1812 </summary>
1813 </member>
1814 <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.ContainsName(System.String)">
1815 <summary>
1816 Determine if a NpgsqlNativeTypeInfo with the given backend type name exists in this mapping.
1817 </summary>
1818 </member>
1819 <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.ContainsNpgsqlDbType(NpgsqlTypes.NpgsqlDbType)">
1820 <summary>
1821 Determine if a NpgsqlNativeTypeInfo with the given NpgsqlDbType exists in this mapping.
1822 </summary>
1823 </member>
1824 <member name="M:NpgsqlTypes.NpgsqlNativeTypeMapping.ContainsType(System.Type)">
1825 <summary>
1826 Determine if a NpgsqlNativeTypeInfo with the given Type name exists in this mapping.
1827 </summary>
1828 </member>
1829 <member name="P:NpgsqlTypes.NpgsqlNativeTypeMapping.Count">
1830 <summary>
1831 Get the number of type infos held.
1832 </summary>
1833 </member>
1834 <member name="T:NpgsqlTypes.NpgsqlPoint">
1835 <summary>
1836 Represents a PostgreSQL Point type
1837 </summary>
1838 </member>
1839 <member name="T:NpgsqlTypes.NpgsqlLSeg">
1840 <summary>
1841 Represents a PostgreSQL Line Segment type.
1842 </summary>
1843 </member>
1844 <member name="T:NpgsqlTypes.NpgsqlPath">
1845 <summary>
1846 Represents a PostgreSQL Path type.
1847 </summary>
1848 </member>
1849 <member name="T:NpgsqlTypes.NpgsqlPolygon">
1850 <summary>
1851 Represents a PostgreSQL Polygon type.
1852 </summary>
1853 </member>
1854 <member name="T:NpgsqlTypes.NpgsqlCircle">
1855 <summary>
1856 Represents a PostgreSQL Circle type.
1857 </summary>
1858 </member>
1859 <member name="T:NpgsqlTypes.NpgsqlInet">
1860 <summary>
1861 Represents a PostgreSQL inet type.
1862 </summary>
1863 </member>
1864 <member name="T:NpgsqlTypes.NpgsqlMacAddress">
1865 <summary>
1866 Represents a PostgreSQL MacAddress type.
1867 </summary>
1868 </member>
1869 <member name="M:NpgsqlTypes.NpgsqlMacAddress.#ctor(System.String)">
1870 <summary>
1871
1872 </summary>
1873 <param name="macAddr">The macAddr parameter must contain a string that can only consist of numbers
1874 and upper-case letters as hexadecimal digits. (See PhysicalAddress.Parse method on MSDN)</param>
1875 </member>
1876 <member name="T:NpgsqlTypes.NpgsqlTypesHelper">
1877 <summary>
1878 This class contains helper methods for type conversion between
1879 the .Net type system and postgresql.
1880 </summary>
1881 </member>
1882 <member name="F:NpgsqlTypes.NpgsqlTypesHelper.BackendTypeMappingCache">
1883 <summary>
1884 A cache of basic datatype mappings keyed by server version. This way we don't
1885 have to load the basic type mappings for every connection.
1886 </summary>
1887 </member>
1888 <member name="M:NpgsqlTypes.NpgsqlTypesHelper.TryGetBackendTypeInfo(System.String,NpgsqlTypes.NpgsqlBackendTypeInfo@)">
1889 <summary>
1890 Find a NpgsqlNativeTypeInfo in the default types map that can handle objects
1891 of the given NpgsqlDbType.
1892 </summary>
1893 </member>
1894 <member name="M:NpgsqlTypes.NpgsqlTypesHelper.TryGetNativeTypeInfo(NpgsqlTypes.NpgsqlDbType,NpgsqlTypes.NpgsqlNativeTypeInfo@)">
1895 <summary>
1896 Find a NpgsqlNativeTypeInfo in the default types map that can handle objects
1897 of the given NpgsqlDbType.
1898 </summary>
1899 </member>
1900 <member name="M:NpgsqlTypes.NpgsqlTypesHelper.TryGetNativeTypeInfo(System.Data.DbType,NpgsqlTypes.NpgsqlNativeTypeInfo@)">
1901 <summary>
1902 Find a NpgsqlNativeTypeInfo in the default types map that can handle objects
1903 of the given DbType.
1904 </summary>
1905 </member>
1906 <member name="M:NpgsqlTypes.NpgsqlTypesHelper.TryGetNativeTypeInfo(System.Type,NpgsqlTypes.NpgsqlNativeTypeInfo@)">
1907 <summary>
1908 Find a NpgsqlNativeTypeInfo in the default types map that can handle objects
1909 of the given System.Type.
1910 </summary>
1911 </member>
1912 <member name="M:NpgsqlTypes.NpgsqlTypesHelper.ConvertBackendBytesToSystemType(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int32,System.Int32)">
1913 <summary>
1914 This method is responsible to convert the byte[] received from the backend
1915 to the corresponding NpgsqlType.
1916 The given TypeInfo is called upon to do the conversion.
1917 If no TypeInfo object is provided, no conversion is performed.
1918 </summary>
1919 </member>
1920 <member name="M:NpgsqlTypes.NpgsqlTypesHelper.ConvertBackendStringToSystemType(NpgsqlTypes.NpgsqlBackendTypeInfo,System.Byte[],System.Int16,System.Int32)">
1921 <summary>
1922 This method is responsible to convert the string received from the backend
1923 to the corresponding NpgsqlType.
1924 The given TypeInfo is called upon to do the conversion.
1925 If no TypeInfo object is provided, no conversion is performed.
1926 </summary>
1927 </member>
1928 <member name="M:NpgsqlTypes.NpgsqlTypesHelper.PrepareDefaultTypesMap">
1929 <summary>
1930 Create the one and only native to backend type map.
1931 This map is used when formatting native data
1932 types to backend representations.
1933 </summary>
1934 </member>
1935 <member name="M:NpgsqlTypes.NpgsqlTypesHelper.CreateAndLoadInitialTypesMapping(Npgsql.NpgsqlConnector)">
1936 <summary>
1937 This method creates (or retrieves from cache) a mapping between type and OID
1938 of all natively supported postgresql data types.
1939 This is needed as from one version to another, this mapping can be changed and
1940 so we avoid hardcoding them.
1941 </summary>
1942 <returns>NpgsqlTypeMapping containing all known data types. The mapping must be
1943 cloned before it is modified because it is cached; changes made by one connection may
1944 effect another connection.
1945 </returns>
1946 </member>
1947 <member name="M:NpgsqlTypes.NpgsqlTypesHelper.LoadTypesMappings(Npgsql.NpgsqlConnector,NpgsqlTypes.NpgsqlBackendTypeMapping,System.Collections.Generic.IEnumerable{NpgsqlTypes.NpgsqlBackendTypeInfo})">
1948 <summary>
1949 Attempt to map types by issuing a query against pg_type.
1950 This function takes a list of NpgsqlTypeInfo and attempts to resolve the OID field
1951 of each by querying pg_type. If the mapping is found, the type info object is
1952 updated (OID) and added to the provided NpgsqlTypeMapping object.
1953 </summary>
1954 <param name="conn">NpgsqlConnector to send query through.</param>
1955 <param name="TypeMappings">Mapping object to add types too.</param>
1956 <param name="TypeInfoList">List of types that need to have OID's mapped.</param>
1957 </member>
1958 <member name="P:Npgsql.Cache`1.CacheSize">
1959 <summary>
1960 Set Cache Size. The default value is 20.
1961 </summary>
1962 </member>
1963 <member name="P:Npgsql.Cache`1.Item(System.String)">
1964 <summary>
1965 Lookup cached entity. null will returned if not match.
1966 For both get{} and set{} apply LRU rule.
1967 </summary>
1968 <param name="key">key</param>
1969 <returns></returns>
1970 </member>
1971 <member name="T:Npgsql.BackendEncoding">
1972 <summary>
1973 The globally available text encoding used for frontend/backend communication.
1974 </summary>
1975 </member>
1976 <member name="T:Npgsql.NpgsqlState">
1977 <summary> This class represents the base class for the state pattern design pattern
1978 implementation.
1979 </summary>
1980
1981 <summary> This class represents the base class for the state pattern design pattern
1982 implementation.
1983 </summary>
1984
1985 <summary> This class represents the base class for the state pattern design pattern
1986 implementation.
1987 </summary>
1988
1989 </member>
1990 <member name="M:Npgsql.NpgsqlState.ChangeState(Npgsql.NpgsqlConnector,Npgsql.NpgsqlState)">
1991 <summary>
1992 This method is used by the states to change the state of the context.
1993 </summary>
1994 </member>
1995 <member name="M:Npgsql.NpgsqlState.ProcessAndDiscardBackendResponses(Npgsql.NpgsqlConnector)">
1996 <summary>
1997 Call ProcessBackendResponsesEnum(), and scan and discard all results.
1998 </summary>
1999 </member>
2000 <member name="M:Npgsql.NpgsqlState.ProcessBackendResponsesEnum(Npgsql.NpgsqlConnector)">
2001 <summary>
2002 This method is responsible to handle all protocol messages sent from the backend.
2003 It holds all the logic to do it.
2004 To exchange data, it uses a Mediator object from which it reads/writes information
2005 to handle backend requests.
2006 </summary>
2007
2008 </member>
2009 <member name="M:Npgsql.NpgsqlState.CheckForContextSocketAvailability(Npgsql.NpgsqlConnector,System.Net.Sockets.SelectMode)">
2010 <summary>
2011 Checks for context socket availability.
2012 Socket.Poll supports integer as microseconds parameter.
2013 This limits the usable command timeout value
2014 to 2,147 seconds: (2,147 x 1,000,000 less than max_int).
2015 In order to bypass this limit, the availability of
2016 the socket is checked in 2,147 seconds cycles
2017 </summary>
2018 <returns><c>true</c>, if for context socket availability was checked, <c>false</c> otherwise.</returns>
2019 <param name="context">Context.</param>
2020 <param name="selectMode">Select mode.</param>
2021 </member>
2022 <member name="M:Npgsql.HashAlgorithm.#ctor">
2023 <summary>
2024 Called from constructor of derived class.
2025 </summary>
2026 </member>
2027 <member name="M:Npgsql.HashAlgorithm.Finalize">
2028 <summary>
2029 Finalizer for HashAlgorithm
2030 </summary>
2031 </member>
2032 <member name="M:Npgsql.HashAlgorithm.ComputeHash(System.Byte[])">
2033 <summary>
2034 Computes the entire hash of all the bytes in the byte array.
2035 </summary>
2036 </member>
2037 <member name="M:Npgsql.HashAlgorithm.HashCore(System.Byte[],System.Int32,System.Int32)">
2038 <summary>
2039 When overridden in a derived class, drives the hashing function.
2040 </summary>
2041 <param name="rgb"></param>
2042 <param name="start"></param>
2043 <param name="size"></param>
2044 </member>
2045 <member name="M:Npgsql.HashAlgorithm.HashFinal">
2046 <summary>
2047 When overridden in a derived class, this pads and hashes whatever data might be left in the buffers and then returns the hash created.
2048 </summary>
2049 </member>
2050 <member name="M:Npgsql.HashAlgorithm.Initialize">
2051 <summary>
2052 When overridden in a derived class, initializes the object to prepare for hashing.
2053 </summary>
2054 </member>
2055 <member name="M:Npgsql.HashAlgorithm.TransformBlock(System.Byte[],System.Int32,System.Int32,System.Byte[],System.Int32)">
2056 <summary>
2057 Used for stream chaining. Computes hash as data passes through it.
2058 </summary>
2059 <param name="inputBuffer">The buffer from which to grab the data to be copied.</param>
2060 <param name="inputOffset">The offset into the input buffer to start reading at.</param>
2061 <param name="inputCount">The number of bytes to be copied.</param>
2062 <param name="outputBuffer">The buffer to write the copied data to.</param>
2063 <param name="outputOffset">At what point in the outputBuffer to write the data at.</param>
2064 </member>
2065 <member name="M:Npgsql.HashAlgorithm.TransformFinalBlock(System.Byte[],System.Int32,System.Int32)">
2066 <summary>
2067 Used for stream chaining. Computes hash as data passes through it. Finishes off the hash.
2068 </summary>
2069 <param name="inputBuffer">The buffer from which to grab the data to be copied.</param>
2070 <param name="inputOffset">The offset into the input buffer to start reading at.</param>
2071 <param name="inputCount">The number of bytes to be copied.</param>
2072 </member>
2073 <member name="P:Npgsql.HashAlgorithm.CanTransformMultipleBlocks">
2074 <summary>
2075 Get whether or not the hash can transform multiple blocks at a time.
2076 Note: MUST be overriden if descendant can transform multiple block
2077 on a single call!
2078 </summary>
2079 </member>
2080 <member name="P:Npgsql.HashAlgorithm.Hash">
2081 <summary>
2082 Gets the previously computed hash.
2083 </summary>
2084 </member>
2085 <member name="P:Npgsql.HashAlgorithm.HashSize">
2086 <summary>
2087 Returns the size in bits of the hash.
2088 </summary>
2089 </member>
2090 <member name="P:Npgsql.HashAlgorithm.InputBlockSize">
2091 <summary>
2092 Must be overriden if not 1
2093 </summary>
2094 </member>
2095 <member name="P:Npgsql.HashAlgorithm.OutputBlockSize">
2096 <summary>
2097 Must be overriden if not 1
2098 </summary>
2099 </member>
2100 <member name="T:Npgsql.MD5">
2101 <summary>
2102 Common base class for all derived MD5 implementations.
2103 </summary>
2104 </member>
2105 <member name="M:Npgsql.MD5.#ctor">
2106 <summary>
2107 Called from constructor of derived class.
2108 </summary>
2109 </member>
2110 <member name="M:Npgsql.MD5.Create">
2111 <summary>
2112 Creates the default derived class.
2113 </summary>
2114 </member>
2115 <member name="T:Npgsql.MD5CryptoServiceProvider">
2116 <summary>
2117 C# implementation of the MD5 cryptographic hash function.
2118 </summary>
2119 </member>
2120 <member name="M:Npgsql.MD5CryptoServiceProvider.#ctor">
2121 <summary>
2122 Creates a new MD5CryptoServiceProvider.
2123 </summary>
2124 </member>
2125 <member name="M:Npgsql.MD5CryptoServiceProvider.HashCore(System.Byte[],System.Int32,System.Int32)">
2126 <summary>
2127 Drives the hashing function.
2128 </summary>
2129 <param name="rgb">Byte array containing the data to hash.</param>
2130 <param name="start">Where in the input buffer to start.</param>
2131 <param name="size">Size in bytes of the data in the buffer to hash.</param>
2132 </member>
2133 <member name="M:Npgsql.MD5CryptoServiceProvider.HashFinal">
2134 <summary>
2135 This finalizes the hash. Takes the data from the chaining variables and returns it.
2136 </summary>
2137 </member>
2138 <member name="M:Npgsql.MD5CryptoServiceProvider.Initialize">
2139 <summary>
2140 Resets the class after use. Called automatically after hashing is done.
2141 </summary>
2142 </member>
2143 <member name="M:Npgsql.MD5CryptoServiceProvider.ProcessBlock(System.Byte[],System.Int32)">
2144 <summary>
2145 This is the meat of the hash function. It is what processes each block one at a time.
2146 </summary>
2147 <param name="inputBuffer">Byte array to process data from.</param>
2148 <param name="inputOffset">Where in the byte array to start processing.</param>
2149 </member>
2150 <member name="M:Npgsql.MD5CryptoServiceProvider.ProcessFinalBlock(System.Byte[],System.Int32,System.Int32)">
2151 <summary>
2152 Pads and then processes the final block.
2153 </summary>
2154 <param name="inputBuffer">Buffer to grab data from.</param>
2155 <param name="inputOffset">Position in buffer in bytes to get data from.</param>
2156 <param name="inputCount">How much data in bytes in the buffer to use.</param>
2157 </member>
2158 <member name="T:Npgsql.StringRowReaderV3">
2159 <summary>
2160 Implements <see cref="T:Npgsql.RowReader"/> for version 3 of the protocol.
2161 </summary>
2162 </member>
2163 <member name="T:Npgsql.RowReader">
2164 <summary>
2165 Reads a row, field by field, allowing a DataRow to be built appropriately.
2166 </summary>
2167 </member>
2168 <member name="T:Npgsql.IStreamOwner">
2169 <summary>
2170 Marker interface which identifies a class which may take possession of a stream for the duration of
2171 it's lifetime (possibly temporarily giving that possession to another class for part of that time.
2172
2173 It inherits from IDisposable, since any such class must make sure it leaves the stream in a valid state.
2174
2175 The most important such class is that compiler-generated from ProcessBackendResponsesEnum. Of course
2176 we can't make that inherit from this interface, alas.
2177 </summary>
2178 </member>
2179 <member name="T:Npgsql.IServerResponseObject">
2180 <summary>
2181 Marker interface which identifies a class which represents part of
2182 a response from the server.
2183 </summary>
2184 </member>
2185 <member name="T:Npgsql.RowReader.Streamer">
2186 <summary>
2187 Reads part of a field, as needed (for <see cref="M:System.Data.IDataRecord.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)"/>
2188 and <see cref="M:System.Data.IDataRecord.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)"/>
2189 </summary>
2190 </member>
2191 <member name="T:Npgsql.RowReader.Streamer`1">
2192 <summary>
2193 Adds further functionality to stream that is dependant upon the type of data read.
2194 </summary>
2195 </member>
2196 <member name="T:Npgsql.RowReader.CharStreamer">
2197 <summary>
2198 Completes the implementation of Streamer for char data.
2199 </summary>
2200 </member>
2201 <member name="T:Npgsql.RowReader.ByteStreamer">
2202 <summary>
2203 Completes the implementation of Streamer for byte data.
2204 </summary>
2205 </member>
2206 <member name="T:Npgsql.StringRowReaderV2">
2207 <summary>
2208 Implements <see cref="T:Npgsql.RowReader"/> for version 2 of the protocol.
2209 </summary>
2210 </member>
2211 <member name="T:Npgsql.StringRowReaderV2.NullMap">
2212 <summary>
2213 Encapsulates the null mapping bytes sent at the start of a version 2
2214 datarow message, and the process of identifying the nullity of the data
2215 at a particular index
2216 </summary>
2217 </member>
2218 <member name="T:Npgsql.NpgsqlBackEndKeyData">
2219 <summary>
2220 This class represents a BackEndKeyData message received
2221 from PostgreSQL
2222 </summary>
2223 </member>
2224 <member name="T:Npgsql.NpgsqlBind">
2225 <summary>
2226 This class represents the Bind message sent to PostgreSQL
2227 server.
2228 </summary>
2229
2230 </member>
2231 <member name="T:Npgsql.ClientMessage">
2232 <summary>
2233 For classes representing messages sent from the client to the server.
2234 </summary>
2235 </member>
2236 <member name="T:Npgsql.NpgsqlCancelRequest">
2237 <summary>
2238 This class represents the CancelRequest message sent to PostgreSQL
2239 server.
2240 </summary>
2241
2242 </member>
2243 <member name="T:Npgsql.NpgsqlCommand">
2244 <summary>
2245 Represents a SQL statement or function (stored procedure) to execute
2246 against a PostgreSQL database. This class cannot be inherited.
2247 </summary>
2248 <summary>
2249 Represents a SQL statement or function (stored procedure) to execute
2250 against a PostgreSQL database. This class cannot be inherited.
2251 </summary>
2252 <summary>
2253 Represents a SQL statement or function (stored procedure) to execute
2254 against a PostgreSQL database. This class cannot be inherited.
2255 </summary>
2256 </member>
2257 <member name="M:Npgsql.NpgsqlCommand.#ctor">
2258 <summary>
2259 Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class.
2260 </summary>
2261 </member>
2262 <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String)">
2263 <summary>
2264 Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class with the text of the query.
2265 </summary>
2266 <param name="cmdText">The text of the query.</param>
2267 </member>
2268 <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String,Npgsql.NpgsqlConnection)">
2269 <summary>
2270 Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class with the text of the query and a <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>.
2271 </summary>
2272 <param name="cmdText">The text of the query.</param>
2273 <param name="connection">A <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> that represents the connection to a PostgreSQL server.</param>
2274 </member>
2275 <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String,Npgsql.NpgsqlConnection,Npgsql.NpgsqlTransaction)">
2276 <summary>
2277 Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> class with the text of the query, a <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>, and the <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>.
2278 </summary>
2279 <param name="cmdText">The text of the query.</param>
2280 <param name="connection">A <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> that represents the connection to a PostgreSQL server.</param>
2281 <param name="transaction">The <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see> in which the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> executes.</param>
2282 </member>
2283 <member name="M:Npgsql.NpgsqlCommand.#ctor(System.String,Npgsql.NpgsqlConnector,System.Int32)">
2284 <summary>
2285 Used to execute internal commands.
2286 </summary>
2287 </member>
2288 <member name="M:Npgsql.NpgsqlCommand.Cancel">
2289 <summary>
2290 Attempts to cancel the execution of a <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
2291 </summary>
2292 <remarks>This Method isn't implemented yet.</remarks>
2293 </member>
2294 <member name="M:Npgsql.NpgsqlCommand.System#ICloneable#Clone">
2295 <summary>
2296 Create a new command based on this one.
2297 </summary>
2298 <returns>A new NpgsqlCommand object.</returns>
2299 </member>
2300 <member name="M:Npgsql.NpgsqlCommand.Clone">
2301 <summary>
2302 Create a new command based on this one.
2303 </summary>
2304 <returns>A new NpgsqlCommand object.</returns>
2305 </member>
2306 <member name="M:Npgsql.NpgsqlCommand.CreateDbParameter">
2307 <summary>
2308 Creates a new instance of an <see cref="T:System.Data.Common.DbParameter">DbParameter</see> object.
2309 </summary>
2310 <returns>An <see cref="T:System.Data.Common.DbParameter">DbParameter</see> object.</returns>
2311 </member>
2312 <member name="M:Npgsql.NpgsqlCommand.CreateParameter">
2313 <summary>
2314 Creates a new instance of a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.
2315 </summary>
2316 <returns>A <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
2317 </member>
2318 <member name="M:Npgsql.NpgsqlCommand.ExecuteBlind">
2319 <summary>
2320 Slightly optimised version of ExecuteNonQuery() for internal use in cases where the number
2321 of affected rows is of no interest.
2322 This function must not be called with a query that returns result rows, after calling Prepare(), or.
2323 with a query that requires parameter substitution of any kind.
2324 </summary>
2325 </member>
2326 <member name="M:Npgsql.NpgsqlCommand.ExecuteNonQuery">
2327 <summary>
2328 Executes a SQL statement against the connection and returns the number of rows affected.
2329 </summary>
2330 <returns>The number of rows affected if known; -1 otherwise.</returns>
2331 </member>
2332 <member name="M:Npgsql.NpgsqlCommand.ExecuteDbDataReader(System.Data.CommandBehavior)">
2333 <summary>
2334 Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
2335 the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
2336 <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>
2337 using one of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.
2338 </summary>
2339 <param name="behavior">One of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.</param>
2340 <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
2341 </member>
2342 <member name="M:Npgsql.NpgsqlCommand.ExecuteReader">
2343 <summary>
2344 Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
2345 the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
2346 <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>.
2347 </summary>
2348 <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
2349 </member>
2350 <member name="M:Npgsql.NpgsqlCommand.ExecuteReader(System.Data.CommandBehavior)">
2351 <summary>
2352 Sends the <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> to
2353 the <see cref="T:Npgsql.NpgsqlConnection">Connection</see> and builds a
2354 <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see>
2355 using one of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.
2356 </summary>
2357 <param name="cb">One of the <see cref="T:System.Data.CommandBehavior">CommandBehavior</see> values.</param>
2358 <returns>A <see cref="T:Npgsql.NpgsqlDataReader">NpgsqlDataReader</see> object.</returns>
2359 <remarks>Currently the CommandBehavior parameter is ignored.</remarks>
2360 </member>
2361 <member name="M:Npgsql.NpgsqlCommand.BindParameters">
2362 <summary>
2363 This method binds the parameters from parameters collection to the bind
2364 message.
2365 </summary>
2366 </member>
2367 <member name="M:Npgsql.NpgsqlCommand.ExecuteScalar">
2368 <summary>
2369 Executes the query, and returns the first column of the first row
2370 in the result set returned by the query. Extra columns or rows are ignored.
2371 </summary>
2372 <returns>The first column of the first row in the result set,
2373 or a null reference if the result set is empty.</returns>
2374 </member>
2375 <member name="M:Npgsql.NpgsqlCommand.Prepare">
2376 <summary>
2377 Creates a prepared version of the command on a PostgreSQL server.
2378 </summary>
2379 </member>
2380 <member name="M:Npgsql.NpgsqlCommand.CheckConnectionState">
2381 <summary>
2382 This method checks the connection state to see if the connection
2383 is set or it is open. If one of this conditions is not met, throws
2384 an InvalidOperationException
2385 </summary>
2386 </member>
2387 <member name="M:Npgsql.NpgsqlCommand.GetCommandText">
2388 <summary>
2389 This method substitutes the <see cref="P:Npgsql.NpgsqlCommand.Parameters">Parameters</see>, if exist, in the command
2390 to their actual values.
2391 The parameter name format is <b>:ParameterName</b>.
2392 </summary>
2393 <returns>A version of <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> with the <see cref="P:Npgsql.NpgsqlCommand.Parameters">Parameters</see> inserted.</returns>
2394 </member>
2395 <member name="M:Npgsql.NpgsqlCommand.GetCommandText(System.Boolean,System.Boolean)">
2396 <summary>
2397 Process this.commandText, trimming each distinct command and substituting paramater
2398 tokens.
2399 </summary>
2400 <param name="prepare"></param>
2401 <param name="forExtendQuery"></param>
2402 <returns>UTF8 encoded command ready to be sent to the backend.</returns>
2403 </member>
2404 <member name="M:Npgsql.NpgsqlCommand.GetDistinctTrimmedCommands(System.String)">
2405 <summary>
2406 Find the beginning and end of each distinct SQL command and produce
2407 a list of descriptors, one for each command. Commands described are trimmed of
2408 leading and trailing white space and their terminating semi-colons.
2409 </summary>
2410 <param name="src">Raw command text.</param>
2411 <returns>List of chunk descriptors.</returns>
2412 </member>
2413 <member name="M:Npgsql.NpgsqlCommand.AppendCommandReplacingParameterValues(System.IO.Stream,System.String,System.Int32,System.Int32,System.Boolean,System.Boolean)">
2414 <summary>
2415 Append a region of a source command text to an output command, performing parameter token
2416 substitutions.
2417 </summary>
2418 <param name="dest">Stream to which to append output.</param>
2419 <param name="src">Command text.</param>
2420 <param name="begin">Starting index within src.</param>
2421 <param name="length">Length of region to be processed.</param>
2422 <param name="prepare"></param>
2423 <param name="forExtendedQuery"></param>
2424 </member>
2425 <member name="P:Npgsql.NpgsqlCommand.CommandText">
2426 <summary>
2427 Gets or sets the SQL statement or function (stored procedure) to execute at the data source.
2428 </summary>
2429 <value>The Transact-SQL statement or stored procedure to execute. The default is an empty string.</value>
2430 </member>
2431 <member name="P:Npgsql.NpgsqlCommand.CommandTimeout">
2432 <summary>
2433 Gets or sets the wait time before terminating the attempt
2434 to execute a command and generating an error.
2435 </summary>
2436 <value>The time (in seconds) to wait for the command to execute.
2437 The default is 20 seconds.</value>
2438 </member>
2439 <member name="P:Npgsql.NpgsqlCommand.CommandType">
2440 <summary>
2441 Gets or sets a value indicating how the
2442 <see cref="P:Npgsql.NpgsqlCommand.CommandText">CommandText</see> property is to be interpreted.
2443 </summary>
2444 <value>One of the <see cref="T:System.Data.CommandType">CommandType</see> values. The default is <see cref="T:System.Data.CommandType">CommandType.Text</see>.</value>
2445 </member>
2446 <member name="P:Npgsql.NpgsqlCommand.Connection">
2447 <summary>
2448 Gets or sets the <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>
2449 used by this instance of the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
2450 </summary>
2451 <value>The connection to a data source. The default value is a null reference.</value>
2452 </member>
2453 <member name="P:Npgsql.NpgsqlCommand.Parameters">
2454 <summary>
2455 Gets the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see>.
2456 </summary>
2457 <value>The parameters of the SQL statement or function (stored procedure). The default is an empty collection.</value>
2458 </member>
2459 <member name="P:Npgsql.NpgsqlCommand.Transaction">
2460 <summary>
2461 Gets or sets the <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
2462 within which the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> executes.
2463 </summary>
2464 <value>The <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>.
2465 The default value is a null reference.</value>
2466 </member>
2467 <member name="P:Npgsql.NpgsqlCommand.UpdatedRowSource">
2468 <summary>
2469 Gets or sets how command results are applied to the <see cref="T:System.Data.DataRow">DataRow</see>
2470 when used by the <see cref="M:System.Data.Common.DbDataAdapter.Update(System.Data.DataSet)">Update</see>
2471 method of the <see cref="T:System.Data.Common.DbDataAdapter">DbDataAdapter</see>.
2472 </summary>
2473 <value>One of the <see cref="T:System.Data.UpdateRowSource">UpdateRowSource</see> values.</value>
2474 </member>
2475 <member name="P:Npgsql.NpgsqlCommand.LastInsertedOID">
2476 <summary>
2477 Returns oid of inserted row. This is only updated when using executenonQuery and when command inserts just a single row. If table is created without oids, this will always be 0.
2478 </summary>
2479 </member>
2480 <member name="T:Npgsql.NpgsqlCommandBuilder">
2481 <summary>
2482 This class is responsible to create database commands for automatic insert, update and delete operations.
2483 </summary>
2484 </member>
2485 <member name="M:Npgsql.NpgsqlCommandBuilder.#ctor">
2486 <summary>
2487 Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommandBuilder"/> class.
2488 </summary>
2489 </member>
2490 <member name="M:Npgsql.NpgsqlCommandBuilder.#ctor(Npgsql.NpgsqlDataAdapter)">
2491 <summary>
2492 Initializes a new instance of the <see cref="T:Npgsql.NpgsqlCommandBuilder"/> class.
2493 </summary>
2494 <param name="adapter">The adapter.</param>
2495 </member>
2496 <member name="M:Npgsql.NpgsqlCommandBuilder.DeriveParameters(Npgsql.NpgsqlCommand)">
2497 <summary>
2498
2499 This method is reponsible to derive the command parameter list with values obtained from function definition.
2500 It clears the Parameters collection of command. Also, if there is any parameter type which is not supported by Npgsql, an InvalidOperationException will be thrown.
2501 Parameters name will be parameter1, parameter2, ...
2502 </summary>
2503 <param name="command">NpgsqlCommand whose function parameters will be obtained.</param>
2504 </member>
2505 <member name="M:Npgsql.NpgsqlCommandBuilder.GetInsertCommand">
2506 <summary>
2507 Gets the automatically generated <see cref="T:Npgsql.NpgsqlCommand"/> object required
2508 to perform insertions at the data source.
2509 </summary>
2510 <returns>
2511 The automatically generated <see cref="T:Npgsql.NpgsqlCommand"/> object required to perform insertions.
2512 </returns>
2513 </member>
2514 <member name="M:Npgsql.NpgsqlCommandBuilder.GetInsertCommand(System.Boolean)">
2515 <summary>
2516 Gets the automatically generated <see cref="T:Npgsql.NpgsqlCommand"/> object required to perform insertions
2517 at the data source, optionally using columns for parameter names.
2518 </summary>
2519 <param name="useColumnsForParameterNames">
2520 If <c>true</c>, generate parameter names matching column names, if possible.
2521 If <c>false</c>, generate @p1, @p2, and so on.
2522 </param>
2523 <returns>
2524 The automatically generated <see cref="T:Npgsql.NpgsqlCommand"/> object required to perform insertions.
2525 </returns>
2526 </member>
2527 <member name="M:Npgsql.NpgsqlCommandBuilder.GetUpdateCommand">
2528 <summary>
2529 Gets the automatically generated System.Data.Common.DbCommand object required
2530 to perform updates at the data source.
2531 </summary>
2532 <returns>
2533 The automatically generated System.Data.Common.DbCommand object required to perform updates.
2534 </returns>
2535 </member>
2536 <member name="M:Npgsql.NpgsqlCommandBuilder.GetUpdateCommand(System.Boolean)">
2537 <summary>
2538 Gets the automatically generated <see cref="T:Npgsql.NpgsqlCommand"/> object required to perform updates
2539 at the data source, optionally using columns for parameter names.
2540 </summary>
2541 <param name="useColumnsForParameterNames">
2542 If <c>true</c>, generate parameter names matching column names, if possible.
2543 If <c>false</c>, generate @p1, @p2, and so on.
2544 </param>
2545 <returns>
2546 The automatically generated <see cref="T:Npgsql.NpgsqlCommand"/> object required to perform updates.
2547 </returns>
2548 </member>
2549 <member name="M:Npgsql.NpgsqlCommandBuilder.GetDeleteCommand">
2550 <summary>
2551 Gets the automatically generated System.Data.Common.DbCommand object required
2552 to perform deletions at the data source.
2553 </summary>
2554 <returns>
2555 The automatically generated System.Data.Common.DbCommand object required to perform deletions.
2556 </returns>
2557 </member>
2558 <member name="M:Npgsql.NpgsqlCommandBuilder.GetDeleteCommand(System.Boolean)">
2559 <summary>
2560 Gets the automatically generated <see cref="T:Npgsql.NpgsqlCommand"/> object required to perform deletions
2561 at the data source, optionally using columns for parameter names.
2562 </summary>
2563 <param name="useColumnsForParameterNames">
2564 If <c>true</c>, generate parameter names matching column names, if possible.
2565 If <c>false</c>, generate @p1, @p2, and so on.
2566 </param>
2567 <returns>
2568 The automatically generated <see cref="T:Npgsql.NpgsqlCommand"/> object required to perform deletions.
2569 </returns>
2570 </member>
2571 <member name="M:Npgsql.NpgsqlCommandBuilder.ApplyParameterInfo(System.Data.Common.DbParameter,System.Data.DataRow,System.Data.StatementType,System.Boolean)">
2572 <summary>
2573 Applies the parameter information.
2574 </summary>
2575 <param name="p">The parameter.</param>
2576 <param name="row">The row.</param>
2577 <param name="statementType">Type of the statement.</param>
2578 <param name="whereClause">if set to <c>true</c> [where clause].</param>
2579 </member>
2580 <member name="M:Npgsql.NpgsqlCommandBuilder.GetParameterName(System.Int32)">
2581 <summary>
2582 Returns the name of the specified parameter in the format of @p#.
2583 </summary>
2584 <param name="parameterOrdinal">The number to be included as part of the parameter's name..</param>
2585 <returns>
2586 The name of the parameter with the specified number appended as part of the parameter name.
2587 </returns>
2588 </member>
2589 <member name="M:Npgsql.NpgsqlCommandBuilder.GetParameterName(System.String)">
2590 <summary>
2591 Returns the full parameter name, given the partial parameter name.
2592 </summary>
2593 <param name="parameterName">The partial name of the parameter.</param>
2594 <returns>
2595 The full parameter name corresponding to the partial parameter name requested.
2596 </returns>
2597 </member>
2598 <member name="M:Npgsql.NpgsqlCommandBuilder.GetParameterPlaceholder(System.Int32)">
2599 <summary>
2600 Returns the placeholder for the parameter in the associated SQL statement.
2601 </summary>
2602 <param name="parameterOrdinal">The number to be included as part of the parameter's name.</param>
2603 <returns>
2604 The name of the parameter with the specified number appended.
2605 </returns>
2606 </member>
2607 <member name="M:Npgsql.NpgsqlCommandBuilder.SetRowUpdatingHandler(System.Data.Common.DbDataAdapter)">
2608 <summary>
2609 Registers the <see cref="T:NpgsqlCommandBuilder" /> to handle the <see cref="E:NpgsqlDataAdapter.RowUpdating"/> event for a <see cref="T:NpgsqlDataAdapter" />.
2610 </summary>
2611 <param name="adapter">The <see cref="T:System.Data.Common.DbDataAdapter" /> to be used for the update.</param>
2612 </member>
2613 <member name="M:Npgsql.NpgsqlCommandBuilder.RowUpdatingHandler(System.Object,NpgsqlRowUpdatingEventArgs)">
2614 <summary>
2615 Adds an event handler for the <see cref="E:Npgsql.NpgsqlDataAdapter.RowUpdating"/> event.
2616 </summary>
2617 <param name="sender">The sender</param>
2618 <param name="e">A <see cref="T:NpgsqlRowUpdatingEventArgs"/> instance containing information about the event.</param>
2619 </member>
2620 <member name="M:Npgsql.NpgsqlCommandBuilder.QuoteIdentifier(System.String)">
2621 <summary>
2622 Given an unquoted identifier in the correct catalog case, returns the correct quoted form of that identifier, including properly escaping any embedded quotes in the identifier.
2623 </summary>
2624 <param name="unquotedIdentifier">The original unquoted identifier.</param>
2625 <returns>
2626 The quoted version of the identifier. Embedded quotes within the identifier are properly escaped.
2627 </returns>
2628 <PermissionSet>
2629 <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" PathDiscovery="*AllFiles*"/>
2630 </PermissionSet>
2631 <exception cref="T:System.ArgumentNullException">Unquoted identifier parameter cannot be null</exception>
2632 </member>
2633 <member name="M:Npgsql.NpgsqlCommandBuilder.UnquoteIdentifier(System.String)">
2634 <summary>
2635 Given a quoted identifier, returns the correct unquoted form of that identifier, including properly un-escaping any embedded quotes in the identifier.
2636 </summary>
2637 <param name="quotedIdentifier">The identifier that will have its embedded quotes removed.</param>
2638 <returns>
2639 The unquoted identifier, with embedded quotes properly un-escaped.
2640 </returns>
2641 <PermissionSet>
2642 <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" PathDiscovery="*AllFiles*"/>
2643 </PermissionSet>
2644 <exception cref="T:System.ArgumentNullException">Quoted identifier parameter cannot be null</exception>
2645 </member>
2646 <member name="P:Npgsql.NpgsqlCommandBuilder.QuotePrefix">
2647 <summary>
2648 Gets or sets the beginning character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens.
2649 </summary>
2650 <returns>
2651 The beginning character or characters to use. The default is an empty string.
2652 </returns>
2653 <PermissionSet>
2654 <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" PathDiscovery="*AllFiles*" />
2655 </PermissionSet>
2656 </member>
2657 <member name="P:Npgsql.NpgsqlCommandBuilder.QuoteSuffix">
2658 <summary>
2659 Gets or sets the ending character or characters to use when specifying database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens.
2660 </summary>
2661 <returns>
2662 The ending character or characters to use. The default is an empty string.
2663 </returns>
2664 <PermissionSet>
2665 <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" PathDiscovery="*AllFiles*" />
2666 </PermissionSet>
2667 </member>
2668 <member name="T:Npgsql.NoticeEventHandler">
2669 <summary>
2670 Represents the method that handles the <see cref="E:Npgsql.NpgsqlConnection.Notification">Notice</see> events.
2671 </summary>
2672 <param name="sender">The source of the event.</param>
2673 <param name="e">A <see cref="T:Npgsql.NpgsqlNoticeEventArgs">NpgsqlNoticeEventArgs</see> that contains the event data.</param>
2674 </member>
2675 <member name="T:Npgsql.NotificationEventHandler">
2676 <summary>
2677 Represents the method that handles the <see cref="E:Npgsql.NpgsqlConnection.Notification">Notification</see> events.
2678 </summary>
2679 <param name="sender">The source of the event.</param>
2680 <param name="e">A <see cref="T:Npgsql.NpgsqlNotificationEventArgs">NpgsqlNotificationEventArgs</see> that contains the event data.</param>
2681 </member>
2682 <member name="T:Npgsql.NpgsqlConnection">
2683 <summary>
2684 This class represents a connection to a
2685 PostgreSQL server.
2686 </summary>
2687 </member>
2688 <member name="M:Npgsql.NpgsqlConnection.#ctor">
2689 <summary>
2690 Initializes a new instance of the
2691 <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> class.
2692 </summary>
2693 </member>
2694 <member name="M:Npgsql.NpgsqlConnection.#ctor(System.String)">
2695 <summary>
2696 Initializes a new instance of the
2697 <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> class
2698 and sets the <see cref="P:Npgsql.NpgsqlConnection.ConnectionString">ConnectionString</see>.
2699 </summary>
2700 <param name="ConnectionString">The connection used to open the PostgreSQL database.</param>
2701 </member>
2702 <member name="M:Npgsql.NpgsqlConnection.#ctor(Npgsql.NpgsqlConnectionStringBuilder)">
2703 <summary>
2704 Initializes a new instance of the
2705 <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see> class
2706 and sets the <see cref="P:Npgsql.NpgsqlConnection.ConnectionString">ConnectionString</see>.
2707 </summary>
2708 <param name="ConnectionString">The connection used to open the PostgreSQL database.</param>
2709 </member>
2710 <member name="M:Npgsql.NpgsqlConnection.BeginDbTransaction(System.Data.IsolationLevel)">
2711 <summary>
2712 Begins a database transaction with the specified isolation level.
2713 </summary>
2714 <param name="isolationLevel">The <see cref="T:System.Data.IsolationLevel">isolation level</see> under which the transaction should run.</param>
2715 <returns>An <see cref="T:System.Data.Common.DbTransaction">DbTransaction</see>
2716 object representing the new transaction.</returns>
2717 <remarks>
2718 Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend.
2719 There's no support for nested transactions.
2720 </remarks>
2721 </member>
2722 <member name="M:Npgsql.NpgsqlConnection.BeginTransaction">
2723 <summary>
2724 Begins a database transaction.
2725 </summary>
2726 <returns>A <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
2727 object representing the new transaction.</returns>
2728 <remarks>
2729 Currently there's no support for nested transactions.
2730 </remarks>
2731 </member>
2732 <member name="M:Npgsql.NpgsqlConnection.BeginTransaction(System.Data.IsolationLevel)">
2733 <summary>
2734 Begins a database transaction with the specified isolation level.
2735 </summary>
2736 <param name="level">The <see cref="T:System.Data.IsolationLevel">isolation level</see> under which the transaction should run.</param>
2737 <returns>A <see cref="T:Npgsql.NpgsqlTransaction">NpgsqlTransaction</see>
2738 object representing the new transaction.</returns>
2739 <remarks>
2740 Currently the IsolationLevel ReadCommitted and Serializable are supported by the PostgreSQL backend.
2741 There's no support for nested transactions.
2742 </remarks>
2743 </member>
2744 <member name="M:Npgsql.NpgsqlConnection.Open">
2745 <summary>
2746 Opens a database connection with the property settings specified by the
2747 <see cref="P:Npgsql.NpgsqlConnection.ConnectionString">ConnectionString</see>.
2748 </summary>
2749 </member>
2750 <member name="M:Npgsql.NpgsqlConnection.ChangeDatabase(System.String)">
2751 <summary>
2752 This method changes the current database by disconnecting from the actual
2753 database and connecting to the specified.
2754 </summary>
2755 <param name="dbName">The name of the database to use in place of the current database.</param>
2756 </member>
2757 <member name="M:Npgsql.NpgsqlConnection.Close">
2758 <summary>
2759 Releases the connection to the database. If the connection is pooled, it will be
2760 made available for re-use. If it is non-pooled, the actual connection will be shutdown.
2761 </summary>
2762 </member>
2763 <member name="M:Npgsql.NpgsqlConnection.PromotableLocalTransactionEnded">
2764 <summary>
2765 When a connection is closed within an enclosing TransactionScope and the transaction
2766 hasn't been promoted, we defer the actual closing until the scope ends.
2767 </summary>
2768 </member>
2769 <member name="M:Npgsql.NpgsqlConnection.CreateDbCommand">
2770 <summary>
2771 Creates and returns a <see cref="T:System.Data.Common.DbCommand">DbCommand</see>
2772 object associated with the <see cref="T:System.Data.Common.DbConnection">IDbConnection</see>.
2773 </summary>
2774 <returns>A <see cref="T:System.Data.Common.DbCommand">DbCommand</see> object.</returns>
2775 </member>
2776 <member name="M:Npgsql.NpgsqlConnection.CreateCommand">
2777 <summary>
2778 Creates and returns a <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>
2779 object associated with the <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>.
2780 </summary>
2781 <returns>A <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see> object.</returns>
2782 </member>
2783 <member name="M:Npgsql.NpgsqlConnection.Dispose(System.Boolean)">
2784 <summary>
2785 Releases all resources used by the
2786 <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>.
2787 </summary>
2788 <param name="disposing"><b>true</b> when called from Dispose();
2789 <b>false</b> when being called from the finalizer.</param>
2790 </member>
2791 <member name="M:Npgsql.NpgsqlConnection.System#ICloneable#Clone">
2792 <summary>
2793 Create a new connection based on this one.
2794 </summary>
2795 <returns>A new NpgsqlConnection object.</returns>
2796 </member>
2797 <member name="M:Npgsql.NpgsqlConnection.Clone">
2798 <summary>
2799 Create a new connection based on this one.
2800 </summary>
2801 <returns>A new NpgsqlConnection object.</returns>
2802 </member>
2803 <member name="M:Npgsql.NpgsqlConnection.CopyConnectionStringBuilder">
2804 <summary>
2805 Returns a copy of the NpgsqlConnectionStringBuilder that contains the parsed connection string values.
2806 </summary>
2807 </member>
2808 <member name="M:Npgsql.NpgsqlConnection.DefaultCertificateSelectionCallback(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)">
2809 <summary>
2810 Default SSL CertificateSelectionCallback implementation.
2811 </summary>
2812 </member>
2813 <member name="M:Npgsql.NpgsqlConnection.DefaultCertificateValidationCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])">
2814 <summary>
2815 Default SSL CertificateValidationCallback implementation.
2816 </summary>
2817 </member>
2818 <member name="M:Npgsql.NpgsqlConnection.DefaultPrivateKeySelectionCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)">
2819 <summary>
2820 Default SSL PrivateKeySelectionCallback implementation.
2821 </summary>
2822 </member>
2823 <member name="M:Npgsql.NpgsqlConnection.DefaultProvideClientCertificatesCallback(System.Security.Cryptography.X509Certificates.X509CertificateCollection)">
2824 <summary>
2825 Default SSL ProvideClientCertificatesCallback implementation.
2826 </summary>
2827 </member>
2828 <member name="M:Npgsql.NpgsqlConnection.DefaultValidateRemoteCertificateCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
2829 <summary>
2830 Default SSL ValidateRemoteCertificateCallback implementation.
2831 </summary>
2832 </member>
2833 <member name="M:Npgsql.NpgsqlConnection.LogConnectionString">
2834 <summary>
2835 Write each key/value pair in the connection string to the log.
2836 </summary>
2837 </member>
2838 <member name="M:Npgsql.NpgsqlConnection.LoadConnectionStringBuilder(System.String)">
2839 <summary>
2840 Sets the `settings` ConnectionStringBuilder based on the given `connectionString`
2841 </summary>
2842 <param name="connectionString">The connection string to load the builder from</param>
2843 </member>
2844 <member name="M:Npgsql.NpgsqlConnection.LoadConnectionStringBuilder(Npgsql.NpgsqlConnectionStringBuilder)">
2845 <summary>
2846 Sets the `settings` ConnectionStringBuilder based on the given `connectionString`
2847 </summary>
2848 <param name="connectionString">The connection string to load the builder from</param>
2849 </member>
2850 <member name="M:Npgsql.NpgsqlConnection.RefreshConnectionString">
2851 <summary>
2852 Refresh the cached _connectionString whenever the builder settings change
2853 </summary>
2854 </member>
2855 <member name="M:Npgsql.NpgsqlConnection.GetSchema">
2856 <summary>
2857 Returns the supported collections
2858 </summary>
2859 </member>
2860 <member name="M:Npgsql.NpgsqlConnection.GetSchema(System.String)">
2861 <summary>
2862 Returns the schema collection specified by the collection name.
2863 </summary>
2864 <param name="collectionName">The collection name.</param>
2865 <returns>The collection specified.</returns>
2866 </member>
2867 <member name="M:Npgsql.NpgsqlConnection.GetSchema(System.String,System.String[])">
2868 <summary>
2869 Returns the schema collection specified by the collection name filtered by the restrictions.
2870 </summary>
2871 <param name="collectionName">The collection name.</param>
2872 <param name="restrictions">
2873 The restriction values to filter the results. A description of the restrictions is contained
2874 in the Restrictions collection.
2875 </param>
2876 <returns>The collection specified.</returns>
2877 </member>
2878 <member name="E:Npgsql.NpgsqlConnection.Notice">
2879 <summary>
2880 Occurs on NoticeResponses from the PostgreSQL backend.
2881 </summary>
2882 </member>
2883 <member name="E:Npgsql.NpgsqlConnection.Notification">
2884 <summary>
2885 Occurs on NotificationResponses from the PostgreSQL backend.
2886 </summary>
2887 </member>
2888 <member name="E:Npgsql.NpgsqlConnection.ProvideClientCertificatesCallback">
2889 <summary>
2890 Called to provide client certificates for SSL handshake.
2891 </summary>
2892 </member>
2893 <member name="E:Npgsql.NpgsqlConnection.CertificateSelectionCallback">
2894 <summary>
2895 Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate.
2896 </summary>
2897 </member>
2898 <member name="E:Npgsql.NpgsqlConnection.CertificateValidationCallback">
2899 <summary>
2900 Mono.Security.Protocol.Tls.CertificateValidationCallback delegate.
2901 </summary>
2902 </member>
2903 <member name="E:Npgsql.NpgsqlConnection.PrivateKeySelectionCallback">
2904 <summary>
2905 Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate.
2906 </summary>
2907 </member>
2908 <member name="E:Npgsql.NpgsqlConnection.ValidateRemoteCertificateCallback">
2909 <summary>
2910 Called to validate server's certificate during SSL handshake
2911 </summary>
2912 </member>
2913 <member name="P:Npgsql.NpgsqlConnection.ConnectionString">
2914 <summary>
2915 Gets or sets the string used to connect to a PostgreSQL database.
2916 Valid values are:
2917 <ul>
2918 <li>
2919 Server: Address/Name of Postgresql Server;
2920 </li>
2921 <li>
2922 Port: Port to connect to;
2923 </li>
2924 <li>
2925 Protocol: Protocol version to use, instead of automatic; Integer 2 or 3;
2926 </li>
2927 <li>
2928 Database: Database name. Defaults to user name if not specified;
2929 </li>
2930 <li>
2931 User Id: User name;
2932 </li>
2933 <li>
2934 Password: Password for clear text authentication;
2935 </li>
2936 <li>
2937 SSL: True or False. Controls whether to attempt a secure connection. Default = False;
2938 </li>
2939 <li>
2940 Pooling: True or False. Controls whether connection pooling is used. Default = True;
2941 </li>
2942 <li>
2943 MinPoolSize: Min size of connection pool;
2944 </li>
2945 <li>
2946 MaxPoolSize: Max size of connection pool;
2947 </li>
2948 <li>
2949 Timeout: Time to wait for connection open in seconds. Default is 15.
2950 </li>
2951 <li>
2952 CommandTimeout: Time to wait for command to finish execution before throw an exception. In seconds. Default is 20.
2953 </li>
2954 <li>
2955 Sslmode: Mode for ssl connection control. Can be Prefer, Require, Allow or Disable. Default is Disable. Check user manual for explanation of values.
2956 </li>
2957 <li>
2958 ConnectionLifeTime: Time to wait before closing unused connections in the pool in seconds. Default is 15.
2959 </li>
2960 <li>
2961 SyncNotification: Specifies if Npgsql should use synchronous notifications.
2962 </li>
2963 <li>
2964 SearchPath: Changes search path to specified and public schemas.
2965 </li>
2966 </ul>
2967 </summary>
2968 <value>The connection string that includes the server name,
2969 the database name, and other parameters needed to establish
2970 the initial connection. The default value is an empty string.
2971 </value>
2972 </member>
2973 <member name="P:Npgsql.NpgsqlConnection.Host">
2974 <summary>
2975 Backend server host name.
2976 </summary>
2977 </member>
2978 <member name="P:Npgsql.NpgsqlConnection.Port">
2979 <summary>
2980 Backend server port.
2981 </summary>
2982 </member>
2983 <member name="P:Npgsql.NpgsqlConnection.SSL">
2984 <summary>
2985 If true, the connection will attempt to use SSL.
2986 </summary>
2987 </member>
2988 <member name="P:Npgsql.NpgsqlConnection.ConnectionTimeout">
2989 <summary>
2990 Gets the time to wait while trying to establish a connection
2991 before terminating the attempt and generating an error.
2992 </summary>
2993 <value>The time (in seconds) to wait for a connection to open. The default value is 15 seconds.</value>
2994 </member>
2995 <member name="P:Npgsql.NpgsqlConnection.CommandTimeout">
2996 <summary>
2997 Gets the time to wait while trying to execute a command
2998 before terminating the attempt and generating an error.
2999 </summary>
3000 <value>The time (in seconds) to wait for a command to complete. The default value is 20 seconds.</value>
3001 </member>
3002 <member name="P:Npgsql.NpgsqlConnection.ConnectionLifeTime">
3003 <summary>
3004 Gets the time to wait before closing unused connections in the pool if the count
3005 of all connections exeeds MinPoolSize.
3006 </summary>
3007 <remarks>
3008 If connection pool contains unused connections for ConnectionLifeTime seconds,
3009 the half of them will be closed. If there will be unused connections in a second
3010 later then again the half of them will be closed and so on.
3011 This strategy provide smooth change of connection count in the pool.
3012 </remarks>
3013 <value>The time (in seconds) to wait. The default value is 15 seconds.</value>
3014 </member>
3015 <member name="P:Npgsql.NpgsqlConnection.Database">
3016 <summary>
3017 Gets the name of the current database or the database to be used after a connection is opened.
3018 </summary>
3019 <value>The name of the current database or the name of the database to be
3020 used after a connection is opened. The default value is the empty string.</value>
3021 </member>
3022 <member name="P:Npgsql.NpgsqlConnection.PreloadReader">
3023 <summary>
3024 Whether datareaders are loaded in their entirety (for compatibility with earlier code).
3025 </summary>
3026 </member>
3027 <member name="P:Npgsql.NpgsqlConnection.DataSource">
3028 <summary>
3029 Gets the database server name.
3030 </summary>
3031 </member>
3032 <member name="P:Npgsql.NpgsqlConnection.SyncNotification">
3033 <summary>
3034 Gets flag indicating if we are using Synchronous notification or not.
3035 The default value is false.
3036 </summary>
3037 </member>
3038 <member name="P:Npgsql.NpgsqlConnection.FullState">
3039 <summary>
3040 Gets the current state of the connection.
3041 </summary>
3042 <value>A bitwise combination of the <see cref="T:System.Data.ConnectionState">ConnectionState</see> values. The default is <b>Closed</b>.</value>
3043 </member>
3044 <member name="P:Npgsql.NpgsqlConnection.State">
3045 <summary>
3046 Gets whether the current state of the connection is Open or Closed
3047 </summary>
3048 <value>ConnectionState.Open or ConnectionState.Closed</value>
3049 </member>
3050 <member name="P:Npgsql.NpgsqlConnection.PostgreSqlVersion">
3051 <summary>
3052 Version of the PostgreSQL backend.
3053 This can only be called when there is an active connection.
3054 </summary>
3055 </member>
3056 <member name="P:Npgsql.NpgsqlConnection.BackendProtocolVersion">
3057 <summary>
3058 Protocol version in use.
3059 This can only be called when there is an active connection.
3060 </summary>
3061 </member>
3062 <member name="P:Npgsql.NpgsqlConnection.ProcessID">
3063 <summary>
3064 Process id of backend server.
3065 This can only be called when there is an active connection.
3066 </summary>
3067 </member>
3068 <member name="P:Npgsql.NpgsqlConnection.UseConformantStrings">
3069 <summary>
3070 Report whether the backend is expecting standard conformant strings.
3071 In version 8.1, Postgres began reporting this value (false), but did not actually support standard conformant strings.
3072 In version 8.2, Postgres began supporting standard conformant strings, but defaulted this flag to false.
3073 As of version 9.1, this flag defaults to true.
3074 </summary>
3075 </member>
3076 <member name="P:Npgsql.NpgsqlConnection.Supports_E_StringPrefix">
3077 <summary>
3078 Report whether the backend understands the string literal E prefix (>= 8.1).
3079 </summary>
3080 </member>
3081 <member name="P:Npgsql.NpgsqlConnection.SupportsHexByteFormat">
3082 <summary>
3083 Report whether the backend understands the hex byte format (>= 9.0).
3084 </summary>
3085 </member>
3086 <member name="P:Npgsql.NpgsqlConnection.Connector">
3087 <summary>
3088 The connector object connected to the backend.
3089 </summary>
3090 </member>
3091 <member name="P:Npgsql.NpgsqlConnection.ConnectionStringValues">
3092 <summary>
3093 Gets the NpgsqlConnectionStringBuilder containing the parsed connection string values.
3094 </summary>
3095 </member>
3096 <member name="P:Npgsql.NpgsqlConnection.UserName">
3097 <summary>
3098 User name.
3099 </summary>
3100 </member>
3101 <member name="P:Npgsql.NpgsqlConnection.Password">
3102 <summary>
3103 Password.
3104 </summary>
3105 </member>
3106 <member name="P:Npgsql.NpgsqlConnection.Pooling">
3107 <summary>
3108 Determine if connection pooling will be used for this connection.
3109 </summary>
3110 </member>
3111 <member name="M:Npgsql.NpgsqlConnectionStringBuilder.Clone">
3112 <summary>
3113 Return an exact copy of this NpgsqlConnectionString.
3114 </summary>
3115 </member>
3116 <member name="M:Npgsql.NpgsqlConnectionStringBuilder.CheckIntegratedSecuritySupport">
3117 <summary>
3118 No integrated security if we're on mono and .NET 4.5 because of ClaimsIdentity,
3119 see https://github.com/npgsql/Npgsql/issues/133
3120 </summary>
3121 </member>
3122 <member name="M:Npgsql.NpgsqlConnectionStringBuilder.SetValue(System.String,Npgsql.Keywords,System.Object)">
3123 <summary>
3124 This function will set value for known key, both private member and base[key].
3125 </summary>
3126 <param name="keyword"></param>
3127 <param name="key"></param>
3128 <param name="value"></param>
3129 <returns>value, coerced as needed to the stored type.</returns>
3130 </member>
3131 <member name="M:Npgsql.NpgsqlConnectionStringBuilder.SetValue(Npgsql.Keywords,System.Object)">
3132 <summary>
3133 The function will modify private member only, not base[key].
3134 </summary>
3135 <param name="keyword"></param>
3136 <param name="value"></param>
3137 <returns>value, coerced as needed to the stored type.</returns>
3138 </member>
3139 <member name="M:Npgsql.NpgsqlConnectionStringBuilder.GetValue(Npgsql.Keywords)">
3140 <summary>
3141 The function will access private member only, not base[key].
3142 </summary>
3143 <param name="keyword"></param>
3144 <returns>value.</returns>
3145 </member>
3146 <member name="M:Npgsql.NpgsqlConnectionStringBuilder.Clear">
3147 <summary>
3148 Clear the member and assign them to the default value.
3149 </summary>
3150 </member>
3151 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.Host">
3152 <summary>
3153 Gets or sets the backend server host name.
3154 </summary>
3155 </member>
3156 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.Port">
3157 <summary>
3158 Gets or sets the backend server port.
3159 </summary>
3160 </member>
3161 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.Protocol">
3162 <summary>
3163 Gets or sets the specified backend communication protocol version.
3164 </summary>
3165 </member>
3166 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.Database">
3167 <summary>
3168 Gets or sets the name of the database to be used after a connection is opened.
3169 </summary>
3170 <value>The name of the database to be
3171 used after a connection is opened.</value>
3172 </member>
3173 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.UserName">
3174 <summary>
3175 Gets or sets the login user name.
3176 </summary>
3177 </member>
3178 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.WindowsIdentityUserName">
3179 <summary>
3180 This is a pretty horrible hack to fix https://github.com/npgsql/Npgsql/issues/133
3181 In a nutshell, starting with .NET 4.5 WindowsIdentity inherits from ClaimsIdentity
3182 which doesn't exist in mono, and calling UserName getter above bombs.
3183 The workaround is that the function that actually deals with WindowsIdentity never
3184 gets called on mono, so never gets JITted and the problem goes away.
3185 </summary>
3186 </member>
3187 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.PasswordAsByteArray">
3188 <summary>
3189 Gets or sets the login password as a UTF8 encoded byte array.
3190 </summary>
3191 </member>
3192 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.Password">
3193 <summary>
3194 Sets the login password as a string.
3195 </summary>
3196 </member>
3197 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.SSL">
3198 <summary>
3199 Gets or sets a value indicating whether to attempt to use SSL.
3200 </summary>
3201 </member>
3202 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.SslMode">
3203 <summary>
3204 Gets or sets a value indicating whether to attempt to use SSL.
3205 </summary>
3206 </member>
3207 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.Encoding">
3208 <summary>
3209 Gets the backend encoding. Always returns "UTF8".
3210 </summary>
3211 </member>
3212 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.Timeout">
3213 <summary>
3214 Gets or sets the time to wait while trying to establish a connection
3215 before terminating the attempt and generating an error.
3216 </summary>
3217 <value>The time (in seconds) to wait for a connection to open. The default value is 15 seconds.</value>
3218 </member>
3219 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.SearchPath">
3220 <summary>
3221 Gets or sets the schema search path.
3222 </summary>
3223 </member>
3224 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.Pooling">
3225 <summary>
3226 Gets or sets a value indicating whether connection pooling should be used.
3227 </summary>
3228 </member>
3229 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.ConnectionLifeTime">
3230 <summary>
3231 Gets or sets the time to wait before closing unused connections in the pool if the count
3232 of all connections exeeds MinPoolSize.
3233 </summary>
3234 <remarks>
3235 If connection pool contains unused connections for ConnectionLifeTime seconds,
3236 the half of them will be closed. If there will be unused connections in a second
3237 later then again the half of them will be closed and so on.
3238 This strategy provide smooth change of connection count in the pool.
3239 </remarks>
3240 <value>The time (in seconds) to wait. The default value is 15 seconds.</value>
3241 </member>
3242 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.MinPoolSize">
3243 <summary>
3244 Gets or sets the minimum connection pool size.
3245 </summary>
3246 </member>
3247 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.MaxPoolSize">
3248 <summary>
3249 Gets or sets the maximum connection pool size.
3250 </summary>
3251 </member>
3252 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.SyncNotification">
3253 <summary>
3254 Gets or sets a value indicating whether to listen for notifications and report them between command activity.
3255 </summary>
3256 </member>
3257 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.CommandTimeout">
3258 <summary>
3259 Gets the time to wait while trying to execute a command
3260 before terminating the attempt and generating an error.
3261 </summary>
3262 <value>The time (in seconds) to wait for a command to complete. The default value is 20 seconds.</value>
3263 </member>
3264 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.PreloadReader">
3265 <summary>
3266 Gets or sets a value indicating whether datareaders are loaded in their entirety (for compatibility with earlier code).
3267 </summary>
3268 </member>
3269 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.Compatible">
3270 <summary>
3271 Compatibilty version. When possible, behaviour caused by breaking changes will be preserved
3272 if this version is less than that where the breaking change was introduced.
3273 </summary>
3274 </member>
3275 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.ApplicationName">
3276 <summary>
3277 Gets or sets the ootional application name parameter to be sent to the backend during connection initiation.
3278 </summary>
3279 </member>
3280 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.AlwaysPrepare">
3281 <summary>
3282 Gets or sets a value indicating whether to silently Prepare() all commands before execution.
3283 </summary>
3284 </member>
3285 <member name="P:Npgsql.NpgsqlConnectionStringBuilder.Item(System.String)">
3286 <summary>
3287 Case insensative accessor for indivual connection string values.
3288 </summary>
3289 </member>
3290 <member name="M:Npgsql.NpgsqlConnectionStringBuilder.ValueDescription.#ctor(System.Type,System.Boolean,Npgsql.NpgsqlConnectionStringBuilder.ValueNativeToString)">
3291 <summary>
3292 Set both ImplicitDefault and ExplicitDefault to the <paramref name="t"/>'s default value.
3293 </summary>
3294 <param name="t"></param>
3295 <param name="storeInBase"></param>
3296 <param name="nativeToString"></param>
3297 </member>
3298 <member name="M:Npgsql.NpgsqlConnectionStringBuilder.ValueDescription.#ctor(System.IComparable,System.Boolean,Npgsql.NpgsqlConnectionStringBuilder.ValueNativeToString)">
3299 <summary>
3300 Set ImplicitDefault to the default value of <paramref name="explicitDefault"/>'s type,
3301 and ExplicitDefault to <paramref name="explicitDefault"/>.
3302 </summary>
3303 <param name="explicitDefault"></param>
3304 <param name="storeInBase"></param>
3305 <param name="nativeToString"></param>
3306 </member>
3307 <member name="T:Npgsql.ProvideClientCertificatesCallback">
3308 <summary>
3309 Represents the method that allows the application to provide a certificate collection to be used for SSL clien authentication
3310 </summary>
3311 <param name="certificates">A <see cref="T:System.Security.Cryptography.X509Certificates.X509CertificateCollection">X509CertificateCollection</see> to be filled with one or more client certificates.</param>
3312 </member>
3313 <member name="T:Npgsql.ValidateRemoteCertificateCallback">
3314 <summary>
3315 Represents the method that is called to validate the certificate provided by the server during an SSL handshake
3316 </summary>
3317 <param name="cert">The server's certificate</param>
3318 <param name="chain">The certificate chain containing the certificate's CA and any intermediate authorities</param>
3319 <param name="errors">Any errors that were detected</param>
3320 </member>
3321 <member name="T:Npgsql.NpgsqlConnector">
3322 <summary>
3323 !!! Helper class, for compilation only.
3324 Connector implements the logic for the Connection Objects to
3325 access the physical connection to the database, and isolate
3326 the application developer from connection pooling internals.
3327 </summary>
3328 </member>
3329 <member name="M:Npgsql.NpgsqlConnector.#ctor(Npgsql.NpgsqlConnectionStringBuilder,System.Boolean,System.Boolean)">
3330 <summary>
3331 Constructor.
3332 </summary>
3333 <param name="ConnectionString">Connection string.</param>
3334 <param name="Pooled">Pooled</param>
3335 <param name="Shared">Controls whether the connector can be shared.</param>
3336 </member>
3337 <member name="M:Npgsql.NpgsqlConnector.IsValid">
3338 <summary>
3339 This method checks if the connector is still ok.
3340 We try to send a simple query text, select 1 as ConnectionTest;
3341 </summary>
3342 </member>
3343 <member name="M:Npgsql.NpgsqlConnector.ReleaseResources">
3344 <summary>
3345 This method is responsible for releasing all resources associated with this Connector.
3346 </summary>
3347 </member>
3348 <member name="M:Npgsql.NpgsqlConnector.ReleasePlansPortals">
3349 <summary>
3350 This method is responsible to release all portals used by this Connector.
3351 </summary>
3352 </member>
3353 <member name="M:Npgsql.NpgsqlConnector.DefaultCertificateSelectionCallback(System.Security.Cryptography.X509Certificates.X509CertificateCollection,System.Security.Cryptography.X509Certificates.X509Certificate,System.String,System.Security.Cryptography.X509Certificates.X509CertificateCollection)">
3354 <summary>
3355 Default SSL CertificateSelectionCallback implementation.
3356 </summary>
3357 </member>
3358 <member name="M:Npgsql.NpgsqlConnector.DefaultCertificateValidationCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.Int32[])">
3359 <summary>
3360 Default SSL CertificateValidationCallback implementation.
3361 </summary>
3362 </member>
3363 <member name="M:Npgsql.NpgsqlConnector.DefaultPrivateKeySelectionCallback(System.Security.Cryptography.X509Certificates.X509Certificate,System.String)">
3364 <summary>
3365 Default SSL PrivateKeySelectionCallback implementation.
3366 </summary>
3367 </member>
3368 <member name="M:Npgsql.NpgsqlConnector.DefaultProvideClientCertificatesCallback(System.Security.Cryptography.X509Certificates.X509CertificateCollection)">
3369 <summary>
3370 Default SSL ProvideClientCertificatesCallback implementation.
3371 </summary>
3372 </member>
3373 <member name="M:Npgsql.NpgsqlConnector.DefaultValidateRemoteCertificateCallback(System.Object,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Cryptography.X509Certificates.X509Chain,System.Net.Security.SslPolicyErrors)">
3374 <summary>
3375 Default SSL ValidateRemoteCertificateCallback implementation.
3376 </summary>
3377 </member>
3378 <member name="M:Npgsql.NpgsqlConnector.ProcessServerVersion">
3379 <summary>
3380 This method is required to set all the version dependent features flags.
3381 SupportsPrepare means the server can use prepared query plans (7.3+)
3382 </summary>
3383 </member>
3384 <member name="M:Npgsql.NpgsqlConnector.Open">
3385 <summary>
3386 Opens the physical connection to the server.
3387 </summary>
3388 <remarks>Usually called by the RequestConnector
3389 Method of the connection pool manager.</remarks>
3390 </member>
3391 <member name="M:Npgsql.NpgsqlConnector.Close">
3392 <summary>
3393 Closes the physical connection to the server.
3394 </summary>
3395 </member>
3396 <member name="M:Npgsql.NpgsqlConnector.NextPortalName">
3397 <summary>
3398 Returns next portal index.
3399 </summary>
3400 </member>
3401 <member name="M:Npgsql.NpgsqlConnector.NextPlanName">
3402 <summary>
3403 Returns next plan index.
3404 </summary>
3405 </member>
3406 <member name="E:Npgsql.NpgsqlConnector.Notice">
3407 <summary>
3408 Occurs on NoticeResponses from the PostgreSQL backend.
3409 </summary>
3410 </member>
3411 <member name="E:Npgsql.NpgsqlConnector.Notification">
3412 <summary>
3413 Occurs on NotificationResponses from the PostgreSQL backend.
3414 </summary>
3415 </member>
3416 <member name="E:Npgsql.NpgsqlConnector.ProvideClientCertificatesCallback">
3417 <summary>
3418 Called to provide client certificates for SSL handshake.
3419 </summary>
3420 </member>
3421 <member name="E:Npgsql.NpgsqlConnector.CertificateSelectionCallback">
3422 <summary>
3423 Mono.Security.Protocol.Tls.CertificateSelectionCallback delegate.
3424 </summary>
3425 </member>
3426 <member name="E:Npgsql.NpgsqlConnector.CertificateValidationCallback">
3427 <summary>
3428 Mono.Security.Protocol.Tls.CertificateValidationCallback delegate.
3429 </summary>
3430 </member>
3431 <member name="E:Npgsql.NpgsqlConnector.PrivateKeySelectionCallback">
3432 <summary>
3433 Mono.Security.Protocol.Tls.PrivateKeySelectionCallback delegate.
3434 </summary>
3435 </member>
3436 <member name="E:Npgsql.NpgsqlConnector.ValidateRemoteCertificateCallback">
3437 <summary>
3438 Called to validate server's certificate during SSL handshake
3439 </summary>
3440 </member>
3441 <member name="P:Npgsql.NpgsqlConnector.State">
3442 <summary>
3443 Gets the current state of the connection.
3444 </summary>
3445 </member>
3446 <member name="P:Npgsql.NpgsqlConnector.ConnectionString">
3447 <summary>
3448 Return Connection String.
3449 </summary>
3450 </member>
3451 <member name="P:Npgsql.NpgsqlConnector.ServerVersion">
3452 <summary>
3453 Version of backend server this connector is connected to.
3454 </summary>
3455 </member>
3456 <member name="P:Npgsql.NpgsqlConnector.BackendProtocolVersion">
3457 <summary>
3458 Backend protocol version in use by this connector.
3459 </summary>
3460 </member>
3461 <member name="P:Npgsql.NpgsqlConnector.Socket">
3462 <summary>
3463 The physical connection socket to the backend.
3464 </summary>
3465 </member>
3466 <member name="P:Npgsql.NpgsqlConnector.BaseStream">
3467 <summary>
3468 The physical connection stream to the backend.
3469 </summary>
3470 </member>
3471 <member name="P:Npgsql.NpgsqlConnector.Stream">
3472 <summary>
3473 The top level stream to the backend.
3474 </summary>
3475 </member>
3476 <member name="P:Npgsql.NpgsqlConnector.IsInitialized">
3477 <summary>
3478 Reports if this connector is fully connected.
3479 </summary>
3480 </member>
3481 <member name="P:Npgsql.NpgsqlConnector.Mediator">
3482 <summary>
3483 The connection mediator.
3484 </summary>
3485 </member>
3486 <member name="P:Npgsql.NpgsqlConnector.Transaction">
3487 <summary>
3488 Report if the connection is in a transaction.
3489 </summary>
3490 </member>
3491 <member name="P:Npgsql.NpgsqlConnector.SupportsPrepare">
3492 <summary>
3493 Report whether the current connection can support prepare functionality.
3494 </summary>
3495 </member>
3496 <member name="P:Npgsql.NpgsqlConnector.NativeToBackendTypeConverterOptions">
3497 <summary>
3498 Options that control certain aspects of native to backend conversions that depend
3499 on backend version and status.
3500 </summary>
3501 </member>
3502 <member name="T:Npgsql.NpgsqlConnectorPool">
3503 <summary>
3504 This class manages all connector objects, pooled AND non-pooled.
3505 </summary>
3506 </member>
3507 <member name="F:Npgsql.NpgsqlConnectorPool.ConnectorPoolMgr">
3508 <value>Unique static instance of the connector pool
3509 mamager.</value>
3510 </member>
3511 <member name="F:Npgsql.NpgsqlConnectorPool.PooledConnectors">
3512 <value>Map of index to unused pooled connectors, avaliable to the
3513 next RequestConnector() call.</value>
3514 <remarks>This hashmap will be indexed by connection string.
3515 This key will hold a list of queues of pooled connectors available to be used.</remarks>
3516 </member>
3517 <member name="F:Npgsql.NpgsqlConnectorPool.Timer">
3518 <value>Timer for tracking unused connections in pools.</value>
3519 </member>
3520 <member name="M:Npgsql.NpgsqlConnectorPool.RequestConnector(Npgsql.NpgsqlConnection)">
3521 <summary>
3522 Searches the shared and pooled connector lists for a
3523 matching connector object or creates a new one.
3524 </summary>
3525 <param name="Connection">The NpgsqlConnection that is requesting
3526 the connector. Its ConnectionString will be used to search the
3527 pool for available connectors.</param>
3528 <returns>A connector object.</returns>
3529 </member>
3530 <member name="M:Npgsql.NpgsqlConnectorPool.RequestPooledConnectorInternal(Npgsql.NpgsqlConnection)">
3531 <summary>
3532 Find a pooled connector. Handle shared/non-shared here.
3533 </summary>
3534 </member>
3535 <member name="M:Npgsql.NpgsqlConnectorPool.ReleaseConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
3536 <summary>
3537 Releases a connector, possibly back to the pool for future use.
3538 </summary>
3539 <remarks>
3540 Pooled connectors will be put back into the pool if there is room.
3541 Shared connectors should just have their use count decremented
3542 since they always stay in the shared pool.
3543 </remarks>
3544 <param name="Connection">Connection to which the connector is leased.</param>
3545 <param name="Connector">The connector to release.</param>
3546 </member>
3547 <member name="M:Npgsql.NpgsqlConnectorPool.ReleaseConnectorInternal(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
3548 <summary>
3549 Release a pooled connector. Handle shared/non-shared here.
3550 </summary>
3551 </member>
3552 <member name="M:Npgsql.NpgsqlConnectorPool.GetPooledConnector(Npgsql.NpgsqlConnection)">
3553 <summary>
3554 Find an available pooled connector in the non-shared pool, or create
3555 a new one if none found.
3556 </summary>
3557 </member>
3558 <member name="M:Npgsql.NpgsqlConnectorPool.UngetConnector(Npgsql.NpgsqlConnection,Npgsql.NpgsqlConnector)">
3559 <summary>
3560 Put a pooled connector into the pool queue.
3561 </summary>
3562 <param name="Connection">Connection <paramref name="Connector"/> is leased to.</param>
3563 <param name="Connector">Connector to pool</param>
3564 </member>
3565 <member name="T:Npgsql.NpgsqlConnectorPool.ConnectorQueue">
3566 <summary>
3567 A queue with an extra Int32 for keeping track of busy connections.
3568 </summary>
3569 </member>
3570 <member name="F:Npgsql.NpgsqlConnectorPool.ConnectorQueue.Available">
3571 <summary>
3572 Connections available to the end user
3573 </summary>
3574 </member>
3575 <member name="F:Npgsql.NpgsqlConnectorPool.ConnectorQueue.Busy">
3576 <summary>
3577 Connections currently in use
3578 </summary>
3579 </member>
3580 <member name="T:Npgsql.NpgsqlCopyFormat">
3581 <summary>
3582 Represents information about COPY operation data transfer format as returned by server.
3583 </summary>
3584 </member>
3585 <member name="M:Npgsql.NpgsqlCopyFormat.#ctor(System.Byte,System.Int16[])">
3586 <summary>
3587 Only created when a CopyInResponse or CopyOutResponse is received by NpgsqlState.ProcessBackendResponses()
3588 </summary>
3589 </member>
3590 <member name="M:Npgsql.NpgsqlCopyFormat.FieldIsBinary(System.Int32)">
3591 <summary>
3592 Returns true if this operation is currently active and field at given location is in binary format.
3593 </summary>
3594 </member>
3595 <member name="P:Npgsql.NpgsqlCopyFormat.IsBinary">
3596 <summary>
3597 Returns true if this operation is currently active and in binary format.
3598 </summary>
3599 </member>
3600 <member name="P:Npgsql.NpgsqlCopyFormat.FieldCount">
3601 <summary>
3602 Returns number of fields if this operation is currently active, otherwise -1
3603 </summary>
3604 </member>
3605 <member name="T:Npgsql.NpgsqlCopyIn">
3606 <summary>
3607 Represents a PostgreSQL COPY FROM STDIN operation with a corresponding SQL statement
3608 to execute against a PostgreSQL database
3609 and an associated stream used to read data from (if provided by user)
3610 or for writing it (when generated by driver).
3611 Eg. new NpgsqlCopyIn("COPY mytable FROM STDIN", connection, streamToRead).Start();
3612 </summary>
3613 </member>
3614 <member name="M:Npgsql.NpgsqlCopyIn.#ctor(System.String,Npgsql.NpgsqlConnection)">
3615 <summary>
3616 Creates NpgsqlCommand to run given query upon Start(). Data for the requested COPY IN operation can then be written to CopyData stream followed by a call to End() or Cancel().
3617 </summary>
3618 </member>
3619 <member name="M:Npgsql.NpgsqlCopyIn.#ctor(Npgsql.NpgsqlCommand,Npgsql.NpgsqlConnection)">
3620 <summary>
3621 Given command is run upon Start(). Data for the requested COPY IN operation can then be written to CopyData stream followed by a call to End() or Cancel().
3622 </summary>
3623 </member>
3624 <member name="M:Npgsql.NpgsqlCopyIn.#ctor(Npgsql.NpgsqlCommand,Npgsql.NpgsqlConnection,System.IO.Stream)">
3625 <summary>
3626 Given command is executed upon Start() and all data from fromStream is passed to it as copy data.
3627 </summary>
3628 </member>
3629 <member name="M:Npgsql.NpgsqlCopyIn.FieldIsBinary(System.Int32)">
3630 <summary>
3631 Returns true if this operation is currently active and field at given location is in binary format.
3632 </summary>
3633 </member>
3634 <member name="M:Npgsql.NpgsqlCopyIn.Start">
3635 <summary>
3636 Command specified upon creation is executed as a non-query.
3637 If CopyStream is set upon creation, it will be flushed to server as copy data, and operation will be finished immediately.
3638 Otherwise the CopyStream member can be used for writing copy data to server and operation finished with a call to End() or Cancel().
3639 </summary>
3640 </member>
3641 <member name="M:Npgsql.NpgsqlCopyIn.End">
3642 <summary>
3643 Called after writing all data to CopyStream to successfully complete this copy operation.
3644 </summary>
3645 </member>
3646 <member name="M:Npgsql.NpgsqlCopyIn.Cancel(System.String)">
3647 <summary>
3648 Withdraws an already started copy operation. The operation will fail with given error message.
3649 Will do nothing if current operation is not active.
3650 </summary>
3651 </member>
3652 <member name="P:Npgsql.NpgsqlCopyIn.IsActive">
3653 <summary>
3654 Returns true if the connection is currently reserved for this operation.
3655 </summary>
3656 </member>
3657 <member name="P:Npgsql.NpgsqlCopyIn.CopyStream">
3658 <summary>
3659 The stream provided by user or generated upon Start().
3660 User may provide a stream to constructor; it is used to pass to server all data read from it.
3661 Otherwise, call to Start() sets this to a writable NpgsqlCopyInStream that passes all data written to it to server.
3662 In latter case this is only available while the copy operation is active and null otherwise.
3663 </summary>
3664 </member>
3665 <member name="P:Npgsql.NpgsqlCopyIn.IsBinary">
3666 <summary>
3667 Returns true if this operation is currently active and in binary format.
3668 </summary>
3669 </member>
3670 <member name="P:Npgsql.NpgsqlCopyIn.FieldCount">
3671 <summary>
3672 Returns number of fields expected on each input row if this operation is currently active, otherwise -1
3673 </summary>
3674 </member>
3675 <member name="P:Npgsql.NpgsqlCopyIn.NpgsqlCommand">
3676 <summary>
3677 The Command used to execute this copy operation.
3678 </summary>
3679 </member>
3680 <member name="P:Npgsql.NpgsqlCopyIn.CopyBufferSize">
3681 <summary>
3682 Set before a COPY IN query to define size of internal buffer for reading from given CopyStream.
3683 </summary>
3684 </member>
3685 <member name="T:Npgsql.NpgsqlCopyInState">
3686 <summary>
3687 Represents an ongoing COPY FROM STDIN operation.
3688 Provides methods to push data to server and end or cancel the operation.
3689 </summary>
3690 </member>
3691 <member name="M:Npgsql.NpgsqlCopyInState.StartCopy(Npgsql.NpgsqlConnector,Npgsql.NpgsqlCopyFormat)">
3692 <summary>
3693 Called from NpgsqlState.ProcessBackendResponses upon CopyInResponse.
3694 If CopyStream is already set, it is used to read data to push to server, after which the copy is completed.
3695 Otherwise CopyStream is set to a writable NpgsqlCopyInStream that calls SendCopyData each time it is written to.
3696 </summary>
3697 </member>
3698 <member name="M:Npgsql.NpgsqlCopyInState.SendCopyData(Npgsql.NpgsqlConnector,System.Byte[],System.Int32,System.Int32)">
3699 <summary>
3700 Sends given packet to server as a CopyData message.
3701 Does not check for notifications! Use another thread for that.
3702 </summary>
3703 </member>
3704 <member name="M:Npgsql.NpgsqlCopyInState.SendCopyDone(Npgsql.NpgsqlConnector)">
3705 <summary>
3706 Sends CopyDone message to server. Handles responses, ie. may throw an exception.
3707 </summary>
3708 </member>
3709 <member name="M:Npgsql.NpgsqlCopyInState.SendCopyFail(Npgsql.NpgsqlConnector,System.String)">
3710 <summary>
3711 Sends CopyFail message to server. Handles responses, ie. should always throw an exception:
3712 in CopyIn state the server responds to CopyFail with an error response;
3713 outside of a CopyIn state the server responds to CopyFail with an error response;
3714 without network connection or whatever, there's going to eventually be a failure, timeout or user intervention.
3715 </summary>
3716 </member>
3717 <member name="P:Npgsql.NpgsqlCopyInState.CopyFormat">
3718 <summary>
3719 Copy format information returned from server.
3720 </summary>
3721 </member>
3722 <member name="T:Npgsql.NpgsqlCopyInStream">
3723 <summary>
3724 Stream for writing data to a table on a PostgreSQL version 7.4 or newer database during an active COPY FROM STDIN operation.
3725 <b>Passes data exactly as is and when given</b>, so see to it that you use server encoding, correct format and reasonably sized writes!
3726 </summary>
3727 </member>
3728 <member name="M:Npgsql.NpgsqlCopyInStream.#ctor(Npgsql.NpgsqlConnector)">
3729 <summary>
3730 Created only by NpgsqlCopyInState.StartCopy()
3731 </summary>
3732 </member>
3733 <member name="M:Npgsql.NpgsqlCopyInStream.Close">
3734 <summary>
3735 Successfully completes copying data to server. Returns after operation is finished.
3736 Does nothing if this stream is not the active copy operation writer.
3737 </summary>
3738 </member>
3739 <member name="M:Npgsql.NpgsqlCopyInStream.Cancel(System.String)">
3740 <summary>
3741 Withdraws an already started copy operation. The operation will fail with given error message.
3742 Does nothing if this stream is not the active copy operation writer.
3743 </summary>
3744 </member>
3745 <member name="M:Npgsql.NpgsqlCopyInStream.Write(System.Byte[],System.Int32,System.Int32)">
3746 <summary>
3747 Writes given bytes to server.
3748 Fails if this stream is not the active copy operation writer.
3749 </summary>
3750 </member>
3751 <member name="M:Npgsql.NpgsqlCopyInStream.Flush">
3752 <summary>
3753 Flushes stream contents to server.
3754 Fails if this stream is not the active copy operation writer.
3755 </summary>
3756 </member>
3757 <member name="M:Npgsql.NpgsqlCopyInStream.Read(System.Byte[],System.Int32,System.Int32)">
3758 <summary>
3759 Not readable
3760 </summary>
3761 </member>
3762 <member name="M:Npgsql.NpgsqlCopyInStream.Seek(System.Int64,System.IO.SeekOrigin)">
3763 <summary>
3764 Not seekable
3765 </summary>
3766 </member>
3767 <member name="M:Npgsql.NpgsqlCopyInStream.SetLength(System.Int64)">
3768 <summary>
3769 Not supported
3770 </summary>
3771 </member>
3772 <member name="P:Npgsql.NpgsqlCopyInStream.IsActive">
3773 <summary>
3774 True while this stream can be used to write copy data to server
3775 </summary>
3776 </member>
3777 <member name="P:Npgsql.NpgsqlCopyInStream.CanRead">
3778 <summary>
3779 False
3780 </summary>
3781 </member>
3782 <member name="P:Npgsql.NpgsqlCopyInStream.CanWrite">
3783 <summary>
3784 True
3785 </summary>
3786 </member>
3787 <member name="P:Npgsql.NpgsqlCopyInStream.CanSeek">
3788 <summary>
3789 False
3790 </summary>
3791 </member>
3792 <member name="P:Npgsql.NpgsqlCopyInStream.Length">
3793 <summary>
3794 Number of bytes written so far
3795 </summary>
3796 </member>
3797 <member name="P:Npgsql.NpgsqlCopyInStream.Position">
3798 <summary>
3799 Number of bytes written so far; not settable
3800 </summary>
3801 </member>
3802 <member name="T:Npgsql.NpgsqlCopyOut">
3803 <summary>
3804 Represents a PostgreSQL COPY TO STDOUT operation with a corresponding SQL statement
3805 to execute against a PostgreSQL database
3806 and an associated stream used to write results to (if provided by user)
3807 or for reading the results (when generated by driver).
3808 Eg. new NpgsqlCopyOut("COPY (SELECT * FROM mytable) TO STDOUT", connection, streamToWrite).Start();
3809 </summary>
3810 </member>
3811 <member name="M:Npgsql.NpgsqlCopyOut.#ctor(System.String,Npgsql.NpgsqlConnection)">
3812 <summary>
3813 Creates NpgsqlCommand to run given query upon Start(), after which CopyStream provides data from database as requested in the query.
3814 </summary>
3815 </member>
3816 <member name="M:Npgsql.NpgsqlCopyOut.#ctor(Npgsql.NpgsqlCommand,Npgsql.NpgsqlConnection)">
3817 <summary>
3818 Given command is run upon Start(), after which CopyStream provides data from database as requested in the query.
3819 </summary>
3820 </member>
3821 <member name="M:Npgsql.NpgsqlCopyOut.#ctor(Npgsql.NpgsqlCommand,Npgsql.NpgsqlConnection,System.IO.Stream)">
3822 <summary>
3823 Given command is executed upon Start() and all requested copy data is written to toStream immediately.
3824 </summary>
3825 </member>
3826 <member name="M:Npgsql.NpgsqlCopyOut.FieldIsBinary(System.Int32)">
3827 <summary>
3828 Returns true if this operation is currently active and field at given location is in binary format.
3829 </summary>
3830 </member>
3831 <member name="M:Npgsql.NpgsqlCopyOut.Start">
3832 <summary>
3833 Command specified upon creation is executed as a non-query.
3834 If CopyStream is set upon creation, all copy data from server will be written to it, and operation will be finished immediately.
3835 Otherwise the CopyStream member can be used for reading copy data from server until no more data is available.
3836 </summary>
3837 </member>
3838 <member name="M:Npgsql.NpgsqlCopyOut.End">
3839 <summary>
3840 Flush generated CopyStream at once. Effectively reads and discard all the rest of copy data from server.
3841 </summary>
3842 </member>
3843 <member name="P:Npgsql.NpgsqlCopyOut.IsActive">
3844 <summary>
3845 Returns true if the connection is currently reserved for this operation.
3846 </summary>
3847 </member>
3848 <member name="P:Npgsql.NpgsqlCopyOut.CopyStream">
3849 <summary>
3850 The stream provided by user or generated upon Start()
3851 </summary>
3852 </member>
3853 <member name="P:Npgsql.NpgsqlCopyOut.NpgsqlCommand">
3854 <summary>
3855 The Command used to execute this copy operation.
3856 </summary>
3857 </member>
3858 <member name="P:Npgsql.NpgsqlCopyOut.IsBinary">
3859 <summary>
3860 Returns true if this operation is currently active and in binary format.
3861 </summary>
3862 </member>
3863 <member name="P:Npgsql.NpgsqlCopyOut.FieldCount">
3864 <summary>
3865 Returns number of fields if this operation is currently active, otherwise -1
3866 </summary>
3867 </member>
3868 <member name="P:Npgsql.NpgsqlCopyOut.Read">
3869 <summary>
3870 Faster alternative to using the generated CopyStream.
3871 </summary>
3872 </member>
3873 <member name="T:Npgsql.NpgsqlCopyOutState">
3874 <summary>
3875 Represents an ongoing COPY TO STDOUT operation.
3876 Provides methods to read data from server or end the operation.
3877 </summary>
3878 </member>
3879 <member name="M:Npgsql.NpgsqlCopyOutState.StartCopy(Npgsql.NpgsqlConnector,Npgsql.NpgsqlCopyFormat)">
3880 <summary>
3881 Called from NpgsqlState.ProcessBackendResponses upon CopyOutResponse.
3882 If CopyStream is already set, it is used to write data received from server, after which the copy ends.
3883 Otherwise CopyStream is set to a readable NpgsqlCopyOutStream that receives data from server.
3884 </summary>
3885 </member>
3886 <member name="M:Npgsql.NpgsqlCopyOutState.GetCopyData(Npgsql.NpgsqlConnector)">
3887 <summary>
3888 Called from NpgsqlOutStream.Read to read copy data from server.
3889 </summary>
3890 </member>
3891 <member name="P:Npgsql.NpgsqlCopyOutState.CopyFormat">
3892 <summary>
3893 Copy format information returned from server.
3894 </summary>
3895 </member>
3896 <member name="T:Npgsql.NpgsqlCopyOutStream">
3897 <summary>
3898 Stream for reading data from a table or select on a PostgreSQL version 7.4 or newer database during an active COPY TO STDOUT operation.
3899 <b>Passes data exactly as provided by the server.</b>
3900 </summary>
3901 </member>
3902 <member name="M:Npgsql.NpgsqlCopyOutStream.#ctor(Npgsql.NpgsqlConnector)">
3903 <summary>
3904 Created only by NpgsqlCopyOutState.StartCopy()
3905 </summary>
3906 </member>
3907 <member name="M:Npgsql.NpgsqlCopyOutStream.Close">
3908 <summary>
3909 Discards copy data as long as server pushes it. Returns after operation is finished.
3910 Does nothing if this stream is not the active copy operation reader.
3911 </summary>
3912 </member>
3913 <member name="M:Npgsql.NpgsqlCopyOutStream.Write(System.Byte[],System.Int32,System.Int32)">
3914 <summary>
3915 Not writable.
3916 </summary>
3917 </member>
3918 <member name="M:Npgsql.NpgsqlCopyOutStream.Flush">
3919 <summary>
3920 Not flushable.
3921 </summary>
3922 </member>
3923 <member name="M:Npgsql.NpgsqlCopyOutStream.Read(System.Byte[],System.Int32,System.Int32)">
3924 <summary>
3925 Copies data read from server to given byte buffer.
3926 Since server returns data row by row, length will differ each time, but it is only zero once the operation ends.
3927 Can be mixed with calls to the more efficient NpgsqlCopyOutStream.Read() : byte[] though that would not make much sense.
3928 </summary>
3929 </member>
3930 <member name="M:Npgsql.NpgsqlCopyOutStream.Seek(System.Int64,System.IO.SeekOrigin)">
3931 <summary>
3932 Not seekable
3933 </summary>
3934 </member>
3935 <member name="M:Npgsql.NpgsqlCopyOutStream.SetLength(System.Int64)">
3936 <summary>
3937 Not supported
3938 </summary>
3939 </member>
3940 <member name="M:Npgsql.NpgsqlCopyOutStream.Read">
3941 <summary>
3942 Returns a whole row of data from server without extra work.
3943 If standard Stream.Read(...) has been called before, it's internal buffers remains are returned.
3944 </summary>
3945 </member>
3946 <member name="P:Npgsql.NpgsqlCopyOutStream.IsActive">
3947 <summary>
3948 True while this stream can be used to read copy data from server
3949 </summary>
3950 </member>
3951 <member name="P:Npgsql.NpgsqlCopyOutStream.CanRead">
3952 <summary>
3953 True
3954 </summary>
3955 </member>
3956 <member name="P:Npgsql.NpgsqlCopyOutStream.CanWrite">
3957 <summary>
3958 False
3959 </summary>
3960 </member>
3961 <member name="P:Npgsql.NpgsqlCopyOutStream.CanSeek">
3962 <summary>
3963 False
3964 </summary>
3965 </member>
3966 <member name="P:Npgsql.NpgsqlCopyOutStream.Length">
3967 <summary>
3968 Number of bytes read so far
3969 </summary>
3970 </member>
3971 <member name="P:Npgsql.NpgsqlCopyOutStream.Position">
3972 <summary>
3973 Number of bytes read so far; can not be set.
3974 </summary>
3975 </member>
3976 <member name="T:Npgsql.NpgsqlCopySerializer">
3977 <summary>
3978 Writes given objects into a stream for PostgreSQL COPY in default copy format (not CSV or BINARY).
3979 </summary>
3980 </member>
3981 <member name="T:Npgsql.NpgsqlRowUpdatedEventHandler">
3982 <summary>
3983 Represents the method that handles the <see cref="E:Npgsql.NpgsqlDataAdapter.RowUpdated">RowUpdated</see> events.
3984 </summary>
3985 <param name="sender">The source of the event.</param>
3986 <param name="e">A <see cref="T:NpgsqlRowUpdatedEventArgs">NpgsqlRowUpdatedEventArgs</see> that contains the event data.</param>
3987 </member>
3988 <member name="T:Npgsql.NpgsqlRowUpdatingEventHandler">
3989 <summary>
3990 Represents the method that handles the <see cref="E:Npgsql.NpgsqlDataAdapter.RowUpdating">RowUpdating</see> events.
3991 </summary>
3992 <param name="sender">The source of the event.</param>
3993 <param name="e">A <see cref="T:NpgsqlRowUpdatingEventArgs">NpgsqlRowUpdatingEventArgs</see> that contains the event data.</param>
3994 </member>
3995 <member name="T:Npgsql.NpgsqlDataAdapter">
3996 <summary>
3997 This class represents an adapter from many commands: select, update, insert and delete to fill <see cref="T:System.Data.DataSet">Datasets.</see>
3998 </summary>
3999 </member>
4000 <member name="T:Npgsql.NpgsqlDataReader">
4001 <summary>
4002 Provides a means of reading a forward-only stream of rows from a PostgreSQL backend. This class cannot be inherited.
4003 </summary>
4004 </member>
4005 <member name="M:Npgsql.NpgsqlDataReader.GetDataTypeName(System.Int32)">
4006 <summary>
4007 Return the data type name of the column at index <param name="Index"></param>.
4008 </summary>
4009 </member>
4010 <member name="M:Npgsql.NpgsqlDataReader.GetFieldType(System.Int32)">
4011 <summary>
4012 Return the data type of the column at index <param name="Index"></param>.
4013 </summary>
4014 </member>
4015 <member name="M:Npgsql.NpgsqlDataReader.GetProviderSpecificFieldType(System.Int32)">
4016 <summary>
4017 Return the Npgsql specific data type of the column at requested ordinal.
4018 </summary>
4019 <param name="ordinal">column position</param>
4020 <returns>Appropriate Npgsql type for column.</returns>
4021 </member>
4022 <member name="M:Npgsql.NpgsqlDataReader.GetName(System.Int32)">
4023 <summary>
4024 Return the column name of the column at index <param name="Index"></param>.
4025 </summary>
4026 </member>
4027 <member name="M:Npgsql.NpgsqlDataReader.GetDataTypeOID(System.Int32)">
4028 <summary>
4029 Return the data type OID of the column at index <param name="Index"></param>.
4030 </summary>
4031 FIXME: Why this method returns String?
4032 </member>
4033 <member name="M:Npgsql.NpgsqlDataReader.GetOrdinal(System.String)">
4034 <summary>
4035 Return the column name of the column named <param name="Name"></param>.
4036 </summary>
4037 </member>
4038 <member name="M:Npgsql.NpgsqlDataReader.GetFieldDbType(System.Int32)">
4039 <summary>
4040 Return the data DbType of the column at index <param name="Index"></param>.
4041 </summary>
4042 </member>
4043 <member name="M:Npgsql.NpgsqlDataReader.GetFieldNpgsqlDbType(System.Int32)">
4044 <summary>
4045 Return the data NpgsqlDbType of the column at index <param name="Index"></param>.
4046 </summary>
4047 </member>
4048 <member name="M:Npgsql.NpgsqlDataReader.GetInterval(System.Int32)">
4049 <summary>
4050 Get the value of a column as a <see cref="T:NpgsqlTypes.NpgsqlInterval"/>.
4051 <remarks>If the differences between <see cref="T:NpgsqlTypes.NpgsqlInterval"/> and <see cref="T:System.TimeSpan"/>
4052 in handling of days and months is not important to your application, use <see cref="M:Npgsql.NpgsqlDataReader.GetTimeSpan(System.Int32)"/>
4053 instead.</remarks>
4054 </summary>
4055 <param name="i">Index of the field to find.</param>
4056 <returns><see cref="T:NpgsqlTypes.NpgsqlInterval"/> value of the field.</returns>
4057 </member>
4058 <member name="M:Npgsql.NpgsqlDataReader.GetGuid(System.Int32)">
4059 <summary>
4060 Gets the value of a column converted to a Guid.
4061 </summary>
4062 </member>
4063 <member name="M:Npgsql.NpgsqlDataReader.GetInt16(System.Int32)">
4064 <summary>
4065 Gets the value of a column as Int16.
4066 </summary>
4067 </member>
4068 <member name="M:Npgsql.NpgsqlDataReader.GetInt32(System.Int32)">
4069 <summary>
4070 Gets the value of a column as Int32.
4071 </summary>
4072 </member>
4073 <member name="M:Npgsql.NpgsqlDataReader.GetInt64(System.Int32)">
4074 <summary>
4075 Gets the value of a column as Int64.
4076 </summary>
4077 </member>
4078 <member name="M:Npgsql.NpgsqlDataReader.GetFloat(System.Int32)">
4079 <summary>
4080 Gets the value of a column as Single.
4081 </summary>
4082 </member>
4083 <member name="M:Npgsql.NpgsqlDataReader.GetDouble(System.Int32)">
4084 <summary>
4085 Gets the value of a column as Double.
4086 </summary>
4087 </member>
4088 <member name="M:Npgsql.NpgsqlDataReader.GetString(System.Int32)">
4089 <summary>
4090 Gets the value of a column as String.
4091 </summary>
4092 </member>
4093 <member name="M:Npgsql.NpgsqlDataReader.GetDecimal(System.Int32)">
4094 <summary>
4095 Gets the value of a column as Decimal.
4096 </summary>
4097 </member>
4098 <member name="M:Npgsql.NpgsqlDataReader.GetTimeSpan(System.Int32)">
4099 <summary>
4100 Gets the value of a column as TimeSpan.
4101 </summary>
4102 </member>
4103 <member name="M:Npgsql.NpgsqlDataReader.GetValues(System.Object[])">
4104 <summary>
4105 Copy values from each column in the current row into <paramref name="values"/>.
4106 </summary>
4107 <param name="values">Destination for column values.</param>
4108 <returns>The number of column values copied.</returns>
4109 </member>
4110 <member name="M:Npgsql.NpgsqlDataReader.GetProviderSpecificValues(System.Object[])">
4111 <summary>
4112 Copy values from each column in the current row into <paramref name="values"></paramref>.
4113 </summary>
4114 <param name="values">An array appropriately sized to store values from all columns.</param>
4115 <returns>The number of column values copied.</returns>
4116 </member>
4117 <member name="M:Npgsql.NpgsqlDataReader.GetBoolean(System.Int32)">
4118 <summary>
4119 Gets the value of a column as Boolean.
4120 </summary>
4121 </member>
4122 <member name="M:Npgsql.NpgsqlDataReader.GetByte(System.Int32)">
4123 <summary>
4124 Gets the value of a column as Byte. Not implemented.
4125 </summary>
4126 </member>
4127 <member name="M:Npgsql.NpgsqlDataReader.GetChar(System.Int32)">
4128 <summary>
4129 Gets the value of a column as Char.
4130 </summary>
4131 </member>
4132 <member name="M:Npgsql.NpgsqlDataReader.GetDateTime(System.Int32)">
4133 <summary>
4134 Gets the value of a column as DateTime.
4135 </summary>
4136 </member>
4137 <member name="M:Npgsql.NpgsqlDataReader.GetSchemaTable">
4138 <summary>
4139 Returns a System.Data.DataTable that describes the column metadata of the DataReader.
4140 </summary>
4141 </member>
4142 <member name="M:Npgsql.NpgsqlDataReader.GetTableNameFromQuery">
4143 <summary>
4144 This methods parses the command text and tries to get the tablename
4145 from it.
4146 </summary>
4147 </member>
4148 <member name="E:Npgsql.NpgsqlDataReader.ReaderClosed">
4149 <summary>
4150 Is raised whenever Close() is called.
4151 </summary>
4152 </member>
4153 <member name="P:Npgsql.NpgsqlDataReader.FieldCount">
4154 <summary>
4155 Gets the number of columns in the current row.
4156 </summary>
4157 </member>
4158 <member name="P:Npgsql.NpgsqlDataReader.Item(System.Int32)">
4159 <summary>
4160 Gets the value of a column in its native format.
4161 </summary>
4162 </member>
4163 <member name="P:Npgsql.NpgsqlDataReader.Item(System.String)">
4164 <summary>
4165 Gets the value of a column in its native format.
4166 </summary>
4167 </member>
4168 <member name="P:Npgsql.NpgsqlDataReader.Depth">
4169 <summary>
4170 Gets a value indicating the depth of nesting for the current row. Always returns zero.
4171 </summary>
4172 </member>
4173 <member name="P:Npgsql.NpgsqlDataReader.IsClosed">
4174 <summary>
4175 Gets a value indicating whether the data reader is closed.
4176 </summary>
4177 </member>
4178 <member name="F:Npgsql.NpgsqlDataReader.KeyLookup.primaryKey">
4179 <summary>
4180 Contains the column names as the keys
4181 </summary>
4182 </member>
4183 <member name="F:Npgsql.NpgsqlDataReader.KeyLookup.uniqueColumns">
4184 <summary>
4185 Contains all unique columns
4186 </summary>
4187 </member>
4188 <member name="T:Npgsql.ForwardsOnlyDataReader">
4189 <summary>
4190 This is the primary implementation of NpgsqlDataReader. It is the one used in normal cases (where the
4191 preload-reader option is not set in the connection string to resolve some potential backwards-compatibility
4192 issues), the only implementation used internally, and in cases where CachingDataReader is used, it is still
4193 used to do the actual "leg-work" of turning a response stream from the server into a datareader-style
4194 object - with CachingDataReader then filling it's cache from here.
4195 </summary>
4196 </member>
4197 <member name="M:Npgsql.ForwardsOnlyDataReader.GetNextResponseObject(System.Boolean)">
4198 <summary>
4199 Iterate through the objects returned through from the server.
4200 If it's a CompletedResponse the rowsaffected count is updated appropriately,
4201 and we iterate again, otherwise we return it (perhaps updating our cache of pending
4202 rows if appropriate).
4203 </summary>
4204 <returns>The next <see cref="T:Npgsql.IServerResponseObject"/> we will deal with.</returns>
4205 </member>
4206 <member name="M:Npgsql.ForwardsOnlyDataReader.GetNextRowDescription">
4207 <summary>
4208 Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend.
4209 </summary>
4210 <returns>True if the reader was advanced, otherwise false.</returns>
4211 </member>
4212 <member name="M:Npgsql.ForwardsOnlyDataReader.Dispose(System.Boolean)">
4213 <summary>
4214 Releases the resources used by the <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>.
4215 </summary>
4216 </member>
4217 <member name="M:Npgsql.ForwardsOnlyDataReader.Close">
4218 <summary>
4219 Closes the data reader object.
4220 </summary>
4221 </member>
4222 <member name="M:Npgsql.ForwardsOnlyDataReader.NextResult">
4223 <summary>
4224 Advances the data reader to the next result, when multiple result sets were returned by the PostgreSQL backend.
4225 </summary>
4226 <returns>True if the reader was advanced, otherwise false.</returns>
4227 </member>
4228 <member name="M:Npgsql.ForwardsOnlyDataReader.Read">
4229 <summary>
4230 Advances the data reader to the next row.
4231 </summary>
4232 <returns>True if the reader was advanced, otherwise false.</returns>
4233 </member>
4234 <member name="M:Npgsql.ForwardsOnlyDataReader.GetValue(System.Int32)">
4235 <summary>
4236 Return the value of the column at index <param name="Index"></param>.
4237 </summary>
4238 </member>
4239 <member name="M:Npgsql.ForwardsOnlyDataReader.GetBytes(System.Int32,System.Int64,System.Byte[],System.Int32,System.Int32)">
4240 <summary>
4241 Gets raw data from a column.
4242 </summary>
4243 </member>
4244 <member name="M:Npgsql.ForwardsOnlyDataReader.GetChars(System.Int32,System.Int64,System.Char[],System.Int32,System.Int32)">
4245 <summary>
4246 Gets raw data from a column.
4247 </summary>
4248 </member>
4249 <member name="M:Npgsql.ForwardsOnlyDataReader.IsDBNull(System.Int32)">
4250 <summary>
4251 Report whether the value in a column is DBNull.
4252 </summary>
4253 </member>
4254 <member name="P:Npgsql.ForwardsOnlyDataReader.RecordsAffected">
4255 <summary>
4256 Gets the number of rows changed, inserted, or deleted by execution of the SQL statement.
4257 </summary>
4258 </member>
4259 <member name="P:Npgsql.ForwardsOnlyDataReader.HasRows">
4260 <summary>
4261 Indicates if NpgsqlDatareader has rows to be read.
4262 </summary>
4263 </member>
4264 <member name="T:Npgsql.CachingDataReader">
4265 <summary>
4266 <para>Provides an implementation of NpgsqlDataReader in which all data is pre-loaded into memory.
4267 This operates by first creating a ForwardsOnlyDataReader as usual, and then loading all of it's
4268 Rows into memory. There is a general principle that when there is a trade-off between a class design that
4269 is more efficient and/or scalable on the one hand and one that is less efficient but has more functionality
4270 (in this case the internal-only functionality of caching results) that one can build the less efficent class
4271 from the most efficient without significant extra loss in efficiency, but not the other way around. The relationship
4272 between ForwardsOnlyDataReader and CachingDataReader is an example of this).</para>
4273 <para>Since the interface presented to the user is still forwards-only, queues are used to
4274 store this information, so that dequeueing as we go we give the garbage collector the best opportunity
4275 possible to reclaim any memory that is no longer in use.</para>
4276 <para>ForwardsOnlyDataReader being used to actually
4277 obtain the information from the server means that the "leg-work" is still only done (and need only be
4278 maintained) in one place.</para>
4279 <para>This class exists to allow for certain potential backwards-compatibility issues to be resolved
4280 with little effort on the part of affected users. It is considerably less efficient than ForwardsOnlyDataReader
4281 and hence never used internally.</para>
4282 </summary>
4283 </member>
4284 <member name="T:Npgsql.NpgsqlDescribe">
4285 <summary>
4286 This is the base class for NpgsqlDescribeStatement and NpgsqlDescribePortal.
4287 </summary>
4288
4289 </member>
4290 <member name="T:Npgsql.NpgsqlDescribeStatement">
4291 <summary>
4292 This class represents the Statement Describe message sent to PostgreSQL
4293 server.
4294 </summary>
4295
4296 </member>
4297 <member name="T:Npgsql.NpgsqlDescribePortal">
4298 <summary>
4299 This class represents the Portal Describe message sent to PostgreSQL
4300 server.
4301 </summary>
4302
4303 </member>
4304 <member name="T:Npgsql.NpgsqlNoticeEventArgs">
4305 <summary>
4306 EventArgs class to send Notice parameters, which are just NpgsqlError's in a lighter context.
4307 </summary>
4308 </member>
4309 <member name="F:Npgsql.NpgsqlNoticeEventArgs.Notice">
4310 <summary>
4311 Notice information.
4312 </summary>
4313 </member>
4314 <member name="T:Npgsql.NpgsqlError">
4315 <summary>
4316 This class represents the ErrorResponse and NoticeResponse
4317 message sent from PostgreSQL server.
4318 </summary>
4319 </member>
4320 <member name="M:Npgsql.NpgsqlError.ToString">
4321 <summary>
4322 Return a string representation of this error object.
4323 </summary>
4324 </member>
4325 <member name="P:Npgsql.NpgsqlError.Severity">
4326 <summary>
4327 Severity code. All versions.
4328 </summary>
4329 </member>
4330 <member name="P:Npgsql.NpgsqlError.Code">
4331 <summary>
4332 Error code. PostgreSQL 7.4 and up.
4333 </summary>
4334 </member>
4335 <member name="P:Npgsql.NpgsqlError.Message">
4336 <summary>
4337 Terse error message. All versions.
4338 </summary>
4339 </member>
4340 <member name="P:Npgsql.NpgsqlError.Detail">
4341 <summary>
4342 Detailed error message. PostgreSQL 7.4 and up.
4343 </summary>
4344 </member>
4345 <member name="P:Npgsql.NpgsqlError.Hint">
4346 <summary>
4347 Suggestion to help resolve the error. PostgreSQL 7.4 and up.
4348 </summary>
4349 </member>
4350 <member name="P:Npgsql.NpgsqlError.Position">
4351 <summary>
4352 Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up.
4353 </summary>
4354 </member>
4355 <member name="P:Npgsql.NpgsqlError.InternalPosition">
4356 <summary>
4357 Position (one based) within the query string where the error was encounterd. This position refers to an internal command executed for example inside a PL/pgSQL function. PostgreSQL 7.4 and up.
4358 </summary>
4359 </member>
4360 <member name="P:Npgsql.NpgsqlError.InternalQuery">
4361 <summary>
4362 Internal query string where the error was encounterd. This position refers to an internal command executed for example inside a PL/pgSQL function. PostgreSQL 7.4 and up.
4363 </summary>
4364 </member>
4365 <member name="P:Npgsql.NpgsqlError.Where">
4366 <summary>
4367 Trace back information. PostgreSQL 7.4 and up.
4368 </summary>
4369 </member>
4370 <member name="P:Npgsql.NpgsqlError.File">
4371 <summary>
4372 Source file (in backend) reporting the error. PostgreSQL 7.4 and up.
4373 </summary>
4374 </member>
4375 <member name="P:Npgsql.NpgsqlError.Line">
4376 <summary>
4377 Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up.
4378 </summary>
4379 </member>
4380 <member name="P:Npgsql.NpgsqlError.Routine">
4381 <summary>
4382 Source routine (in backend) reporting the error. PostgreSQL 7.4 and up.
4383 </summary>
4384 </member>
4385 <member name="P:Npgsql.NpgsqlError.SchemaName">
4386 <summary>
4387 Schema name which relates to the error. PostgreSQL 9.3 and up.
4388 </summary>
4389 </member>
4390 <member name="P:Npgsql.NpgsqlError.TableName">
4391 <summary>
4392 Table name which relates to the error. PostgreSQL 9.3 and up.
4393 </summary>
4394 </member>
4395 <member name="P:Npgsql.NpgsqlError.ColumnName">
4396 <summary>
4397 Column name which relates to the error. PostgreSQL 9.3 and up.
4398 </summary>
4399 </member>
4400 <member name="P:Npgsql.NpgsqlError.DataTypeName">
4401 <summary>
4402 Data type of column which relates to the error. PostgreSQL 9.3 and up.
4403 </summary>
4404 </member>
4405 <member name="P:Npgsql.NpgsqlError.ConstraintName">
4406 <summary>
4407 Constraint name which relates to the error. PostgreSQL 9.3 and up.
4408 </summary>
4409 </member>
4410 <member name="P:Npgsql.NpgsqlError.ErrorSql">
4411 <summary>
4412 String containing the sql sent which produced this error.
4413 </summary>
4414 </member>
4415 <member name="P:Npgsql.NpgsqlError.BackendProtocolVersion">
4416 <summary>
4417 Backend protocol version in use.
4418 </summary>
4419 </member>
4420 <member name="T:Npgsql.NpgsqlError.ErrorFieldTypeCodes">
4421 <summary>
4422 Error and notice message field codes
4423 </summary>
4424 </member>
4425 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.Severity">
4426 <summary>
4427 Severity: the field contents are ERROR, FATAL, or PANIC (in an error message),
4428 or WARNING, NOTICE, DEBUG, INFO, or LOG (in a notice message), or a localized
4429 translation of one of these. Always present.
4430 </summary>
4431 </member>
4432 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.Code">
4433 <summary>
4434 Code: the SQLSTATE code for the error (see Appendix A). Not localizable. Always present.
4435 </summary>
4436 </member>
4437 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.Message">
4438 <summary>
4439 Message: the primary human-readable error message. This should be accurate
4440 but terse (typically one line). Always present.
4441 </summary>
4442 </member>
4443 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.Detail">
4444 <summary>
4445 Detail: an optional secondary error message carrying more detail about the problem.
4446 Might run to multiple lines.
4447 </summary>
4448 </member>
4449 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.Hint">
4450 <summary>
4451 Hint: an optional suggestion what to do about the problem. This is intended to differ
4452 from Detail in that it offers advice (potentially inappropriate) rather than hard facts.
4453 Might run to multiple lines.
4454 </summary>
4455 </member>
4456 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.Position">
4457 <summary>
4458 Position: the field value is a decimal ASCII integer, indicating an error cursor
4459 position as an index into the original query string. The first character has index 1,
4460 and positions are measured in characters not bytes.
4461 </summary>
4462 </member>
4463 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.InternalPosition">
4464 <summary>
4465 Internal position: this is defined the same as the P field, but it is used when the
4466 cursor position refers to an internally generated command rather than the one submitted
4467 by the client.
4468 The q field will always appear when this field appears.
4469 </summary>
4470 </member>
4471 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.InternalQuery">
4472 <summary>
4473 Internal query: the text of a failed internally-generated command.
4474 This could be, for example, a SQL query issued by a PL/pgSQL function.
4475 </summary>
4476 </member>
4477 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.Where">
4478 <summary>
4479 Where: an indication of the context in which the error occurred.
4480 Presently this includes a call stack traceback of active procedural language functions
4481 and internally-generated queries. The trace is one entry per line, most recent first.
4482 </summary>
4483 </member>
4484 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.SchemaName">
4485 <summary>
4486 Schema name: if the error was associated with a specific database object,
4487 the name of the schema containing that object, if any.
4488 </summary>
4489 </member>
4490 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.TableName">
4491 <summary>
4492 Table name: if the error was associated with a specific table, the name of the table.
4493 (Refer to the schema name field for the name of the table's schema.)
4494 </summary>
4495 </member>
4496 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.ColumnName">
4497 <summary>
4498 Column name: if the error was associated with a specific table column, the name of the column.
4499 (Refer to the schema and table name fields to identify the table.)
4500 </summary>
4501 </member>
4502 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.DataTypeName">
4503 <summary>
4504 Data type name: if the error was associated with a specific data type, the name of the data type.
4505 (Refer to the schema name field for the name of the data type's schema.)
4506 </summary>
4507 </member>
4508 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.ConstraintName">
4509 <summary>
4510 Constraint name: if the error was associated with a specific constraint, the name of the constraint.
4511 Refer to fields listed above for the associated table or domain.
4512 (For this purpose, indexes are treated as constraints, even if they weren't created with constraint syntax.)
4513 </summary>
4514 </member>
4515 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.File">
4516 <summary>
4517 File: the file name of the source-code location where the error was reported.
4518 </summary>
4519 </member>
4520 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.Line">
4521 <summary>
4522 Line: the line number of the source-code location where the error was reported.
4523 </summary>
4524 </member>
4525 <member name="F:Npgsql.NpgsqlError.ErrorFieldTypeCodes.Routine">
4526 <summary>
4527 Routine: the name of the source-code routine reporting the error.
4528 </summary>
4529 </member>
4530 <member name="T:Npgsql.LogLevel">
4531 <summary>
4532 The level of verbosity of the NpgsqlEventLog
4533 </summary>
4534 </member>
4535 <member name="F:Npgsql.LogLevel.None">
4536 <summary>
4537 Don't log at all
4538 </summary>
4539 </member>
4540 <member name="F:Npgsql.LogLevel.Normal">
4541 <summary>
4542 Only log the most common issues
4543 </summary>
4544 </member>
4545 <member name="F:Npgsql.LogLevel.Debug">
4546 <summary>
4547 Log everything
4548 </summary>
4549 </member>
4550 <member name="T:Npgsql.NpgsqlEventLog">
4551 <summary>
4552 This class handles all the Npgsql event and debug logging
4553 </summary>
4554 </member>
4555 <member name="M:Npgsql.NpgsqlEventLog.LogMsg(System.String,Npgsql.LogLevel)">
4556 <summary>
4557 Writes a string to the Npgsql event log if msglevel is bigger then <see cref="P:Npgsql.NpgsqlEventLog.Level">NpgsqlEventLog.Level</see>
4558 </summary>
4559 <remarks>
4560 This method is obsolete and should no longer be used.
4561 It is likely to be removed in future versions of Npgsql
4562 </remarks>
4563 <param name="message">The message to write to the event log</param>
4564 <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
4565 </member>
4566 <member name="M:Npgsql.NpgsqlEventLog.LogMsg(System.Resources.ResourceManager,System.String,Npgsql.LogLevel,System.Object[])">
4567 <summary>
4568 Writes a string to the Npgsql event log if msglevel is bigger then <see cref="P:Npgsql.NpgsqlEventLog.Level">NpgsqlEventLog.Level</see>
4569 </summary>
4570 <param name="resman">The <see cref="T:System.Resources.ResourceManager">ResourceManager</see> to get the localized resources</param>
4571 <param name="ResourceString">The name of the resource that should be fetched by the <see cref="T:System.Resources.ResourceManager">ResourceManager</see></param>
4572 <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
4573 <param name="Parameters">The additional parameters that shall be included into the log-message (must be compatible with the string in the resource):</param>
4574 </member>
4575 <member name="M:Npgsql.NpgsqlEventLog.LogIndexerGet(Npgsql.LogLevel,System.String,System.Object)">
4576 <summary>
4577 Writes the default log-message for the action of calling the Get-part of an Indexer to the log file.
4578 </summary>
4579 <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
4580 <param name="ClassName">The name of the class that contains the Indexer</param>
4581 <param name="IndexerParam">The parameter given to the Indexer</param>
4582 </member>
4583 <member name="M:Npgsql.NpgsqlEventLog.LogIndexerSet(Npgsql.LogLevel,System.String,System.Object,System.Object)">
4584 <summary>
4585 Writes the default log-message for the action of calling the Set-part of an Indexer to the logfile.
4586 </summary>
4587 <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
4588 <param name="ClassName">The name of the class that contains the Indexer</param>
4589 <param name="IndexerParam">The parameter given to the Indexer</param>
4590 <param name="value">The value the Indexer is set to</param>
4591 </member>
4592 <member name="M:Npgsql.NpgsqlEventLog.LogPropertyGet(Npgsql.LogLevel,System.String,System.String)">
4593 <summary>
4594 Writes the default log-message for the action of calling the Get-part of a Property to the logfile.
4595 </summary>
4596 <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
4597 <param name="ClassName">The name of the class that contains the Property</param>
4598 <param name="PropertyName">The name of the Property</param>
4599 </member>
4600 <member name="M:Npgsql.NpgsqlEventLog.LogPropertySet(Npgsql.LogLevel,System.String,System.String,System.Object)">
4601 <summary>
4602 Writes the default log-message for the action of calling the Set-part of a Property to the logfile.
4603 </summary>
4604 <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
4605 <param name="ClassName">The name of the class that contains the Property</param>
4606 <param name="PropertyName">The name of the Property</param>
4607 <param name="value">The value the Property is set to</param>
4608 </member>
4609 <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String)">
4610 <summary>
4611 Writes the default log-message for the action of calling a Method without Arguments to the logfile.
4612 </summary>
4613 <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
4614 <param name="ClassName">The name of the class that contains the Method</param>
4615 <param name="MethodName">The name of the Method</param>
4616 </member>
4617 <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object)">
4618 <summary>
4619 Writes the default log-message for the action of calling a Method with one Argument to the logfile.
4620 </summary>
4621 <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
4622 <param name="ClassName">The name of the class that contains the Method</param>
4623 <param name="MethodName">The name of the Method</param>
4624 <param name="MethodParameter">The value of the Argument of the Method</param>
4625 </member>
4626 <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object,System.Object)">
4627 <summary>
4628 Writes the default log-message for the action of calling a Method with two Arguments to the logfile.
4629 </summary>
4630 <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
4631 <param name="ClassName">The name of the class that contains the Method</param>
4632 <param name="MethodName">The name of the Method</param>
4633 <param name="MethodParameter1">The value of the first Argument of the Method</param>
4634 <param name="MethodParameter2">The value of the second Argument of the Method</param>
4635 </member>
4636 <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object,System.Object,System.Object)">
4637 <summary>
4638 Writes the default log-message for the action of calling a Method with three Arguments to the logfile.
4639 </summary>
4640 <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
4641 <param name="ClassName">The name of the class that contains the Method</param>
4642 <param name="MethodName">The name of the Method</param>
4643 <param name="MethodParameter1">The value of the first Argument of the Method</param>
4644 <param name="MethodParameter2">The value of the second Argument of the Method</param>
4645 <param name="MethodParameter3">The value of the third Argument of the Method</param>
4646 </member>
4647 <member name="M:Npgsql.NpgsqlEventLog.LogMethodEnter(Npgsql.LogLevel,System.String,System.String,System.Object[])">
4648 <summary>
4649 Writes the default log-message for the action of calling a Method with more than three Arguments to the logfile.
4650 </summary>
4651 <param name="msglevel">The minimum <see cref="T:Npgsql.LogLevel">LogLevel</see> for which this message should be logged.</param>
4652 <param name="ClassName">The name of the class that contains the Method</param>
4653 <param name="MethodName">The name of the Method</param>
4654 <param name="MethodParameters">A <see cref="T:System.Object">Object</see>-Array with zero or more Ojects that are Arguments of the Method.</param>
4655 </member>
4656 <member name="P:Npgsql.NpgsqlEventLog.Level">
4657 <summary>
4658 Sets/Returns the level of information to log to the logfile.
4659 </summary>
4660 <value>The current <see cref="T:Npgsql.LogLevel">LogLevel</see></value>
4661 </member>
4662 <member name="P:Npgsql.NpgsqlEventLog.LogName">
4663 <summary>
4664 Sets/Returns the filename to use for logging.
4665 </summary>
4666 <value>The filename of the current Log file.</value>
4667 </member>
4668 <member name="P:Npgsql.NpgsqlEventLog.EchoMessages">
4669 <summary>
4670 Sets/Returns whether Log messages should be echoed to the console
4671 </summary>
4672 <value><b>true</b> if Log messages are echoed to the console, otherwise <b>false</b></value>
4673 </member>
4674 <member name="T:Npgsql.NpgsqlException">
4675 <summary>
4676 The exception that is thrown when the PostgreSQL backend reports errors.
4677 </summary>
4678 </member>
4679 <member name="M:Npgsql.NpgsqlException.#ctor(System.Collections.IList)">
4680 <summary>
4681 Construct a backend error exception based on a list of one or more
4682 backend errors. The basic Exception.Message will be built from the
4683 first (usually the only) error in the list.
4684 </summary>
4685 </member>
4686 <member name="M:Npgsql.NpgsqlException.ToString">
4687 <summary>
4688 Format a .NET style exception string.
4689 Include all errors in the list, including any hints.
4690 </summary>
4691 </member>
4692 <member name="M:Npgsql.NpgsqlException.AppendString(System.IO.StringWriter,System.String,System.String)">
4693 <summary>
4694 Append a line to the given Stream, first checking for zero-length.
4695 </summary>
4696 </member>
4697 <member name="P:Npgsql.NpgsqlException.Item(System.Int32)">
4698 <summary>
4699 Provide access to the entire list of errors provided by the PostgreSQL backend.
4700 </summary>
4701 </member>
4702 <member name="P:Npgsql.NpgsqlException.Severity">
4703 <summary>
4704 Severity code. All versions.
4705 </summary>
4706 </member>
4707 <member name="P:Npgsql.NpgsqlException.Code">
4708 <summary>
4709 Error code. PostgreSQL 7.4 and up.
4710 </summary>
4711 </member>
4712 <member name="P:Npgsql.NpgsqlException.BaseMessage">
4713 <summary>
4714 Basic error message. All versions.
4715 </summary>
4716 </member>
4717 <member name="P:Npgsql.NpgsqlException.Detail">
4718 <summary>
4719 Detailed error message. PostgreSQL 7.4 and up.
4720 </summary>
4721 </member>
4722 <member name="P:Npgsql.NpgsqlException.Hint">
4723 <summary>
4724 Suggestion to help resolve the error. PostgreSQL 7.4 and up.
4725 </summary>
4726 </member>
4727 <member name="P:Npgsql.NpgsqlException.Position">
4728 <summary>
4729 Position (one based) within the query string where the error was encounterd. PostgreSQL 7.4 and up.
4730 </summary>
4731 </member>
4732 <member name="P:Npgsql.NpgsqlException.Where">
4733 <summary>
4734 Trace back information. PostgreSQL 7.4 and up.
4735 </summary>
4736 </member>
4737 <member name="P:Npgsql.NpgsqlException.File">
4738 <summary>
4739 Source file (in backend) reporting the error. PostgreSQL 7.4 and up.
4740 </summary>
4741 </member>
4742 <member name="P:Npgsql.NpgsqlException.Line">
4743 <summary>
4744 Source file line number (in backend) reporting the error. PostgreSQL 7.4 and up.
4745 </summary>
4746 </member>
4747 <member name="P:Npgsql.NpgsqlException.Routine">
4748 <summary>
4749 Source routine (in backend) reporting the error. PostgreSQL 7.4 and up.
4750 </summary>
4751 </member>
4752 <member name="P:Npgsql.NpgsqlException.SchemaName">
4753 <summary>
4754 Schema name which relates to the error. PostgreSQL 9.3 and up.
4755 </summary>
4756 </member>
4757 <member name="P:Npgsql.NpgsqlException.TableName">
4758 <summary>
4759 Table name which relates to the error. PostgreSQL 9.3 and up.
4760 </summary>
4761 </member>
4762 <member name="P:Npgsql.NpgsqlException.ColumnName">
4763 <summary>
4764 Column name which relates to the error. PostgreSQL 9.3 and up.
4765 </summary>
4766 </member>
4767 <member name="P:Npgsql.NpgsqlException.DataTypeName">
4768 <summary>
4769 Data type of column which relates to the error. PostgreSQL 9.3 and up.
4770 </summary>
4771 </member>
4772 <member name="P:Npgsql.NpgsqlException.ConstraintName">
4773 <summary>
4774 Constraint name which relates to the error. PostgreSQL 9.3 and up.
4775 </summary>
4776 </member>
4777 <member name="P:Npgsql.NpgsqlException.ErrorSql">
4778 <summary>
4779 String containing the sql sent which produced this error.
4780 </summary>
4781 </member>
4782 <member name="P:Npgsql.NpgsqlException.Errors">
4783 <summary>
4784 Returns the entire list of errors provided by the PostgreSQL backend.
4785 </summary>
4786 </member>
4787 <member name="T:Npgsql.NpgsqlExecute">
4788 <summary>
4789 This class represents the Execute message sent to PostgreSQL
4790 server.
4791 </summary>
4792
4793 </member>
4794 <member name="T:Npgsql.NpgsqlFactory">
4795 <summary>
4796 A factory to create instances of various Npgsql objects.
4797 </summary>
4798 </member>
4799 <member name="M:Npgsql.NpgsqlFactory.CreateCommand">
4800 <summary>
4801 Creates an NpgsqlCommand object.
4802 </summary>
4803 </member>
4804 <member name="T:Npgsql.NpgsqlFlush">
4805 <summary>
4806 This class represents the Flush message sent to PostgreSQL
4807 server.
4808 </summary>
4809
4810 </member>
4811 <member name="T:Npgsql.SimpleClientMessage">
4812 <summary>
4813 For classes representing simple messages,
4814 consisting only of a message code and length identifier,
4815 sent from the client to the server.
4816 </summary>
4817 </member>
4818 <member name="T:Npgsql.NpgsqlMediator">
4819 <summary>
4820 This class is responsible for serving as bridge between the backend
4821 protocol handling and the core classes. It is used as the mediator for
4822 exchanging data generated/sent from/to backend.
4823 </summary>
4824
4825 </member>
4826 <member name="T:Npgsql.NpgsqlNotificationEventArgs">
4827 <summary>
4828 EventArgs class to send Notification parameters.
4829 </summary>
4830 </member>
4831 <member name="F:Npgsql.NpgsqlNotificationEventArgs.PID">
4832 <summary>
4833 Process ID of the PostgreSQL backend that sent this notification.
4834 </summary>
4835 </member>
4836 <member name="F:Npgsql.NpgsqlNotificationEventArgs.Condition">
4837 <summary>
4838 Condition that triggered that notification.
4839 </summary>
4840 </member>
4841 <member name="F:Npgsql.NpgsqlNotificationEventArgs.AdditionalInformation">
4842 <summary>
4843 Additional Information From Notifiying Process (for future use, currently postgres always sets this to an empty string)
4844 </summary>
4845 </member>
4846 <member name="T:Npgsql.NpgsqlParameter">
4847 <summary>
4848 This class represents a parameter to a command that will be sent to server
4849 </summary>
4850 </member>
4851 <member name="M:Npgsql.NpgsqlParameter.#ctor">
4852 <summary>
4853 Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> class.
4854 </summary>
4855 </member>
4856 <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,System.Object)">
4857 <summary>
4858 Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
4859 class with the parameter m_Name and a value of the new <b>NpgsqlParameter</b>.
4860 </summary>
4861 <param m_Name="parameterName">The m_Name of the parameter to map.</param>
4862 <param m_Name="value">An <see cref="T:System.Object">Object</see> that is the value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
4863 <remarks>
4864 <p>When you specify an <see cref="T:System.Object">Object</see>
4865 in the value parameter, the <see cref="T:System.Data.DbType">DbType</see> is
4866 inferred from the .NET Framework type of the <b>Object</b>.</p>
4867 <p>When using this constructor, you must be aware of a possible misuse of the constructor which takes a DbType parameter.
4868 This happens when calling this constructor passing an int 0 and the compiler thinks you are passing a value of DbType.
4869 Use <code> Convert.ToInt32(value) </code> for example to have compiler calling the correct constructor.</p>
4870 </remarks>
4871 </member>
4872 <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType)">
4873 <summary>
4874 Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
4875 class with the parameter m_Name and the data type.
4876 </summary>
4877 <param m_Name="parameterName">The m_Name of the parameter to map.</param>
4878 <param m_Name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
4879 </member>
4880 <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32)">
4881 <summary>
4882 Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
4883 class with the parameter m_Name, the <see cref="T:System.Data.DbType">DbType</see>, and the size.
4884 </summary>
4885 <param m_Name="parameterName">The m_Name of the parameter to map.</param>
4886 <param m_Name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
4887 <param m_Name="size">The length of the parameter.</param>
4888 </member>
4889 <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.String)">
4890 <summary>
4891 Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
4892 class with the parameter m_Name, the <see cref="T:System.Data.DbType">DbType</see>, the size,
4893 and the source column m_Name.
4894 </summary>
4895 <param m_Name="parameterName">The m_Name of the parameter to map.</param>
4896 <param m_Name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
4897 <param m_Name="size">The length of the parameter.</param>
4898 <param m_Name="sourceColumn">The m_Name of the source column.</param>
4899 </member>
4900 <member name="M:Npgsql.NpgsqlParameter.#ctor(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.String,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.Data.DataRowVersion,System.Object)">
4901 <summary>
4902 Initializes a new instance of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
4903 class with the parameter m_Name, the <see cref="T:System.Data.DbType">DbType</see>, the size,
4904 the source column m_Name, a <see cref="T:System.Data.ParameterDirection">ParameterDirection</see>,
4905 the precision of the parameter, the scale of the parameter, a
4906 <see cref="T:System.Data.DataRowVersion">DataRowVersion</see> to use, and the
4907 value of the parameter.
4908 </summary>
4909 <param m_Name="parameterName">The m_Name of the parameter to map.</param>
4910 <param m_Name="parameterType">One of the <see cref="T:System.Data.DbType">DbType</see> values.</param>
4911 <param m_Name="size">The length of the parameter.</param>
4912 <param m_Name="sourceColumn">The m_Name of the source column.</param>
4913 <param m_Name="direction">One of the <see cref="T:System.Data.ParameterDirection">ParameterDirection</see> values.</param>
4914 <param m_Name="isNullable"><b>true</b> if the value of the field can be null, otherwise <b>false</b>.</param>
4915 <param m_Name="precision">The total number of digits to the left and right of the decimal point to which
4916 <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved.</param>
4917 <param m_Name="scale">The total number of decimal places to which
4918 <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved.</param>
4919 <param m_Name="sourceVersion">One of the <see cref="T:System.Data.DataRowVersion">DataRowVersion</see> values.</param>
4920 <param m_Name="value">An <see cref="T:System.Object">Object</see> that is the value
4921 of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
4922 </member>
4923 <member name="M:Npgsql.NpgsqlParameter.Clone">
4924 <summary>
4925 Creates a new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> that
4926 is a copy of the current instance.
4927 </summary>
4928 <returns>A new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> that is a copy of this instance.</returns>
4929 </member>
4930 <member name="P:Npgsql.NpgsqlParameter.Collection">
4931 <summary>
4932 The collection to which this parameter belongs, if any.
4933 </summary>
4934 </member>
4935 <member name="P:Npgsql.NpgsqlParameter.Precision">
4936 <summary>
4937 Gets or sets the maximum number of digits used to represent the
4938 <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> property.
4939 </summary>
4940 <value>The maximum number of digits used to represent the
4941 <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> property.
4942 The default value is 0, which indicates that the data provider
4943 sets the precision for <b>Value</b>.</value>
4944 </member>
4945 <member name="P:Npgsql.NpgsqlParameter.Scale">
4946 <summary>
4947 Gets or sets the number of decimal places to which
4948 <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved.
4949 </summary>
4950 <value>The number of decimal places to which
4951 <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see> is resolved. The default is 0.</value>
4952 </member>
4953 <member name="P:Npgsql.NpgsqlParameter.Size">
4954 <summary>
4955 Gets or sets the maximum size, in bytes, of the data within the column.
4956 </summary>
4957 <value>The maximum size, in bytes, of the data within the column.
4958 The default value is inferred from the parameter value.</value>
4959 </member>
4960 <member name="P:Npgsql.NpgsqlParameter.DbType">
4961 <summary>
4962 Gets or sets the <see cref="T:System.Data.DbType">DbType</see> of the parameter.
4963 </summary>
4964 <value>One of the <see cref="T:System.Data.DbType">DbType</see> values. The default is <b>String</b>.</value>
4965 </member>
4966 <member name="P:Npgsql.NpgsqlParameter.NpgsqlDbType">
4967 <summary>
4968 Gets or sets the <see cref="T:System.Data.DbType">DbType</see> of the parameter.
4969 </summary>
4970 <value>One of the <see cref="T:System.Data.DbType">DbType</see> values. The default is <b>String</b>.</value>
4971 </member>
4972 <member name="P:Npgsql.NpgsqlParameter.Direction">
4973 <summary>
4974 Gets or sets a value indicating whether the parameter is input-only,
4975 output-only, bidirectional, or a stored procedure return value parameter.
4976 </summary>
4977 <value>One of the <see cref="T:System.Data.ParameterDirection">ParameterDirection</see>
4978 values. The default is <b>Input</b>.</value>
4979 </member>
4980 <member name="P:Npgsql.NpgsqlParameter.IsNullable">
4981 <summary>
4982 Gets or sets a value indicating whether the parameter accepts null values.
4983 </summary>
4984 <value><b>true</b> if null values are accepted; otherwise, <b>false</b>. The default is <b>false</b>.</value>
4985 </member>
4986 <member name="P:Npgsql.NpgsqlParameter.ParameterName">
4987 <summary>
4988 Gets or sets the m_Name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.
4989 </summary>
4990 <value>The m_Name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.
4991 The default is an empty string.</value>
4992 </member>
4993 <member name="P:Npgsql.NpgsqlParameter.CleanName">
4994 <summary>
4995 The m_Name scrubbed of any optional marker
4996 </summary>
4997 </member>
4998 <member name="P:Npgsql.NpgsqlParameter.SourceColumn">
4999 <summary>
5000 Gets or sets the m_Name of the source column that is mapped to the
5001 <see cref="T:System.Data.DataSet">DataSet</see> and used for loading or
5002 returning the <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see>.
5003 </summary>
5004 <value>The m_Name of the source column that is mapped to the
5005 <see cref="T:System.Data.DataSet">DataSet</see>. The default is an empty string.</value>
5006 </member>
5007 <member name="P:Npgsql.NpgsqlParameter.SourceVersion">
5008 <summary>
5009 Gets or sets the <see cref="T:System.Data.DataRowVersion">DataRowVersion</see>
5010 to use when loading <see cref="P:Npgsql.NpgsqlParameter.Value">Value</see>.
5011 </summary>
5012 <value>One of the <see cref="T:System.Data.DataRowVersion">DataRowVersion</see> values.
5013 The default is <b>Current</b>.</value>
5014 </member>
5015 <member name="P:Npgsql.NpgsqlParameter.Value">
5016 <summary>
5017 Gets or sets the value of the parameter.
5018 </summary>
5019 <value>An <see cref="T:System.Object">Object</see> that is the value of the parameter.
5020 The default value is null.</value>
5021 </member>
5022 <member name="P:Npgsql.NpgsqlParameter.NpgsqlValue">
5023 <summary>
5024 Gets or sets the value of the parameter.
5025 </summary>
5026 <value>An <see cref="T:System.Object">Object</see> that is the value of the parameter.
5027 The default value is null.</value>
5028 </member>
5029 <member name="T:Npgsql.NpgsqlParameterCollection">
5030 <summary>
5031 Represents a collection of parameters relevant to a <see cref="T:Npgsql.NpgsqlCommand">NpgsqlCommand</see>
5032 as well as their respective mappings to columns in a <see cref="T:System.Data.DataSet">DataSet</see>.
5033 This class cannot be inherited.
5034 </summary>
5035 </member>
5036 <member name="M:Npgsql.NpgsqlParameterCollection.#ctor">
5037 <summary>
5038 Initializes a new instance of the NpgsqlParameterCollection class.
5039 </summary>
5040 </member>
5041 <member name="M:Npgsql.NpgsqlParameterCollection.InvalidateHashLookups">
5042 <summary>
5043 Invalidate the hash lookup tables. This should be done any time a change
5044 may throw the lookups out of sync with the list.
5045 </summary>
5046 </member>
5047 <member name="M:Npgsql.NpgsqlParameterCollection.Add(Npgsql.NpgsqlParameter)">
5048 <summary>
5049 Adds the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see>.
5050 </summary>
5051 <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
5052 <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
5053 </member>
5054 <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,System.Object)">
5055 <summary>
5056 Obsolete. Use AddWithValue instead.
5057 </summary>
5058 <remarks>
5059 Use caution when using this overload of the
5060 <b>Add</b> method to specify integer parameter values.
5061 Because this overload takes a <i>value</i> of type Object,
5062 you must convert the integral value to an <b>Object</b>
5063 type when the value is zero, as the following C# example demonstrates.
5064 <code>parameters.Add(":pname", Convert.ToInt32(0));</code>
5065 If you do not perform this conversion, the compiler will assume you
5066 are attempting to call the NpgsqlParameterCollection.Add(string, DbType) overload.
5067 </remarks>
5068 </member>
5069 <member name="M:Npgsql.NpgsqlParameterCollection.AddWithValue(System.String,System.Object)">
5070 <summary>
5071 Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> given the specified parameter name and value.
5072 </summary>
5073 <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
5074 <param name="value">The Value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
5075 <returns>The paramater that was added.</returns>
5076 </member>
5077 <member name="M:Npgsql.NpgsqlParameterCollection.AddWithValue(System.String,NpgsqlTypes.NpgsqlDbType,System.Object)">
5078 <summary>
5079 Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> given the specified parameter name and value.
5080 </summary>
5081 <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
5082 <param name="value">The Value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
5083 <param name="parameterType">One of the NpgsqlDbType values.</param>
5084 <returns>The paramater that was added.</returns>
5085 </member>
5086 <member name="M:Npgsql.NpgsqlParameterCollection.AddWithValue(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.Object)">
5087 <summary>
5088 Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> given the specified parameter name and value.
5089 </summary>
5090 <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
5091 <param name="value">The Value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
5092 <param name="parameterType">One of the NpgsqlDbType values.</param>
5093 <param name="size">The length of the column.</param>
5094 <returns>The paramater that was added.</returns>
5095 </member>
5096 <member name="M:Npgsql.NpgsqlParameterCollection.AddWithValue(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.String,System.Object)">
5097 <summary>
5098 Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> given the specified parameter name and value.
5099 </summary>
5100 <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>.</param>
5101 <param name="value">The Value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
5102 <param name="parameterType">One of the NpgsqlDbType values.</param>
5103 <param name="size">The length of the column.</param>
5104 <param name="sourceColumn">The name of the source column.</param>
5105 <returns>The paramater that was added.</returns>
5106 </member>
5107 <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,NpgsqlTypes.NpgsqlDbType)">
5108 <summary>
5109 Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> given the parameter name and the data type.
5110 </summary>
5111 <param name="parameterName">The name of the parameter.</param>
5112 <param name="parameterType">One of the DbType values.</param>
5113 <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
5114 </member>
5115 <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32)">
5116 <summary>
5117 Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> with the parameter name, the data type, and the column length.
5118 </summary>
5119 <param name="parameterName">The name of the parameter.</param>
5120 <param name="parameterType">One of the DbType values.</param>
5121 <param name="size">The length of the column.</param>
5122 <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
5123 </member>
5124 <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.String,NpgsqlTypes.NpgsqlDbType,System.Int32,System.String)">
5125 <summary>
5126 Adds a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> with the parameter name, the data type, the column length, and the source column name.
5127 </summary>
5128 <param name="parameterName">The name of the parameter.</param>
5129 <param name="parameterType">One of the DbType values.</param>
5130 <param name="size">The length of the column.</param>
5131 <param name="sourceColumn">The name of the source column.</param>
5132 <returns>The index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
5133 </member>
5134 <member name="M:Npgsql.NpgsqlParameterCollection.RemoveAt(System.String)">
5135 <summary>
5136 Removes the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> from the collection using the parameter name.
5137 </summary>
5138 <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to retrieve.</param>
5139 </member>
5140 <member name="M:Npgsql.NpgsqlParameterCollection.Contains(System.String)">
5141 <summary>
5142 Gets a value indicating whether a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> with the specified parameter name exists in the collection.
5143 </summary>
5144 <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
5145 <returns><b>true</b> if the collection contains the parameter; otherwise, <b>false</b>.</returns>
5146 </member>
5147 <member name="M:Npgsql.NpgsqlParameterCollection.IndexOf(System.String)">
5148 <summary>
5149 Gets the location of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> in the collection with a specific parameter name.
5150 </summary>
5151 <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
5152 <returns>The zero-based location of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> in the collection.</returns>
5153 </member>
5154 <member name="M:Npgsql.NpgsqlParameterCollection.RemoveAt(System.Int32)">
5155 <summary>
5156 Removes the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> from the collection using a specific index.
5157 </summary>
5158 <param name="index">The zero-based index of the parameter.</param>
5159 </member>
5160 <member name="M:Npgsql.NpgsqlParameterCollection.Insert(System.Int32,System.Object)">
5161 <summary>
5162 Inserts a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> into the collection at the specified index.
5163 </summary>
5164 <param name="index">The zero-based index where the parameter is to be inserted within the collection.</param>
5165 <param name="oValue">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
5166 </member>
5167 <member name="M:Npgsql.NpgsqlParameterCollection.Remove(System.String)">
5168 <summary>
5169 Removes the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> from the collection.
5170 </summary>
5171 <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to remove from the collection.</param>
5172 </member>
5173 <member name="M:Npgsql.NpgsqlParameterCollection.Remove(System.Object)">
5174 <summary>
5175 Removes the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> from the collection.
5176 </summary>
5177 <param name="oValue">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to remove from the collection.</param>
5178 </member>
5179 <member name="M:Npgsql.NpgsqlParameterCollection.Contains(System.Object)">
5180 <summary>
5181 Gets a value indicating whether a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> exists in the collection.
5182 </summary>
5183 <param name="value">The value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
5184 <returns>true if the collection contains the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object; otherwise, false.</returns>
5185 </member>
5186 <member name="M:Npgsql.NpgsqlParameterCollection.TryGetValue(System.String,Npgsql.NpgsqlParameter@)">
5187 <summary>
5188 Gets a value indicating whether a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> with the specified parameter name exists in the collection.
5189 </summary>
5190 <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
5191 <param name="parameter">A reference to the requested parameter is returned in this out param if it is found in the list. This value is null if the parameter is not found.</param>
5192 <returns><b>true</b> if the collection contains the parameter and param will contain the parameter; otherwise, <b>false</b>.</returns>
5193 </member>
5194 <member name="M:Npgsql.NpgsqlParameterCollection.Clear">
5195 <summary>
5196 Removes all items from the collection.
5197 </summary>
5198 </member>
5199 <member name="M:Npgsql.NpgsqlParameterCollection.IndexOf(System.Object)">
5200 <summary>
5201 Gets the location of a <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> in the collection.
5202 </summary>
5203 <param name="value">The value of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to find.</param>
5204 <returns>The zero-based index of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object in the collection.</returns>
5205 </member>
5206 <member name="M:Npgsql.NpgsqlParameterCollection.Add(System.Object)">
5207 <summary>
5208 Adds the specified <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object to the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see>.
5209 </summary>
5210 <param name="value">The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to add to the collection.</param>
5211 <returns>The zero-based index of the new <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> object.</returns>
5212 </member>
5213 <member name="M:Npgsql.NpgsqlParameterCollection.CopyTo(System.Array,System.Int32)">
5214 <summary>
5215 Copies <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects from the <see cref="T:Npgsql.NpgsqlParameterCollection">NpgsqlParameterCollection</see> to the specified array.
5216 </summary>
5217 <param name="array">An <see cref="T:System.Array">Array</see> to which to copy the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects in the collection.</param>
5218 <param name="index">The starting index of the array.</param>
5219 </member>
5220 <member name="M:Npgsql.NpgsqlParameterCollection.GetEnumerator">
5221 <summary>
5222 Returns an enumerator that can iterate through the collection.
5223 </summary>
5224 <returns>An <see cref="T:System.Collections.IEnumerator">IEnumerator</see> that can be used to iterate through the collection.</returns>
5225 </member>
5226 <member name="M:Npgsql.NpgsqlParameterCollection.CheckType(System.Object)">
5227 <summary>
5228 In methods taking an object as argument this method is used to verify
5229 that the argument has the type <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see>
5230 </summary>
5231 <param name="Object">The object to verify</param>
5232 </member>
5233 <member name="P:Npgsql.NpgsqlParameterCollection.Item(System.String)">
5234 <summary>
5235 Gets the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> with the specified name.
5236 </summary>
5237 <param name="parameterName">The name of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to retrieve.</param>
5238 <value>The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> with the specified name, or a null reference if the parameter is not found.</value>
5239 </member>
5240 <member name="P:Npgsql.NpgsqlParameterCollection.Item(System.Int32)">
5241 <summary>
5242 Gets the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> at the specified index.
5243 </summary>
5244 <param name="index">The zero-based index of the <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> to retrieve.</param>
5245 <value>The <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> at the specified index.</value>
5246 </member>
5247 <member name="P:Npgsql.NpgsqlParameterCollection.Count">
5248 <summary>
5249 Gets the number of <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects in the collection.
5250 </summary>
5251 <value>The number of <see cref="T:Npgsql.NpgsqlParameter">NpgsqlParameter</see> objects in the collection.</value>
5252 </member>
5253 <member name="T:Npgsql.NpgsqlParameterStatus">
5254 <summary>
5255 This class represents the ParameterStatus message sent from PostgreSQL
5256 server.
5257 </summary>
5258
5259 </member>
5260 <member name="T:Npgsql.NpgsqlParse">
5261 <summary>
5262 This class represents the Parse message sent to PostgreSQL
5263 server.
5264 </summary>
5265
5266 </member>
5267 <member name="T:Npgsql.NpgsqlPasswordPacket">
5268 <summary>
5269 This class represents a PasswordPacket message sent to backend
5270 PostgreSQL.
5271 </summary>
5272 </member>
5273 <member name="M:Npgsql.NpgsqlPromotableSinglePhaseNotification.Prepare">
5274 <summary>
5275 Used when a connection is closed
5276 </summary>
5277 </member>
5278 <member name="T:Npgsql.NpgsqlQuery">
5279 <summary>
5280 Summary description for NpgsqlQuery
5281 </summary>
5282 </member>
5283 <member name="T:Npgsql.NpgsqlRow">
5284 <summary>
5285 This is the abstract base class for NpgsqlAsciiRow and NpgsqlBinaryRow.
5286 </summary>
5287 </member>
5288 <member name="T:Npgsql.NpgsqlRowDescription">
5289 <summary>
5290 This class represents a RowDescription message sent from
5291 the PostgreSQL.
5292 </summary>
5293
5294 </member>
5295 <member name="T:Npgsql.NpgsqlRowDescription.FieldData">
5296 <summary>
5297 This struct represents the internal data of the RowDescription message.
5298 </summary>
5299 </member>
5300 <member name="T:Npgsql.NpgsqlSchema">
5301 <summary>
5302 Provides the underlying mechanism for reading schema information.
5303 </summary>
5304 </member>
5305 <member name="M:Npgsql.NpgsqlSchema.GetMetaDataCollections">
5306 <summary>
5307 Returns the MetaDataCollections that lists all possible collections.
5308 </summary>
5309 <returns>The MetaDataCollections</returns>
5310 </member>
5311 <member name="M:Npgsql.NpgsqlSchema.GetRestrictions">
5312 <summary>
5313 Returns the Restrictions that contains the meaning and position of the values in the restrictions array.
5314 </summary>
5315 <returns>The Restrictions</returns>
5316 </member>
5317 <member name="M:Npgsql.NpgsqlSchema.GetDatabases(Npgsql.NpgsqlConnection,System.String[])">
5318 <summary>
5319 Returns the Databases that contains a list of all accessable databases.
5320 </summary>
5321 <param name="conn">The database connection on which to run the metadataquery.</param>
5322 <param name="restrictions">The restrictions to filter the collection.</param>
5323 <returns>The Databases</returns>
5324 </member>
5325 <member name="M:Npgsql.NpgsqlSchema.GetTables(Npgsql.NpgsqlConnection,System.String[])">
5326 <summary>
5327 Returns the Tables that contains table and view names and the database and schema they come from.
5328 </summary>
5329 <param name="conn">The database connection on which to run the metadataquery.</param>
5330 <param name="restrictions">The restrictions to filter the collection.</param>
5331 <returns>The Tables</returns>
5332 </member>
5333 <member name="M:Npgsql.NpgsqlSchema.GetColumns(Npgsql.NpgsqlConnection,System.String[])">
5334 <summary>
5335 Returns the Columns that contains information about columns in tables.
5336 </summary>
5337 <param name="conn">The database connection on which to run the metadataquery.</param>
5338 <param name="restrictions">The restrictions to filter the collection.</param>
5339 <returns>The Columns.</returns>
5340 </member>
5341 <member name="M:Npgsql.NpgsqlSchema.GetViews(Npgsql.NpgsqlConnection,System.String[])">
5342 <summary>
5343 Returns the Views that contains view names and the database and schema they come from.
5344 </summary>
5345 <param name="conn">The database connection on which to run the metadataquery.</param>
5346 <param name="restrictions">The restrictions to filter the collection.</param>
5347 <returns>The Views</returns>
5348 </member>
5349 <member name="M:Npgsql.NpgsqlSchema.GetUsers(Npgsql.NpgsqlConnection,System.String[])">
5350 <summary>
5351 Returns the Users containing user names and the sysid of those users.
5352 </summary>
5353 <param name="conn">The database connection on which to run the metadataquery.</param>
5354 <param name="restrictions">The restrictions to filter the collection.</param>
5355 <returns>The Users.</returns>
5356 </member>
5357 <member name="T:Npgsql.NpgsqlStartupPacket">
5358 <summary>
5359 This class represents a StartupPacket message of PostgreSQL
5360 protocol.
5361 </summary>
5362
5363 </member>
5364 <member name="T:Npgsql.CompletedResponse">
5365 <summary>
5366 Represents a completed response message.
5367 </summary>
5368 </member>
5369 <member name="T:Npgsql.NpgsqlSync">
5370 <summary>
5371 This class represents the Sync message sent to PostgreSQL
5372 server.
5373 </summary>
5374
5375 </member>
5376 <member name="T:Npgsql.NpgsqlTransaction">
5377 <summary>
5378 Represents a transaction to be made in a PostgreSQL database. This class cannot be inherited.
5379 </summary>
5380 </member>
5381 <member name="M:Npgsql.NpgsqlTransaction.Commit">
5382 <summary>
5383 Commits the database transaction.
5384 </summary>
5385 </member>
5386 <member name="M:Npgsql.NpgsqlTransaction.Rollback">
5387 <summary>
5388 Rolls back a transaction from a pending state.
5389 </summary>
5390 </member>
5391 <member name="M:Npgsql.NpgsqlTransaction.Rollback(System.String)">
5392 <summary>
5393 Rolls back a transaction from a pending savepoint state.
5394 </summary>
5395 </member>
5396 <member name="M:Npgsql.NpgsqlTransaction.Save(System.String)">
5397 <summary>
5398 Creates a transaction save point.
5399 </summary>
5400 </member>
5401 <member name="M:Npgsql.NpgsqlTransaction.Cancel">
5402 <summary>
5403 Cancel the transaction without telling the backend about it. This is
5404 used to make the transaction go away when closing a connection.
5405 </summary>
5406 </member>
5407 <member name="P:Npgsql.NpgsqlTransaction.Connection">
5408 <summary>
5409 Gets the <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>
5410 object associated with the transaction, or a null reference if the
5411 transaction is no longer valid.
5412 </summary>
5413 <value>The <see cref="T:Npgsql.NpgsqlConnection">NpgsqlConnection</see>
5414 object associated with the transaction.</value>
5415 </member>
5416 <member name="P:Npgsql.NpgsqlTransaction.IsolationLevel">
5417 <summary>
5418 Specifies the <see cref="T:System.Data.IsolationLevel">IsolationLevel</see> for this transaction.
5419 </summary>
5420 <value>The <see cref="T:System.Data.IsolationLevel">IsolationLevel</see> for this transaction.
5421 The default is <b>ReadCommitted</b>.</value>
5422 </member>
5423 <member name="T:Npgsql.PGUtil">
5424 <summary>
5425 This class provides many util methods to handle
5426 reading and writing of PostgreSQL protocol messages.
5427 </summary>
5428 </member>
5429 <member name="M:Npgsql.PGUtil.ConvertProtocolVersion(Npgsql.ProtocolVersion)">
5430 <summary>
5431 This method takes a ProtocolVersion and returns an integer
5432 version number that the Postgres backend will recognize in a
5433 startup packet.
5434 </summary>
5435 </member>
5436 <member name="M:Npgsql.PGUtil.ExtractServerVersion(System.String)">
5437 <summary>
5438 This method takes a version string as returned by SELECT VERSION() and returns
5439 a valid version string ("7.2.2" for example).
5440 This is only needed when running protocol version 2.
5441 This does not do any validity checks.
5442 </summary>
5443 </member>
5444 <member name="M:Npgsql.PGUtil.ReadString(System.IO.Stream)">
5445 <summary>
5446 This method gets a C NULL terminated string from the network stream.
5447 It keeps reading a byte in each time until a NULL byte is returned.
5448 It returns the resultant string of bytes read.
5449 This string is sent from backend.
5450 </summary>
5451 </member>
5452 <member name="M:Npgsql.PGUtil.ReadBytes(System.IO.Stream,System.Byte[],System.Int32,System.Int32)">
5453 <summary>
5454 Reads requested number of bytes from stream with retries until Stream.Read returns 0 or count is reached.
5455 </summary>
5456 <param name="stream">Stream to read</param>
5457 <param name="buffer">byte buffer to fill</param>
5458 <param name="offset">starting position to fill the buffer</param>
5459 <param name="count">number of bytes to read</param>
5460 <returns>The number of bytes read. May be less than count if no more bytes are available.</returns>
5461 </member>
5462 <member name="M:Npgsql.PGUtil.ReadBytes(System.Byte[],System.Int32,System.Int32,System.Boolean)">
5463 <summary>
5464 Reads requested number of bytes from <paramref name="src"/>. If output matches <paramref name="src"/> exactly, and <paramref name="forceCopy"/> == false, <paramref name="src"/> is returned directly.
5465 </summary>
5466 <param name="src">Source array.</param>
5467 <param name="offset">Starting position to read from <paramref name="src"/></param>
5468 <param name="count">Number of bytes to read</param>
5469 <param name="forceCopy">Force a copy, even if the output is an exact copy of <paramref name="src"/>.</param>
5470 <returns>byte[] containing data requested.</returns>
5471 </member>
5472 <member name="M:Npgsql.PGUtil.WriteString(System.IO.Stream,System.String)">
5473 <summary>
5474 This method writes a string to the network stream.
5475 </summary>
5476 </member>
5477 <member name="M:Npgsql.PGUtil.WriteString(System.IO.Stream,System.String,System.Object[])">
5478 <summary>
5479 This method writes a string to the network stream.
5480 </summary>
5481 </member>
5482 <member name="M:Npgsql.PGUtil.WriteStringNullTerminated(System.IO.Stream,System.String)">
5483 <summary>
5484 This method writes a C NULL terminated string to the network stream.
5485 It appends a NULL terminator to the end of the String.
5486 </summary>
5487 </member>
5488 <member name="M:Npgsql.PGUtil.WriteStringNullTerminated(System.IO.Stream,System.String,System.Object[])">
5489 <summary>
5490 This method writes a C NULL terminated string to the network stream.
5491 It appends a NULL terminator to the end of the String.
5492 </summary>
5493 </member>
5494 <member name="M:Npgsql.PGUtil.WriteBytes(System.IO.Stream,System.Byte)">
5495 <summary>
5496 This method writes a byte to the stream. It also enables logging of them.
5497 </summary>
5498 </member>
5499 <member name="M:Npgsql.PGUtil.WriteBytesNullTerminated(System.IO.Stream,System.Byte)">
5500 <summary>
5501 This method writes a byte to the stream. It also enables logging of them.
5502 </summary>
5503 </member>
5504 <member name="M:Npgsql.PGUtil.WriteBytes(System.IO.Stream,System.Byte[])">
5505 <summary>
5506 This method writes a set of bytes to the stream. It also enables logging of them.
5507 </summary>
5508 </member>
5509 <member name="M:Npgsql.PGUtil.WriteBytesNullTerminated(System.IO.Stream,System.Byte[])">
5510 <summary>
5511 This method writes a set of bytes to the stream. It also enables logging of them.
5512 </summary>
5513 </member>
5514 <member name="M:Npgsql.PGUtil.WriteLimString(System.IO.Stream,System.String,System.Int32)">
5515 <summary>
5516 This method writes a C NULL terminated string limited in length to the
5517 backend server.
5518 It pads the string with null bytes to the size specified.
5519 </summary>
5520 </member>
5521 <member name="M:Npgsql.PGUtil.WriteLimBytes(System.IO.Stream,System.Byte[],System.Int32)">
5522 <summary>
5523 This method writes a C NULL terminated byte[] limited in length to the
5524 backend server.
5525 It pads the string with null bytes to the size specified.
5526 </summary>
5527 </member>
5528 <member name="M:Npgsql.PGUtil.WriteInt32(System.IO.Stream,System.Int32)">
5529 <summary>
5530 Write a 32-bit integer to the given stream in the correct byte order.
5531 </summary>
5532 </member>
5533 <member name="M:Npgsql.PGUtil.ReadInt32(System.IO.Stream)">
5534 <summary>
5535 Read a 32-bit integer from the given stream in the correct byte order.
5536 </summary>
5537 </member>
5538 <member name="M:Npgsql.PGUtil.ReadInt32(System.Byte[],System.Int32)">
5539 <summary>
5540 Read a 32-bit integer from the given array in the correct byte order.
5541 </summary>
5542 </member>
5543 <member name="M:Npgsql.PGUtil.WriteInt16(System.IO.Stream,System.Int16)">
5544 <summary>
5545 Write a 16-bit integer to the given stream in the correct byte order.
5546 </summary>
5547 </member>
5548 <member name="M:Npgsql.PGUtil.ReadInt16(System.IO.Stream)">
5549 <summary>
5550 Read a 16-bit integer from the given stream in the correct byte order.
5551 </summary>
5552 </member>
5553 <member name="M:Npgsql.PGUtil.ReadInt16(System.Byte[],System.Int32)">
5554 <summary>
5555 Read a 16-bit integer from the given array in the correct byte order.
5556 </summary>
5557 </member>
5558 <member name="M:Npgsql.PGUtil.HostNetworkByteOrderSwap(System.Byte[],System.Boolean)">
5559 <summary>
5560 Copy and possibly reverse a byte array, depending on host architecture endienness.
5561 </summary>
5562 <param name="src">Source byte array.</param>
5563 <param name="forceCopy">Force a copy even if no swap is performed.</param>
5564 <returns><paramref name="src"/>, reversed if on a little-endian architecture, copied if required.</returns>
5565 </member>
5566 <member name="M:Npgsql.PGUtil.HostNetworkByteOrderSwap(System.Byte[],System.Int32,System.Int32,System.Boolean)">
5567 <summary>
5568 Copy and possibly reverse a byte array, depending on host architecture endienness.
5569 </summary>
5570 <param name="src">Source byte array.</param>
5571 <param name="start">Starting offset in source array.</param>
5572 <param name="length">Number of bytes to copy.</param>
5573 <param name="forceCopy">Force a copy even if no swap is performed.</param>
5574 <returns><paramref name="src"/>, reversed if on a little-endian architecture, copied if required.</returns>
5575 </member>
5576 <member name="T:Npgsql.ProtocolVersion">
5577 <summary>
5578 Represent the frontend/backend protocol version.
5579 </summary>
5580 </member>
5581 <member name="T:Npgsql.ServerVersion">
5582 <summary>
5583 Represent the backend server version.
5584 As this class offers no functionality beyond that offered by <see cref="T:System.Version"/> it has been
5585 deprecated in favour of that class.
5586 </summary>
5587
5588 </member>
5589 <member name="M:Npgsql.ServerVersion.ToString">
5590 <summary>
5591 Returns the string representation of this version in three place dot notation (Major.Minor.Patch).
5592 </summary>
5593 </member>
5594 <member name="P:Npgsql.ServerVersion.Major">
5595 <summary>
5596 Server version major number.
5597 </summary>
5598 </member>
5599 <member name="P:Npgsql.ServerVersion.Minor">
5600 <summary>
5601 Server version minor number.
5602 </summary>
5603 </member>
5604 <member name="P:Npgsql.ServerVersion.Patch">
5605 <summary>
5606 Server version patch level number.
5607 </summary>
5608 </member>
5609 <member name="T:Npgsql.SSPIHandler">
5610 <summary>
5611 A class to handle everything associated with SSPI authentication
5612 </summary>
5613 </member>
5614 <member name="T:Npgsql.SSPIHandler.SecBufferDesc">
5615 <summary>
5616 Simplified SecBufferDesc struct with only one SecBuffer
5617 </summary>
5618 </member>
5619 </members>
5620</doc>
diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll
new file mode 100755
index 0000000..5d792d7
--- /dev/null
+++ b/bin/OpenMetaverse.Rendering.Meshmerizer.dll
Binary files differ
diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll
new file mode 100755
index 0000000..a81400f
--- /dev/null
+++ b/bin/OpenMetaverse.StructuredData.dll
Binary files differ
diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll
new file mode 100755
index 0000000..ba8db16
--- /dev/null
+++ b/bin/OpenMetaverse.dll
Binary files differ
diff --git a/bin/OpenMetaverse.dll.config b/bin/OpenMetaverse.dll.config
new file mode 100644
index 0000000..6b7b999
--- /dev/null
+++ b/bin/OpenMetaverse.dll.config
@@ -0,0 +1,7 @@
1<configuration>
2 <dllmap os="osx" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib" />
3 <dllmap os="!windows,osx" cpu="x86-64,ia64" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2-1.5.0-dotnet-1-x86_64" />
4 <dllmap os="!windows,osx" cpu="x86-64,ia64" dll="openjpeg-dotnet-x86_64.dll" target="libopenjpeg-dotnet-2-1.5.0-dotnet-1-x86_64" />
5 <dllmap os="!windows,osx" cpu="x86" dll="openjpeg-dotnet.dll" target="libopenjpeg-dotnet-2-1.5.0-dotnet-1-i686" />
6 <dllmap os="!windows,osx" cpu="x86" dll="openjpeg-dotnet-x86_64.dll" target="libopenjpeg-dotnet-2-1.5.0-dotnet-1-i686" />
7</configuration>
diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll
new file mode 100755
index 0000000..1d3590e
--- /dev/null
+++ b/bin/OpenMetaverseTypes.dll
Binary files differ
diff --git a/bin/OpenSim.ConsoleClient.exe.config b/bin/OpenSim.ConsoleClient.exe.config
new file mode 100644
index 0000000..6542517
--- /dev/null
+++ b/bin/OpenSim.ConsoleClient.exe.config
@@ -0,0 +1,34 @@
1<?xml version="1.0" encoding="utf-8" ?>
2<configuration>
3 <configSections>
4 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
5 </configSections>
6 <runtime>
7 <loadFromRemoteSources enabled="true" />
8 <gcConcurrent enabled="true" />
9 <gcServer enabled="true" />
10 </runtime>
11 <appSettings>
12 </appSettings>
13 <log4net>
14 <appender name="Console" type="OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console">
15 <layout type="log4net.Layout.PatternLayout">
16 <conversionPattern value="%date{HH:mm:ss} - %message%newline" />
17 </layout>
18 </appender>
19
20 <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
21 <file value="../../logs/OpenSim.ConsoleClient.log" />
22 <appendToFile value="true" />
23 <layout type="log4net.Layout.PatternLayout">
24 <conversionPattern value="%date %-5level - %logger %message%newline" />
25 </layout>
26 </appender>
27
28 <root>
29 <level value="DEBUG" />
30 <appender-ref ref="Console" />
31 <appender-ref ref="LogFileAppender" />
32 </root>
33 </log4net>
34</configuration>
diff --git a/bin/OpenSim.ConsoleClient.ini.example b/bin/OpenSim.ConsoleClient.ini.example
new file mode 100644
index 0000000..5223d1d
--- /dev/null
+++ b/bin/OpenSim.ConsoleClient.ini.example
@@ -0,0 +1,14 @@
1[Startup]
2 ; Set here or use the -user command-line switch
3 ;user = Test
4
5 ; Set here or use the -host command-line switch
6 ;host = localhost
7
8 ; Set here or use the -port command-line switch
9 ;port = 8003
10
11 ; Set here or use the -pass command-line switch
12 ; Please be aware that this is not secure since the password is in the clear
13 ; we recommend the use of -pass wherever possible
14 ;pass = secret
diff --git a/bin/OpenSim.Region.PhysicsModule.BulletS.dll.config b/bin/OpenSim.Region.PhysicsModule.BulletS.dll.config
new file mode 100644
index 0000000..2763525
--- /dev/null
+++ b/bin/OpenSim.Region.PhysicsModule.BulletS.dll.config
@@ -0,0 +1,8 @@
1<configuration>
2 <dllmap os="windows" cpu="x86" dll="BulletSim" target="lib32/BulletSim" />
3 <dllmap os="windows" cpu="x86-64,ia64" dll="BulletSim" target="lib64/BulletSim" />
4 <dllmap os="osx" cpu="x86" dll="BulletSim" target="lib32/libBulletSim.dylib" />
5 <dllmap os="osx" cpu="x86-64,ia64" dll="BulletSim" target="lib32/libBulletSim.dylib" />
6 <dllmap os="!windows,osx" cpu="x86" dll="BulletSim" target="lib32/libBulletSim.so" />
7 <dllmap os="!windows,osx" cpu="x86-64,ia64" dll="BulletSim" target="lib64/libBulletSim.so" />
8</configuration>
diff --git a/bin/OpenSim.Region.PhysicsModule.Ode.dll.config b/bin/OpenSim.Region.PhysicsModule.Ode.dll.config
new file mode 100644
index 0000000..c72c281
--- /dev/null
+++ b/bin/OpenSim.Region.PhysicsModule.Ode.dll.config
@@ -0,0 +1,7 @@
1<configuration>
2 <dllmap os="osx" dll="ode" target="lib64/libode.dylib" />
3 <dllmap os="!windows,osx" cpu="x86-64,ia64" dll="ode" target="lib64/libode-x86_64" />
4 <dllmap os="!windows,osx" cpu="x86" dll="ode" target="lib32/libode" />
5 <dllmap os="!windows,osx" cpu="ppc64" dll="ode" target="lib64/libode-ppc64" />
6 <dllmap os="!windows,osx" cpu="s390x" dll="ode" target="lib64/libode-s390x" />
7</configuration>
diff --git a/bin/OpenSim.Region.PhysicsModule.ubOde.dll.config b/bin/OpenSim.Region.PhysicsModule.ubOde.dll.config
new file mode 100644
index 0000000..c72c281
--- /dev/null
+++ b/bin/OpenSim.Region.PhysicsModule.ubOde.dll.config
@@ -0,0 +1,7 @@
1<configuration>
2 <dllmap os="osx" dll="ode" target="lib64/libode.dylib" />
3 <dllmap os="!windows,osx" cpu="x86-64,ia64" dll="ode" target="lib64/libode-x86_64" />
4 <dllmap os="!windows,osx" cpu="x86" dll="ode" target="lib32/libode" />
5 <dllmap os="!windows,osx" cpu="ppc64" dll="ode" target="lib64/libode-ppc64" />
6 <dllmap os="!windows,osx" cpu="s390x" dll="ode" target="lib64/libode-s390x" />
7</configuration>
diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config
new file mode 100644
index 0000000..ed250b3
--- /dev/null
+++ b/bin/OpenSim.exe.config
@@ -0,0 +1,63 @@
1<?xml version="1.0" encoding="utf-8" ?>
2<configuration>
3 <configSections>
4 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
5 </configSections>
6 <runtime>
7 <loadFromRemoteSources enabled="true" />
8 </runtime>
9 <appSettings>
10 </appSettings>
11
12 <log4net>
13 <appender name="Console" type="OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console">
14 <threshold value="INFO" />
15 <filter type="log4net.Filter.LoggerMatchFilter">
16 <loggerToMatch value="special"/>
17 <acceptOnMatch value="false"/>
18 </filter>
19 <layout type="log4net.Layout.PatternLayout">
20 <conversionPattern value="%date{HH:mm:ss} - %message" />
21 </layout>
22 </appender>
23
24 <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
25 <threshold value="DEBUG" />
26 <file value="../../logs/OpenSim.log" />
27 <rollingStyle value="Date" />
28 <datePattern value="'.'yyyy-MM-dd"/>
29 <appendToFile value="true" />
30 <filter type="log4net.Filter.LoggerMatchFilter">
31 <loggerToMatch value="special"/>
32 <acceptOnMatch value="false"/>
33 </filter>
34 <layout type="log4net.Layout.PatternLayout">
35 <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.fff} %-5level (%thread) - %logger %message%newline" />
36 </layout>
37 </appender>
38
39 <appender name="StatsLogFileAppender" type="log4net.Appender.FileAppender">
40 <file value="../../logs/OpenSimStats.log"/>
41 <appendToFile value="true" />
42 <layout type="log4net.Layout.PatternLayout">
43 <conversionPattern value="%date - %message%newline" />
44 </layout>
45 </appender>
46
47 <root>
48 <appender-ref ref="Console" />
49 <appender-ref ref="LogFileAppender" />
50 </root>
51
52 <!-- Independently control logging level for per region module loading -->
53 <logger name="OpenSim.ApplicationPlugins.RegionModulesController.RegionModulesControllerPlugin">
54 <level value="INFO"/>
55 </logger>
56
57 <!-- used for stats recording -->
58 <logger name="special.StatsLogger">
59 <appender-ref ref="StatsLogFileAppender"/>
60 </logger>
61
62 </log4net>
63</configuration>
diff --git a/bin/OpenSim.ini b/bin/OpenSim.ini
new file mode 100644
index 0000000..389b3f0
--- /dev/null
+++ b/bin/OpenSim.ini
@@ -0,0 +1,63 @@
1;; This is the main configuration file for OpenSimulator.
2;; If it's named OpenSim.ini then it will be loaded by OpenSimulator.
3;; If it's named OpenSim.ini.example then you will need to copy it to
4;; OpenSim.ini first (if that file does not already exist)
5;;
6;; Once you have copied OpenSim.ini.example to OpenSim.ini you will at least
7;; need to set the constants in the [Const] section and pick an architecture
8;; in the [Architecture] section at the end of this file. The architecture
9;; will require a suitable .ini file in the config-include directory, either
10;; StandaloneCommon.ini or GridCommon.ini which you can copy and modify from the
11;; available .example files.
12;;
13;; The settings in this file are in the form "<key> = <value>". For example,
14;; save_crashes = false in the [Startup] section below.
15;;
16;; All settings are initially commented out and the default value used, as
17;; found in OpenSimDefaults.ini. To change a setting, first uncomment it by
18;; deleting the initial semicolon (;) and then change the value. This will
19;; override the value in OpenSimDefaults.ini
20;;
21;; If you want to find out what configuration OpenSimulator has finished with
22;; once all the configuration files are loaded then type "config show" on the
23;; region console command line.
24;;
25;;
26;; NOTES FOR DEVELOPERS REGARDING THE FORMAT OF THIS FILE
27;;
28;; All leading white space is ignored, but preserved.
29;;
30;; Double semicolons denote a text comment
31;;
32;; A * in the choices list will allow an empty entry.
33;; An empty question will set the default if the dependencies are
34;; satisfied.
35;;
36;; ; denotes a commented out option.
37;; Any options added to OpenSim.ini.example should be initially commented
38;; out.
39
40
41
42[Includes]
43 ;; Uncomment this if using this for MG.
44; Include-Extra = "config-include/extra_MG.ini"
45
46
47[Architecture]
48 ;; Uncomment one of the following includes as required. For instance, to create a standalone OpenSim,
49 ;; uncomment Include-Architecture = "config-include/Standalone.ini"
50 ;;
51 ;; Then you will need to copy and edit the corresponding *Common.example file in config-include/
52 ;; that the referenced .ini file goes on to include.
53 ;;
54 ;; For instance, if you chose "config-include/Standalone.ini" then you will need to copy
55 ;; "config-include/StandaloneCommon.ini.example" to "config-include/StandaloneCommon.ini" before
56 ;; editing it to set the database and backend services that OpenSim will use.
57 ;;
58 ; Include-Architecture = "config-include/Standalone.ini"
59 ; Include-Architecture = "config-include/StandaloneHypergrid.ini"
60 ; Include-Architecture = "config-include/Grid.ini"
61 Include-Architecture = "config-include/GridHypergrid.ini"
62 ; Include-Architecture = "config-include/SimianGrid.ini"
63 ; Include-Architecture = "config-include/HyperSimianGrid.ini"
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
new file mode 100644
index 0000000..fbf2c8b
--- /dev/null
+++ b/bin/OpenSim.ini.example
@@ -0,0 +1,1219 @@
1;; This is the main configuration file for OpenSimulator.
2;; If it's named OpenSim.ini then it will be loaded by OpenSimulator.
3;; If it's named OpenSim.ini.example then you will need to copy it to
4;; OpenSim.ini first (if that file does not already exist)
5;;
6;; Once you have copied OpenSim.ini.example to OpenSim.ini you will at least
7;; need to set the constants in the [Const] section and pick an architecture
8;; in the [Architecture] section at the end of this file. The architecture
9;; will require a suitable .ini file in the config-include directory, either
10;; StandaloneCommon.ini or GridCommon.ini which you can copy and modify from the
11;; available .example files.
12;;
13;; The settings in this file are in the form "<key> = <value>". For example,
14;; save_crashes = false in the [Startup] section below.
15;;
16;; All settings are initially commented out and the default value used, as
17;; found in OpenSimDefaults.ini. To change a setting, first uncomment it by
18;; deleting the initial semicolon (;) and then change the value. This will
19;; override the value in OpenSimDefaults.ini
20;;
21;; If you want to find out what configuration OpenSimulator has finished with
22;; once all the configuration files are loaded then type "config show" on the
23;; region console command line.
24;;
25;;
26;; NOTES FOR DEVELOPERS REGARDING THE FORMAT OF THIS FILE
27;;
28;; All leading white space is ignored, but preserved.
29;;
30;; Double semicolons denote a text comment
31;;
32;; ;# denotes a configuration directive description
33;; formatted as:
34;; {option} {depends on} {question to ask} {choices} default value
35;; Any text comments following the declaration, up to the next blank line.
36;; will be copied to the generated file (NOTE: generation is not yet
37;; implemented)
38;;
39;; A * in the choices list will allow an empty entry.
40;; An empty question will set the default if the dependencies are
41;; satisfied.
42;;
43;; ; denotes a commented out option.
44;; Any options added to OpenSim.ini.example should be initially commented
45;; out.
46
47
48[Const]
49 ; For a grid these will usually be the externally accessible IP/DNS
50 ; name and use default public port 8002 and default private port 8003
51 ; For a standalone this will usually be the externally accessible IP/DNS
52 ; name and use default public port 9000. The private port is not used
53 ; in the configuration for a standalone.
54
55 ;# {BaseHostname} {} {BaseHostname} {"example.com" "127.0.0.1"} "127.0.0.1"
56 BaseHostname = "127.0.0.1"
57
58 ;# {BaseURL} {} {BaseURL} {"http://${Const|BaseHostname}} "http://${Const|BaseHostname}"
59 BaseURL = http://${Const|BaseHostname}
60
61 ;# {PublicPort} {} {PublicPort} {8002 9000} "8002"
62 PublicPort = "8002"
63
64 ;# {PrivatePort} {} {PrivatePort} {8003} "8003"
65 ; port to access private grid services.
66 ; grids that run all their regions should deny access to this port
67 ; from outside their networks, using firewalls
68 PrivatePort = "8003"
69
70
71[Startup]
72 ;# {ConsolePrompt} {} {ConsolePrompt} {} "Region (\R) "
73 ;; Console prompt
74 ;; Certain special characters can be used to customize the prompt
75 ;; Currently, these are
76 ;; \R - substitute region name
77 ;; \\ - substitute \
78 ; ConsolePrompt = "Region (\R) "
79
80 ;# {ConsoleHistoryFileEnabled} {} {Save console commands to a history file?} {true false} true
81 ;; Console commands can be saved to a file, so the command history persists after a restart. (default is false)
82 ; ConsoleHistoryFileEnabled = true
83
84 ;# {ConsoleHistoryFile} {} {Filename in which to save history} {} OpenSimConsoleHistory.txt
85 ;; The history file can be just a filename (relative to OpenSim's bin/ directory
86 ;; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/)
87 ; ConsoleHistoryFile = "OpenSimConsoleHistory.txt"
88
89 ;# {ConsoleHistoryFileLines} {} {How many lines of history to save?} {} 100
90 ;; How many lines of command history should we keep? (default is 100)
91 ; ConsoleHistoryFileLines = 100
92
93 ;# {save_crashes} {} {Save crashes to disk?} {true false} false
94 ;; Set this to true if you want to log crashes to disk
95 ;; this can be useful when submitting bug reports.
96 ;; However, this will only log crashes within OpenSimulator that cause the
97 ;; entire program to exit
98 ;; It will not log crashes caused by virtual machine failures, which
99 ;; includes mono and ODE failures.
100 ;; You will need to capture these native stack traces by recording the
101 ;; session log itself.
102 ; save_crashes = false
103
104 ;# {crash_dir} {save_crashes:true} {Directory to save crashes to?} {} crashes
105 ;; Directory to save crashes to if above is enabled
106 ;; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt)
107 ; crash_dir = "crashes"
108
109 ;# {PIDFile} {} {Path to PID file?} {}
110 ;; Place to create a PID file
111 ; PIDFile = "/tmp/OpenSim.exe.pid"
112
113 ;# {RegistryLocation} {} {Addins Registry Location} {}
114 ; Set path to directory for addin registry if you want addins outside of bin.
115 ; Information about the registered repositories and installed plugins will
116 ; be stored here. The OpenSim.exe process must have R/W access to the location.
117 ; RegistryLocation = "."
118
119 ;# {ConfigDirectory} {} {Set path to directory for modular ini files} {}
120 ; Used by region module addins. You can set this to outside bin, so that addin
121 ; configurations will survive updates. The OpenSim.exe process must have R/W access
122 ; to the location.
123 ; ConfigDirectory = "."
124
125 ;# {region_info_source} {} {Where to load region from?} {filesystem web} filesystem
126 ;; Determine where OpenSimulator looks for the files which tell it
127 ;; which regions to server
128 ;; Default is "filesystem"
129 ; region_info_source = "filesystem"
130 ; region_info_source = "web"
131
132 ;# {regionload_regionsdir} {region_info_source} {Location of file?} {} Regions
133 ;; Determines where the region XML files are stored if you are loading
134 ;; these from the filesystem.
135 ;; Defaults to bin/Regions in your OpenSimulator installation directory
136 ; regionload_regionsdir="C:\somewhere\xmlfiles\"
137
138 ;# {regionload_webserver_url} {region_info_source} {URL to load region from?} {}
139 ;; Determines the page from which regions xml is retrieved if you are
140 ;; loading these from the web.
141 ;; The XML here has the same format as it does on the filesystem
142 ;; (including the <Root> tag), except that everything is also enclosed
143 ;; in a <Regions> tag.
144 ; regionload_webserver_url = "http://example.com/regions.xml"
145
146 ;# {allow_regionless} {} {Allow simulator to start up with no regions configured.} {true false} false
147 ;; Allow the simulator to start up if there are no region configuration available
148 ;; from the selected region_info_source.
149 ; allow_regionless = false
150
151 ;# {NonPhysicalPrimMin} {} {Minimum size of nonphysical prims?} {} 0.001
152 ;; Minimum size for non-physical prims. Affects resizing of existing
153 ;; prims. This can be overridden in the region config file (as
154 ;; NonPhysicalPrimMin!).
155 ; NonPhysicalPrimMin = 0.001
156
157 ;# {NonPhysicalPrimMax} {} {Maximum size of nonphysical prims?} {} 256
158 ;; Maximum size for non-physical prims. Affects resizing of existing
159 ;; prims. This can be overridden in the region config file (as
160 ;; NonPhysicalPrimMax!).
161 ; NonPhysicalPrimMax = 256
162
163 ;# {PhysicalPrimMin} {} {Minimum size of physical prims?} {} 0.01
164 ;; Minimum size where a prim can be physical. Affects resizing of
165 ;; existing prims. This can be overridden in the region config file.
166 ; PhysicalPrimMin = 0.01
167
168 ;# {PhysicalPrimMax} {} {Maximum size of physical prims?} {} 64
169 ;; Maximum size where a prim can be physical. Affects resizing of
170 ;; existing prims. This can be overridden in the region config file.
171 ; PhysicalPrimMax = 64
172
173 ;# {ClampPrimSize} {} {Clamp viewer rezzed prims to max sizes?} {true false} false
174 ;; If a viewer attempts to rez a prim larger than the non-physical or
175 ;; physical prim max, clamp the dimensions to the appropriate maximum
176 ;; This can be overridden in the region config file.
177 ; ClampPrimSize = false
178
179 ;# {LinksetPrims} {} {Max prims an object will hold?} {} 0
180 ;; Maximum number of prims allowable in a linkset. Affects creating new
181 ;; linksets. Ignored if less than or equal to zero.
182 ;; This can be overridden in the region config file.
183 ; LinksetPrims = 0
184
185 ;# {AllowScriptCrossing} {} {Allow scripts to cross into this region} {true false} true
186 ;; Allow scripts to keep running when they cross region boundaries, rather
187 ;; than being restarted. State is reloaded on the destination region.
188 ;; This only applies when crossing to a region running in a different
189 ;; simulator.
190 ;; For crossings where the regions are on the same simulator the script is
191 ;; always kept running.
192 ; AllowScriptCrossing = true
193
194 ;# {TrustBinaries} {AllowScriptCrossing:true} {Accept compiled binary script code? (DANGEROUS!)} {true false} false
195 ;; Allow compiled script binary code to cross region boundaries.
196 ;; If you set this to "true", any region that can teleport to you can
197 ;; inject ARBITRARY BINARY CODE into your system. Use at your own risk.
198 ;; YOU HAVE BEEN WARNED!!!
199 ; TrustBinaries = false
200
201 ;# {InworldRestartShutsDown} {} {Shutdown instance on region restart?} {true false} false
202 ;; If you have only one region in an instance, or to avoid the many bugs
203 ;; that you can trigger in modules by restarting a region, set this to
204 ;; true to make the entire instance exit instead of restarting the region.
205 ;; This is meant to be used on systems where some external system like
206 ;; Monit will restart any instance that exits, thereby making the shutdown
207 ;; into a restart.
208 ; InworldRestartShutsDown = false
209
210 ;; Persistence of changed objects happens during regular sweeps. The
211 ;; following control that behaviour to prevent frequently changing objects
212 ;; from heavily loading the region data store.
213 ;; If both of these values are set to zero then persistence of all changed
214 ;; objects will happen on every sweep.
215
216 ;# {MinimumTimeBeforePersistenceConsidered} {} {Time before un-changed object may be persisted} {} 60
217 ;; Objects will be considered for persistance in the next sweep when they
218 ;; have not changed for this number of seconds.
219 ; MinimumTimeBeforePersistenceConsidered = 60
220
221 ;# {MaximumTimeBeforePersistenceConsidered} {} {Time before changed objects may be persisted?} {} 600
222 ;; Objects will always be considered for persistance in the next sweep
223 ;; if the first change occurred this number of seconds ago.
224 ; MaximumTimeBeforePersistenceConsidered = 600
225
226 ;# {physical_prim} {} {Allow prims to be physical?} {true false} true
227 ;; if you would like to allow prims to be physical and move by physics
228 ;; with the physical checkbox in the client set this to true.
229 ; physical_prim = true
230
231 ;; Select a mesher here.
232 ;;
233 ;; Meshmerizer properly handles complex prims by using triangle meshes.
234 ;; Note that only the ODE physics engine currently deals with meshed
235 ;; prims in a satisfactory way.
236
237 ;# {meshing} {} {Select mesher} {Meshmerizer ZeroMesher} Meshmerizer
238 ;; ZeroMesher is faster but leaves the physics engine to model the mesh
239 ;; using the basic shapes that it supports.
240 ;; Usually this is only a box.
241 ;; Default is Meshmerizer
242 ; meshing = Meshmerizer
243 ; meshing = ZeroMesher
244 ;; select ubODEMeshmerizer only with ubOde physics engine
245 ; meshing = ubODEMeshmerizer
246
247 ;; Choose one of the physics engines below
248 ;# {physics} {} {Select physics engine} {OpenDynamicsEngine BulletSim basicphysics POS} BulletSim
249 ;; BulletSim is the default physics engine. It provides the best performance and most functionality.
250 ;; BulletSim supports varregions.
251 ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before.
252 ;; It continues to provide a workable physics implementation. It does not currently support varregions.
253 ;; basicphysics effectively does not model physics at all, making all objects phantom.
254 ;; Default is BulletSim
255 ; physics = OpenDynamicsEngine
256 ; physics = BulletSim
257 ; physics = basicphysics
258 ; physics = POS
259 ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also
260 ; physics = ubODE
261
262 ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit
263 ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions
264 ; edit the line ulimit -s 262144, and change this last value
265
266 ;# {DefaultScriptEngine} {} {Default script engine} {XEngine} XEngine
267 ;; Default script engine to use. Currently, we only have XEngine
268 ; DefaultScriptEngine = "XEngine"
269
270 ;# {HttpProxy} {} {Proxy URL for llHTTPRequest and dynamic texture loading} {} http://proxy.com:8080
271 ;; Http proxy setting for llHTTPRequest and dynamic texture loading, if
272 ;; required
273 ; HttpProxy = "http://proxy.com:8080"
274
275 ;# {HttpProxyExceptions} {HttpProxy} {Set of regular expressions defining URL that should not be proxied} {}
276 ;; If you're using HttpProxy, then you can set HttpProxyExceptions to a
277 ;; list of regular expressions for URLs that you don't want to go through
278 ;; the proxy.
279 ;; For example, servers inside your firewall.
280 ;; Separate patterns with a ';'
281 ; HttpProxyExceptions = ".mydomain.com;localhost"
282
283 ;# {emailmodule} {} {Provide llEmail and llGetNextEmail functionality? (requires SMTP server)} {true false} false
284 ;; The email module requires some configuration. It needs an SMTP
285 ;; server to send mail through.
286 ; emailmodule = DefaultEmailModule
287
288 ;# {SpawnPointRouting} {} {Set routing method for Telehub Spawnpoints} {closest random sequence} closest
289 ;; SpawnPointRouting adjusts the landing for incoming avatars.
290 ;; "closest" will place the avatar at the SpawnPoint located in the closest
291 ;; available spot to the destination (typically map click/landmark).
292 ;; "random" will place the avatar on a randomly selected spawnpoint.
293 ;; "sequence" will place the avatar on the next sequential SpawnPoint.
294 ; SpawnPointRouting = closest
295
296 ;# {TelehubAllowLandmark} {} {Allow users with landmarks to override telehub routing} {true false} false
297 ;; TelehubAllowLandmark allows users with landmarks to override telehub
298 ;; routing and land at the landmark coordinates when set to true
299 ;; default is false
300 ; TelehubAllowLandmark = false
301
302
303[AccessControl]
304 ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {}
305 ;; Bar (|) separated list of viewers which may gain access to the regions.
306 ;; One can use a substring of the viewer name to enable only certain
307 ;; versions
308 ;; Example: Agent uses the viewer "Imprudence 1.3.2.0"
309 ;; - "Imprudence" has access
310 ;; - "Imprudence 1.3" has access
311 ;; - "Imprudence 1.3.1" has no access
312 ; AllowedClients = ""
313
314 ;# {DeniedClients} {} {Bar (|) separated list of denied clients} {}
315 ;; Bar (|) separated list of viewers which may not gain access to the regions.
316 ;; One can use a Substring of the viewer name to disable only certain
317 ;; versions
318 ;; Example: Agent uses the viewer "Imprudence 1.3.2.0"
319 ;; - "Imprudence" has no access
320 ;; - "Imprudence 1.3" has no access
321 ;; - "Imprudence 1.3.1" has access
322 ;;
323 ; DeniedClients = ""
324
325
326[Map]
327 ;# {GenerateMaptiles} {} {Generate map tiles?} {true false} true
328 ;; Map tile options.
329 ;; If true, then maptiles are generated using the MapImageModule below.
330 ;; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden
331 ;; in individual region config file(s). If you do not want to upload map tiles at all, then you will need
332 ;; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/
333 ; GenerateMaptiles = true
334
335 ;# {MapImageModule} {} {The map image module to use} {MapImageModule Warp3DImageModule} MapImageModule
336 ;; The module to use in order to generate map images.
337 ;; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can
338 ;; generate better images.
339 ;MapImageModule = "MapImageModule"
340
341 ;# {MaptileRefresh} {GenerateMaptiles} {Maptile refresh period?} {} 0
342 ;; If desired, a running region can update the map tiles periodically
343 ;; to reflect building activity. This names no sense of you don't have
344 ;; prims on maptiles. Value is in seconds.
345 ; MaptileRefresh = 0
346
347 ;# {MaptileStaticUUID} {} {Asset ID for static map texture} {} 00000000-0000-0000-0000-000000000000
348 ;; If not generating maptiles, use this static texture asset ID
349 ;; This may be overridden on a per region basis in Regions.ini
350 ; MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
351
352 ;# {TextureOnMapTile} {} {Use terrain textures for map tiles?} {true false} true
353 ;; Use terrain texture for maptiles if true, use shaded green if false
354 ; TextureOnMapTile = true
355
356 ;# {DrawPrimOnMapTile} {} {Draw prim shapes on map tiles?} {true false} false
357 ;; Draw objects on maptile. This step might take a long time if you've
358 ;; got a large number of objects, so you can turn it off here if you'd like.
359 ; DrawPrimOnMapTile = true
360
361 ;# {TexturePrims} {} {Texture prims on map tiles?} {true false} true
362 ;; Texture the faces of the prims that are rendered on the map tiles.
363 ; TexturePrims = true
364
365 ;# {TexturePrimSize} {} {Size of prims to texture faces?} {} 48
366 ;; Only texture prims that have a diagonal size greater than this number
367 ; TexturePrimSize = 48
368
369 ;# {RenderMeshes} {} {Render meshes and sculpties on map tiles?} {true false} false
370 ;; Attempt to render meshes and sculpties on the map.
371 ; RenderMeshes = false
372
373 ;# {MapColorWater} {} {Water color for textured and shaded maps} {"#1D475F"}
374 ; MapColorWater = "#3399FF"
375
376 ;# {MapColor1} {} {Terrain color 1 for textured maps} {"#A58976"}
377 ; MapColor1 = "#A58976"
378
379 ;# {MapColor2} {} {Terrain color 2 for textured maps} {"#455931"}
380 ; MapColor2 = "#455931"
381
382 ;# {MapColor3} {} {Terrain color 3 for textured maps} {"#A29A8D"}
383 ; MapColor3 = "#A29A8D"
384
385 ;# {MapColor4} {} {Terrain color 4 for textured maps} {"#C8C8C8"}
386 ; MapColor4 = "#C8C8C8"
387
388
389[Permissions]
390 ;# {permissionmodules} {} {Permission modules to use (may specify multiple modules, separated by comma} {} DefaultPermissionsModule
391 ;; Permission modules to use, separated by comma.
392 ;; Possible modules are DefaultPermissionsModule, PrimLimitsModule
393 ; permissionmodules = DefaultPermissionsModule
394
395 ;# {serverside_object_permissions} {permissionmodules:DefaultPermissionsModule} {Activate permission handling by the sim?} {true false} true
396 ;; These are the parameters for the default permissions module
397 ;;
398 ;; If set to false, then, in theory, the server never carries out
399 ;; permission checks (allowing anybody to copy
400 ;; any item, etc. This may not yet be implemented uniformally.
401 ;; If set to true, then all permissions checks are carried out
402 ; serverside_object_permissions = true
403
404 ;# {allow_grid_gods} {} {Allow grid gods?} {true false} false
405 ;; This allows users with a UserLevel of 200 or more to assume god
406 ;; powers in the regions in this simulator.
407 ; allow_grid_gods = false
408
409 ;; This allows some control over permissions
410 ;; please note that this still doesn't duplicate SL, and is not intended to
411 ;# {region_owner_is_god} {} {Allow region owner gods} {true false} true
412 ;; Allow region owners to assume god powers in their regions
413 ; region_owner_is_god = true
414
415 ;# {region_manager_is_god} {} {Allow region manager gods} {true false} false
416 ;; Allow region managers to assume god powers in regions they manage
417 ; region_manager_is_god = false
418
419 ;# {simple_build_permissions} {} {Allow building in parcel by access list (no groups)} {true false} false
420 ;; More control over permissions
421 ;; This is definitely not SL!
422 ;; Provides a simple control for land owners to give build rights to
423 ;; specific avatars in publicly accessible parcels that disallow object
424 ;; creation in general.
425 ;; Owners specific avatars by adding them to the Access List of the parcel
426 ;; without having to use the Groups feature
427 ; simple_build_permissions = false
428
429
430[Estates]
431 ; If these values are commented out then the user will be asked for estate details when required (this is the normal case).
432 ; If these values are uncommented then they will be used to create a default estate as necessary.
433 ; New regions will be automatically assigned to that default estate.
434
435 ;# {DefaultEstateName} {} {Default name for estate?} {} My Estate
436 ;; Name for the default estate
437 ; DefaultEstateName = My Estate
438
439 ;# {DefaultEstateOwnerName} {} {Default estate owner name?} {} FirstName LastName
440 ;; Name for default estate owner
441 ; DefaultEstateOwnerName = FirstName LastName
442
443
444 ; ** Standalone Estate Settings **
445 ; The following parameters will only be used on a standalone system to
446 ; create an estate owner that does not already exist
447
448 ;# {DefaultEstateOwnerUUID} {} {Default estate owner UUID?} {} 00000000-0000-0000-0000-000000000000
449 ;; If DefaultEstateOwnerUUID is left at UUID.Zero (as below) then a random
450 ;; UUID will be assigned. This is normally what you want
451 ; DefaultEstateOwnerUUID = 00000000-0000-0000-0000-000000000000
452
453 ;# {DefaultEstateOwnerEMail} {} {Default estate owner email?} {}
454 ;; Email address for the default estate owner
455 ; DefaultEstateOwnerEMail = owner@domain.com
456
457 ;# {DefaultEstateOwnerPassword} {} {Default estate owner password} {}
458 ;; Password for the default estate owner
459 ; DefaultEstateOwnerPassword = password
460
461
462[SMTP]
463 ;; The SMTP server enabled the email module to send email to external
464 ;; destinations.
465
466 ;# {enabled} {[Startup]emailmodule:DefaultEmailModule} {Enable SMTP service?} {true false} false
467 ;; Enable sending email via SMTP
468 ; enabled = false
469
470 ;# {internal_object_host} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Host name to treat as internal (object to object) email?} {} lsl.opensim.local
471 ; internal_object_host = lsl.opensim.local
472
473 ;# {host_domain_header_from} {[Startup]emailmodule:DefaultEmailModule enabled:true} {From address to use in the sent email header?} {} 127.0.0.1
474 ; host_domain_header_from = "127.0.0.1"
475
476 ;# {email_pause_time} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Period in seconds to delay after an email is sent.} {} 20
477 ; email_pause_time = 20
478
479 ;# {email_max_size} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Maximum total size of email in bytes.} {} 4096
480 ; email_max_size = 4096
481
482 ;# {SMTP_SERVER_HOSTNAME} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {} 127.0.0.1
483 ; SMTP_SERVER_HOSTNAME = "127.0.0.1"
484
485 ;# {SMTP_SERVER_PORT} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {SMTP server port?} {} 25
486 ; SMTP_SERVER_PORT = 25
487
488 ;# {SMTP_SERVER_LOGIN} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server user name?} {}
489 ; SMTP_SERVER_LOGIN = ""
490
491 ;# {SMTP_SERVER_PASSWORD} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server password} {}
492 ; SMTP_SERVER_PASSWORD = ""
493
494
495[Network]
496 ;# {ConsoleUser} {} {User name for console account} {}
497 ;; Configure the remote console user here. This will not actually be used
498 ;; unless you use -console=rest at startup.
499 ; ConsoleUser = "Test"
500 ;# {ConsolePass} {} {Password for console account} {}
501 ; ConsolePass = "secret"
502 ;# {console_port} {} {Port for console connections} {} 0
503 ; console_port = 0
504
505 ;# {http_listener_port} {} {TCP Port for this simulator to listen on? (This must be unique to the simulator!)} {} 9000
506 ;; Simulator HTTP port. This is not the region port, but the port the
507 ;; entire simulator listens on. This port uses the TCP protocol, while
508 ;; the region ports use UDP.
509 ; http_listener_port = 9000
510
511 ; By default, OpenSimulator does not allow scripts to make HTTP calls to addresses on the simulator's LAN.
512 ; See the OutboundDisallowForUserScripts parameter in OpenSimDefaults.ini for more information on this filter.
513 ; If you need to allow scripts to make some LAN calls use the OutboundDisallowForUserScriptsExcept parameter below.
514 ; We recommend that you do not override OutboundDisallowForUserScripts directly unless you are very sure about what you're doing.
515 ;
516 ; You can whitelist individual endpoints by IP or FQDN, e.g.
517 ;
518 ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003
519 ;
520 ; You can specify multiple addresses by separating them with a bar. For example,
521 ;
522 ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003|myinternalserver:8000
523 ;
524 ; If an address if given without a port number then port 80 is assumed
525 ;
526 ; You can also specify a network range in CIDR notation to whitelist, e.g.
527 ;
528 ; OutboundDisallowForUserScriptsExcept = 192.168.1.0/24
529 ;
530 ; to whitelist all ports on addresses 192.168.1.0 to 192.168.1.255
531 ; To specify an individual IP address use the /32 netmask
532 ;
533 ; OutboundDisallowForUserScriptsExcept = 192.168.1.2/32
534 ;
535 ; See http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation for more information on CIDR notation
536
537 ;# {HttpBodyMaxLenMAX} {} {Maximum bytes allowed for HTTP_BODY_MAXLENGTH} {} 16384
538 ;; By default, llHTTPRequest limits the response body to 2048 bytes.
539 ;; This limit can be extended using HTTP_BODY_MAXLENGTH to a maximum
540 ;; of HttpBodyMaxLenMAX bytes.
541 ;; Please be aware that the limit can be set to insanely high values,
542 ;; effectively removing any limitation. This will expose your sim to a
543 ;; known attack. It is not recommended to set this limit higher than
544 ;; the highest value that is actually needed by existing applications!
545 ;; 16384 is the SL compatible value.
546 ; HttpBodyMaxLenMAX=16384
547
548 ;# {ExternalHostNameForLSL} {} {Hostname to use for HTTP-IN URLs. This should be reachable from the internet.} {}
549 ;; Hostname to use in llRequestURL/llRequestSecureURL
550 ;; if not defined - llRequestURL/llRequestSecureURL are disabled
551 ExternalHostNameForLSL = ${Const|BaseHostname}
552
553 ;# {shard} {} {Name to use for X-Secondlife-Shard header? (press enter if unsure)} {} OpenSim
554 ;; What is reported as the "X-Secondlife-Shard"
555 ;; Defaults to the user server url if not set
556 ;; The old default is "OpenSim", set here for compatibility
557 ;; The below is not commented for compatibility.
558 shard = "OpenSim"
559
560 ;# {user_agent} {} {User agent to report to web servers?} {} OpenSim LSL (Mozilla Compatible)
561 ;; What is reported as the "User-Agent" when using llHTTPRequest
562 ;; Defaults to not sent if not set here. See the notes section in the wiki
563 ;; at http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding
564 ;; " (Mozilla Compatible)" to the text where there are problems with a
565 ;; web server
566 ; user_agent = "OpenSim LSL (Mozilla Compatible)"
567
568 ;; The following 3 variables are for HTTP Basic Authentication for the Robust services.
569 ;; Use this if your central services in port 8003 need to be accessible on the Internet
570 ;; but you want to protect them from unauthorized access. The username and password
571 ;; here need to match the ones in the Robust service configuration.
572 ; AuthType = "BasicHttpAuthentication"
573 ; HttpAuthUsername = "some_username"
574 ; HttpAuthPassword = "some_password"
575 ;;
576 ;; Any of these 3 variables above can be overriden in any of the service sections.
577
578
579[XMLRPC]
580 ;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule
581 ;; If enabled and set to XmlRpcRouterModule, this will post an event,
582 ;; "xmlrpc_uri(string)" to the script concurrently with the first
583 ;; remote_data event. This will contain the fully qualified URI an
584 ;; external site needs to use to send XMLRPC requests to that script
585 ;;
586 ;; If enabled and set to XmlRpcGridRouterModule, newly created channels
587 ;; will be registered with an external service via a configured uri
588 ;XmlRpcRouterModule = "XmlRpcRouterModule"
589
590 ;# {XmlRpcPort} {} {Port for incoming llRemoteData xmlrpc calls} {} 20800
591 ;XmlRpcPort = 20800
592
593 ;# {XmlRpcHubURI} {XmlRpcRouterModule} {URI for external service used to register xmlrpc channels created in the simulator. This depends on XmlRpcRouterModule being set to XmlRpcGridRouterModule} {} http://example.com
594 ;; If XmlRpcRouterModule is set to XmlRpcGridRouterModule, the simulator
595 ;; will use this address to register xmlrpc channels on the external
596 ;; service
597 ; XmlRpcHubURI = http://example.com
598
599
600[ClientStack.LindenUDP]
601 ;; See OpensSimDefaults.ini for the throttle options. You can copy the
602 ;; relevant sections and override them here.
603 ;; DO NOT MODIFY OpenSimDefaults.ini, as your changes would be lost
604 ;; with the next update!
605
606 ;# {DisableFacelights} {} {Stop facelights from working?} {true false} false
607 ;; Quash and remove any light properties from attachments not on the
608 ;; hands. This allows flashlights and lanterns to function, but kills
609 ;; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps
610 ;; will also be affected.
611 ;; This is especially important in artistic builds that depend on lights
612 ;; on the build for their appearance, since facelights will cause the
613 ;; building's lights to possibly not be rendered.
614 ; DisableFacelights = "false"
615
616
617[ClientStack.LindenCaps]
618 ;; For the long list of capabilities, see OpenSimDefaults.ini
619 ;; Here are the few ones you may want to change. Possible values
620 ;; are:
621 ;; "" -- empty, capability disabled
622 ;; "localhost" -- capability enabled and served by the simulator
623 ;; "<url>" -- capability enabled and served by some other server
624 ;;
625 ; These are enabled by default to localhost. Change if you see fit.
626 Cap_GetTexture = "localhost"
627 Cap_GetMesh = "localhost"
628 Cap_AvatarPickerSearch = "localhost"
629 Cap_GetDisplayNames = "localhost"
630
631
632[SimulatorFeatures]
633 ;# {SearchServerURI} {} {URL of the search server} {}
634 ;; Optional. If given this serves the same purpose as the grid wide
635 ;; [LoginServices] SearchURL setting and will override that where
636 ;; supported by viewers.
637 ;SearchServerURI = "http://127.0.0.1:9000/"
638
639 ;# {DestinationGuideURI} {} {URL of the destination guide} {}
640 ;; Optional. If given this serves the same purpose as the grid wide
641 ;; [LoginServices] DestinationGuide setting and will override that where
642 ;; supported by viewers.
643 ;DestinationGuideURI = "http://127.0.0.1:9000/guide"
644
645
646[Chat]
647 ;# {whisper_distance} {} {Distance at which a whisper is heard, in meters?} {} 10
648 ;; Distance in meters that whispers should travel.
649 ; whisper_distance = 10
650
651 ;# {say_distance} {} {Distance at which normal chat is heard, in meters?} {} 20
652 ;; Distance in meters that ordinary chat should travel.
653 ; say_distance = 20
654
655 ;# {shout_distance} {} {Distance at which a shout is heard, in meters?} {} 100
656 ;; Distance in meters that shouts should travel.
657 ; shout_distance = 100
658
659
660[EntityTransfer]
661 ;# {DisableInterRegionTeleportCancellation} {} {Determine whether the cancel button is shown at all during teleports.} {false true} false
662 ;; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.)
663 ;; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed.
664 ;DisableInterRegionTeleportCancellation = false
665
666 ;# {LandingPointBehavior} {} {How to honor landing points and telehubs for gods.} {LandingPointBehavior_OS LandingPointBehavior_SL} LandingPointBehavior_OS
667 ;; This option exists to control the behavior of teleporting gods into places that have landing points
668 ;; and telehubs. Historically, there has been a difference: OpenSim (OS) has honored landing points and telehubs even for
669 ;; avatars with god permissions; SL lets gods land wherever they want.
670 ;LandingPointBehavior = LandingPointBehavior_OS
671
672[Messaging]
673 ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *}
674 ;; Module to handle offline messaging. The core module requires an external
675 ;; web service to do this. See OpenSim wiki.
676 ; OfflineMessageModule = OfflineMessageModule
677 ;; Or, alternatively, use this one, which works for both standalones and grids
678 ; OfflineMessageModule = "Offline Message Module V2"
679
680 ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {}
681 ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim.
682 ; OfflineMessageURL = ${Const|BaseURL}/Offline.php
683 ; OfflineMessageURL = ${Const|BaseURL}:${Const|PrivatePort}
684
685 ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll}
686 ;; For standalones, this is the storage dll.
687 ; StorageProvider = OpenSim.Data.MySQL.dll
688
689 ; Mute list handler
690 ; the provided MuteListModule is just a Dummy
691 ; you will need a external module for proper suport.
692 ; if you keep both 2 following settings comment, viewers will use mutes in their caches
693 ; if you uncoment both (url is ignored) the mutes will be deleted at login on this instance regions
694 ; WARNING: viewers mutes cache seems to shared by all grids, including SL
695 ; this may cause some confusion.
696
697 ;# {MuteListModule} {MuteListModule:MuteListModule} {} {} None
698 ; MuteListModule = MuteListModule
699
700 ;# {MuteListURL} {MuteListModule:MuteListModule} {} {} http://yourserver/Mute.php
701 ; MuteListURL = http://yourserver/Mute.php
702
703 ;; Control whether group invites and notices are stored for offline users.
704 ;; Default is true.
705 ;; This applies to both core groups module.
706 ; ForwardOfflineGroupMessages = true
707
708
709[BulletSim]
710 ;# {AvatarToAvatarCollisionsByDefault} {[Startup]physics:BulletSim} {Should avatars collide with each other?} {true false} true
711 AvatarToAvatarCollisionsByDefault = true
712
713
714[ODEPhysicsSettings]
715 ;# {mesh_sculpted_prim} {[Startup]physics:OpenDynamicsEngine} {Mesh sculpties so they collide as they look?} {true false} true
716 ;; Do we want to mesh sculpted prim to collide like they look?
717 ;; If you are seeing sculpt texture decode problems
718 ;; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception")
719 ;; then you might want to try setting this to false.
720 ; mesh_sculpted_prim = true
721
722[RemoteAdmin]
723 ;; This is the remote admin module, which uses XMLRPC requests to
724 ;; manage regions from a web interface.
725
726 ;# {enabled} {} {Enable the remote admin interface?} {true false} false
727 ; enabled = false
728
729 ;# {port} {enabled:true} {Port to use for the remote admin interface? (0 = default)} {} 0
730 ;; Set this to a nonzero value to have remote admin use a different port
731 ; port = 0
732
733 ;# {access_password} {enabled:true} {Password for the remote admin interface} {}
734 ;; This password is required to make any XMLRPC call (should be set as
735 ;; the "password" parameter)
736 ; access_password = ""
737
738 ;# {access_ip_addresses} {enabled:true} {List the IP addresses allowed to call RemoteAdmin?} {}
739 ;; List the IP addresses allowed to call RemoteAdmin
740 ;; If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin.
741 ;; access_ip_addresses = 0.0.0.0, 0.0.0.0 ...
742 ; access_ip_addresses =
743
744 ;# {create_region_enable_voice} {enabled:true} {Enable voice for newly created regions?} {true false} false
745 ;; set this variable to true if you want the create_region XmlRpc
746 ;; call to unconditionally enable voice on all parcels for a newly
747 ;; created region
748 ; create_region_enable_voice = false
749
750 ;# {create_region_public} {enabled:true} {Make newly created regions public?} {true false} false
751 ;; set this variable to false if you want the create_region XmlRpc
752 ;; call to create all regions as private per default (can be
753 ;; overridden in the XmlRpc call)
754 ; create_region_public = false
755
756 ;# {enabled_methods} {enabled:true} {List of methods to allow, separated by |} {} all
757 ;; enable only those methods you deem to be appropriate using a | delimited
758 ;; whitelist.
759 ;; For example:
760 ;; enabled_methods = admin_broadcast|admin_save_oar|admin_save_xml
761 ;; if this parameter is not specified but enabled = true, all methods
762 ;; will be available
763 ; enabled_methods = all
764
765 ;; specify the default appearance for an avatar created through the remote
766 ;; admin interface
767 ;; This will only take effect is the file specified by the
768 ;; default_appearance setting below exists
769 ; default_male = Default Male
770 ; default_female = Default Female
771
772 ;; Update appearance copies inventory items and wearables of default
773 ;; avatars. if this value is false, just worn assets are copied to the
774 ;; Clothes folder; if true, all Clothes and Bodyparts subfolders are copied.
775 ;; The receiver will wear the same items the default avatar did wear.
776 ; copy_folders = false
777
778 ;; Path to default appearance XML file that specifies the look of the
779 ;; default avatars
780 ; default_appearance = default_appearance.xml
781
782
783[Wind]
784 ;# {enabled} {} {Enable wind module?} {true false} true
785 ;; Enables the wind module.
786 ; enabled = true
787
788 ;# {wind_update_rate} {enabled:true} {Wind update rate in frames?} {} 150
789 ;; How often should wind be updated, as a function of world frames.
790 ;; Approximately 50 frames a second
791 ; wind_update_rate = 150
792
793 ;; The Default Wind Plugin to load
794 ; wind_plugin = SimpleRandomWind
795
796 ;; These settings are specific to the ConfigurableWind plugin
797 ;; To use ConfigurableWind as the default, simply change wind_plugin
798 ;; to ConfigurableWind and uncomment the following.
799 ; avg_strength = 5.0
800 ; avg_direction = 0.0
801 ; var_strength = 5.0
802 ; var_direction = 30.0
803 ; rate_change = 1.0
804
805 ;# {strength} {enabled:true wind_plugin:SimpleRandomWind} {Wind strength?} {} 1.0
806 ;; This setting is specific to the SimpleRandomWind plugin
807 ;; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind.
808 ; strength = 1.0
809
810
811[LightShare]
812 ;# {enable_windlight} {} {Enable LightShare technology?} {true false} false
813 ;; This enables the transmission of Windlight scenes to supporting clients,
814 ;; such as the Meta7 viewer.
815 ;; It has no ill effect on viewers which do not support server-side
816 ;; windlight settings.
817 ; enable_windlight = false
818
819
820[Materials]
821 ;# {enable_materials} {} {Enable Materials support?} {true false} true
822 ;; This enables the use of Materials.
823 ; enable_materials = true
824 ; MaxMaterialsPerTransaction = 50
825
826[DataSnapshot]
827 ;# {index_sims} {} {Enable data snapshotting (search)?} {true false} false
828 ;; The following set of configs pertains to search.
829 ;; Set index_sims to true to enable search engines to index your
830 ;; searchable data.
831 ;; If false, no data will be exposed, DataSnapshot module will be off,
832 ;; and you can ignore the rest of these search-related configs.
833 ; index_sims = false
834
835 ;# {data_exposure} {index_sims:true} {How much data should be exposed?} {minimum all} minimum
836 ;; The variable data_exposure controls what the regions expose:
837 ;; minimum: exposes only things explicitly marked for search
838 ;; all: exposes everything
839 ; data_exposure = minimum
840
841 ;# {gridname} {index_sims:true} {Enter the name fo your grid} {} OSGrid
842 ;; If search is on, change this to your grid name; will be ignored for
843 ;; standalones
844 ; gridname = "OSGrid"
845
846 ;# {default_snapshot_period} {index_sims:true} {Period between data snapshots?} {} 1200
847 ;; Period between data snapshots, in seconds. 20 minutes, for starters,
848 ;; so that you see the initial changes fast.
849 ;; Later, you may want to increase this to 3600 (1 hour) or more
850 ; default_snapshot_period = 1200
851
852 ;; This will be created in bin, if it doesn't exist already. It will hold
853 ;; the data snapshots.
854 ; snapshot_cache_directory = "DataSnapshot"
855
856 ;; [Supported, but obsolete]
857 ;# {data_services} {index_sims:true} {Data service URLs to register with?} {} http://metaverseink.com/cgi-bin/register.py
858 ; This semicolon-separated string serves to notify specific data services
859 ; about the existence of this sim. Uncomment if you want to index your
860 ; data with this and/or other search providers.
861 ; data_services="http://metaverseink.com/cgi-bin/register.py"
862
863 ;; New way of specifying data services, one per service
864 ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py"
865
866[Economy]
867 ; the economy module in use
868 ; To use other modules you need to override this setting
869 ; economymodule = BetaGridLikeMoneyModule
870
871 ;# {SellEnabled} {} {Enable selling for 0?} {true false} true
872 ; The default economy module only implements just enough to allow free actions (transfer of objects, etc).
873 ; There is no intention to implement anything further in core OpenSimulator.
874 ; This functionality has to be provided by third party modules.
875
876 ;; Enables selling things for $0. Default is true.
877 ; SellEnabled = true
878
879 ;# {PriceUpload} {} {Price for uploading?} {} 0
880 ;; Money Unit fee to upload textures, animations etc. Default is 0.
881 ; PriceUpload = 0
882
883 ;# {PriceGroupCreate} {} {Fee for group creation} {} 0
884 ;; Money Unit fee to create groups. Default is 0.
885 ; PriceGroupCreate = 0
886
887
888[XEngine]
889 ;# {Enabled} {} {Enable the XEngine scripting engine?} {true false} true
890 ;; Enable this engine in this OpenSim instance
891 ; Enabled = true
892
893 ;; How many threads to keep alive even if nothing is happening
894 ; MinThreads = 2
895
896 ;; How many threads to start at maximum load
897 ; MaxThreads = 100
898
899 ;; Time a thread must be idle (in seconds) before it dies
900 ; IdleTimeout = 60
901
902 ;; llSetTimerEvent minimum value. Default 0.5s, 0.05s whould be more resonable
903 ; MinTimerInterval = 0.5
904
905 ;# {Priority} {Enabled:true} {Priority for script engine threads?} {Lowest BelowNormal Normal AboveNormal Highest} BelowNormal
906 ;; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal",
907 ;; "Highest")
908 ; Priority = "BelowNormal"
909
910 ;; Maximum number of events to queue for a script (excluding timers)
911 ; MaxScriptEventQueue = 300
912
913 ;; Stack size per script engine thread in bytes.
914 ;; If you are experiencing StackOverflowExceptions you may want to increase this (e.g. double it).
915 ;; The trade-off may be increased memory usage by the script engine.
916 ; ThreadStackSize = 262144
917
918 ;; Set this to true to load each script into a separate
919 ;; AppDomain.
920 ;;
921 ;; Setting this to false will load all script assemblies into the
922 ;; current AppDomain, which will significantly improve script loading times.
923 ;; It will also reduce initial per-script memory overhead.
924 ;;
925 ;; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted.
926 ;; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region.
927 ;; at this time some mono versions seem to have problems with the true option
928 ;; so default is now false until a fix is found, to simply life of less technical skilled users.
929 ;; this should only be a issue if regions stay alive for a long time with lots of scripts added or edited.
930 ; AppDomainLoading = false
931
932 ;; Controls whether scripts are stopped by aborting their threads externally (abort) or by co-operative checks from the compiled script (co-op)
933 ;; co-op will be more stable but this option is currently experimental.
934 ;; If moving from co-op to abort, existing script DLLs will need to be recompiled.
935 ;; This currently can only be done manually, either by setting DeleteScriptsOnStartup = true for one run
936 ;; or by deleting the script DLL* files in ../../caches/ScriptEngines/<region-id>/
937 ;; One can move from co-op back to abort without recompilation, but reverting back to co-op again will need script recompile
938 ;; Current valid values are "abort" and "co-op"
939 ; ScriptStopStrategy = co-op
940
941
942 ;# {DeleteScriptsOnStartup} {} {Delete previously compiled script DLLs on startup?} {true false} true
943 ;; Controls whether previously compiled scripts DLLs are deleted on sim restart. If you set this to false
944 ;; then startup will be considerably faster since scripts won't need to be recompiled. However, then it becomes your responsibility to delete the
945 ;; compiled scripts if you're recompiling OpenSim from source code and internal interfaces used
946 ;; by scripts have changed.
947 ; DeleteScriptsOnStartup = true
948
949 ;# {CompactMemOnLoad} {} {compacts memory on each script load at startup?} {true false} false
950 ;; forces calls to memory garbage collector before loading each script DLL during region startup.
951 ;; Peak memory usage is reduced and region starts with a more compacted memory allocation.
952 ;; But this costs a lot of time, so region load will take a lot longer.
953 ;; it is more usefull if there are no previously compiled scripts DLLs (as with DeleteScriptsOnStartup = true)
954 ;CompactMemOnLoad = false
955
956 ;; Compile debug info (line numbers) into the script assemblies
957 ; CompileWithDebugInformation = true
958
959 ; ==== Settings for MOD and OSSL functions have been moved to the [OSSL] section
960
961 ;# {EventLimit} {} {Amount of time a script can spend in an event handler} {} 30
962 ;; Time a script can spend in an event handler before it is interrupted
963 ; EventLimit = 30
964
965 ;# {KillTimedOutScripts} {} {Kill script in case of event time overruns?} {true false} false
966 ;; If a script overruns it's event limit, kill the script?
967 ; KillTimedOutScripts = false
968
969 ;# {ScriptDelayFactor} {} {Multiplier for scripting delays} {} 1.0
970 ;; Sets the multiplier for the scripting delays
971 ; ScriptDelayFactor = 1.0
972
973 ;# {ScriptDistanceLimitFactor} {} {Multiplier for 10.0m distance limits?} {}
974 ;; The factor the 10 m distances limits are multiplied by
975 ; ScriptDistanceLimitFactor = 1.0
976
977 ;# {NotecardLineReadCharsMax} {} {Maximum length of notecard line?} {} 255
978 ;; Maximum length of notecard line read
979 ;; Increasing this to large values potentially opens
980 ;; up the system to malicious scripters
981 ; NotecardLineReadCharsMax = 255
982
983 ;# {SensorMaxRange} {} {Sensor range} {} 96.0
984 ;; Sensor settings
985 ; SensorMaxRange = 96.0
986 ;# {SensorMaxResults} {} {Max sensor results returned?} {}
987 ; SensorMaxResults = 16
988
989 ;# {DisableUndergroundMovement} {} {Disable underground movement of prims} {true false} true
990 ;; Disable underground movement of prims (default true); set to
991 ;; false to allow script controlled underground positioning of
992 ;; prims
993 ; DisableUndergroundMovement = true
994
995 ;# {ScriptEnginesPath} {} {Path to script assemblies} {} ScriptEngines
996 ;; Path to script engine assemblies
997 ;; Default is ../../caches/ScriptEngines
998 ; ScriptEnginesPath = "ScriptEngines"
999
1000[OSSL]
1001 ;# {Include-osslEnable} {} {Include file for enabling and permissions for OSSL functions} {}
1002 ;; Optionally include file to enable OSSL functions and set permissions on who can use which.
1003 ;; If this INI file is not included, the OSSL functions are disabled.
1004 Include-osslEnable = "config-include/osslEnable.ini"
1005
1006
1007[MRM]
1008 ;; Enables the Mini Region Modules Script Engine.
1009 ; Enabled = false
1010
1011 ;; Runs MRM in a Security Sandbox
1012 ;; WARNING: DISABLING IS A SECURITY RISK.
1013 ; Sandboxed = true
1014
1015 ;; The level sandbox to use, adjust at your OWN RISK.
1016 ;; Valid values are:
1017 ;; * FullTrust
1018 ;; * SkipVerification
1019 ;; * Execution
1020 ;; * Nothing
1021 ;; * LocalIntranet
1022 ;; * Internet
1023 ;; * Everything
1024 ; SandboxLevel = "Internet"
1025
1026 ;; Only allow Region Owners to run MRMs
1027 ;; May represent a security risk if you disable this.
1028 ; OwnerOnly = true
1029
1030
1031[FreeSwitchVoice]
1032 ;; In order for this to work you need a functioning FreeSWITCH PBX set up.
1033 ;; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module
1034 ; Enabled = false
1035
1036 ;; You need to load a local service for a standalone, and a remote service
1037 ;; for a grid region. Use one of the lines below, as appropriate
1038 ;; If you're using Freeswitch on a standalone then you will also need to configure the [FreeswitchService] section in config-include/StandaloneCommon.ini
1039 ; LocalServiceModule = OpenSim.Services.FreeswitchService.dll:FreeswitchService
1040 ; LocalServiceModule = OpenSim.Services.Connectors.dll:RemoteFreeswitchConnector
1041
1042 ;; If using a remote connector, specify the server URL
1043 ; FreeswitchServiceURL = http://my.grid.server:8004/fsapi
1044
1045
1046[Groups]
1047 ;# {Enabled} {} {Enable groups?} {true false} false
1048 ;; Enables the groups module
1049 ; Enabled = false
1050
1051 ;# {LevelGroupCreate} {Enabled:true} {User level for creating groups} {} 0
1052 ;; Minimum user level required to create groups
1053 ; LevelGroupCreate = 0
1054
1055 ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {Default "Groups Module V2"} Default
1056 ;; The default module can use a PHP XmlRpc server from the Flotsam project at
1057 ;; http://code.google.com/p/flotsam/
1058 ;; or from the SimianGrid project at http://code.google.com/p/openmetaverse
1059 ; Module = Default
1060 ;; or... use Groups Module V2, which works for standalones and robust grids
1061 ; Module = "Groups Module V2"
1062
1063 ;# {StorageProvider} {Module:Groups Module V2} {The DLL that provides the storage for V2} {OpenSim.Data.MySQL.dll}
1064 ; StorageProvider = OpenSim.Data.MySQL.dll
1065
1066 ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector
1067 ;; Service connectors to the Groups Service as used in the GroupsModule. Select one as follows:
1068 ;; -- for Flotsam Groups use XmlRpcGroupsServicesConnector
1069 ;; -- for Simian Groups use SimianGroupsServicesConnector
1070 ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector"
1071 ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector"
1072 ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector"
1073 ;; Note that the quotes "" around the words are important!
1074 ; ServicesConnectorModule = XmlRpcGroupsServicesConnector
1075
1076 ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local
1077 ;; Used for V2 in HG only. If standalone, set this to local; if grided sim, set this to remote
1078 ; LocalService = local
1079
1080 ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} ""
1081 ;; Used for V2 in Remote only.
1082 ; SecretKey = ""
1083
1084 ;# {GroupsServerURI} {Module:GroupsModule (ServicesConnectorModule:Groups Remote Service Connector or (ServicesConnectorModule:Groups HG Service Connector and LocalService:remote))} {Groups Server URI} {}
1085 ;; URI for the groups services of this grid
1086 ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc
1087 ;; or http://mygridserver.com:82/Grid/ for SimianGrid
1088 ;; or ${Const|BaseURL}:${Const|PrivatePort} for robust, V2
1089 ;; Leave it commented for standalones, V2
1090 ; GroupsServerURI = ""
1091
1092 ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {}
1093 ;; Used for V2 in HG only. For example
1094 ;; http://mygridserver.com:9000 or http://mygridserver.com:8002
1095 ;; If you have this set under [Startup], no need to set it here, leave it commented
1096 ; HomeURI = ""
1097
1098 ;# {MessagingEnabled} {Module:GroupsModule Module:Groups Module V2} {Is groups messaging enabled?} {true false} true
1099 ; MessagingEnabled = true
1100
1101 ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule "Groups Messaging Module V2"} GroupsMessagingModule
1102 ; MessagingModule = GroupsMessagingModule
1103 ; or use "Groups Messaging Module V2" for Groups V2
1104 ; MessagingModule = "Groups Messaging Module V2"
1105
1106 ;# {NoticesEnabled} {Module:GroupsModule Module:Groups Module V2} {Enable group notices?} {true false} true
1107 ;; Enable Group Notices
1108 ; NoticesEnabled = true
1109
1110 ;# {MessageOnlineUsersOnly} {Module:GroupsModule Module} {Message online users only?} {true false} false
1111 ; Experimental option to only message online users rather than all users
1112 ; Should make large groups with few online members messaging faster, as the expense of more calls to presence service
1113 ; Applies Flotsam Group only. V2 has this always on, no other option
1114 ; MessageOnlineUsersOnly = false
1115
1116 ;; This makes the Group module very chatty on the console.
1117 ; DebugEnabled = false
1118
1119 ; This makes the Group Messaging module very chatty on the console.
1120 ; DebugMessagingEnabled = false
1121
1122 ;; XmlRpc Security settings. These must match those set on your backend
1123 ;; groups service if the service is using these keys
1124 ; XmlRpcServiceReadKey = 1234
1125 ; XmlRpcServiceWriteKey = 1234
1126
1127
1128[InterestManagement]
1129 ;# {UpdatePrioritizationScheme} {} {Update prioritization scheme?} {BestAvatarResponsiveness Time Distance SimpleAngularDistance FrontBack} BestAvatarResponsiveness
1130 ;; This section controls how state updates are prioritized for each client
1131 ;; Valid values are BestAvatarResponsiveness, Time, Distance,
1132 ;; SimpleAngularDistance, FrontBack
1133 ; UpdatePrioritizationScheme = BestAvatarResponsiveness
1134
1135 ; TEST OPTION KEEP AS FALSE
1136 ; if true, don't send object updates if outside view range
1137 ; ObjectsCullingByDistance = false
1138
1139[MediaOnAPrim]
1140 ;# {Enabled} {} {Enable Media-on-a-Prim (MOAP)} {true false} true
1141 ;; Enable media on a prim facilities
1142 ; Enabled = true
1143
1144
1145[NPC]
1146 ;# {Enabled} {} {Enable Non Player Character (NPC) facilities} {true false} false
1147 ; Enabled = false
1148
1149 ;; several options to control NPCs creation
1150
1151 ;# {AllowNotOwned} {} {allow NPCs to be created not Owned} {true false} true
1152 ;; allow NPCs to be created not Owned {true false} default: true
1153 ; AllowNotOwned = true
1154
1155 ;# {AllowSenseAsAvatar} {} {allow NPCs to set to be sensed as Avatars} {true false} true
1156 ;; allow NPCs to set to be sensed as Avatars {true false} default: true
1157 ; AllowSenseAsAvatar = true
1158
1159 ;# {AllowCloneOtherAvatars} {} {allow NPCs to created cloning any avatar in region} {true false} true
1160 ;; allow NPCs to created cloning any avatar in region {true false} default: true
1161 ; AllowCloneOtherAvatars = true
1162
1163 ;# {NoNPCGroup} {} {if true NPCs will have no group title, if false display "- NPC -"} {true false} true
1164 ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true
1165 ; NoNPCGroup = true
1166
1167
1168[Terrain]
1169 ;# {InitialTerrain} {} {Initial terrain type} {pinhead-island flat} pinhead-island
1170 ; InitialTerrain = "pinhead-island"
1171
1172[LandManagement]
1173 ;; set this to false to not display parcel ban lines
1174 ;ShowParcelBansLines = true
1175
1176[UserProfiles]
1177 ;# {ProfileServiceURL} {} {Set url to UserProfilesService} {}
1178 ;; Set the value of the url to your UserProfilesService
1179 ;; If un-set / "" the module is disabled
1180 ;; ProfileServiceURL = ${Const|BaseURL}:${Const|PublicPort}
1181
1182 ;# {AllowUserProfileWebURLs} {} {allow user profiles web urls} {true false} true
1183 ;; set this to false to prevent your users to be sent to unknown
1184 ;; web sites by other users on their profiles
1185 ; AllowUserProfileWebURLs = true
1186
1187[XBakes]
1188 ;# {URL} {} {Set URL for Baked texture service} {}
1189 ;; Sets the URL for the baked texture ROBUST service.
1190 ;; Disabled when unset.
1191 ;; URL = ${Const|BaseURL}:${Const|PrivatePort}
1192
1193;;
1194;; Optional module to highlight God names in the viewer.
1195;; Uncomment and customize appropriately if you want this behavior.
1196;;
1197;[GodNames]
1198; Enabled = false
1199; FullNames = "Test User, Foo Bar"
1200; Surnames = "Kryztlsk"
1201
1202[Architecture]
1203 ;# {Include-Architecture} {} {Choose one of the following architectures} {config-include/Standalone.ini config-include/StandaloneHypergrid.ini config-include/Grid.ini config-include/GridHypergrid.ini config-include/SimianGrid.ini config-include/HyperSimianGrid.ini} config-include/Standalone.ini
1204 ;; Uncomment one of the following includes as required. For instance, to create a standalone OpenSim,
1205 ;; uncomment Include-Architecture = "config-include/Standalone.ini"
1206 ;;
1207 ;; Then you will need to copy and edit the corresponding *Common.example file in config-include/
1208 ;; that the referenced .ini file goes on to include.
1209 ;;
1210 ;; For instance, if you chose "config-include/Standalone.ini" then you will need to copy
1211 ;; "config-include/StandaloneCommon.ini.example" to "config-include/StandaloneCommon.ini" before
1212 ;; editing it to set the database and backend services that OpenSim will use.
1213 ;;
1214 ; Include-Architecture = "config-include/Standalone.ini"
1215 ; Include-Architecture = "config-include/StandaloneHypergrid.ini"
1216 ; Include-Architecture = "config-include/Grid.ini"
1217 ; Include-Architecture = "config-include/GridHypergrid.ini"
1218 ; Include-Architecture = "config-include/SimianGrid.ini"
1219 ; Include-Architecture = "config-include/HyperSimianGrid.ini"
diff --git a/bin/OpenSim32.exe.config b/bin/OpenSim32.exe.config
new file mode 100644
index 0000000..9224240
--- /dev/null
+++ b/bin/OpenSim32.exe.config
@@ -0,0 +1,75 @@
1<configuration>
2 <configSections>
3 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
4 </configSections>
5 <startup>
6 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
7 </startup>
8 <runtime>
9 <loadFromRemoteSources enabled="true" />
10 </runtime>
11 <appSettings>
12 </appSettings>
13 <log4net>
14 <appender name="Console" type="OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console">
15 <filter type="log4net.Filter.LoggerMatchFilter">
16 <loggerToMatch value="special"/>
17 <acceptOnMatch value="false"/>
18 </filter>
19 <layout type="log4net.Layout.PatternLayout">
20 <conversionPattern value="%date{HH:mm:ss} - %message" />
21 <!-- console log with milliseconds. Useful for debugging -->
22 <!-- <conversionPattern value="%date{HH:mm:ss.fff} - %message" /> -->
23 </layout>
24 </appender>
25
26 <!-- If you want automatic log-rolling then use RollingFileAppender instead of FileAppender:
27 <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
28 <file value="log/OpenSim.log" />
29 <rollingStyle value="Date" />
30 <datePattern value="'.'yyyy-MM-dd"/>
31 ...
32-->
33
34 <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
35 <file value="OpenSim.log" />
36 <appendToFile value="true" />
37 <filter type="log4net.Filter.LoggerMatchFilter">
38 <loggerToMatch value="special"/>
39 <acceptOnMatch value="false"/>
40 </filter>
41 <layout type="log4net.Layout.PatternLayout">
42 <conversionPattern value="%date %-5level - %logger %message%newline" />
43 </layout>
44 </appender>
45
46 <appender name="StatsLogFileAppender" type="log4net.Appender.FileAppender">
47 <file value="OpenSimStats.log"/>
48 <appendToFile value="true" />
49 <layout type="log4net.Layout.PatternLayout">
50 <conversionPattern value="%date - %message%newline" />
51 </layout>
52 </appender>
53
54 <root>
55 <level value="DEBUG" />
56 <appender-ref ref="Console" />
57 <appender-ref ref="LogFileAppender" />
58 </root>
59
60 <!-- Independently control logging level for XEngine -->
61 <logger name="OpenSim.Region.ScriptEngine.XEngine">
62 <level value="INFO"/>
63 </logger>
64
65 <!-- Independently control logging level for per region module loading -->
66 <logger name="OpenSim.ApplicationPlugins.RegionModulesController.RegionModulesControllerPlugin">
67 <level value="INFO"/>
68 </logger>
69
70 <!-- used for stats recording -->
71 <logger name="special.StatsLogger">
72 <appender-ref ref="StatsLogFileAppender"/>
73 </logger>
74 </log4net>
75</configuration> \ No newline at end of file
diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini
new file mode 100644
index 0000000..a42c831
--- /dev/null
+++ b/bin/OpenSimDefaults.ini
@@ -0,0 +1,2579 @@
1; This file contains defaults for various settings in OpenSimulator. These can be overriden
2; by changing the same setting in OpenSim.ini (once OpenSim.ini.example has been copied to OpenSim.ini).
3
4
5[Includes]
6 ; Define your server specific constants in this file.
7 Include-Common = ../../config/config.ini
8
9
10[Startup]
11 ; Console prompt
12 ; Certain special characters can be used to customize the prompt
13 ; Currently, these are
14 ; \R - substitute region name
15 ; \\ - substtitue \
16 ConsolePrompt = "Region (\R) "
17
18 ; Console commands can be saved to a file, so the command history persists after a restart. (default is true)
19 ConsoleHistoryFileEnabled = true
20
21 ; Log file location. This can be set to a simple file path
22 LogFile = "${Paths|LogPath}/OpenSim.log"
23
24 ; The history file can be just a filename (relative to OpenSim's bin/ directory
25 ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/)
26 ConsoleHistoryFile = "${Paths|LogPath}/OpenSimConsoleHistory.txt"
27
28 ; How many lines of command history should we keep? (default is 100)
29 ConsoleHistoryFileLines = 100
30
31 ; Set this to true if you want to log crashes to disk
32 ; this can be useful when submitting bug reports.
33 ; However, this will only log crashes within OpenSimulator that cause the entire program to exit
34 ; It will not log crashes caused by virtual machine failures, which includes mono and ODE failures.
35 ; You will need to capture these native stack traces by recording the session log itself.
36 save_crashes = false
37
38 ; Directory to save crashes to if above is enabled
39 ; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt)
40 crash_dir = "crashes"
41
42 ; Place to create a PID file
43 ; PIDFile = "/tmp/OpenSim.exe.pid"
44
45 ; Console commands run at startup
46 startup_console_commands_file = "startup_commands.txt"
47
48 ; Console commands run on shutdown
49 shutdown_console_commands_file = "shutdown_commands.txt"
50
51 ; Console commands run every 20 minutes
52 ; timer_Script = "filename"
53
54 ; timer_Script time interval (default 20 min)
55 ; The time is 60 per minute
56 ; timer_Interval = 1200
57
58 ; ##
59 ; ## SYSTEM
60 ; ##
61
62 ; Sets the method that OpenSim will use to fire asynchronous
63 ; events. Valid values are UnsafeQueueUserWorkItem,
64 ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread.
65 ;
66 ; SmartThreadPool is reported to work well on Mono/Linux, but
67 ; UnsafeQueueUserWorkItem has been benchmarked with better
68 ; performance on .NET/Windows
69 ;
70 ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security
71 ; privileges. However, as calling code is trusted anyway this is safe (if you set
72 ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons).
73 async_call_method = SmartThreadPool
74
75 ; Max threads to allocate on the FireAndForget thread pool
76 ; when running with the SmartThreadPool option above
77 MaxPoolThreads = 300
78
79 ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently.
80 ; This improves performance in regions with large numbers of connections (in the hundreds).
81 JobEngineEnabled = true
82
83 ; Plugin Registry Location
84 ; Set path to directory for plugin registry. Information about the
85 ; registered repositories and installed plugins will be stored here.
86 ; The OpenSim.exe process must have R/W access to the location.
87 RegistryLocation = "."
88
89 ; Used by region module addins. You can set this to outside bin, so that addin
90 ; configurations will survive updates. The OpenSim.exe process must have R/W access
91 ; to the location.
92 ConfigDirectory = "."
93
94 ; ##
95 ; ## CLIENTS
96 ; ##
97
98 ; Set this to the DLL containing the client stack to use.
99 clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll"
100
101 ; ##
102 ; ## REGIONS
103 ; ##
104
105 ; Determine where OpenSimulator looks for the files which tell it which regions to server
106 ; Defaults to "filesystem" if this setting isn't present
107 region_info_source = "filesystem"
108 ; region_info_source = "web"
109
110 ; Determines where the region XML files are stored if you are loading these from the filesystem.
111 ; Defaults to bin/Regions in your OpenSimulator installation directory
112 regionload_regionsdir="Regions"
113
114 ; Determines the page from which regions xml is retrieved if you are loading these from the web
115 ; The XML here has the same format as it does on the filesystem (including the <Root> tag),
116 ; except that everything is also enclosed in a <Regions> tag.
117 ; regionload_webserver_url = "http://example.com/regions.xml"
118
119 ;; Allow the simulator to start up if there are no region configuration available
120 ;; from the selected region_info_source.
121 allow_regionless = false
122
123 ;; Allow child agents to see into the region even if their root counterpart isn't allowed in here
124 see_into_region = false
125
126 ;; use legacy math for sittarget offset "correction"
127 ;; set this option to false to use improved math more compatibility with SL.
128 ;; keep it true if you have many old objects with sits set by scripts.
129 ;; the offset in question is added to the SitTarget to find the sitting avatar position.
130 ;; acording to its size, etc.
131 LegacySitOffsets = false
132
133 ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos
134 ; Increasing this number will increase memory usage.
135 MaxPrimUndos = 20
136
137 ; Minimum size for non-physical prims.This can be overridden in the region config file (as
138 ; NonPhysicalPrimMin!).
139 ; NonPhysicalPrimMin = 0.001
140
141 ; Maximum size of non physical prims. Affects resizing of existing prims. This can be overridden in the region config file (as NonPhysicalPrimMax!).
142 NonPhysicalPrimMax = 2560
143
144 ; Minimum size where a prim can be physical. This can be overridden in the region config file.
145 ; PhysicalPrimMin = 0.01
146
147 ; Maximum size of physical prims. Affects resizing of existing prims. This can be overridden in the region config file.
148 PhysicalPrimMax = 640
149
150 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum
151 ; This can be overridden in the region config file.
152 ClampPrimSize = false
153
154 ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative.
155 ClampNegativeZ = false
156
157 ; Maximum number of prims allowable in a linkset. Affects creating new linksets. Ignored if less than or equal to zero.
158 ; This can be overridden in the region config file.
159 LinksetPrims = 0
160
161 ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region.
162 ; This only applies when crossing to a region running in a different simulator.
163 ; For crossings where the regions are on the same simulator the script is always kept running.
164 AllowScriptCrossing = true
165
166 ; Allow compiled script binary code to cross region boundaries.
167 ; If you set this to "true", any region that can teleport to you can
168 ; inject ARBITRARY BINARY CODE into your system. Use at your own risk.
169 ; YOU HAVE BEEN WARNED!!!
170 TrustBinaries = false
171
172 ; the default view range. Viewers override this ( no major effect still )
173 DefaultDrawDistance = 1024.0
174
175 ; limit the maximum view range ( no effect still (does limit MaxRegionsViewDistance) )
176 MaxDrawDistance = 1024
177
178 ; the maximum distance to tell a viewer to connect to a neighbour region, so it can be seen
179 ; (it is limited by MaxDrawDistance above)
180 ; less than 256 shows imediate neighbours; 512 also second imediate neighbours etc
181 ; more than 512m can cause viewers problems specially in case of dense regions.
182 ; curretly this distance is from current region borders.
183 MaxRegionsViewDistance = 1024
184
185 ; If you have only one region in an instance, or to avoid the many bugs
186 ; that you can trigger in modules by restarting a region, set this to
187 ; true to make the entire instance exit instead of restarting the region.
188 ; This is meant to be used on systems where some external system like
189 ; Monit will restart any instance that exits, thereby making the shutdown
190 ; into a restart.
191 InworldRestartShutsDown = true
192
193 ; Use of normalized 55FPS statistics
194 ; Opensim does not have a frame rate control like other simulators.
195 ; Most parameters that control timing can be configurable region by region.
196 ; To achieve closer compatibility with values expected by viewers, scripts and users
197 ; some parameters are converted to a equivalent per frame value.
198 ; Additionally, they are scaled to values they would have on a system running at a nominal 55 frames per second rate.
199 ; The scale factor it 55 * FrameTime, corresponding to 5 with default configuration
200 ; You can choose to show the true physics FPS to viewers by setting Normalized55FPS to false.
201 ; Normalized55FPS = true
202
203 ; Main Frame time
204 ; This defines the rate of several simulation events.
205 ; Default value should meet most needs.
206 ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads.
207 ; It should not be less than the physics engine step time.
208 ; Being a integer multiple of it may reduce some jitter in reported physics FPS.
209 ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same
210 FrameTime = 0.0909
211
212 ; The values below represent the percentage of the target frame time that,
213 ; when underrun, should trigger yellow or red in the lag meter.
214 ; Less than 60% of FPS is amber by default, less then 40% is red.
215 ; These values are advisory. Viewers may choose to not use them but it is
216 ; encouraged that they do.
217 ; FrameTimeWarnPercent = 60
218 ; FrameTimeCritPercent = 40
219
220 ; Send scheduled updates to objects in the scene
221 ; This must be a whole number
222 UpdateObjectsEveryNFrames = 1
223
224 ; Send position/velocity, etc. updates to agents in the scene
225 ; This must be a whole number
226 UpdateAgentsEveryNFrames = 1
227
228 ; Apply pending forces from physics calculations to an entity.
229 ; This must be a whole number
230 UpdateEntityMovementEveryNFrames = 1
231
232 ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap.
233 ; This must be a whole number
234 UpdateCoarseLocationsEveryNFrames = 50
235
236 ; Physics simulation execution or syncronization, acording to engine. Should be 1
237 ; This must be a whole number
238 UpdatePhysicsEveryNFrames = 1
239
240 ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1.
241 ; This must be a whole number
242 UpdateEventsEveryNFrames = 1
243
244 ; Send terrain updates to viewers
245 ; This must be a whole number
246 UpdateTerrainEveryNFrames = 50
247
248 ; Persitently store any objects which meet the PRIM STORAGE criteria
249 ; This must be a whole number
250 UpdateStorageEveryNFrames = 200
251
252 ; Clean up temp on rez objects.
253 ; This must be a whole number
254 UpdateTempCleaningEveryNSeconds = 180
255
256 ; ##
257 ; ## PRIM STORAGE
258 ; ##
259
260 ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to
261 ; prevent frequently changing objects from heavily loading the region data store.
262 ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep.
263 ;
264 ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds
265 MinimumTimeBeforePersistenceConsidered = 60
266 ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago
267 MaximumTimeBeforePersistenceConsidered = 600
268
269 ; ##
270 ; ## PHYSICS
271 ; ##
272
273 ; If true then prims can be collided with by avatars, other prims, etc.
274 ; If false then all prims are phantom, no matter whether their phantom flag is checked or unchecked.
275 ; Also, no prims are subject to physics.
276 collidable_prim = true
277
278 ; If true then prims can be made subject to physics (gravity, pushing, etc.).
279 ; If false then physics flag can be set but it is not honoured. However, prims are still solid for the purposes of collision direction
280 physical_prim = true
281
282 ; Select a mesher here.
283 ;
284 ; Meshmerizer properly handles complex prims by using triangle meshes.
285 ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way
286 ;
287 ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports
288 ; Usually this is only a box
289
290 ;meshing = Meshmerizer
291 ;meshing = ZeroMesher
292 ;; select ubODEMeshmerizer only with ubOde physics engine
293 meshing = ubODEMeshmerizer
294
295 ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit
296 ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions
297 ; edit the line ulimit -s 262144, and change this last value
298
299 ; Path to decoded sculpty maps
300 ; Defaults to "j2kDecodeCache
301 ;DecodedSculptMapPath = "j2kDecodeCache"
302
303 ; if you use Meshmerizer and want sculpt map collisions, setting this to
304 ; to true will store decoded sculpt maps in a special folder in your bin
305 ; folder, which can reduce startup times by reducing asset requests. Some
306 ; versions of mono dont work well when reading the cache files, so set this
307 ; to false if you have compatibility problems.
308 CacheSculptMaps = true
309
310 ;; BulletSim is the default physics engine. It provides the best performance and most functionality.
311 ;; BulletSim supports varregions.
312 ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before.
313 ;; It continues to provide a workable physics implementation. It does not currently support varregions.
314 ;; basicphysics effectively does not model physics at all, making all objects phantom.
315 ;; Default is BulletSim
316 ;physics = BulletSim
317 ;physics = modified_BulletX
318 ;physics = OpenDynamicsEngine
319 ;physics = basicphysics
320 ;physics = POS
321 ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also
322 physics = ubODE
323
324 ; ##
325 ; ## SCRIPT ENGINE
326 ; ##
327
328 ;; Default script engine to use. Currently, we only have XEngine
329 DefaultScriptEngine = "XEngine"
330
331 ; Http proxy setting for llHTTPRequest and dynamic texture loading, if
332 ; required
333 ; HttpProxy = "http://proxy.com:8080"
334
335 ; If you're using HttpProxy, then you can set HttpProxyExceptions to a
336 ; list of regular expressions for URLs that you don't want to go through
337 ; the proxy.
338 ; For example, servers inside your firewall.
339 ; Separate patterns with a ';'
340 ; HttpProxyExceptions = ".mydomain.com;localhost"
341
342 ; ##
343 ; ## EMAIL MODULE
344 ; ##
345 ;; The email module requires some configuration. It needs an SMTP
346 ;; server to send mail through.
347 ;emailmodule = DefaultEmailModule
348
349 ; ##
350 ; ## ANIMATIONS
351 ; ##
352
353 ; If enabled, enableFlySlow will change the primary fly state to
354 ; FLYSLOW, and the "always run" state will be the regular fly.
355 enableflyslow = false
356
357 ; PreJump is an additional animation state, but it probably
358 ; won't look right until the physics engine supports it
359 ; (i.e delays takeoff for a moment)
360
361 ; #
362 ; # statistics
363 ; #
364
365 ; Simulator statistics are output to the console periodically at debug level INFO.
366 ; Setting this to zero disables this output.
367 LogShowStatsSeconds = 0
368
369 ; Simulator Stats URI
370 ; Enable JSON simulator data by setting a URI name (case sensitive)
371 ; Returns regular sim stats (SimFPS, ...)
372 Stats_URI = "jsonSimStats"
373
374 ; Simulator StatsManager URI
375 ; Enable fetch of StatsManager registered stats. Fetch is query which can optionally
376 ; specify category, container and stat to fetch. If not selected, returns all of that type.
377 ; http://simulatorHTTPport/ManagedStats/?cat=Category&cont=Container&stat=Statistic
378 ; ManagedStatsRemoteFetchURI = "ManagedStats"
379
380 ; Make OpenSim start all regions with logins disabled. They will need
381 ; to be enabled from the console if this is set
382 StartDisabled = false
383
384 ; Image decoding. Use CSJ2K for layer boundary decoding if true,
385 ; OpenJPEG if false
386 ; UseCSJ2K = true
387
388 ; Use "Trash" folder for items deleted from the scene
389 ; When set to True (the default) items deleted from the scene will be
390 ; stored in the user's trash or lost and found folder. When set to
391 ; False items will be removed from the scene permanently
392 UseTrashOnDelete = True
393
394 ; #
395 ; # Logging
396 ; #
397
398 ; Force logging when the thread pool approaches an overload condition
399 ; Provides useful data for post-mortem analysis even in a production
400 ; system with reduced logging
401 LogOverloads = True
402
403 ; #
404 ; # Telehubs
405 ; #
406
407 ; SpawnPointRouting adjusts the landing for incoming avatars.
408 ; "closest" will place the avatar at the SpawnPoint located in the closest
409 ; available spot to the destination (typically map click/landmark).
410 ; "random" will place the avatar on a randomly selected spawnpoint;
411 ; "sequence" will place the avatar on the next sequential SpawnPoint
412 SpawnPointRouting = random
413
414 ; TelehubAllowLandmark allows users with landmarks to override telehub
415 ; routing and land at the landmark coordinates when set to true
416 ; default is false
417 TelehubAllowLandmark = true
418
419
420; Normally this section goes in the ThisSim.ini file, but this is common for all.
421[Region]
422 InternalAddress = "0.0.0.0"
423 ExternalHostName = "${Const|HostName}"
424
425
426[Map]
427 ; Map tile options.
428 ; If true, then maptiles are generated using the MapImageModule below.
429 ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden
430 ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need
431 ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/
432 GenerateMaptiles = true
433
434 ;WorldMapModule = "WorldMap"
435
436 ; The module to use in order to generate map images.
437 ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can
438 ; generate better images.
439 MapImageModule = "Warp3DImageModule"
440
441 ; World map blacklist timeout in seconds
442 ;BlacklistTimeout = 600
443
444 ; Refresh (in seconds) the map tile periodically
445 MaptileRefresh = 0
446
447 ; If not generating maptiles, use this static texture asset ID
448 ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
449
450 ; Draw objects on maptile. This step might take a long time if you've got a large number of
451 ; objects, so you can turn it off here if you'd like.
452 DrawPrimOnMapTile = true
453
454 ; Use terrain texture for maptiles if true, use shaded green if false
455 TextureOnMapTile = true
456
457 ; Texture prims
458 TexturePrims = true
459
460 ; Only texture prims that have a diagonal size greater than this number
461 TexturePrimSize = 1
462
463 ; Attempt to render meshes and sculpties on the map
464 RenderMeshes = true;
465
466 ; where to store cached map tiles.
467 CacheDirectory = "${Paths|CachePath}/MapImageCache"
468
469 ; Draw map position at bottom right.
470 enablePosition = true
471
472 ; Refresh the cached map tile once a month.
473 ;RefreshEveryMonth = true
474
475 ;# {MapColorWater} {} {Water color for textured and shaded maps} {"#1D475F"}
476 ; MapColorWater = "#3399FF"
477
478 ;# {MapColor1} {} {Terrain color 1 for textured maps} {"#A58976"}
479 ; MapColor1 = "#A58976"
480
481 ;# {MapColor2} {} {Terrain color 2 for textured maps} {"#455931"}
482 ; MapColor2 = "#455931"
483
484 ;# {MapColor3} {} {Terrain color 3 for textured maps} {"#A29A8D"}
485 ; MapColor3 = "#A29A8D"
486
487 ;# {MapColor4} {} {Terrain color 4 for textured maps} {"#C8C8C8"}
488 ; MapColor4 = "#C8C8C8"
489
490
491[Permissions]
492 ; ##
493 ; ## PERMISSIONS
494 ; ##
495
496 ; Permission modules to use, separated by comma.
497 ; Possible modules are DefaultPermissionsModule, PrimLimitsModule
498 permissionmodules = "DefaultPermissionsModule"
499
500 ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy
501 ; any item, etc. This may not yet be implemented uniformally.
502 ; If set to true, then all permissions checks are carried out
503 ; Default is true
504 serverside_object_permissions = true
505
506
507 ; This allows some control over permissions
508 ; please note that this still doesn't duplicate SL, and is not intended to
509
510 ; This allows grid users with a UserLevel of 200 or more to assume god
511 ; powers in the regions in this simulator.
512 allow_grid_gods = true
513
514 ; Allow region owners to assume god powers in their regions
515 ;region_owner_is_god = true
516
517 ; Allow region managers to assume god powers in regions they manage
518 ;region_manager_is_god = false
519
520 ; God mode should be turned on in the viewer whenever
521 ; the user has god rights somewhere. They may choose
522 ; to turn it off again, though.
523 automatic_gods = false
524
525 ; The user can execute any and all god functions, as
526 ; permitted by the viewer UI, without actually "godding
527 ; up". This is the default state in 0.8.2.
528 implicit_gods = true
529
530 ; Control user types that are allowed to create new scripts
531 ; Only enforced if serviceside_object_permissions is true
532 ;
533 ; Current possible values are
534 ; all - anyone can create scripts (subject to normal permissions)
535 ; gods - only administrators can create scripts (as long as allow_grid_gods is true)
536 ; Default value is all
537 ; allowed_script_creators = all
538
539 ; Control user types that are allowed to edit (save) scripts
540 ; Only enforced if serviceside_object_permissions is true
541 ;
542 ; Current possible values are
543 ; all - anyone can edit scripts (subject to normal permissions)
544 ; gods - only administrators can edit scripts (as long as allow_grid_gods is true)
545 ; Default value is all
546 ; allowed_script_editors = all
547
548 ; Provides a simple control for land owners to give build rights to specific avatars
549 ; in publicly accessible parcels that disallow object creation in general.
550 ; Owners specific avatars by adding them to the Access List of the parcel
551 ; without having to use the Groups feature
552 ; Disabled by default
553 ; simple_build_permissions = False
554
555 ; Minimum user level required to upload assets
556 ;LevelUpload = 0
557
558
559[RegionReady]
560 ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled
561 enabled = true
562
563 ; Channel on which to signal region readiness through a message
564 ; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]"
565 ; - the first field indicating whether this is an initial server startup
566 ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error)
567 ; - the third field is a number indicating how many scripts failed to compile
568 ; - "oar error" if supplied, provides the error message from the OAR load
569 channel_notify = 0
570
571 ; - disallow logins while scripts are loading
572 ; Instability can occur on regions with 100+ scripts if users enter before they have finished loading
573 login_disable = false
574
575 ; - send an alert as json to a service
576 ; alert_uri = "http://myappserver.net/my_handler/"
577
578
579[EstateManagement]
580 ; If false, then block any region restart requests from the client even if they are otherwise valid.
581 ; Default is true
582 AllowRegionRestartFromClient = true
583
584
585[Estates]
586 ; If these values are commented out then the user will be asked for estate details when required (this is the normal case).
587 ; If these values are uncommented then they will be used to create a default estate as necessary.
588 ; New regions will be automatically assigned to that default estate.
589
590 ;# {DefaultEstateName} {} {Default name for estate?} {} My Estate
591 ;; Name for the default estate
592 ; DefaultEstateName = My Estate
593
594 ;# {DefaultEstateOwnerName} {} {Default estate owner name?} {} FirstName LastName
595 ;; Name for default estate owner
596 ; DefaultEstateOwnerName = FirstName LastName
597
598
599 ; ** Standalone Estate Settings **
600 ; The following parameters will only be used on a standalone system to
601 ; create an estate owner that does not already exist
602
603 ;# {DefaultEstateOwnerUUID} {} {Default estate owner UUID?} {} 00000000-0000-0000-0000-000000000000
604 ;; If DefaultEstateOwnerUUID is left at UUID.Zero (as below) then a random
605 ;; UUID will be assigned. This is normally what you want
606 ; DefaultEstateOwnerUUID = 00000000-0000-0000-0000-000000000000
607
608 ;# {DefaultEstateOwnerEMail} {} {Default estate owner email?} {}
609 ;; Email address for the default estate owner
610 ; DefaultEstateOwnerEMail = owner@domain.com
611
612 ;# {DefaultEstateOwnerPassword} {} {Default estate owner password} {}
613 ;; Password for the default estate owner
614 ; DefaultEstateOwnerPassword = password
615
616
617[UserProfiles]
618 ;; Set the value of the url to your UserProfilesService
619 ;; If un-set / "" the module is disabled
620 ;; If the ProfileServiceURL is not set, then very BASIC
621 ;; profile support will be configured. If the ProfileServiceURL is set to a
622 ;; valid URL, then full profile support will be configured. The URL
623 ;; points to your grid's Robust user profiles service
624 ;;
625 ProfileServiceURL = ${Const|GridURL}:${Const|PublicPort}
626
627 ;; set this to false to prevent your users to be sent to unknown
628 ;; web sites by other users on their profiles
629 ; AllowUserProfileWebURLs = true
630
631
632[SMTP]
633 ;; The SMTP server enabled the email module to send email to external
634 ;; destinations.
635
636 ;# {enabled} {[Startup]emailmodule:DefaultEmailModule} {Enable SMTP service?} {true false} false
637 ;; Enable sending email via SMTP
638 enabled = false
639
640 ;# {internal_object_host} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Host name to treat as internal (object to object) email?} {} lsl.opensim.local
641 ; internal_object_host = lsl.opensim.local
642
643 ;# {host_domain_header_from} {[Startup]emailmodule:DefaultEmailModule enabled:true} {From address to use in the sent email header?} {} 127.0.0.1
644 ; host_domain_header_from = "127.0.0.1"
645
646 ;# {email_pause_time} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Period in seconds to delay after an email is sent.} {} 20
647 ; email_pause_time = 20
648
649 ;# {email_max_size} {[Startup]emailmodule:DefaultEmailModule enabled:true} {Maximum total size of email in bytes.} {} 4096
650 ; email_max_size = 4096
651
652 ;# {SMTP_SERVER_HOSTNAME} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {} 127.0.0.1
653 ; SMTP_SERVER_HOSTNAME = "127.0.0.1"
654
655 ;# {SMTP_SERVER_PORT} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server name?} {SMTP server port?} {} 25
656 ; SMTP_SERVER_PORT = 25
657
658 ;# {SMTP_SERVER_LOGIN} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server user name?} {}
659 ; SMTP_SERVER_LOGIN = ""
660
661 ;# {SMTP_SERVER_PASSWORD} {[Startup]emailmodule:DefaultEmailModule enabled:true} {SMTP server password} {}
662 ; SMTP_SERVER_PASSWORD = ""
663
664
665[Network]
666 ;; Configure the remote console user here. This will not actually be used
667 ;; unless you use -console=rest at startup.
668 ;ConsoleUser = "Test"
669 ;ConsolePass = "secret"
670 ;console_port = 0
671
672 ;# {http_listener_port} {} {TCP Port for this simulator to listen on? (This must be unique to the simulator!)} {} 9000
673 ;; Simulator HTTP port. This is not the region port, but the port the
674 ;; entire simulator listens on. This port uses the TCP protocol, while
675 ;; the region ports use UDP.
676 ;http_listener_port = 9000
677
678 ; ssl config: Experimental! The auto https config only really works definately on windows XP now
679 ; you need a Cert Request/Signed pair installed in the MY store with the CN specified below
680 ; you can use https on other platforms, but you'll need to configure the httpapi yourself for now
681 http_listener_ssl = false ; Also create a SSL server
682 http_listener_cn = "localhost" ; Use the cert with the common name
683 http_listener_sslport = 9001 ; Use this port for SSL connections
684 http_listener_ssl_cert = "" ; Currently unused, but will be used for OSHttpServer
685
686 ; HTTPS for "Out of band" management applications such as the remote
687 ; admin module
688 ;
689 ; Create https_listener = "True" will create a listener on the port
690 ; specified. Provide the path to your server certificate along with it's
691 ; password
692 ; https_listener = False
693 ; Set our listener to this port
694 ; https_port = 0
695 ; Path to X509 certificate
696 ; cert_path = "path/to/cert.p12"
697 ; Password for cert
698 ; cert_pass = "password"
699
700 ; By default, OpenSimulator does not allow scripts to make HTTP calls to addresses on the simulator's LAN.
701 ; See the OutboundDisallowForUserScripts parameter in OpenSimDefaults.ini for more information on this filter.
702 ; If you need to allow scripts to make some LAN calls use the OutboundDisallowForUserScriptsExcept parameter below.
703 ; We recommend that you do not override OutboundDisallowForUserScripts directly unless you are very sure about what you're doing.
704 ;
705 ; You can whitelist individual endpoints by IP or FQDN, e.g.
706 ;
707 ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003
708 ;
709 ; You can specify multiple addresses by separating them with a bar. For example,
710 ;
711 ; OutboundDisallowForUserScriptsExcept = 192.168.1.3:8003|myinternalserver:8000
712 ;
713 ; If an address if given without a port number then port 80 is assumed
714 ;
715 ; You can also specify a network range in CIDR notation to whitelist, e.g.
716 ;
717 ; OutboundDisallowForUserScriptsExcept = 192.168.1.0/24
718 ;
719 ; to whitelist all ports on addresses 192.168.1.0 to 192.168.1.255
720 ; To specify an individual IP address use the /32 netmask
721 ;
722 ; OutboundDisallowForUserScriptsExcept = 192.168.1.2/32
723 ;
724 ; See http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation for more information on CIDR notation
725
726 ; Maximum bytes allowed for HTTP_BODY_MAXLENGTH.
727 ; By default, llHTTPRequest limits the response body to 2048 bytes.
728 ; This limit can be extended using HTTP_BODY_MAXLENGTH to a maximum
729 ; of HttpBodyMaxLenMAX bytes.
730 ; Please be aware that the limit can be set to insanely high values,
731 ; effectively removing any limitation. This will expose your sim to a
732 ; known attack. It is not recommended to set this limit higher than
733 ; the highest value that is actually needed by existing applications!
734 ; 16384 is the SL compatible value.
735 ; HttpBodyMaxLenMAX=16384
736
737 ; Hostname to use in llRequestURL/llRequestSecureURL
738 ; if not defined - llRequestURL/llRequestSecureURL are disabled
739 ; ExternalHostNameForLSL=127.0.0.1
740 ExternalHostNameForLSL = "${Const|HostName}"
741
742 ; Disallow the following address ranges for user scripting calls (e.g. llHttpRequest())
743 ; This is based on http://en.wikipedia.org/wiki/Reserved_IP_addresses
744 ; This stops users making HTTP calls to machines in the simulator's local network.
745 ; If you need to allow some LAN calls we recommend you use OutboundDisallowForUserScriptsExcept documented in OpenSim.ini.example
746 ; If you override OutboundDisallowForUserScripts directly you need to be very careful.
747 ;
748 ; Network ranges are specified in CIDR notation (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) with multiple entries separated by |
749 ; To specify an individual IP address use the /32 netmask (e.g. 192.168.1.3/32)
750 ; You can also specify individual <addr>:<port> endpoints (e.g. 192.168.1.3:8003)
751 ; If an address if given without a port number then port 80 is assumed.
752 OutboundDisallowForUserScripts = 0.0.0.0/8|10.0.0.0/8|100.64.0.0/10|127.0.0.0/8|169.254.0.0/16|172.16.0.0/12|192.0.0.0/24|192.0.2.0/24|192.88.99.0/24|192.168.0.0/16|198.18.0.0/15|198.51.100.0/24|203.0.113.0/24|224.0.0.0/4|240.0.0.0/4|255.255.255.255/32
753 ;
754 ; You can also prevent all user script outgoing calls with the following override in OpenSim.ini
755 ;
756 ; OutboundDisallowForUserScripts = 0.0.0.0/0
757 ;
758 ; You can also disable the blacklist entirely with an empty entry
759 ;
760 ; OutboundDisallowForUserScripts = ""
761
762 ; What is reported as the "X-Secondlife-Shard"
763 ; Defaults to the user server url if not set
764 ; The old default is "OpenSim", set here for compatibility
765 shard = "OpenSim"
766
767 ; What is reported as the "User-Agent" when using llHTTPRequest
768 ; Defaults to not sent if not set here. See the notes section in the wiki at
769 ; http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding
770 ; " (Mozilla Compatible)" to the text where there are problems with a web server
771 ;user_agent = "OpenSim LSL (Mozilla Compatible)"
772
773 ;; The following 3 variables are for HTTP Basic Authentication for the Robust services.
774 ;; Use this if your central services in port 8003 need to be accessible on the Internet
775 ;; but you want to protect them from unauthorized access. The username and password
776 ;; here need to match the ones in the Robust service configuration.
777 ; AuthType = "BasicHttpAuthentication"
778 ; HttpAuthUsername = "some_username"
779 ; HttpAuthPassword = "some_password"
780 ;;
781 ;; Any of these 3 variables above can be overriden in any of the service sections.
782
783 ; OpenSim can send multiple simultaneous requests for services such as asset
784 ; retrieval. However, some versions of mono appear to hang when there are too
785 ; many simultaneous requests, default is 30 and is currently applied only to assets
786 ;MaxRequestConcurrency = 30
787
788
789[AccessControl]
790 ; Viewer-based access control. |-separated list of allowed viewers.
791 ;; One can use a substring of the viewer name to enable only certain
792 ;; versions
793 ;; Example: Agent uses the viewer "Imprudence 1.3.2.0"
794 ;; - "Imprudence" has access
795 ;; - "Imprudence 1.3" has access
796 ;; - "Imprudence 1.3.1" has no access
797 ; AllowedClients = ""
798
799 ; Viewer-based access control. |-separated list of denied viewers.
800 ;; One can use a Substring of the viewer name to disable only certain
801 ;; versions
802 ;; Example: Agent uses the viewer "Imprudence 1.3.2.0"
803 ;; - "Imprudence" has no access
804 ;; - "Imprudence 1.3" has no access
805 ;; - "Imprudence 1.3.1" has access
806 ; No restrictions by default.
807 ; DeniedClients = ""
808
809
810[XMLRPC]
811 ;# {XmlRpcRouterModule} {} {Module used to route incoming llRemoteData calls} {XmlRpcRouterModule XmlRpcGridRouterModule} XmlRpcRouterModule
812 ;; If enabled and set to XmlRpcRouterModule, this will post an event,
813 ;; "xmlrpc_uri(string)" to the script concurrently with the first
814 ;; remote_data event. This will contain the fully qualified URI an
815 ;; external site needs to use to send XMLRPC requests to that script
816 ;;
817 ;; If enabled and set to XmlRpcGridRouterModule, newly created channels
818 ;; will be registered with an external service via a configured uri
819 ;XmlRpcRouterModule = "XmlRpcRouterModule"
820
821 ;# {XmlRpcPort} {} {Port for incoming llRemoteData xmlrpc calls} {} 20800
822 ;XmlRpcPort = 20800
823
824 ;# {XmlRpcHubURI} {XmlRpcRouterModule} {URI for external service used to register xmlrpc channels created in the simulator. This depends on XmlRpcRouterModule being set to XmlRpcGridRouterModule} {} http://example.com
825 ;; If XmlRpcRouterModule is set to XmlRpcGridRouterModule, the simulator
826 ;; will use this address to register xmlrpc channels on the external
827 ;; service
828 ; XmlRpcHubURI = http://example.com
829
830
831[ClientStack.LindenUDP]
832 ; The client socket receive buffer size determines how many
833 ; incoming requests we can process; the default on .NET is 8192
834 ; which is about 2 4k-sized UDP datagrams. On mono this is
835 ; whatever the underlying operating system has as default; for
836 ; example, ubuntu 8.04 or SLES11 have about 111k, which is about
837 ; 27 4k-sized UDP datagrams (on linux platforms you can [as root]
838 ; do "sysctl net.core.rmem_default" to find out what your system
839 ; uses a default socket receive buffer size.
840 ;
841 ; client_socket_rcvbuf_size allows you to specify the receive
842 ; buffer size LLUDPServer should use. NOTE: this will be limited
843 ; by the system's settings for the maximum client receive buffer
844 ; size (on linux systems you can set that with "sysctl -w
845 ; net.core.rmem_max=X")
846 ;
847 ;client_socket_rcvbuf_size = 8388608
848
849 ; Maximum outbound bytes per second for a single scene. This can be used to
850 ; throttle total outbound UDP traffic for a simulator. The default value is
851 ; 0, meaning no throttling at the scene level. The example given here is
852 ; 20 megabits
853 ;
854 ;scene_throttle_max_bps = 2500000
855
856 ; Maximum bytes per second to send to any single client. This will override
857 ; the user's viewer preference settings. The default value is 0, meaning no
858 ; aggregate throttling on clients (only per-category throttling). The
859 ; example given here is 1.5 megabits
860 ;
861 ;client_throttle_max_bps = 187500
862
863 ; Minimum bytes per second to send to any single client as a result of
864 ; adaptive throttling. Viewer preferences set to a lower number will
865 ; override the settin. The example given here ensures that adaptive
866 ; throttling will never decrease per client bandwidth below 256 kbps.
867 ;
868 ;adaptive_throttle_min_bps = 32000
869
870 ; Adaptive throttling attempts to limit network overload when multiple
871 ; clients login by starting each connection more slowly. Disabled by
872 ; default
873 ;
874 enable_adaptive_throttles = true
875
876 ; Per-client bytes per second rates for the various throttle categories.
877 ; These are default values that will be overridden by clients. These
878 ; defaults are approximately equivalent to the throttles set by the Imprudence
879 ; viewer when maximum bandwidth is set to 350kbps
880
881 ;resend_default = 6625
882 ;land_default = 9125
883 ;wind_default = 1750
884 ;cloud_default = 1750
885 ;task_default = 18500
886 ;texture_default = 18500
887 ;asset_default = 10500
888
889 ; Configures how ObjectUpdates are aggregated. These numbers
890 ; do not literally mean how many updates will be put in each
891 ; packet that goes over the wire, as packets are
892 ; automatically split on a 1400 byte boundary. These control
893 ; the balance between responsiveness of interest list updates
894 ; and total throughput. Higher numbers will ensure more full-
895 ; sized packets and faster sending of data, but more delay in
896 ; updating interest lists
897 ;
898 ;PrimUpdatesPerCallback = 100
899
900 ; TextureSendLimit determines how many packets will be put on
901 ; the outgoing queue each cycle. Like the settings above, this
902 ; is a balance between responsiveness to priority updates and
903 ; total throughput. Higher numbers will give a better
904 ; throughput at the cost of reduced responsiveness to client
905 ; priority changes or transfer aborts
906 ;
907 ;TextureSendLimit = 20
908
909 ; CannibalizeTextureRate allows bandwidth to be moved from the
910 ; UDP texture throttle to the task throttle. Since most viewers
911 ; use HTTP textures, this provides a means of using what is largely
912 ; unused bandwidth in the total throttle. The value is the proportion
913 ; of the texture rate to move to the task queue. It must be between
914 ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the
915 ; bandwidth is grabbed)
916 ;
917 ; CannibalizeTextureRate = 0.5
918
919 ; Quash and remove any light properties from attachments not on the
920 ; hands. This allows flashlights and lanterns to function, but kills
921 ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps
922 ; will also be affected.
923 ;
924 DisableFacelights = true
925
926 ; The time to wait before disconecting an unresponsive client.
927 ; The time is in seconds. The default is one minute
928 ;
929 ;AckTimeout = 60
930
931 ; The time to wait before disconecting an unresponsive paused client.
932 ; A client can be paused when the file selection dialog is open during file upload.
933 ; This gives extra time to find files via the dialog but will still disconnect if
934 ; the client crashes or loses its network connection
935 ; The time is in seconds. The default is five minutes.
936 ;
937 ;PausedAckTimeout = 300
938
939
940[ClientStack.LindenCaps]
941 ;; Long list of capabilities taken from
942 ;; http://wiki.secondlife.com/wiki/Current_Sim_Capabilities
943 ;; Not all are supported by OpenSim. The ones supported are
944 ;; set to localhost. These defaults can be overwritten
945 ;; in OpenSim.ini
946 ;; Possible values are:
947 ;; "" -- empty, capability disabled
948 ;; "localhost" -- capability enabled and served by the simulator
949 ;; "<url>" -- capability enabled and served by some other server
950 ;;
951 ; These are enabled by default to localhost. Change if you see fit.
952 ;;
953 Cap_AttachmentResources = ""
954 Cap_ChatSessionRequest = ""
955 Cap_CopyInventoryFromNotecard = "localhost"
956 Cap_DispatchRegionInfo = ""
957 Cap_EstateChangeInfo = ""
958 Cap_EnvironmentSettings = "localhost"
959 Cap_EventQueueGet = "localhost"
960 Cap_FetchInventory = ""
961 Cap_ObjectMedia = "localhost"
962 Cap_ObjectMediaNavigate = "localhost"
963 Cap_FetchLib = ""
964 Cap_FetchLibDescendents = ""
965 Cap_GetDisplayNames = "localhost"
966 Cap_GetTexture = "localhost"
967 Cap_GetMesh = "localhost"
968 Cap_GetObjectCost = ""
969 Cap_GetObjectPhysicsData = ""
970 Cap_GroupProposalBallot = ""
971 Cap_GroupMemberData = "localhost"
972 Cap_HomeLocation = "localhost"
973 Cap_LandResources = ""
974 Cap_MapLayer = "localhost"
975 Cap_MapLayerGod = "localhost"
976 Cap_NewFileAgentInventory = "localhost"
977 Cap_NewFileAgentInventoryVariablePrice = "localhost"
978 Cap_ObjectAdd = "localhost"
979 Cap_ParcelPropertiesUpdate = "localhost"
980 Cap_ParcelMediaURLFilterList = ""
981 Cap_ParcelNavigateMedia = ""
982 Cap_ParcelVoiceInfoRequest = ""
983 Cap_ProductInfoRequest = ""
984 Cap_ProvisionVoiceAccountRequest = ""
985 Cap_RemoteParcelRequest = "localhost"
986 Cap_RequestTextureDownload = ""
987 Cap_SearchStatRequest = ""
988 Cap_SearchStatTracking = ""
989 Cap_SendPostcard = ""
990 Cap_SendUserReport = ""
991 Cap_SendUserReportWithScreenshot = ""
992 Cap_ServerReleaseNotes = ""
993 Cap_SimConsole = ""
994 Cap_SimulatorFeatures = ""
995 Cap_SetDisplayName = ""
996 Cap_StartGroupProposal = ""
997 Cap_TextureStats = ""
998 Cap_UntrustedSimulatorMessage = ""
999 Cap_UpdateAgentInformation = ""
1000 Cap_UpdateAgentLanguage = ""
1001 Cap_UpdateGestureAgentInventory = ""
1002 Cap_UpdateNotecardAgentInventory = "localhost"
1003 Cap_UpdateScriptAgent = "localhost"
1004 Cap_UpdateGestureTaskInventory = ""
1005 Cap_UpdateNotecardTaskInventory = "localhost"
1006 Cap_UpdateScriptTask = "localhost"
1007 Cap_UploadBakedTexture = "localhost"
1008 Cap_UploadObjectAsset = "localhost"
1009 Cap_ViewerStartAuction = ""
1010 Cap_ViewerStats = ""
1011
1012 ; Capabilities for fetching inventory over HTTP rather than UDP
1013 ; FetchInventoryDescendents2 and FetchInventory2 are the ones used in the latest Linden Lab viewers (from some point in the v2 series and above)
1014 ; It appears that Linden Lab viewer 3.3.1 onwards will not work properly if FetchInventoryDescendents2 and FetchInventory2 are not enabled
1015 Cap_WebFetchInventoryDescendents = ""
1016 Cap_FetchInventoryDescendents2 = "localhost"
1017 Cap_FetchInventory2 = "localhost"
1018
1019 ; Capability for searching for people
1020 Cap_AvatarPickerSearch = "localhost"
1021
1022
1023[SimulatorFeatures]
1024 ;# {SearchServerURI} {} {URL of the search server} {}
1025 ;; Optional. If given this serves the same purpose as the grid wide
1026 ;; [LoginServices] SearchURL setting and will override that where
1027 ;; supported by viewers.
1028 ;SearchServerURI = "http://127.0.0.1:9000/"
1029
1030 ;# {DestinationGuideURI} {} {URL of the destination guide} {}
1031 ;; Optional. If given this serves the same purpose as the grid wide
1032 ;; [LoginServices] DestinationGuide setting and will override that where
1033 ;; supported by viewers.
1034 ;DestinationGuideURI = "http://127.0.0.1:9000/guide"
1035
1036
1037[Chat]
1038 ; Controls whether the chat module is enabled. Default is true.
1039 enabled = true
1040
1041 ; Distance in meters that whispers should travel. Default is 10m
1042 whisper_distance = 15
1043
1044 ; Distance in meters that ordinary chat should travel. Default is 20m
1045 say_distance = 40
1046
1047 ; Distance in meters that shouts should travel. Default is 100m
1048 shout_distance = 256
1049
1050
1051[EntityTransfer]
1052 ; Allow avatars to cross into and out of the region.
1053 AllowAvatarCrossing = true
1054
1055 ; This disables border transfers for objects. When true, objects can be placed outside
1056 ; the region's border without being transferred to another simulator.
1057 DisableObjectTransfer = false
1058
1059 ; Minimum user level required for HyperGrid teleports
1060 LevelHGTeleport = 0
1061
1062 ; Determine whether the cancel button is shown at all during teleports.
1063 ; This option exists because cancelling at certain points can result in an unuseable session (frozen avatar, etc.)
1064 ; Disabling cancellation can be okay in small closed grids where all teleports are highly likely to suceed.
1065 DisableInterRegionTeleportCancellation = false
1066
1067 ;; This option exists to control the behavior of teleporting gods into places that have landing points
1068 ;; and telehubs. Historically, there has been a difference: OpenSim (OS) has honored landing points and telehubs even for
1069 ;; avatars with god permissions; SL lets gods land wherever they want.
1070 LandingPointBehavior = LandingPointBehavior_SL
1071
1072
1073[Messaging]
1074 ; Control which region module is used for instant messaging.
1075 ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting)
1076
1077 ; InstantMessageModule = InstantMessageModule
1078 ; MessageTransferModule = MessageTransferModule
1079
1080 ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *}
1081 ;; Module to handle offline messaging. The core module requires an external
1082 ;; web service to do this. See OpenSim wiki.
1083 ; OfflineMessageModule = OfflineMessageModule
1084 ;; Or, alternatively, use this one, which works for both standalones and grids
1085 OfflineMessageModule = "Offline Message Module V2"
1086
1087 ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {}
1088 ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim.
1089 ;OfflineMessageURL = ${Const|BaseURL}/Offline.php
1090 OfflineMessageURL = ${Const|BaseURL}:${Const|PrivatePort}
1091
1092 ;# {StorageProvider} {Offline Message Module V2:Offline Message Module V2} {DLL that provides the storage interface} {OpenSim.Data.MySQL.dll}
1093 ;; For standalones, this is the storage dll.
1094 StorageProvider = "${Const|DataProvider}"
1095
1096 ; Mute list handler
1097 ; the provided MuteListModule is just a Dummy
1098 ; you will need a external module for proper suport.
1099 ; if you keep both 2 following settings comment, viewers will use mutes in their caches
1100 ; if you uncoment both (url is ignored) the mutes will be deleted at login on this instance regions
1101 ; WARNING: viewers mutes cache seems to shared by all grids, including SL
1102 ; this may cause some confusion.
1103 ;# {MuteListModule} {MuteListModule:MuteListModule} {} {} None
1104 MuteListModule = MuteListModule
1105 ;# {MuteListURL} {MuteListModule:MuteListModule} {} {} http://yourserver/Mute.php
1106 MuteListURL = ${Const|BaseURL}/Mute.php
1107
1108 ;; Control whether group invites and notices are stored for offline users.
1109 ;; Default is true.
1110 ;; This applies to both core groups module.
1111 ForwardOfflineGroupMessages = true
1112
1113
1114[Inventory]
1115 ; Control whether multiple objects sent to inventory should be coaleseced into a single item
1116 ; There are still some issues with coalescence, including the fact that rotation is not restored
1117 ; and some assets may be missing from archive files.
1118 CoalesceMultipleObjectsToInventory = true
1119
1120
1121[Appearance]
1122 ; Persist avatar baked textures
1123 ; Persisting baked textures can speed up login and region border
1124 ; crossings especially with large numbers of users, though it
1125 ; will store potentially large numbers of textures in your asset
1126 ; database
1127 PersistBakedTextures = true
1128
1129 ; Control the delay before appearance is sent to other avatars and
1130 ; saved in the avatar service. Attempts to limit the impact caused
1131 ; by the very chatty dialog that sets appearance when an avatar
1132 ; logs in or teleports into a region; values are in seconds
1133 DelayBeforeAppearanceSave = 5
1134 DelayBeforeAppearanceSend = 2
1135
1136 ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds.
1137 ; This may help with some situations where avatars are persistently grey, though it will not help
1138 ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others).
1139 ResendAppearanceUpdates = true
1140
1141 ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar
1142 ; on every login
1143 ReuseTextures = true
1144
1145
1146[Attachments]
1147 ; Controls whether avatar attachments are enabled.
1148 ; Defaults to true - only set to false for debugging purposes
1149 Enabled = true
1150
1151 ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments
1152 ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit
1153 ; or when multiple avatars with medium level attachments login/change outfit simultaneously.
1154 ; If 0 then no throttling is performed.
1155 ThrottlePer100PrimsRezzed = 0
1156
1157
1158[Mesh]
1159 ; enable / disable mesh asset uploads
1160 ; mesh asset must conform to standard mesh format, with OpenSim extensions
1161 ; default is true
1162 AllowMeshUpload = true
1163
1164 ; Minimum user level required to upload meshes
1165 ;LevelUpload = 0
1166
1167 ; support meshes on physics
1168 UseMeshiesPhysicsMesh = true
1169
1170 ;support convex shape type on normal prims
1171 ; (ubOde only)
1172 ;ConvexPrims = true
1173
1174 ;support convex shape type on sculpts
1175 ; (ubOde only)
1176 ;ConvexSculpts = true
1177
1178 ; mesh cache settings:
1179 ; (ubOde only)
1180 ; do cache (keep true)
1181 ;MeshFileCache = true
1182 ; cache folder name relative to bin/ or absolute path
1183 ;MeshFileCachePath = MeshCache
1184 ;MeshFileCacheDoExpire = true
1185 ;MeshFileCacheExpireHours = 48
1186
1187
1188[Textures]
1189 ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible
1190 ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components
1191 ; (e.g. images pulled from an external HTTP address).
1192 ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture.
1193 ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted.
1194 ; Hence, currently considered experimental.
1195 ; Default is false.
1196 ReuseDynamicTextures = false
1197
1198 ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused
1199 ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache.
1200 ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem.
1201 ; This setting only has an affect is ReuseDynamicTextures = true
1202 ; Default is false
1203 ReuseDynamicLowDataTextures = false
1204
1205
1206[ODEPhysicsSettings]
1207 ; ##
1208 ; ## Physics stats settings ( most ignored by ubOde )
1209 ;
1210
1211 ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule
1212 ; (see http://opensimulator.org/wiki/Monitoring_Module for more details).
1213 collect_stats = false
1214
1215 ; ##
1216 ; ## Physics logging settings - logfiles are saved to *.DIF files
1217 ; ##
1218
1219 ; default is false
1220 ;physics_logging = true
1221 ;; every n simulation iterations, the physics snapshot file is updated
1222 ;physics_logging_interval = 50
1223 ;; append to existing physics logfile, or overwrite existing logfiles?
1224 ;physics_logging_append_existing_logfile = true
1225
1226 ;##
1227 ;## World Settings
1228 ;##
1229
1230 ;Gravity. Feel like falling up? change world_gravityz to 9.8 instead of -9.8. m/s
1231 world_gravityx = 0
1232 world_gravityy = 0
1233 world_gravityz = -9.8
1234
1235 ; Terminal velocity of a falling avatar
1236 ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples
1237 ; Max value is 255, min value is 0
1238 avatar_terminal_velocity = 54
1239
1240 ; World Step size.
1241 ; with legacy ODE this value needs to be close to 0.02s
1242 ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load
1243 ; you will need to test acording to you needs
1244 ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS
1245 world_stepsize = 0.01818
1246 ; number of iterations of constrains solver, higher should improve results
1247 ; up to a point where acumulated math errors eliminate the improvement
1248 ; more steps may increase CPU load. No real gain in changing
1249 world_solver_iterations = 10
1250
1251 ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim
1252 ; defines spaces partition cells min and max sizes == 2^value
1253 world_hashspace_level_low = -5
1254 world_hashSpace_level_high = 12
1255
1256 meters_in_small_space = 29.9
1257
1258
1259 ; ##
1260 ; ## Contact properties. (the stuff that happens when things come in contact with each other)
1261 ; ##
1262
1263 ; surface layer around geometries other geometries can sink into before generating a contact
1264 world_contact_surface_layer = 0.001
1265
1266 ; Filtering collisions helps keep things stable physics wise, but sometimes
1267 ; it can be overzealous. If you notice bouncing, chances are it's that.
1268 filter_collisions = false
1269
1270 ; Non Moving Terrain Contact (avatar isn't moving)
1271 nm_terraincontact_friction = 255.0
1272 nm_terraincontact_bounce = 0.1
1273 nm_terraincontact_erp = 0.1025
1274
1275 ; Moving Terrain Contact (avatar is moving)
1276 m_terraincontact_friction = 75.0
1277 m_terraincontact_bounce = 0.05
1278 m_terrainContact_erp = 0.05025
1279
1280 ; Moving Avatar to object Contact
1281 m_avatarobjectcontact_friction = 75.0
1282 m_avatarobjectcontact_bounce = 0.1
1283
1284 ; Object to Object Contact and Non-Moving Avatar to object
1285 objectcontact_friction = 250.0
1286 objectcontact_bounce = 0.2
1287
1288 ; ##
1289 ; ## Avatar Control
1290 ; ##
1291
1292 ; PID Controller Settings. These affect the math that causes the avatar to reach the
1293 ; desired velocity
1294 ; See http://en.wikipedia.org/wiki/PID_controller
1295
1296 av_pid_derivative = 2200.0
1297 av_pid_proportional = 900.0
1298
1299 ;girth of the avatar. Adds radius to the height also
1300 av_capsule_radius = 0.37
1301
1302 ; Max force permissible to use to keep the avatar standing up straight
1303 av_capsule_standup_tensor = 550000
1304
1305 ; specifies if the capsule should be tilted (=true; old compatibility mode)
1306 ; or straight up-and-down (=false; better and more consistent physics behavior)
1307 av_capsule_tilted = false
1308
1309 ; used to calculate mass of avatar.
1310 ; float AVvolume = (float) (Math.PI*Math.Pow(CAPSULE_RADIUS, 2)*CAPSULE_LENGTH);
1311 ; av_density * AVvolume;
1312 av_density = 80
1313
1314 ; use this value to cut 52% of the height the sim gives us
1315 ; Currently unused
1316 ; av_height_fudge_factor = 0.52
1317
1318 ; Movement. Smaller is faster.
1319
1320 ; speed of movement with Always Run off
1321 av_movement_divisor_walk = 1.3
1322
1323 ; speed of movement with Always Run on
1324 av_movement_divisor_run = 0.8
1325
1326 ; When the avatar flies, it will be moved up by this amount off the ground (in meters)
1327 minimum_ground_flight_offset = 3.0
1328
1329 ; Plant avatar. This reduces the effect of physical contacts with the avatar.
1330 ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive.
1331 ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active
1332 ; will lock the avatar in place
1333 av_planted = false
1334
1335 ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment
1336 av_av_collisions_off = false
1337
1338 ; ##
1339 ; ## Object options
1340 ; ##
1341
1342 ; used in the mass calculation.
1343 geometry_default_density = 10.000006836
1344
1345 ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep
1346 body_frames_auto_disable = 20
1347
1348 ; used to control llMove2Target
1349 body_pid_derivative = 35
1350 body_pid_gain = 25
1351
1352 ; maximum number of contact points to generate per collision
1353 contacts_per_collision = 80
1354
1355 ; start throttling the object updates if object comes in contact with 3 or more other objects
1356 geom_contactpoints_start_throttling = 3
1357
1358 ; send 1 update for every x updates below when throttled
1359 geom_updates_before_throttled_update = 15
1360
1361 ; Maximum mass an object can be before it is clamped
1362 maximum_mass_object = 10000.01
1363
1364 ; ##
1365 ; ## Sculpted Prim settings
1366 ; ##
1367
1368 ; Do we want to mesh sculpted prim to collide like they look?
1369 ; If you are seeing sculpt texture decode problems
1370 ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception")
1371 ; then you might want to try setting this to false.
1372 mesh_sculpted_prim = true
1373
1374 ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies
1375 mesh_lod = 32
1376
1377 ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies
1378 mesh_physical_lod = 16
1379
1380 ; ##
1381 ; ## additional meshing options
1382 ; ##
1383
1384 ; Physics needs to create internal meshs (or convert the object meshs or scultps)
1385 ; for all prims except simple boxes and spheres.
1386
1387 ; collisions of small objects againts larger ones can have a increased CPU load cost
1388 ; so this are represented by a simple BOX
1389 ; if all their scale dimensions are lower or equal to this option. Default is 0.1m
1390 ; (ubOde only)
1391 ; MinSizeToMeshmerize = 0.1
1392
1393
1394[BulletSim]
1395 ; All the BulletSim parameters can be displayed with the console command
1396 ; "physics get all" and all are defined in the source file
1397 ; OpenSim/Regions/Physics/BulletSPlugin/BSParam.cs.
1398
1399 ; There are two bullet physics libraries, bulletunmanaged is the default and is a
1400 ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality
1401 ; but the c++ one is much faster.
1402 BulletEngine = "bulletunmanaged"
1403 ; BulletEngine = "bulletxna"
1404
1405 ; BulletSim can run on its own thread independent of the simulator's heartbeat
1406 ; thread. Enabling this will not let the physics engine slow down avatar movement, etc.
1407 UseSeparatePhysicsThread = true
1408
1409 ; Terrain implementation can use either Bullet's heightField or BulletSim can build
1410 ; a mesh. 0=heightField, 1=mesh
1411 TerrainImplementation = 1
1412 ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield
1413 ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher
1414 ; magnifications use lots of memory.
1415 TerrainMeshMagnification = 3
1416
1417 ; Should avatars collide with each other?
1418 AvatarToAvatarCollisionsByDefault = true
1419
1420 ; Avatar physics height adjustments.
1421 ; http://opensimulator.org/wiki/BulletSim#Adjusting_Avatar_Height
1422 AvatarHeightLowFudge = 0 ; Adjustment at low end of height range
1423 AvatarHeightMidFudge = 0 ; Adjustment at mid point of avatar height range
1424 AvatarHeightHighFudge = 0 ; Adjustment at high end of height range
1425
1426 ; Avatar walk-up-stairs parameters
1427 ; If an avatar collides with an object 'close to its feet', the avatar will be
1428 ; moved/pushed up do simulate stepping up.
1429;;;; Has trouble with the lighthouse stairs, but all others work fine, can even climb over some fences. Which is odd.
1430 AvatarStepHeight = 0.6 ; The height, below which is considered a step collision.
1431 AvatarStepAngle = 0.3 ; The angle from vertical (in radians) to consider a surface a step
1432 AvatarStepApproachFactor = 2 ; Approach angle factor. O=straight on, .6=~45 degrees.
1433 AvatarStepGroundFudge = 0.1 ; Fudge added to bottom of avatar below which step collisions happen
1434 AvatarStepForceFactor = 0 ; Avatar is pushed up by its mass times this factor
1435 AvatarStepUpCorrectionFactor = 1.1 ; Avatar is displaced up the collision height times this factor
1436 AvatarStepSmoothingSteps = 3 ; Number of frames after a step collision that up correction is applied
1437
1438 ; Terminal velocity of a falling avatar
1439 ; This is the same http://en.wikipedia.org/wiki/Terminal_velocity#Examples
1440 ; negative for a downward speed.
1441 AvatarTerminalVelocity = -54
1442
1443 ; Default linkset implmentation
1444 ; 'Constraint' uses physics constraints to hold linkset together. 'Compound'
1445 ; builds a compound shape from the children shapes to create a single physical
1446 ; shape. 'Compound' uses a lot less CPU time.
1447 LinkImplementation = 1 ; 0=constraint, 1=compound
1448
1449 ; If 'true', offset a linkset's origin based on mass of linkset parts.
1450 LinksetOffsetCenterOfMass = false
1451
1452 ; If 'true', turn scuplties into meshes
1453 MeshSculptedPrim = true
1454
1455 ; If 'true', force simple prims (box and sphere) to be meshed
1456 ; If 'false', the Bullet native special case shape is used for square rectangles
1457 ; and even dimensioned spheres.
1458 ForceSimplePrimMeshing = false
1459
1460 ; If 'true', when creating meshes, remove all triangles that have two equal vertexes.
1461 ; Happens often in sculpties. If turned off, there will be some doorways
1462 ; that cannot be walked through.
1463 ShouldRemoveZeroWidthTriangles = true
1464
1465 ; If 'true', use convex hull definition in mesh asset if present.
1466 ShouldUseAssetHulls = true
1467
1468 ; If there are thousands of physical objects, these maximums should be increased.
1469 MaxCollisionsPerFrame = 2048
1470 MaxUpdatesPerFrame = 8192
1471
1472 ; Detailed physics debug logging. Very verbose.
1473 PhysicsLoggingEnabled = False
1474 PhysicsLoggingDir = "."
1475 VehicleLoggingEnabled = False
1476
1477
1478[RemoteAdmin]
1479 ;; This is the remote admin module, which uses XMLRPC requests to
1480 ;; manage regions from a web interface.
1481
1482 enabled = false
1483
1484 ; Set this to a nonzero value to have remote admin use a different port
1485 port = 0
1486
1487 ; Set this to the ip address that you want the admin server to bind to
1488 bind_ip_address = "0.0.0.0"
1489
1490 ; This password is required to make any XMLRPC call (should be set as the "password" parameter)
1491 access_password = unknown
1492
1493 ; List the IP addresses allowed to call RemoteAdmin
1494 ; If access_ip_addresses isn't set, then all IP addresses can access RemoteAdmin.
1495 ; access_ip_addresses = 0.0.0.0, 0.0.0.0 ...
1496 ; access_ip_addresses =
1497
1498 ; set this variable to true if you want the create_region XmlRpc
1499 ; call to unconditionally enable voice on all parcels for a newly
1500 ; created region [default: false]
1501 create_region_enable_voice = false
1502
1503 ; set this variable to false if you want the create_region XmlRpc
1504 ; call to create all regions as private per default (can be
1505 ; overridden in the XmlRpc call) [default: true]
1506 create_region_public = false
1507
1508 ; the create_region XmlRpc call uses region_file_template to generate
1509 ; the file name of newly create regions (if they are created
1510 ; persistent). the parameter available are:
1511 ; {0} - X location
1512 ; {1} - Y location
1513 ; {2} - region UUID
1514 ; {3} - region port
1515 ; {4} - region name with " ", ":", "/" mapped to "_"
1516 region_file_template = "{0}x{1}-{2}.ini"
1517
1518 ; we can limit the number of regions that XmlRpcCreateRegion will
1519 ; allow by setting this to a positive, non-0 number: as long as the
1520 ; number of regions is below region_limits, XmlRpcCreateRegion will
1521 ; succeed. setting region_limit to 0 disables the check.
1522 ; default is 0
1523 ;region_limit = 0
1524
1525 ; enable only those methods you deem to be appropriate using a | delimited whitelist
1526 ; for example, enabled_methods = admin_broadcast|admin_region_query|admin_save_oar|admin_save_xml
1527 ; if this parameter is not specified but enabled = true, all methods will be available
1528 enabled_methods = all
1529
1530 ; specify the default appearance for an avatar created through the remote admin interface
1531 ; This will only take effect is the file specified by the default_appearance setting below exists
1532 ;default_male = Default Male
1533 ;default_female = Default Female
1534
1535 ; update appearance copies inventory items and wearables of default avatars. if this value is false
1536 ; (default), just worn assets are copied to the Clothes folder; if true, all Clothes and Bodyparts
1537 ; subfolders are copied. the receiver will wear the same items the default avatar did wear.
1538 copy_folders = true
1539
1540 ; path to default appearance XML file that specifies the look of the default avatars
1541 ;default_appearance = default_appearance.xml
1542
1543
1544; RestPlugins are not currently operational.
1545;[RestPlugins]
1546; ; Change this to true to enable REST Plugins. This must be true if you wish to use
1547; ; REST Region or REST Asset and Inventory Plugins
1548; enabled = false
1549; god_key = SECRET
1550; prefix = /admin
1551
1552
1553;[RestRegionPlugin]
1554; ; Change this to true to enable the REST Region Plugin
1555; enabled = false
1556
1557
1558;[RestHandler]
1559; ; Change this to true to enable the REST Asset and Inventory Plugin
1560; enabled = false
1561; authenticate = true
1562; secured = true
1563; extended-escape = true
1564; realm = OpenSim REST
1565; dump-asset = false
1566; path-fill = true
1567; dump-line-size = 32
1568; flush-on-error = true
1569
1570
1571[IRC]
1572 ; IRC bridge is experimental, so if it breaks... keep both parts... yada yada
1573 ; also, not good error detection when it fails
1574 enabled = false; you need to set this to true otherwise it won't connect
1575 ;server = name.of.irc.server.on.the.net
1576 ;; user password - only use this if the server requires one
1577 ;password = mypass
1578 ;nick = OpenSimBotNameProbablyMakeThisShorter
1579 ;channel = #the_irc_channel_you_want_to_connect_to
1580 ;user = "USER OpenSimBot 8 * :I'm an OpenSim to IRC bot"
1581 ;port = 6667
1582 ;; channel to listen for configuration commands
1583 ;commands_enabled = false
1584 ;command_channel = 2777
1585 ;report_clients = true
1586 ;; relay private chat connections
1587 ;; relay_private_channels = true: will relay IRC chat from/to private in-world channels
1588 ;; relay_private_channel_out -- channel to send messages out to the IRC bridge
1589 ;; relay_private_channel_in -- channel to receive message from the IRC bridge
1590 ;; relay_chat = false: IRC bridge will not relay normal chat
1591 ;; access_password -- simple security device
1592 ;;
1593 ;; so, to just relay chat from an IRC channel to in-world region and vice versa:
1594 ;;
1595 ;; relay_private_channels = false
1596 ;; relay_chat = true
1597 ;;
1598 ;; to relay chat only to/from private in-world channels:
1599 ;;
1600 ;; relay_chat = false
1601 ;; relay_private_channels = true
1602 ;; relay_private_channel_in = 2226
1603 ;; relay_private_channel_out = 2225
1604 ;;
1605 ;; in this example, all chat coming in from IRC will be send out via
1606 ;; in-world channel 2226, and all chat from in-world channel 2225 will
1607 ;; be relayed to the IRC channel.
1608 ;;
1609 ;relay_private_channels = false
1610 ;relay_private_channel_in = 2226
1611 ;relay_private_channel_out = 2225
1612 ;relay_chat = true
1613 ;access_password = foobar
1614
1615 ;;fallback_region = name of "default" region
1616 ;;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message
1617 ;; must start with "PRIVMSG {0} : " or irc server will get upset
1618 ;;for <bot>:<user in region> :<message>
1619 ;;msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}"
1620 ;;for <bot>:<message> - <user of region> :
1621 ;msgformat = "PRIVMSG {0} : {3} - {1} of {2}"
1622 ;;for <bot>:<message> - from <user> :
1623 ;;msgformat = "PRIVMSG {0} : {3} - from {1}"
1624
1625 ;; exclude_list allows you to stop the IRC connector from announcing the
1626 ;;arrival and departure of certain users. For example: admins, bots.
1627
1628 ;exclude_list=User 1,User 2,User 3
1629
1630 ;;Shows modal alertbox for entering agent on IRC enabled regions
1631 ;;
1632 ;; Enable Alert, default = false
1633 ;alert_show = false
1634 ;;
1635 ;; Show IRC serverinfo, default = true
1636 ;alert_show_serverinfo = true
1637 ;;
1638 ;alert_msg_pre = "This region is linked to Irc."
1639 ;alert_msg_post = "Everything you say in public chat can be listened."
1640
1641
1642[Sun]
1643 ; The following settings control the progression of daytime
1644 ; in the Sim. The defaults are the same as the commented out settings
1645 ; number of wall clock hours for an opensim day. 24.0 would mean realtime
1646 day_length = 24
1647 ; Year length in days
1648 year_length = 365
1649 ; Day to Night Ratio
1650 day_night_offset = 1.0
1651 ; send a Sun update every update_interval # of frames. A lower number will
1652 ; make for smoother sun transition at the cost of network
1653 ;update_interval = 100
1654
1655
1656[Wind]
1657 ; Enables the wind module. Default is true
1658 enabled = true
1659
1660 ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second
1661 wind_update_rate = 150
1662
1663 ; The Default Wind Plugin to load
1664 wind_plugin = SimpleRandomWind
1665
1666 ; These settings are specific to the ConfigurableWind plugin
1667 ; To use ConfigurableWind as the default, simply change wind_plugin to ConfigurableWind and uncomment the following.
1668 ; avg_strength = 5.0
1669 ; avg_direction = 0.0
1670 ; var_strength = 0.0
1671 ; var_direction = 0.0
1672 ; rate_change = 1.0
1673
1674 ; This setting is specific to the SimpleRandomWind plugin
1675 ; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind. Default is 1.0
1676 strength = 1.0
1677
1678
1679[Cloud]
1680 ; Enable this to generate classic particle clouds above the sim.
1681 ; default is disabled - turn it on here
1682 enabled = true
1683
1684 ; Density of cloud cover 0.0 to 1.0 Defult 0.5
1685 density = 0.5
1686
1687 ; update interval for the cloud cover data returned by llCloud().
1688 ; default is 1000
1689 cloud_update_rate = 1000
1690
1691
1692[LightShare]
1693 ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer.
1694 ; It has no ill effect on viewers which do not support server-side windlight settings.
1695 enable_windlight = true
1696
1697
1698[Trees]
1699 ; enable the trees module. default true
1700 enabled = true
1701
1702 ; active_trees allows module to change its trees in time.
1703 ; some will be deleted, others created and rest may grow
1704 ; default is false. You can change it with console command tree active true | false later
1705 active_trees = false
1706 ; the trees change execution time rate (in ms)
1707 update_rate = 1000
1708
1709 ; allow the trees to grow.
1710 ; DANGER
1711 ; this option causes high network use on the order of
1712 ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second
1713 allowGrow = false
1714
1715
1716[VectorRender]
1717 ; the font to use for rendering text (default: Arial)
1718 ; font_name = "Arial"
1719
1720
1721[LL-Functions]
1722 ; Set the following to true to allow administrator owned scripts to execute console commands
1723 ; currently unused
1724 ; AllowosConsoleCommand=false
1725
1726 ; Are god functions such as llSetObjectPermMask() allowed? If true then gods and only gods have access to these functions.
1727 ; If false then gods cannot execute these functions either.
1728 AllowGodFunctions = true
1729
1730 ; Restrict the email address used by llEmail to the address associated with the avatars user account?
1731 ; If true then llEmail will only send email to the address in the user account of the avatar who owns the object containing the script.
1732 ; If false then email may be sent to any valid email address.
1733 RestrictEmail = false
1734
1735 ; Maximum number of llListen events we allow over the entire region.
1736 ; Set this to 0 to have no limit imposed
1737 max_listens_per_region = 0
1738
1739 ; Maximum number of llListen events we allow per script
1740 ; Set this to 0 to have no limit imposed.
1741 max_listens_per_script = 0
1742
1743 ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL())
1744 max_external_urls_per_simulator = 100
1745
1746 ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes.
1747 ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate.
1748 UseSimpleBoxesInGetBoundingBox = false
1749
1750 ; Add a third vector with stats when returning results from llGetBoundingBox.
1751 ; Lists objects (groups), prims/meshes/avatars (parts) and vertices rendered.
1752 AddStatsInGetBoundingBox = false
1753
1754 ; Avatar bounding box, lower X value, constant part, when standing
1755 LowerAvatarBoundingBoxStandingXconst = -0.275
1756
1757 ; Avatar bounding box, upper X value, constant part, when standing
1758 UpperAvatarBoundingBoxStandingXconst = 0.275
1759
1760 ; Avatar bounding box, lower Y value, constant part, when standing
1761 LowerAvatarBoundingBoxStandingYconst = -0.35
1762
1763 ; Avatar bounding box, upper Y value, constant part, when standing
1764 UpperAvatarBoundingBoxStandingYconst = 0.35
1765
1766 ; Avatar bounding box, lower Z value, constant part, when standing
1767 LowerAvatarBoundingBoxStandingZconst = -0.1
1768
1769 ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when standing
1770 LowerAvatarBoundingBoxStandingZcoeff = -0.5
1771
1772 ; Avatar bounding box, upper Z value, constant part, when standing
1773 UpperAvatarBoundingBoxStandingZconst = 0.1
1774
1775 ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when standing
1776 UpperAvatarBoundingBoxStandingZcoeff = 0.5
1777
1778 ; Avatar bounding box, lower X value, constant part, when groundsitting
1779 LowerAvatarBoundingBoxGroundsittingXconst = -0.3875
1780
1781 ; Avatar bounding box, upper X value, constant part, when groundsitting
1782 UpperAvatarBoundingBoxGroundsittingXconst = 0.3875
1783
1784 ; Avatar bounding box, lower Y value, constant part, when groundsitting
1785 LowerAvatarBoundingBoxGroundsittingYconst = -0.5
1786
1787 ; Avatar bounding box, upper Y value, constant part, when groundsitting
1788 UpperAvatarBoundingBoxGroundsittingYconst = 0.5
1789
1790 ; Avatar bounding box, lower Z value, constant part, when groundsitting
1791 LowerAvatarBoundingBoxGroundsittingZconst = -0.05
1792
1793 ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when groundsitting
1794 LowerAvatarBoundingBoxGroundsittingZcoeff = -0.375
1795
1796 ; Avatar bounding box, upper Z value, constant part, when groundsitting
1797 UpperAvatarBoundingBoxGroundsittingZconst = 0.5
1798
1799 ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when groundsitting
1800 UpperAvatarBoundingBoxGroundsittingZcoeff = 0.0
1801
1802 ; Avatar bounding box, lower X value, constant part, when sitting
1803 LowerAvatarBoundingBoxSittingXconst = -0.5875
1804
1805 ; Avatar bounding box, upper X value, constant part, when sitting
1806 UpperAvatarBoundingBoxSittingXconst = 0.1875
1807
1808 ; Avatar bounding box, lower Y value, constant part, when sitting
1809 LowerAvatarBoundingBoxSittingYconst = -0.35
1810
1811 ; Avatar bounding box, upper Y value, constant part, when sitting
1812 UpperAvatarBoundingBoxSittingYconst = 0.35
1813
1814 ; Avatar bounding box, lower Z value, constant part, when sitting
1815 LowerAvatarBoundingBoxSittingZconst = -0.35
1816
1817 ; Avatar bounding box, lower Z value, coefficient to multiply with avatar height, when sitting
1818 LowerAvatarBoundingBoxSittingZcoeff = -0.375
1819
1820 ; Avatar bounding box, upper Z value, constant part, when sitting
1821 UpperAvatarBoundingBoxSittingZconst = -0.25
1822
1823 ; Avatar bounding box, upper Z value, coefficient to multiply with avatar height, when sitting
1824 UpperAvatarBoundingBoxSittingZcoeff = 0.25
1825
1826 ; Safety coefficient for max bounding box from prim size box X coordinate
1827 ; Worst case is twisted and sheared box, 1+sqrt(2)
1828 PrimBoundingBoxSafetyCoefficientX = 2.414214
1829
1830 ; Safety coefficient for max bounding box from prim size box Y coordinate
1831 ; Worst case is twisted and sheared box, 1+sqrt(2)
1832 PrimBoundingBoxSafetyCoefficientY = 2.414214
1833
1834 ; Safety coefficient for max bounding box from prim size box Z coordinate
1835 ; Worst case is twisted tube, 0.5+sqrt(1.25)
1836 PrimBoundingBoxSafetyCoefficientZ = 1.618034
1837
1838 ; Use llCastRay V3 if true.
1839 ; Implements llCastRay similar but not identical to Second Life.
1840 ; See http://wiki.secondlife.com/wiki/LlCastRay .
1841 ; NEW
1842 ; Meshes prims for good accuracy in ray hit detection,
1843 ; handling basic and tortured prims, sculpts and meshes.
1844 ; Uses ellipsoid, correctly sized avatar capsules.
1845 ; Handles complex terrain, multi-prim objects and seated avatars.
1846 ; Implements throttling and the status codes
1847 ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED,
1848 ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW.
1849 ; WARNING
1850 ; Can be faster on some servers and scenes, but slower on others,
1851 ; compared to previous version of llCastRay in OpenSimulator.
1852 ; Is in most cases considerably slower than llCastRay in Second Life.
1853 ; Generates geometry meshes and can therefore use much system resources.
1854 UseLlCastRayV3 = true
1855
1856 ; Accepted calculation precision error in calculations in llCastRay V3
1857 FloatToleranceInLlCastRay = 0.00001
1858
1859 ; Accepted distance difference between duplicate hits in llCastRay V3
1860 FloatTolerance2InLlCastRay = 0.001
1861
1862 ; Detail level when rendering prims in llCastRay V3
1863 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
1864 PrimDetailLevelInLlCastRay = 1
1865
1866 ; Detail level when rendering sculpts in llCastRay V3
1867 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
1868 SculptDetailLevelInLlCastRay = 1
1869
1870 ; Detail level when rendering meshes in llCastRay V3
1871 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
1872 MeshDetailLevelInLlCastRay = 3
1873
1874 ; Detail level when rendering avatar capsules in llCastRay V3
1875 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
1876 AvatarDetailLevelInLlCastRay = 1
1877
1878 ; Maximum number of returned hits from llCastRay V3
1879 MaxHitsInLlCastRay = 16
1880
1881 ; Maximum number of returned hits per prim from llCastRay V3
1882 MaxHitsPerPrimInLlCastRay = 16
1883
1884 ; Maximum number of returned hits per object from llCastRay V3
1885 MaxHitsPerObjectInLlCastRay = 16
1886
1887 ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true
1888 DetectExitHitsInLlCastRay = false
1889
1890 ; Detect attachments in llCastRay V3 if true
1891 DoAttachmentsInLlCastRay = false
1892
1893 ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3
1894 ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this
1895 ThrottleTimeInMsInLlCastRay = 200
1896
1897 ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3
1898 AvailableTimeInMsPerRegionInLlCastRay = 40
1899
1900 ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3
1901 AvailableTimeInMsPerAvatarInLlCastRay = 10
1902
1903 ; Required available time in ms left to perform a new llCastRay in llCastRay V3
1904 RequiredAvailableTimeInMsInLlCastRay = 2
1905
1906 ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions
1907 MaximumAvailableTimeInMsInLlCastRay = 40
1908
1909 ; Use cached meshes in llCastRay V3 if true
1910 ; Improves performance but uses more memory
1911 UseMeshCacheInLlCastRay = true
1912
1913
1914[DataSnapshot]
1915 ; The following set of configs pertains to search.
1916 ; Set index_sims to true to enable search engines to index your searchable data
1917 ; If false, no data will be exposed, DataSnapshot module will be off, and you can ignore the rest of these search-related configs
1918 ; default is false
1919 index_sims = false
1920
1921 ; The variable data_exposure controls what the regions expose:
1922 ; minimum: exposes only things explicitly marked for search
1923 ; all: exposes everything
1924 data_exposure = minimum
1925
1926 ; If search is on, change this to your grid name; will be ignored for standalones
1927 gridname = "${Const|GridName}"
1928
1929 ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast.
1930 ; Later, you may want to increase this to 3600 (1 hour) or more
1931 default_snapshot_period = 1200
1932
1933 ; This will be created in bin, if it doesn't exist already. It will hold the data snapshots.
1934 snapshot_cache_directory = "${Paths|CachePath}/DataSnapshot"
1935
1936 ; Uncomment if you want to index your data with this and/or other search providers. One entry per
1937 ; data service
1938 ;DATA_SRV_MISearch = "http://metaverseink.com/cgi-bin/register.py"
1939
1940
1941[Economy]
1942 ; the economy module in use
1943 ; default is the provided BetaGridLikeMoneyModule
1944 ; - This module is for demonstration only -
1945 ; The default economy module only implements just enough to allow free actions (transfer of objects, etc).
1946 ; There is no intention to implement anything further in core OpenSimulator.
1947 ; This functionality has to be provided by third party modules.
1948 ; To use other modules you need to override this setting on OpenSim.ini Economy (or startup) section
1949 ; economymodule = BetaGridLikeMoneyModule
1950
1951 ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only -
1952 ; The default economy module only implements just enough to allow free actions (transfer of objects, etc).
1953 ; There is no intention to implement anything further in core OpenSimulator.
1954 ; This functionality has to be provided by third party modules.
1955
1956 ;; Enables selling things for $0. Default is true.
1957 SellEnabled = true
1958
1959 ;; Money Unit fee to upload textures, animations etc. Default is 0.
1960 PriceUpload = 0
1961
1962 ;; Money Unit fee to create groups. Default is 0.
1963 PriceGroupCreate = 0
1964
1965 ; We don't really know what the rest of these values do. These get sent to the client
1966 ; These taken from Agni at a Public Telehub. Change at your own risk.
1967 ;ObjectCount = 0
1968 ;PriceEnergyUnit = 0
1969 ;PriceObjectClaim = 0
1970 ;PricePublicObjectDecay = 0
1971 ;PricePublicObjectDelete = 0
1972 ;PriceParcelClaim = 0
1973 ;PriceParcelClaimFactor = 1
1974
1975 ;PriceRentLight = 0
1976 ;TeleportMinPrice = 0
1977 ;TeleportPriceExponent = 2
1978 ;EnergyEfficiency = 1
1979 ;PriceObjectRent = 0
1980 ;PriceObjectScaleFactor = 10
1981 ;PriceParcelRent = 0
1982
1983
1984[XEngine]
1985 ; Enable this engine in this OpenSim instance
1986 Enabled = true
1987
1988 ; How many threads to keep alive even if nothing is happening
1989 MinThreads = 2
1990
1991 ; How many threads to start at maximum load
1992 MaxThreads = 100
1993
1994 ; Time a thread must be idle (in seconds) before it dies
1995 IdleTimeout = 60
1996
1997 ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
1998 Priority = "BelowNormal"
1999
2000 ; Maximum number of events to queue for a script (excluding timers)
2001 MaxScriptEventQueue = 3000
2002
2003 ; Stack size per thread created
2004 ThreadStackSize = 262144
2005
2006 ; Set this to true to load each script into a separate
2007 ; AppDomain. Setting this to false will load all script assemblies into the
2008 ; current AppDomain, which will reduce the initial per-script memory overhead,
2009 ; but deleted scripts stay inactive using memory.
2010 ; Significantly improving script loading times.
2011 ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted.
2012 ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region.
2013 ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited.
2014 ; At this time some mono versions seem to have problems with the true option,
2015 ; so default is now false until a fix is found, to simply life of less technical skilled users.
2016 ; WARNING this makes OpenSim use four times as much memory!
2017 AppDomainLoading = false
2018
2019 ; Controls whether previously compiled scripts DLLs are deleted on sim restart.
2020 ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled.
2021 ; It should be true on first run after updating opensim binary version
2022 ; after first run you can change to false.
2023 ; You can also set it to false and delete the script DLLs by hand
2024 ; This does not delete cached scripts state.
2025 DeleteScriptsOnStartup = false
2026
2027 ; CompactMemOnLoad
2028 ; forces calls to memory garbage collector before loading each script DLL during region startup.
2029 ; Peak memory usage is reduced and region starts with a more compacted memory allocation.
2030 ; But this costs a lot of time, so region load will take a lot longer.
2031 ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true)
2032 ; CompactMemOnLoad = false
2033
2034 ; Controls whether scripts are stopped by aborting their threads externally (abort)
2035 ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op).
2036 ; co-op will be more stable as aborting threads can cause instability.
2037 ; abort was the default option in OpenSimulator 0.8 and before.
2038 ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary.
2039 ; However, the setting change will not take affect until the next time you restart the simulator.
2040 ; Setting changes will not affect state information stored for scripts.
2041 ScriptStopStrategy = co-op
2042
2043 ; Rate to poll for asynchronous command replies (ms)
2044 ; currently unused
2045 ;AsyncLLCommandLoopms = 50
2046
2047 ; Save the source of all compiled scripts
2048 WriteScriptSourceToDebugFile = false
2049
2050 ; Compile debug info (line numbers) into the script assemblies
2051 CompileWithDebugInformation = true
2052
2053 ; Don't include stack traces in silly threat level errors, and don't bother with "OSSL Runtime Error: " either.
2054 ; On the other hand, having this true stops the official OpenSim OhSilly detection script from working.
2055 DebuggerSafe = true
2056
2057 ; Allow the user of mod* functions. This allows a script to pass messages
2058 ; to a region module via the modSendCommand() function
2059 ; Default is false
2060 AllowMODFunctions = true
2061
2062 ; Allow the use of os* functions (some are dangerous)
2063 AllowOSFunctions = true
2064
2065 ; Allow the user of LightShare functions
2066 AllowLightShareFunctions = true
2067
2068 ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe
2069 OSFunctionThreatLevel = Moderate
2070
2071 ; OS Functions enable/disable
2072 ; For each function, you can add one line, as shown
2073 ; The default for all functions allows them if below threat level
2074
2075 ; true allows the use of the function unconditionally
2076 ; Allow_osSetRegionWaterHeight = true
2077
2078 ; false disables the function completely
2079 ; Allow_osSetRegionWaterHeight = false
2080
2081 ; Comma separated list of UUIDS allows the function for that list of UUIDS
2082 ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb
2083
2084 ; Comma separated list of owner classes that allow the function for a particular class of owners. Choices are
2085 ; - PARCEL_GROUP_MEMBER: allow if objectgroup is the same group as the parcel
2086 ; - PARCEL_OWNER: allow if the objectowner is parcelowner
2087 ; - ESTATE_MANAGER: allow if the object owner is a estate manager
2088 ; - ESTATE_OWNER: allow if objectowner is estateowner
2089 ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb, PARCEL_OWNER, ESTATE_OWNER>, ...
2090
2091 ; You can also use script creators as the uuid
2092 ; Creators_osSetRegionWaterHeight = <uuid>, ...
2093
2094 ; If both Allow_ and Creators_ are given, effective permissions
2095 ; are the union of the two.
2096
2097 ; Interval (s) between background save of script states
2098 SaveInterval = 120
2099
2100 ; Interval (s) between maintenance runs (0 = disable)
2101 MaintenanceInterval = 10
2102
2103 ; Time a script can spend in an event handler before it is interrupted
2104 EventLimit = 60
2105
2106 ; If a script overruns it's event limit, kill the script?
2107 KillTimedOutScripts = true
2108
2109 ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested
2110 ; before aborting the thread (such as when an object containing scripts is taken into inventory).
2111 WaitForEventCompletionOnScriptStop = 1000
2112
2113 ; Maximum length of notecard line read
2114 ; Increasing this to large values potentially opens
2115 ; up the system to malicious scripters. Pfffft.
2116 NotecardLineReadCharsMax = 1024
2117
2118 ; Minimum settable timer interval. Any timer setting less than this is
2119 ; rounded up to this minimum interval.
2120 MinTimerInterval = 0.1
2121
2122 ; Sensor settings
2123 SensorMaxRange = 1024.0
2124 SensorMaxResults = 64
2125
2126 ; Allow for llCreateLink and llBreakLink to work without asking for permission
2127 ; only enable this in a trusted environment otherwise you may be subject to hijacking
2128 AutomaticLinkPermission = true
2129
2130 ; Disable underground movement of prims (default true); set to
2131 ; false to allow script controlled underground positioning of
2132 ; prims
2133 DisableUndergroundMovement = false
2134
2135 ;; Path to script assemblies
2136 ScriptEnginesPath = "${Paths|CachePath}/ScriptEngines"
2137
2138 ; ==== Settings for MOD and OSSL functions have been moved to the [OSSL] section
2139
2140
2141[OSSL]
2142 ;# {Include-osslEnable} {} {Include file for enabling and permissions for OSSL functions} {}
2143 ;; Optionally include file to enable OSSL functions and set permissions on who can use which.
2144 ;; If this INI file is not included, the OSSL functions are disabled.
2145 Include-osslEnable = "config-include/osslEnable.ini"
2146
2147
2148[Concierge]
2149 ; Enable concierge module
2150 ; Default is false
2151 enabled = false
2152
2153 ; name of the concierge
2154 whoami = "jeeves"
2155
2156 ; password for updating the welcome message templates via XmlRpc
2157 password = SECRET
2158
2159 ; regex specifying for which regions concierge service is desired; if
2160 ; empty, then for all
2161 ;regions = "^MeetingSpace-"
2162 regions = ""
2163
2164 ; for each region that matches the regions regexp you can provide
2165 ; (optionally) a welcome template using format substitution:
2166 ; {0} is replaced with the name of the avatar entering the region
2167 ; {1} is replaced with the name of the region
2168 ; {2} is replaced with the name of the concierge (whoami variable above)
2169
2170 ;welcomes = /path/to/welcome/template/directory
2171
2172 ; Concierge can send attendee lists to an event broker whenever an
2173 ; avatar enters or leaves a concierged region. the URL is subject
2174 ; to format substitution:
2175 ; {0} is replaced with the region's name
2176 ; {1} is replaced with the region's UUID
2177 ;broker = "http://broker.place.com/{1}"
2178
2179
2180[MRM]
2181 ; Enables the Mini Region Modules Script Engine.
2182 ; default is false
2183 Enabled = false
2184
2185 ; Runs MRM in a Security Sandbox
2186 ; WARNING: DISABLING IS A SECURITY RISK.
2187 Sandboxed = true
2188
2189 ; The level sandbox to use, adjust at your OWN RISK.
2190 ; Valid values are:
2191 ; * FullTrust
2192 ; * SkipVerification
2193 ; * Execution
2194 ; * Nothing
2195 ; * LocalIntranet
2196 ; * Internet
2197 ; * Everything
2198 SandboxLevel = "Internet"
2199
2200 ; Only allow Region Owners to run MRMs
2201 ; May represent a security risk if you disable this.
2202 OwnerOnly = true
2203
2204
2205[Hypergrid]
2206 ; Keep it false for now. Making it true requires the use of a special client in order to access inventory
2207 safemode = false
2208
2209
2210[FreeSwitchVoice]
2211 ;; In order for this to work you need a functioning FreeSWITCH PBX set up.
2212 ;; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module
2213 ; Enabled = false
2214
2215 ;; You need to load a local service for a standalone, and a remote service
2216 ;; for a grid region. Use one of the lines below, as appropriate
2217 ;; If you're using Freeswitch on a standalone then you will also need to configure the [FreeswitchService] section in config-include/StandaloneCommon.ini
2218 ; LocalServiceModule = OpenSim.Services.FreeswitchService.dll:FreeswitchService
2219 ; LocalServiceModule = OpenSim.Services.Connectors.dll:RemoteFreeswitchConnector
2220
2221 ;; If using a remote connector, specify the server URL
2222 ; FreeswitchServiceURL = http://my.grid.server:8004/fsapi
2223
2224
2225[VivoxVoice]
2226 ; The VivoxVoice module will allow you to provide voice on your
2227 ; region(s). It uses the same voice technology as the LL grid and
2228 ; works with recent LL clients (we have tested 1.22.9.110075, so
2229 ; anything later ought to be fine as well).
2230 ;
2231 ; For this to work you need to obtain an admin account from Vivox
2232 ; that allows you to create voice accounts and region channels.
2233
2234 enabled = false
2235
2236 ; vivox voice server
2237 vivox_server = www.foobar.vivox.com
2238
2239 ; vivox SIP URI
2240 vivox_sip_uri = foobar.vivox.com
2241
2242 ; vivox admin user name
2243 vivox_admin_user = DeepThroat
2244
2245 ; vivox admin password
2246 vivox_admin_password = VoiceG4te
2247
2248 ; channel type: "channel" or "positional"
2249 ; - positional: spatial sound (default)
2250 ; - channel: normal "conference call", no spatial sound
2251 ;vivox_channel_type = positional
2252
2253 ; channel characteristics (unless you know what you are doing, i'd
2254 ; leave them as they are --- now you WILL muck around with them,
2255 ; huh? sigh)
2256
2257 ; channel distance model:
2258 ; 0 - no attenuation
2259 ; 1 - inverse distance attenuation
2260 ; 2 - linear attenuation (default)
2261 ; 3 - exponential attenuation
2262 ;vivox_channel_distance_model = 2
2263
2264 ; channel mode:
2265 ; - "open" (default)
2266 ; - "lecture"
2267 ; - "presentation"
2268 ; - "auditorium"
2269 ;vivox_channel_mode = "open"
2270
2271 ; channel roll off: rate of attenuation
2272 ; - a value between 1.0 and 4.0, default is 2.0
2273 ;vivox_channel_roll_off = 2.0
2274
2275 ; channel max range: distance at which channel is silent
2276 ; - a value between 0 and 160, default is 80
2277 ;vivox_channel_max_range = 80
2278
2279 ; channel clamping distance: distance before attenuation applies
2280 ; - a value between 0 and 160, default is 10
2281 ;vivox_channel_clamping_distance = 10
2282
2283
2284[Groups]
2285 Enabled = true
2286 ;# {Module} {Enabled:true} {Groups module to use? (Use GroupsModule to use Flotsam/Simian)} {Default "Groups Module V2"} Default
2287 ;; The default module can use a PHP XmlRpc server from the Flotsam project at
2288 ;; http://code.google.com/p/flotsam/
2289 ;; or from the SimianGrid project at http://code.google.com/p/openmetaverse
2290 ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really
2291 ; apply to the Flotsam/SimianGrid GroupsModule
2292 ; Module = Default
2293 ; This module can use a PHP XmlRpc server from the Flotsam project at http://code.google.com/p/flotsam/
2294 ; or from the SimianGrid project at http://code.google.com/p/openmetaverse
2295 ;Module = GroupsModule
2296 ;; or... use Groups Module V2, which works for standalones and robust grids
2297 Module = "Groups Module V2"
2298
2299 ;# {StorageProvider} {Module:Groups Module V2} {The DLL that provides the storage for V2} {OpenSim.Data.MySQL.dll}
2300 StorageProvider = "${Const|DataProvider}"
2301
2302 ;# {ServicesConnectorModule} {Module:GroupsModule Module:Groups Module V2} {Service connector to use for groups} {XmlRpcGroupsServicesConnector SimianGroupsServicesConnector "Groups Local Service Connector" "Groups Remote Service Connector" "Groups HG Service Connector"} XmlRpcGroupsServicesConnector
2303 ;; Service connectors to the Groups Service as used in the GroupsModule. Select one as follows:
2304 ;; -- for Flotsam Groups use XmlRpcGroupsServicesConnector
2305 ;; -- for Simian Groups use SimianGroupsServicesConnector
2306 ;; -- for V2 Groups, standalone, non-HG use "Groups Local Service Connector"
2307 ;; -- for V2 Groups, grided sim, non-HG use "Groups Remote Service Connector"
2308 ;; -- for V2 Groups, HG, both standalone and grided sim, use "Groups HG Service Connector"
2309 ;; Note that the quotes "" around the words are important!
2310 ServicesConnectorModule = "Groups HG Service Connector"
2311
2312 ;# {LocalService} {ServicesConnectorModule:Groups HG Service Connector} {Is the group service in this process or elsewhere?} {local remote} local
2313 ;; Used for V2 in HG only. If standalone, set this to local; if grided sim, set this to remote
2314 LocalService = remote
2315
2316 ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} ""
2317 ;; Used for V2 in Remote only.
2318 ; SecretKey = "sEcReTkEy"
2319
2320 ;# {GroupsServerURI} {Module:GroupsModule (ServicesConnectorModule:Groups Remote Service Connector or (ServicesConnectorModule:Groups HG Service Connector and LocalService:remote))} {Groups Server URI} {}
2321 ;; URI for the groups services of this grid
2322 ;; e.g. http://yourxmlrpcserver.com/xmlrpc.php for Flotsam XmlRpc
2323 ;; or http://mygridserver.com:82/Grid/ for SimianGrid
2324 ;; or ${Const|BaseURL}:${Const|PrivatePort} for robust, V2
2325 ;; Leave it commented for standalones, V2
2326 GroupsServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
2327
2328 ;# {HomeURI} {ServicesConnectorModule:Groups HG Service Connector} {What's the home address of this world?} {}
2329 ;; Used for V2 in HG only. For example
2330 ;; http://mygridserver.com:9000 or http://mygridserver.com:8002
2331 ;; If you have this set under [Startup], no need to set it here, leave it commented
2332 HomeURI = ${Const|BaseURL}:${Const|PublicPort}
2333
2334 ; Enable Group Notices
2335 NoticesEnabled = true
2336
2337 ; This makes the Group module very chatty on the console.
2338 DebugEnabled = false
2339
2340 ; This makes the Groups Messaging module very chatty on the console.
2341 DebugMessagingEnabled = false
2342
2343 ; Groups data is cached for this number of seconds before another request is made to the groups service
2344 ; Set to 0 to disable the cache.
2345 ; Default is 30 seconds
2346 GroupsCacheTimeout = 30
2347
2348 ; Specify which messaging module to use for groups messaging and if it's enabled
2349 ;MessagingModule = GroupsMessagingModule
2350 MessagingEnabled = true
2351
2352 ;# {MessagingModule} {MessagingEnabled:true} {Module to use for groups messaging} {GroupsMessagingModule "Groups Messaging Module V2"} GroupsMessagingModule
2353 ; MessagingModule = GroupsMessagingModule
2354 ; or use "Groups Messaging Module V2" for Groups V2
2355 MessagingModule = "Groups Messaging Module V2"
2356
2357 ; Experimental option to only message cached online users rather than all users
2358 ; Should make large group with few online members messaging faster, at the expense of more calls to ROBUST presence service
2359 ; (Flotsam groups only; in V2 this is always on)
2360 MessageOnlineUsersOnly = true
2361
2362 ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend
2363
2364 ; SimianGrid Service for Groups
2365 ;ServicesConnectorModule = SimianGroupsServicesConnector
2366 ;GroupsServerURI = http://mygridserver.com:82/Grid/
2367
2368 ; Flotsam XmlRpc Service for Groups
2369 ;ServicesConnectorModule = XmlRpcGroupsServicesConnector
2370 ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php
2371
2372 ; XmlRpc Security settings. These must match those set on your backend groups service if the service is using these keys
2373 ;XmlRpcServiceReadKey = 1234
2374 ;XmlRpcServiceWriteKey = 1234
2375
2376 ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests,
2377 ; only set to false it if you absolute sure regions and groups server support it.
2378 ; XmlRpcDisableKeepAlive = true
2379
2380 ; Minimum user level required to create groups
2381 LevelGroupCreate = 0
2382
2383
2384[PacketPool]
2385 ;RecyclePackets = true
2386 ;RecycleDataBlocks = true
2387
2388 ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets.
2389 ; This reduces data churn
2390 RecycleBaseUDPPackets = true
2391
2392
2393[InterestManagement]
2394 ; This section controls how state updates are prioritized for each client
2395 ; Valid values are BestAvatarResponsiveness, Time, Distance,
2396 ; SimpleAngularDistance, and FrontBack
2397 UpdatePrioritizationScheme = BestAvatarResponsiveness
2398 ReprioritizationEnabled = true
2399 ReprioritizationInterval = 2000.0
2400 RootReprioritizationDistance = 10.0
2401 ChildReprioritizationDistance = 20.0
2402
2403 ; TEST OPTION KEEP AS FALSE
2404 ; if true, don't send object updates if outside view range
2405 ObjectsCullingByDistance = false
2406
2407 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region
2408 ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates).
2409 ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars.
2410 RootTerseUpdatePeriod = 0
2411
2412 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region
2413 ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect.
2414 ChildTerseUpdatePeriod = 0
2415
2416 ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance
2417 RootPositionUpdateTolerance = 0.05
2418
2419 ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance
2420 RootRotationUpdateTolerance = 0.1
2421
2422 ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance
2423 RootVelocityUpdateTolerance = 0.001
2424
2425
2426[Monitoring]
2427 ; Enable region monitoring
2428 ; If true, this will print out an error if more than a minute has passed since the last simulator frame
2429 ; Also is another source of region statistics provided via the regionstats URL
2430 Enabled = true
2431 ; next option may still use framework performance monitors designed for debug only, so avoid it
2432 ;ServerStatsEnabled = false
2433
2434
2435[WebStats]
2436 ; View region statistics via a web page
2437 ; See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page
2438 ; Use a web browser and type in the "Login URI" + "/SStats/"
2439 ; For example- http://127.0.0.1:9000/SStats/
2440 enabled=true
2441
2442
2443[Statistics]
2444 ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames
2445 ; to include in the averaging calculations
2446 NumberOfFrames=10
2447
2448
2449[MediaOnAPrim]
2450 ; Enable media on a prim facilities
2451 Enabled = true
2452
2453
2454[NPC]
2455 ;; Enable Non Player Character (NPC) facilities
2456 Enabled = true
2457 ;; several options to control NPCs creation
2458
2459 ;; allow NPCs to be created not Owned {true false} default: true
2460 AllowNotOwned = true
2461
2462 ;; allow NPCs to set to be sensed as Avatars {true false} default: true
2463 AllowSenseAsAvatar = true
2464
2465 ;; allow NPCs to created cloning any avatar in region {true false} default: true
2466 AllowCloneOtherAvatars = true
2467
2468 ;; if true NPCs will have no group title, if false display "- NPC -" for easy identification {true false} default: true
2469 NoNPCGroup = false
2470
2471[Terrain]
2472 ; Values can be "pinhead-island" or "flat"
2473 InitialTerrain = "pinhead-island"
2474 ; If 'true' each avatar is only sent terrain patches within their view distance
2475 ; This also changes the region terrain loading from 'lawn mower' to ordered around
2476 ; the avatar outward.
2477 SendTerrainUpdatesByViewDistance = True
2478
2479[LandManagement]
2480 ; When editing terrain or objects, parcel layer info is updated in the viewer.
2481 ; This can be expensive for large regions. If this variable is 'true', only the
2482 ; parcel layer data around the area of interest is sent. The parcel layer info
2483 ; is sent for 'ParcelLayerViewDistance' around the interest point.
2484 ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions
2485 ; will be what it has always been (send the whole region's parcel layer info).
2486 ; Other parcel updates (login, changing parcel ownership, ...) will still send
2487 ; whole region.
2488 LimitParcelLayerUpdateDistance = false
2489 ParcelLayerViewDistance = 1024
2490
2491 ; set this to false to not display parcel ban lines
2492 ShowParcelBansLines = true
2493
2494
2495;; If you are using a simian grid frontend you can enable
2496;; this module to upload tile images for the mapping fn
2497;;
2498[SimianGridMaptiles]
2499 Enabled = False
2500 MaptileURL = "http://www.mygrid.com/Grid/"
2501 RefreshTime = 3600
2502
2503
2504;;
2505;; JsonStore module provides structured store for scripts
2506;;
2507[JsonStore]
2508 Enabled = true
2509
2510 ;; Enable direct access to the SOP dynamic attributes
2511 EnableObjectStore = true
2512 MaxStringSpace = 0
2513
2514
2515;;
2516;; These are defaults that are overwritten below in [Architecture].
2517;; These defaults allow OpenSim to work out of the box with
2518;; zero configuration
2519;;
2520[AssetService]
2521 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
2522 AssetLoaderArgs = "assets/AssetSets.xml"
2523
2524 ; Disable this to prevent the default asset set from being inserted into the
2525 ; asset store each time the region starts
2526 AssetLoaderEnabled = true
2527
2528
2529[GridService]
2530 ;; default standalone, overridable in StandaloneCommon.ini
2531 StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
2532
2533
2534[AutoBackupModule]
2535 ;; default is module is disabled at the top level
2536 AutoBackupModuleEnabled = false
2537
2538
2539[Sounds]
2540 ;; {Module} {} {Implementation of ISoundModule to use.} {OpenSim.Region.CoreModules.dll:SoundModule}
2541 Module = OpenSim.Region.CoreModules.dll:SoundModule
2542
2543 ;; {MaxDistance} {} {Cut-off distance at which sounds will not be sent to users} {100.0}
2544 MaxDistance = 100.0
2545
2546
2547[ServiceThrottle]
2548 ;; Default time interval (in ms) for the throttle service thread to wake up
2549 Interval = 5000
2550
2551
2552[Dwell]
2553 ;; This enables the built in basic dwell module
2554 DwellModule = DefaultDwellModule
2555
2556
2557[Modules]
2558 Include-modules = "addon-modules/*/config/*.ini"
2559
2560
2561[Materials]
2562 ;; This enables the use of Materials.
2563 enable_materials = true
2564 MaxMaterialsPerTransaction = 50
2565
2566
2567[XBakes]
2568 ;; Sets the URL for the baked texture ROBUST service.
2569 ;; Disabled when unset.
2570 URL = ${Const|BaseURL}:${Const|PrivatePort}
2571
2572
2573;; Optional module to highlight God names in the viewer.
2574;; Uncomment and customize appropriately if you want this behavior.
2575;;
2576;[GodNames]
2577; Enabled = false
2578; FullNames = "Test User, Foo Bar"
2579; Surnames = "Kryztlsk"
diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe
new file mode 100755
index 0000000..05deb1f
--- /dev/null
+++ b/bin/Prebuild.exe
Binary files differ
diff --git a/bin/PrimMesher.dll b/bin/PrimMesher.dll
new file mode 100755
index 0000000..87022b7
--- /dev/null
+++ b/bin/PrimMesher.dll
Binary files differ
diff --git a/bin/Regions/Regions.ini.example b/bin/Regions/Regions.ini.example
new file mode 100644
index 0000000..97d1c4f
--- /dev/null
+++ b/bin/Regions/Regions.ini.example
@@ -0,0 +1,101 @@
1; * This is an example region config file.
2; *
3; * If OpenSimulator is started up without any regions, it will ask you configuration questions to generate a Regions.ini file for you.
4; * So there is no need to change this file directly, it is only for reference.
5; * However, if you prefer you can also copy this file to Regions.ini and appropriately change the parameters below.
6; * Only files ending with .ini and .xml in this directly will be loaded by OpenSimulator.
7; *
8; * You can multiple regions into one file or make one file per region
9; * The section name is the region name
10; *
11
12[Default Region]
13
14; *
15; * You MUST change this! It will NOT be done for you!
16; *
17
18RegionUUID = 11111111-2222-3333-4444-555555555555
19
20Location = 1000,1000
21InternalAddress = 0.0.0.0
22InternalPort = 9000
23AllowAlternatePorts = False
24ExternalHostName = SYSTEMIP
25
26; *
27; * Variable-sized regions allows the creation of large, borderless spaces.
28; * The default is 256 meters. For larger spaces, set these to multiples of 256.
29; * For the time being, X and Y need to be the same.
30; *
31; SizeX = 512
32; SizeY = 512
33
34; * Default region landing point used when no teleport coords are specified
35; DefaultLanding = <128,128,30>
36
37; *
38; * Prim data
39; * This allows limiting the sizes of prims and the region prim count
40; *
41
42; NonPhysicalPrimMax = 256
43; PhysicalPrimMax = 64
44; ClampPrimSize = False
45; MaxPrims = 15000
46; MaxAgents = 100
47
48; * Max prims per user (per parcel).
49; * Negative values will disable the check.
50; MaxPrimsPerUser = -1
51
52; *
53; * Multi-Tenancy. Only set if needed
54; *
55
56; ScopeID = "00000000-0000-0000-0000-000000000000"
57
58; *
59; * Product name (used in search from viewer 1.23
60; *
61
62; RegionType = "Mainland"
63
64; * Region Specific Static Maptiles:
65; * Important: To use any kind of texture *assets* as a static maptile, the following
66; * things must be set in the [Map] section of OpenSim.ini :
67; *
68; * MapImageModule = "MapImageModule"
69; * GenerateMaptiles = false
70; *
71; * Now, there is a setting in [Map] in OpenSim.ini called
72; *
73; * MaptileStaticUUID = 00000000-0000-0000-0000-000000000000
74; *
75; * where, given the criteria above, lets you specify the UUID of a texture asset to use
76; * as a maptile *Simulator Wide*. Here, you can override that on a per region basis for
77; * Simulators that run multiple regions:
78
79; MaptileStaticUUID = 00000000-0000-0000-0000-000000000000
80
81
82; * Region Specific Static Maptiles from file:
83; * It is also possible to create maptiles using external image files of the right size
84; * and supported formats (bmp,png,jpg in RGB 24bpp format)
85; *
86; * Important: To use any kind of texture *files* as a static maptile, the following
87; * things must be set in the [Map] section of OpenSim.ini :
88; *
89; * MapImageModule = "MapImageModule"
90; * GenerateMaptiles = true
91; *
92; * The image must be the same size in pixels as the region or varregion is in meters.
93; * i.e. 256x256 pixels for single region of 256x256m, or 1280x1280 pixels for a varregion
94; * of size 1280x1280m. The image can be loaded from anywhere by setting the path
95; * ie: MaptileStaticFile = "maptiles/SomeFile.png"
96; *
97; * If this setting is used, then the base map is generated from this file instead of being
98; * built using MapImageModule's terrain and prim renderer. Parcel 'for sale' overlays are
99; * still drawn on top of the static map by the World Map module.
100
101; MaptileStaticFile = "SomeFile.png"
diff --git a/bin/RestSharp.xml b/bin/RestSharp.xml
new file mode 100644
index 0000000..27a71c7
--- /dev/null
+++ b/bin/RestSharp.xml
@@ -0,0 +1,3024 @@
1<?xml version="1.0"?>
2<doc>
3 <assembly>
4 <name>RestSharp</name>
5 </assembly>
6 <members>
7 <member name="T:RestSharp.NtlmAuthenticator">
8 <summary>
9 Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user
10 </summary>
11 </member>
12 <member name="M:RestSharp.NtlmAuthenticator.#ctor">
13 <summary>
14 Authenticate with the credentials of the currently logged in user
15 </summary>
16 </member>
17 <member name="M:RestSharp.NtlmAuthenticator.#ctor(System.String,System.String)">
18 <summary>
19 Authenticate by impersonation
20 </summary>
21 <param name="username"></param>
22 <param name="password"></param>
23 </member>
24 <member name="M:RestSharp.NtlmAuthenticator.#ctor(System.Net.ICredentials)">
25 <summary>
26 Authenticate by impersonation, using an existing <c>ICredentials</c> instance
27 </summary>
28 <param name="credentials"></param>
29 </member>
30 <member name="T:RestSharp.Authenticators.OAuth1Authenticator">
31 <seealso href="http://tools.ietf.org/html/rfc5849"/>
32 </member>
33 <member name="T:RestSharp.OAuth2Authenticator">
34 <summary>
35 Base class for OAuth 2 Authenticators.
36 </summary>
37 <remarks>
38 Since there are many ways to authenticate in OAuth2,
39 this is used as a base class to differentiate between
40 other authenticators.
41
42 Any other OAuth2 authenticators must derive from this
43 abstract class.
44 </remarks>
45 </member>
46 <member name="F:RestSharp.OAuth2Authenticator._accessToken">
47 <summary>
48 Access token to be used when authenticating.
49 </summary>
50 </member>
51 <member name="M:RestSharp.OAuth2Authenticator.#ctor(System.String)">
52 <summary>
53 Initializes a new instance of the <see cref="T:RestSharp.OAuth2Authenticator"/> class.
54 </summary>
55 <param name="accessToken">
56 The access token.
57 </param>
58 </member>
59 <member name="P:RestSharp.OAuth2Authenticator.AccessToken">
60 <summary>
61 Gets the access token.
62 </summary>
63 </member>
64 <member name="T:RestSharp.OAuth2UriQueryParameterAuthenticator">
65 <summary>
66 The OAuth 2 authenticator using URI query parameter.
67 </summary>
68 <remarks>
69 Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2
70 </remarks>
71 </member>
72 <member name="M:RestSharp.OAuth2UriQueryParameterAuthenticator.#ctor(System.String)">
73 <summary>
74 Initializes a new instance of the <see cref="T:RestSharp.OAuth2UriQueryParameterAuthenticator"/> class.
75 </summary>
76 <param name="accessToken">
77 The access token.
78 </param>
79 </member>
80 <member name="T:RestSharp.OAuth2AuthorizationRequestHeaderAuthenticator">
81 <summary>
82 The OAuth 2 authenticator using the authorization request header field.
83 </summary>
84 <remarks>
85 Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1
86 </remarks>
87 </member>
88 <member name="F:RestSharp.OAuth2AuthorizationRequestHeaderAuthenticator._authorizationValue">
89 <summary>
90 Stores the Authorization header value as "[tokenType] accessToken". used for performance.
91 </summary>
92 </member>
93 <member name="M:RestSharp.OAuth2AuthorizationRequestHeaderAuthenticator.#ctor(System.String)">
94 <summary>
95 Initializes a new instance of the <see cref="T:RestSharp.OAuth2AuthorizationRequestHeaderAuthenticator"/> class.
96 </summary>
97 <param name="accessToken">
98 The access token.
99 </param>
100 </member>
101 <member name="M:RestSharp.OAuth2AuthorizationRequestHeaderAuthenticator.#ctor(System.String,System.String)">
102 <summary>
103 Initializes a new instance of the <see cref="T:RestSharp.OAuth2AuthorizationRequestHeaderAuthenticator"/> class.
104 </summary>
105 <param name="accessToken">
106 The access token.
107 </param>
108 <param name="tokenType">
109 The token type.
110 </param>
111 </member>
112 <member name="F:RestSharp.Authenticators.OAuth.OAuthTools._encoding">
113 <summary>
114 All text parameters are UTF-8 encoded (per section 5.1).
115 </summary>
116 <seealso cref="!:http://www.hueniverse.com/hueniverse/2008/10/beginners-gui-1.html"/>
117 </member>
118 <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetNonce">
119 <summary>
120 Generates a random 16-byte lowercase alphanumeric string.
121 </summary>
122 <seealso cref="!:http://oauth.net/core/1.0#nonce"/>
123 <returns></returns>
124 </member>
125 <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetTimestamp">
126 <summary>
127 Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT"
128 </summary>
129 <seealso cref="!:http://oauth.net/core/1.0#nonce"/>
130 <returns></returns>
131 </member>
132 <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetTimestamp(System.DateTime)">
133 <summary>
134 Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT"
135 </summary>
136 <seealso cref="!:http://oauth.net/core/1.0#nonce"/>
137 <param name="dateTime">A specified point in time.</param>
138 <returns></returns>
139 </member>
140 <member name="F:RestSharp.Authenticators.OAuth.OAuthTools.UriRfc3986CharsToEscape">
141 <summary>
142 The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986.
143 </summary>
144 <seealso cref="!:http://stackoverflow.com/questions/846487/how-to-get-uri-escapedatastring-to-comply-with-rfc-3986"/>
145 </member>
146 <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.UrlEncodeRelaxed(System.String)">
147 <summary>
148 URL encodes a string based on section 5.1 of the OAuth spec.
149 Namely, percent encoding with [RFC3986], avoiding unreserved characters,
150 upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs.
151 </summary>
152 <param name="value">The value to escape.</param>
153 <returns>The escaped value.</returns>
154 <remarks>
155 The <see cref="M:System.Uri.EscapeDataString(System.String)"/> method is <i>supposed</i> to take on
156 RFC 3986 behavior if certain elements are present in a .config file. Even if this
157 actually worked (which in my experiments it <i>doesn't</i>), we can't rely on every
158 host actually having this configuration element present.
159 </remarks>
160 <seealso cref="!:http://oauth.net/core/1.0#encoding_parameters"/>
161 <seealso cref="!:http://stackoverflow.com/questions/846487/how-to-get-uri-escapedatastring-to-comply-with-rfc-3986"/>
162 </member>
163 <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.UrlEncodeStrict(System.String)">
164 <summary>
165 URL encodes a string based on section 5.1 of the OAuth spec.
166 Namely, percent encoding with [RFC3986], avoiding unreserved characters,
167 upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs.
168 </summary>
169 <param name="value"></param>
170 <seealso cref="!:http://oauth.net/core/1.0#encoding_parameters"/>
171 </member>
172 <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.NormalizeRequestParameters(RestSharp.Authenticators.OAuth.WebParameterCollection)">
173 <summary>
174 Sorts a collection of key-value pairs by name, and then value if equal,
175 concatenating them into a single string. This string should be encoded
176 prior to, or after normalization is run.
177 </summary>
178 <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.1.1"/>
179 <param name="parameters"></param>
180 <returns></returns>
181 </member>
182 <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.SortParametersExcludingSignature(RestSharp.Authenticators.OAuth.WebParameterCollection)">
183 <summary>
184 Sorts a <see cref="T:RestSharp.Authenticators.OAuth.WebParameterCollection"/> by name, and then value if equal.
185 </summary>
186 <param name="parameters">A collection of parameters to sort</param>
187 <returns>A sorted parameter collection</returns>
188 </member>
189 <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.ConstructRequestUrl(System.Uri)">
190 <summary>
191 Creates a request URL suitable for making OAuth requests.
192 Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively.
193 Resulting URLs must be lower case.
194 </summary>
195 <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.1.2"/>
196 <param name="url">The original request URL</param>
197 <returns></returns>
198 </member>
199 <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.ConcatenateRequestElements(System.String,System.String,RestSharp.Authenticators.OAuth.WebParameterCollection)">
200 <summary>
201 Creates a request elements concatentation value to send with a request.
202 This is also known as the signature base.
203 </summary>
204 <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.1.3"/>
205 <seealso cref="!:http://oauth.net/core/1.0#sig_base_example"/>
206 <param name="method">The request's HTTP method type</param>
207 <param name="url">The request URL</param>
208 <param name="parameters">The request's parameters</param>
209 <returns>A signature base string</returns>
210 </member>
211 <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetSignature(RestSharp.Authenticators.OAuth.OAuthSignatureMethod,System.String,System.String)">
212 <summary>
213 Creates a signature value given a signature base and the consumer secret.
214 This method is used when the token secret is currently unknown.
215 </summary>
216 <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.2"/>
217 <param name="signatureMethod">The hashing method</param>
218 <param name="signatureBase">The signature base</param>
219 <param name="consumerSecret">The consumer key</param>
220 <returns></returns>
221 </member>
222 <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetSignature(RestSharp.Authenticators.OAuth.OAuthSignatureMethod,RestSharp.Authenticators.OAuth.OAuthSignatureTreatment,System.String,System.String)">
223 <summary>
224 Creates a signature value given a signature base and the consumer secret.
225 This method is used when the token secret is currently unknown.
226 </summary>
227 <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.2"/>
228 <param name="signatureMethod">The hashing method</param>
229 <param name="signatureTreatment">The treatment to use on a signature value</param>
230 <param name="signatureBase">The signature base</param>
231 <param name="consumerSecret">The consumer key</param>
232 <returns></returns>
233 </member>
234 <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetSignature(RestSharp.Authenticators.OAuth.OAuthSignatureMethod,System.String,System.String,System.String)">
235 <summary>
236 Creates a signature value given a signature base and the consumer secret and a known token secret.
237 </summary>
238 <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.2"/>
239 <param name="signatureMethod">The hashing method</param>
240 <param name="signatureBase">The signature base</param>
241 <param name="consumerSecret">The consumer secret</param>
242 <param name="tokenSecret">The token secret</param>
243 <returns></returns>
244 </member>
245 <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetSignature(RestSharp.Authenticators.OAuth.OAuthSignatureMethod,RestSharp.Authenticators.OAuth.OAuthSignatureTreatment,System.String,System.String,System.String)">
246 <summary>
247 Creates a signature value given a signature base and the consumer secret and a known token secret.
248 </summary>
249 <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.2"/>
250 <param name="signatureMethod">The hashing method</param>
251 <param name="signatureTreatment">The treatment to use on a signature value</param>
252 <param name="signatureBase">The signature base</param>
253 <param name="consumerSecret">The consumer secret</param>
254 <param name="tokenSecret">The token secret</param>
255 <returns></returns>
256 </member>
257 <member name="T:RestSharp.Authenticators.OAuth.OAuthWorkflow">
258 <summary>
259 A class to encapsulate OAuth authentication flow.
260 <seealso cref="!:http://oauth.net/core/1.0#anchor9"/>
261 </summary>
262 </member>
263 <member name="M:RestSharp.Authenticators.OAuth.OAuthWorkflow.BuildRequestTokenInfo(System.String)">
264 <summary>
265 Generates a <see cref="T:RestSharp.Authenticators.OAuth.OAuthWebQueryInfo"/> instance to pass to an
266 <see cref="T:RestSharp.IAuthenticator"/> for the purpose of requesting an
267 unauthorized request token.
268 </summary>
269 <param name="method">The HTTP method for the intended request</param>
270 <seealso cref="!:http://oauth.net/core/1.0#anchor9"/>
271 <returns></returns>
272 </member>
273 <member name="M:RestSharp.Authenticators.OAuth.OAuthWorkflow.BuildRequestTokenInfo(System.String,RestSharp.Authenticators.OAuth.WebParameterCollection)">
274 <summary>
275 Generates a <see cref="T:RestSharp.Authenticators.OAuth.OAuthWebQueryInfo"/> instance to pass to an
276 <see cref="T:RestSharp.IAuthenticator"/> for the purpose of requesting an
277 unauthorized request token.
278 </summary>
279 <param name="method">The HTTP method for the intended request</param>
280 <param name="parameters">Any existing, non-OAuth query parameters desired in the request</param>
281 <seealso cref="!:http://oauth.net/core/1.0#anchor9"/>
282 <returns></returns>
283 </member>
284 <member name="M:RestSharp.Authenticators.OAuth.OAuthWorkflow.BuildAccessTokenInfo(System.String)">
285 <summary>
286 Generates a <see cref="T:RestSharp.Authenticators.OAuth.OAuthWebQueryInfo"/> instance to pass to an
287 <see cref="T:RestSharp.IAuthenticator"/> for the purpose of exchanging a request token
288 for an access token authorized by the user at the Service Provider site.
289 </summary>
290 <param name="method">The HTTP method for the intended request</param>
291 <seealso cref="!:http://oauth.net/core/1.0#anchor9"/>
292 </member>
293 <member name="M:RestSharp.Authenticators.OAuth.OAuthWorkflow.BuildAccessTokenInfo(System.String,RestSharp.Authenticators.OAuth.WebParameterCollection)">
294 <summary>
295 Generates a <see cref="T:RestSharp.Authenticators.OAuth.OAuthWebQueryInfo"/> instance to pass to an
296 <see cref="T:RestSharp.IAuthenticator"/> for the purpose of exchanging a request token
297 for an access token authorized by the user at the Service Provider site.
298 </summary>
299 <param name="method">The HTTP method for the intended request</param>
300 <seealso cref="!:http://oauth.net/core/1.0#anchor9"/>
301 <param name="parameters">Any existing, non-OAuth query parameters desired in the request</param>
302 </member>
303 <member name="M:RestSharp.Authenticators.OAuth.OAuthWorkflow.BuildClientAuthAccessTokenInfo(System.String,RestSharp.Authenticators.OAuth.WebParameterCollection)">
304 <summary>
305 Generates a <see cref="T:RestSharp.Authenticators.OAuth.OAuthWebQueryInfo"/> instance to pass to an
306 <see cref="T:RestSharp.IAuthenticator"/> for the purpose of exchanging user credentials
307 for an access token authorized by the user at the Service Provider site.
308 </summary>
309 <param name="method">The HTTP method for the intended request</param>
310 <seealso cref="!:http://tools.ietf.org/html/draft-dehora-farrell-oauth-accesstoken-creds-00#section-4"/>
311 <param name="parameters">Any existing, non-OAuth query parameters desired in the request</param>
312 </member>
313 <member name="P:RestSharp.Authenticators.OAuth.OAuthWorkflow.RequestTokenUrl">
314 <seealso cref="!:http://oauth.net/core/1.0#request_urls"/>
315 </member>
316 <member name="P:RestSharp.Authenticators.OAuth.OAuthWorkflow.AccessTokenUrl">
317 <seealso cref="!:http://oauth.net/core/1.0#request_urls"/>
318 </member>
319 <member name="P:RestSharp.Authenticators.OAuth.OAuthWorkflow.AuthorizationUrl">
320 <seealso cref="!:http://oauth.net/core/1.0#request_urls"/>
321 </member>
322 <member name="T:RestSharp.Deserializers.DeserializeAsAttribute">
323 <summary>
324 Allows control how class and property names and values are deserialized by XmlAttributeDeserializer
325 </summary>
326 </member>
327 <member name="P:RestSharp.Deserializers.DeserializeAsAttribute.Name">
328 <summary>
329 The name to use for the serialized element
330 </summary>
331 </member>
332 <member name="P:RestSharp.Deserializers.DeserializeAsAttribute.Attribute">
333 <summary>
334 Sets if the property to Deserialize is an Attribute or Element (Default: false)
335 </summary>
336 </member>
337 <member name="T:RestSharp.Deserializers.DotNetXmlDeserializer">
338 <summary>
339 Wrapper for System.Xml.Serialization.XmlSerializer.
340 </summary>
341 </member>
342 <member name="T:RestSharp.ParameterType">
343 <summary>
344 Types of parameters that can be added to requests
345 </summary>
346 </member>
347 <member name="T:RestSharp.DataFormat">
348 <summary>
349 Data formats
350 </summary>
351 </member>
352 <member name="T:RestSharp.Method">
353 <summary>
354 HTTP method to use when making requests
355 </summary>
356 </member>
357 <member name="T:RestSharp.DateFormat">
358 <summary>
359 Format strings for commonly-used date formats
360 </summary>
361 </member>
362 <member name="F:RestSharp.DateFormat.Iso8601">
363 <summary>
364 .NET format string for ISO 8601 date format
365 </summary>
366 </member>
367 <member name="F:RestSharp.DateFormat.RoundTrip">
368 <summary>
369 .NET format string for roundtrip date format
370 </summary>
371 </member>
372 <member name="T:RestSharp.ResponseStatus">
373 <summary>
374 Status for responses (surprised?)
375 </summary>
376 </member>
377 <member name="T:RestSharp.Extensions.MiscExtensions">
378 <summary>
379 Extension method overload!
380 </summary>
381 </member>
382 <member name="M:RestSharp.Extensions.MiscExtensions.SaveAs(System.Byte[],System.String)">
383 <summary>
384 Save a byte array to a file
385 </summary>
386 <param name="input">Bytes to save</param>
387 <param name="path">Full path to save file to</param>
388 </member>
389 <member name="M:RestSharp.Extensions.MiscExtensions.ReadAsBytes(System.IO.Stream)">
390 <summary>
391 Read a stream into a byte array
392 </summary>
393 <param name="input">Stream to read</param>
394 <returns>byte[]</returns>
395 </member>
396 <member name="M:RestSharp.Extensions.MiscExtensions.CopyTo(System.IO.Stream,System.IO.Stream)">
397 <summary>
398 Copies bytes from one stream to another
399 </summary>
400 <param name="input">The input stream.</param>
401 <param name="output">The output stream.</param>
402 </member>
403 <member name="M:RestSharp.Extensions.MiscExtensions.AsString(System.Byte[])">
404 <summary>
405 Converts a byte array to a string, using its byte order mark to convert it to the right encoding.
406 http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx
407 </summary>
408 <param name="buffer">An array of bytes to convert</param>
409 <returns>The byte as a string.</returns>
410 </member>
411 <member name="M:RestSharp.Contrib.HttpUtility.HtmlDecode(System.String)">
412 <summary>
413 Decodes an HTML-encoded string and returns the decoded string.
414 </summary>
415 <param name="s">The HTML string to decode. </param>
416 <returns>The decoded text.</returns>
417 </member>
418 <member name="M:RestSharp.Contrib.HttpUtility.HtmlDecode(System.String,System.IO.TextWriter)">
419 <summary>
420 Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream.
421 </summary>
422 <param name="s">The HTML string to decode</param>
423 <param name="output">The TextWriter output stream containing the decoded string. </param>
424 </member>
425 <member name="M:RestSharp.Contrib.HttpUtility.HtmlEncode(System.String,System.IO.TextWriter)">
426 <summary>
427 HTML-encodes a string and sends the resulting output to a TextWriter output stream.
428 </summary>
429 <param name="s">The string to encode. </param>
430 <param name="output">The TextWriter output stream containing the encoded string. </param>
431 </member>
432 <member name="T:RestSharp.Extensions.ReflectionExtensions">
433 <summary>
434 Reflection extensions
435 </summary>
436 </member>
437 <member name="M:RestSharp.Extensions.ReflectionExtensions.GetAttribute``1(System.Reflection.MemberInfo)">
438 <summary>
439 Retrieve an attribute from a member (property)
440 </summary>
441 <typeparam name="T">Type of attribute to retrieve</typeparam>
442 <param name="prop">Member to retrieve attribute from</param>
443 <returns></returns>
444 </member>
445 <member name="M:RestSharp.Extensions.ReflectionExtensions.GetAttribute``1(System.Type)">
446 <summary>
447 Retrieve an attribute from a type
448 </summary>
449 <typeparam name="T">Type of attribute to retrieve</typeparam>
450 <param name="type">Type to retrieve attribute from</param>
451 <returns></returns>
452 </member>
453 <member name="M:RestSharp.Extensions.ReflectionExtensions.IsSubclassOfRawGeneric(System.Type,System.Type)">
454 <summary>
455 Checks a type to see if it derives from a raw generic (e.g. List[[]])
456 </summary>
457 <param name="toCheck"></param>
458 <param name="generic"></param>
459 <returns></returns>
460 </member>
461 <member name="M:RestSharp.Extensions.ReflectionExtensions.FindEnumValue(System.Type,System.String,System.Globalization.CultureInfo)">
462 <summary>
463 Find a value from a System.Enum by trying several possible variants
464 of the string value of the enum.
465 </summary>
466 <param name="type">Type of enum</param>
467 <param name="value">Value for which to search</param>
468 <param name="culture">The culture used to calculate the name variants</param>
469 <returns></returns>
470 </member>
471 <member name="M:RestSharp.Extensions.ResponseStatusExtensions.ToWebException(RestSharp.ResponseStatus)">
472 <summary>
473 Convert a <see cref="T:RestSharp.ResponseStatus"/> to a <see cref="T:System.Net.WebException"/> instance.
474 </summary>
475 <param name="responseStatus">The response status.</param>
476 <returns></returns>
477 <exception cref="T:System.ArgumentOutOfRangeException">responseStatus</exception>
478 </member>
479 <member name="M:RestSharp.Extensions.StringExtensions.UrlEncode(System.String)">
480 <summary>
481 Uses Uri.EscapeDataString() based on recommendations on MSDN
482 http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx
483 </summary>
484 </member>
485 <member name="M:RestSharp.Extensions.StringExtensions.HasValue(System.String)">
486 <summary>
487 Check that a string is not null or empty
488 </summary>
489 <param name="input">String to check</param>
490 <returns>bool</returns>
491 </member>
492 <member name="M:RestSharp.Extensions.StringExtensions.RemoveUnderscoresAndDashes(System.String)">
493 <summary>
494 Remove underscores from a string
495 </summary>
496 <param name="input">String to process</param>
497 <returns>string</returns>
498 </member>
499 <member name="M:RestSharp.Extensions.StringExtensions.ParseJsonDate(System.String,System.Globalization.CultureInfo)">
500 <summary>
501 Parses most common JSON date formats
502 </summary>
503 <param name="input">JSON value to parse</param>
504 <param name="culture"></param>
505 <returns>DateTime</returns>
506 </member>
507 <member name="M:RestSharp.Extensions.StringExtensions.RemoveSurroundingQuotes(System.String)">
508 <summary>
509 Remove leading and trailing " from a string
510 </summary>
511 <param name="input">String to parse</param>
512 <returns>String</returns>
513 </member>
514 <member name="M:RestSharp.Extensions.StringExtensions.Matches(System.String,System.String)">
515 <summary>
516 Checks a string to see if it matches a regex
517 </summary>
518 <param name="input">String to check</param>
519 <param name="pattern">Pattern to match</param>
520 <returns>bool</returns>
521 </member>
522 <member name="M:RestSharp.Extensions.StringExtensions.ToPascalCase(System.String,System.Globalization.CultureInfo)">
523 <summary>
524 Converts a string to pascal case
525 </summary>
526 <param name="lowercaseAndUnderscoredWord">String to convert</param>
527 <param name="culture"></param>
528 <returns>string</returns>
529 </member>
530 <member name="M:RestSharp.Extensions.StringExtensions.ToPascalCase(System.String,System.Boolean,System.Globalization.CultureInfo)">
531 <summary>
532 Converts a string to pascal case with the option to remove underscores
533 </summary>
534 <param name="text">String to convert</param>
535 <param name="removeUnderscores">Option to remove underscores</param>
536 <param name="culture"></param>
537 <returns></returns>
538 </member>
539 <member name="M:RestSharp.Extensions.StringExtensions.ToCamelCase(System.String,System.Globalization.CultureInfo)">
540 <summary>
541 Converts a string to camel case
542 </summary>
543 <param name="lowercaseAndUnderscoredWord">String to convert</param>
544 <param name="culture"></param>
545 <returns>String</returns>
546 </member>
547 <member name="M:RestSharp.Extensions.StringExtensions.MakeInitialLowerCase(System.String)">
548 <summary>
549 Convert the first letter of a string to lower case
550 </summary>
551 <param name="word">String to convert</param>
552 <returns>string</returns>
553 </member>
554 <member name="M:RestSharp.Extensions.StringExtensions.IsUpperCase(System.String)">
555 <summary>
556 Checks to see if a string is all uppper case
557 </summary>
558 <param name="inputString">String to check</param>
559 <returns>bool</returns>
560 </member>
561 <member name="M:RestSharp.Extensions.StringExtensions.AddUnderscores(System.String)">
562 <summary>
563 Add underscores to a pascal-cased string
564 </summary>
565 <param name="pascalCasedWord">String to convert</param>
566 <returns>string</returns>
567 </member>
568 <member name="M:RestSharp.Extensions.StringExtensions.AddDashes(System.String)">
569 <summary>
570 Add dashes to a pascal-cased string
571 </summary>
572 <param name="pascalCasedWord">String to convert</param>
573 <returns>string</returns>
574 </member>
575 <member name="M:RestSharp.Extensions.StringExtensions.AddUnderscorePrefix(System.String)">
576 <summary>
577 Add an undescore prefix to a pascasl-cased string
578 </summary>
579 <param name="pascalCasedWord"></param>
580 <returns></returns>
581 </member>
582 <member name="M:RestSharp.Extensions.StringExtensions.AddSpaces(System.String)">
583 <summary>
584 Add spaces to a pascal-cased string
585 </summary>
586 <param name="pascalCasedWord">String to convert</param>
587 <returns>string</returns>
588 </member>
589 <member name="M:RestSharp.Extensions.StringExtensions.GetNameVariants(System.String,System.Globalization.CultureInfo)">
590 <summary>
591 Return possible variants of a name for name matching.
592 </summary>
593 <param name="name">String to convert</param>
594 <param name="culture">The culture to use for conversion</param>
595 <returns>IEnumerable&lt;string&gt;</returns>
596 </member>
597 <member name="T:RestSharp.Extensions.XmlExtensions">
598 <summary>
599 XML Extension Methods
600 </summary>
601 </member>
602 <member name="M:RestSharp.Extensions.XmlExtensions.AsNamespaced(System.String,System.String)">
603 <summary>
604 Returns the name of an element with the namespace if specified
605 </summary>
606 <param name="name">Element name</param>
607 <param name="namespace">XML Namespace</param>
608 <returns></returns>
609 </member>
610 <member name="T:RestSharp.FileParameter">
611 <summary>
612 Container for files to be uploaded with requests
613 </summary>
614 </member>
615 <member name="M:RestSharp.FileParameter.Create(System.String,System.Byte[],System.String,System.String)">
616 <summary>
617 Creates a file parameter from an array of bytes.
618 </summary>
619 <param name="name">The parameter name to use in the request.</param>
620 <param name="data">The data to use as the file's contents.</param>
621 <param name="filename">The filename to use in the request.</param>
622 <param name="contentType">The content type to use in the request.</param>
623 <returns>The <see cref="T:RestSharp.FileParameter"/></returns>
624 </member>
625 <member name="M:RestSharp.FileParameter.Create(System.String,System.Byte[],System.String)">
626 <summary>
627 Creates a file parameter from an array of bytes.
628 </summary>
629 <param name="name">The parameter name to use in the request.</param>
630 <param name="data">The data to use as the file's contents.</param>
631 <param name="filename">The filename to use in the request.</param>
632 <returns>The <see cref="T:RestSharp.FileParameter"/> using the default content type.</returns>
633 </member>
634 <member name="P:RestSharp.FileParameter.ContentLength">
635 <summary>
636 The length of data to be sent
637 </summary>
638 </member>
639 <member name="P:RestSharp.FileParameter.Writer">
640 <summary>
641 Provides raw data for file
642 </summary>
643 </member>
644 <member name="P:RestSharp.FileParameter.FileName">
645 <summary>
646 Name of the file to use when uploading
647 </summary>
648 </member>
649 <member name="P:RestSharp.FileParameter.ContentType">
650 <summary>
651 MIME content type of file
652 </summary>
653 </member>
654 <member name="P:RestSharp.FileParameter.Name">
655 <summary>
656 Name of the parameter
657 </summary>
658 </member>
659 <member name="T:RestSharp.Http">
660 <summary>
661 HttpWebRequest wrapper (async methods)
662 </summary>
663 <summary>
664 HttpWebRequest wrapper
665 </summary>
666 <summary>
667 HttpWebRequest wrapper (sync methods)
668 </summary>
669 </member>
670 <member name="P:RestSharp.IHttp.AlwaysMultipartFormData">
671 <summary>
672 Always send a multipart/form-data request - even when no Files are present.
673 </summary>
674 </member>
675 <member name="P:RestSharp.IHttp.RequestBodyBytes">
676 <summary>
677 An alternative to RequestBody, for when the caller already has the byte array.
678 </summary>
679 </member>
680 <member name="M:RestSharp.Http.AsPostAsync(System.Action{RestSharp.HttpResponse},System.String)">
681 <summary>
682 Execute an async POST-style request with the specified HTTP Method.
683 </summary>
684 <param name="action"></param>
685 <param name="httpMethod">The HTTP method to execute.</param>
686 <returns></returns>
687 </member>
688 <member name="M:RestSharp.Http.AsGetAsync(System.Action{RestSharp.HttpResponse},System.String)">
689 <summary>
690 Execute an async GET-style request with the specified HTTP Method.
691 </summary>
692 <param name="action"></param>
693 <param name="httpMethod">The HTTP method to execute.</param>
694 <returns></returns>
695 </member>
696 <member name="M:RestSharp.Http.Create">
697 <summary>
698 Creates an IHttp
699 </summary>
700 <returns></returns>
701 </member>
702 <member name="M:RestSharp.Http.#ctor">
703 <summary>
704 Default constructor
705 </summary>
706 </member>
707 <member name="M:RestSharp.Http.Post">
708 <summary>
709 Execute a POST request
710 </summary>
711 </member>
712 <member name="M:RestSharp.Http.Put">
713 <summary>
714 Execute a PUT request
715 </summary>
716 </member>
717 <member name="M:RestSharp.Http.Get">
718 <summary>
719 Execute a GET request
720 </summary>
721 </member>
722 <member name="M:RestSharp.Http.Head">
723 <summary>
724 Execute a HEAD request
725 </summary>
726 </member>
727 <member name="M:RestSharp.Http.Options">
728 <summary>
729 Execute an OPTIONS request
730 </summary>
731 </member>
732 <member name="M:RestSharp.Http.Delete">
733 <summary>
734 Execute a DELETE request
735 </summary>
736 </member>
737 <member name="M:RestSharp.Http.Patch">
738 <summary>
739 Execute a PATCH request
740 </summary>
741 </member>
742 <member name="M:RestSharp.Http.Merge">
743 <summary>
744 Execute a MERGE request
745 </summary>
746 </member>
747 <member name="M:RestSharp.Http.AsGet(System.String)">
748 <summary>
749 Execute a GET-style request with the specified HTTP Method.
750 </summary>
751 <param name="httpMethod">The HTTP method to execute.</param>
752 <returns></returns>
753 </member>
754 <member name="M:RestSharp.Http.AsPost(System.String)">
755 <summary>
756 Execute a POST-style request with the specified HTTP Method.
757 </summary>
758 <param name="httpMethod">The HTTP method to execute.</param>
759 <returns></returns>
760 </member>
761 <member name="P:RestSharp.Http.HasParameters">
762 <summary>
763 True if this HTTP request has any HTTP parameters
764 </summary>
765 </member>
766 <member name="P:RestSharp.Http.HasCookies">
767 <summary>
768 True if this HTTP request has any HTTP cookies
769 </summary>
770 </member>
771 <member name="P:RestSharp.Http.HasBody">
772 <summary>
773 True if a request body has been specified
774 </summary>
775 </member>
776 <member name="P:RestSharp.Http.HasFiles">
777 <summary>
778 True if files have been set to be uploaded
779 </summary>
780 </member>
781 <member name="P:RestSharp.Http.AlwaysMultipartFormData">
782 <summary>
783 Always send a multipart/form-data request - even when no Files are present.
784 </summary>
785 </member>
786 <member name="P:RestSharp.Http.UserAgent">
787 <summary>
788 UserAgent to be sent with request
789 </summary>
790 </member>
791 <member name="P:RestSharp.Http.Timeout">
792 <summary>
793 Timeout in milliseconds to be used for the request
794 </summary>
795 </member>
796 <member name="P:RestSharp.Http.ReadWriteTimeout">
797 <summary>
798 The number of milliseconds before the writing or reading times out.
799 </summary>
800 </member>
801 <member name="P:RestSharp.Http.Credentials">
802 <summary>
803 System.Net.ICredentials to be sent with request
804 </summary>
805 </member>
806 <member name="P:RestSharp.Http.CookieContainer">
807 <summary>
808 The System.Net.CookieContainer to be used for the request
809 </summary>
810 </member>
811 <member name="P:RestSharp.Http.ResponseWriter">
812 <summary>
813 The method to use to write the response instead of reading into RawBytes
814 </summary>
815 </member>
816 <member name="P:RestSharp.Http.Files">
817 <summary>
818 Collection of files to be sent with request
819 </summary>
820 </member>
821 <member name="P:RestSharp.Http.FollowRedirects">
822 <summary>
823 Whether or not HTTP 3xx response redirects should be automatically followed
824 </summary>
825 </member>
826 <member name="P:RestSharp.Http.ClientCertificates">
827 <summary>
828 X509CertificateCollection to be sent with request
829 </summary>
830 </member>
831 <member name="P:RestSharp.Http.MaxRedirects">
832 <summary>
833 Maximum number of automatic redirects to follow if FollowRedirects is true
834 </summary>
835 </member>
836 <member name="P:RestSharp.Http.UseDefaultCredentials">
837 <summary>
838 Determine whether or not the "default credentials" (e.g. the user account under which the current process is running)
839 will be sent along to the server.
840 </summary>
841 </member>
842 <member name="P:RestSharp.Http.Headers">
843 <summary>
844 HTTP headers to be sent with request
845 </summary>
846 </member>
847 <member name="P:RestSharp.Http.Parameters">
848 <summary>
849 HTTP parameters (QueryString or Form values) to be sent with request
850 </summary>
851 </member>
852 <member name="P:RestSharp.Http.Cookies">
853 <summary>
854 HTTP cookies to be sent with request
855 </summary>
856 </member>
857 <member name="P:RestSharp.Http.RequestBody">
858 <summary>
859 Request body to be sent with request
860 </summary>
861 </member>
862 <member name="P:RestSharp.Http.RequestContentType">
863 <summary>
864 Content type of the request body.
865 </summary>
866 </member>
867 <member name="P:RestSharp.Http.RequestBodyBytes">
868 <summary>
869 An alternative to RequestBody, for when the caller already has the byte array.
870 </summary>
871 </member>
872 <member name="P:RestSharp.Http.Url">
873 <summary>
874 URL to call for this request
875 </summary>
876 </member>
877 <member name="P:RestSharp.Http.PreAuthenticate">
878 <summary>
879 Flag to send authorisation header with the HttpWebRequest
880 </summary>
881 </member>
882 <member name="P:RestSharp.Http.Proxy">
883 <summary>
884 Proxy info to be sent with request
885 </summary>
886 </member>
887 <member name="T:RestSharp.HttpCookie">
888 <summary>
889 Representation of an HTTP cookie
890 </summary>
891 </member>
892 <member name="P:RestSharp.HttpCookie.Comment">
893 <summary>
894 Comment of the cookie
895 </summary>
896 </member>
897 <member name="P:RestSharp.HttpCookie.CommentUri">
898 <summary>
899 Comment of the cookie
900 </summary>
901 </member>
902 <member name="P:RestSharp.HttpCookie.Discard">
903 <summary>
904 Indicates whether the cookie should be discarded at the end of the session
905 </summary>
906 </member>
907 <member name="P:RestSharp.HttpCookie.Domain">
908 <summary>
909 Domain of the cookie
910 </summary>
911 </member>
912 <member name="P:RestSharp.HttpCookie.Expired">
913 <summary>
914 Indicates whether the cookie is expired
915 </summary>
916 </member>
917 <member name="P:RestSharp.HttpCookie.Expires">
918 <summary>
919 Date and time that the cookie expires
920 </summary>
921 </member>
922 <member name="P:RestSharp.HttpCookie.HttpOnly">
923 <summary>
924 Indicates that this cookie should only be accessed by the server
925 </summary>
926 </member>
927 <member name="P:RestSharp.HttpCookie.Name">
928 <summary>
929 Name of the cookie
930 </summary>
931 </member>
932 <member name="P:RestSharp.HttpCookie.Path">
933 <summary>
934 Path of the cookie
935 </summary>
936 </member>
937 <member name="P:RestSharp.HttpCookie.Port">
938 <summary>
939 Port of the cookie
940 </summary>
941 </member>
942 <member name="P:RestSharp.HttpCookie.Secure">
943 <summary>
944 Indicates that the cookie should only be sent over secure channels
945 </summary>
946 </member>
947 <member name="P:RestSharp.HttpCookie.TimeStamp">
948 <summary>
949 Date and time the cookie was created
950 </summary>
951 </member>
952 <member name="P:RestSharp.HttpCookie.Value">
953 <summary>
954 Value of the cookie
955 </summary>
956 </member>
957 <member name="P:RestSharp.HttpCookie.Version">
958 <summary>
959 Version of the cookie
960 </summary>
961 </member>
962 <member name="T:RestSharp.HttpFile">
963 <summary>
964 Container for HTTP file
965 </summary>
966 </member>
967 <member name="P:RestSharp.HttpFile.ContentLength">
968 <summary>
969 The length of data to be sent
970 </summary>
971 </member>
972 <member name="P:RestSharp.HttpFile.Writer">
973 <summary>
974 Provides raw data for file
975 </summary>
976 </member>
977 <member name="P:RestSharp.HttpFile.FileName">
978 <summary>
979 Name of the file to use when uploading
980 </summary>
981 </member>
982 <member name="P:RestSharp.HttpFile.ContentType">
983 <summary>
984 MIME content type of file
985 </summary>
986 </member>
987 <member name="P:RestSharp.HttpFile.Name">
988 <summary>
989 Name of the parameter
990 </summary>
991 </member>
992 <member name="T:RestSharp.HttpHeader">
993 <summary>
994 Representation of an HTTP header
995 </summary>
996 </member>
997 <member name="P:RestSharp.HttpHeader.Name">
998 <summary>
999 Name of the header
1000 </summary>
1001 </member>
1002 <member name="P:RestSharp.HttpHeader.Value">
1003 <summary>
1004 Value of the header
1005 </summary>
1006 </member>
1007 <member name="T:RestSharp.HttpParameter">
1008 <summary>
1009 Representation of an HTTP parameter (QueryString or Form value)
1010 </summary>
1011 </member>
1012 <member name="P:RestSharp.HttpParameter.Name">
1013 <summary>
1014 Name of the parameter
1015 </summary>
1016 </member>
1017 <member name="P:RestSharp.HttpParameter.Value">
1018 <summary>
1019 Value of the parameter
1020 </summary>
1021 </member>
1022 <member name="T:RestSharp.HttpResponse">
1023 <summary>
1024 HTTP response data
1025 </summary>
1026 </member>
1027 <member name="T:RestSharp.IHttpResponse">
1028 <summary>
1029 HTTP response data
1030 </summary>
1031 </member>
1032 <member name="P:RestSharp.IHttpResponse.ContentType">
1033 <summary>
1034 MIME content type of response
1035 </summary>
1036 </member>
1037 <member name="P:RestSharp.IHttpResponse.ContentLength">
1038 <summary>
1039 Length in bytes of the response content
1040 </summary>
1041 </member>
1042 <member name="P:RestSharp.IHttpResponse.ContentEncoding">
1043 <summary>
1044 Encoding of the response content
1045 </summary>
1046 </member>
1047 <member name="P:RestSharp.IHttpResponse.Content">
1048 <summary>
1049 String representation of response content
1050 </summary>
1051 </member>
1052 <member name="P:RestSharp.IHttpResponse.StatusCode">
1053 <summary>
1054 HTTP response status code
1055 </summary>
1056 </member>
1057 <member name="P:RestSharp.IHttpResponse.StatusDescription">
1058 <summary>
1059 Description of HTTP status returned
1060 </summary>
1061 </member>
1062 <member name="P:RestSharp.IHttpResponse.RawBytes">
1063 <summary>
1064 Response content
1065 </summary>
1066 </member>
1067 <member name="P:RestSharp.IHttpResponse.ResponseUri">
1068 <summary>
1069 The URL that actually responded to the content (different from request if redirected)
1070 </summary>
1071 </member>
1072 <member name="P:RestSharp.IHttpResponse.Server">
1073 <summary>
1074 HttpWebResponse.Server
1075 </summary>
1076 </member>
1077 <member name="P:RestSharp.IHttpResponse.Headers">
1078 <summary>
1079 Headers returned by server with the response
1080 </summary>
1081 </member>
1082 <member name="P:RestSharp.IHttpResponse.Cookies">
1083 <summary>
1084 Cookies returned by server with the response
1085 </summary>
1086 </member>
1087 <member name="P:RestSharp.IHttpResponse.ResponseStatus">
1088 <summary>
1089 Status of the request. Will return Error for transport errors.
1090 HTTP errors will still return ResponseStatus.Completed, check StatusCode instead
1091 </summary>
1092 </member>
1093 <member name="P:RestSharp.IHttpResponse.ErrorMessage">
1094 <summary>
1095 Transport or other non-HTTP error generated while attempting request
1096 </summary>
1097 </member>
1098 <member name="P:RestSharp.IHttpResponse.ErrorException">
1099 <summary>
1100 Exception thrown when error is encountered.
1101 </summary>
1102 </member>
1103 <member name="M:RestSharp.HttpResponse.#ctor">
1104 <summary>
1105 Default constructor
1106 </summary>
1107 </member>
1108 <member name="P:RestSharp.HttpResponse.ContentType">
1109 <summary>
1110 MIME content type of response
1111 </summary>
1112 </member>
1113 <member name="P:RestSharp.HttpResponse.ContentLength">
1114 <summary>
1115 Length in bytes of the response content
1116 </summary>
1117 </member>
1118 <member name="P:RestSharp.HttpResponse.ContentEncoding">
1119 <summary>
1120 Encoding of the response content
1121 </summary>
1122 </member>
1123 <member name="P:RestSharp.HttpResponse.Content">
1124 <summary>
1125 Lazy-loaded string representation of response content
1126 </summary>
1127 </member>
1128 <member name="P:RestSharp.HttpResponse.StatusCode">
1129 <summary>
1130 HTTP response status code
1131 </summary>
1132 </member>
1133 <member name="P:RestSharp.HttpResponse.StatusDescription">
1134 <summary>
1135 Description of HTTP status returned
1136 </summary>
1137 </member>
1138 <member name="P:RestSharp.HttpResponse.RawBytes">
1139 <summary>
1140 Response content
1141 </summary>
1142 </member>
1143 <member name="P:RestSharp.HttpResponse.ResponseUri">
1144 <summary>
1145 The URL that actually responded to the content (different from request if redirected)
1146 </summary>
1147 </member>
1148 <member name="P:RestSharp.HttpResponse.Server">
1149 <summary>
1150 HttpWebResponse.Server
1151 </summary>
1152 </member>
1153 <member name="P:RestSharp.HttpResponse.Headers">
1154 <summary>
1155 Headers returned by server with the response
1156 </summary>
1157 </member>
1158 <member name="P:RestSharp.HttpResponse.Cookies">
1159 <summary>
1160 Cookies returned by server with the response
1161 </summary>
1162 </member>
1163 <member name="P:RestSharp.HttpResponse.ResponseStatus">
1164 <summary>
1165 Status of the request. Will return Error for transport errors.
1166 HTTP errors will still return ResponseStatus.Completed, check StatusCode instead
1167 </summary>
1168 </member>
1169 <member name="P:RestSharp.HttpResponse.ErrorMessage">
1170 <summary>
1171 Transport or other non-HTTP error generated while attempting request
1172 </summary>
1173 </member>
1174 <member name="P:RestSharp.HttpResponse.ErrorException">
1175 <summary>
1176 Exception thrown when error is encountered.
1177 </summary>
1178 </member>
1179 <member name="T:RestSharp.IRestClient">
1180 <summary>
1181
1182 </summary>
1183 </member>
1184 <member name="M:RestSharp.IRestClient.ExecuteAsync(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse,RestSharp.RestRequestAsyncHandle})">
1185 <summary>
1186
1187 </summary>
1188 <param name="request"></param>
1189 <param name="callback"></param>
1190 </member>
1191 <member name="M:RestSharp.IRestClient.ExecuteAsync``1(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse{``0},RestSharp.RestRequestAsyncHandle})">
1192 <summary>
1193
1194 </summary>
1195 <param name="request"></param>
1196 <param name="callback"></param>
1197 </member>
1198 <member name="M:RestSharp.IRestClient.ExecuteAsyncGet(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse,RestSharp.RestRequestAsyncHandle},System.String)">
1199 <summary>
1200 Executes a GET-style request and callback asynchronously, authenticating if needed
1201 </summary>
1202 <param name="request">Request to be executed</param>
1203 <param name="callback">Callback function to be executed upon completion providing access to the async handle.</param>
1204 <param name="httpMethod">The HTTP method to execute</param>
1205 </member>
1206 <member name="M:RestSharp.IRestClient.ExecuteAsyncPost(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse,RestSharp.RestRequestAsyncHandle},System.String)">
1207 <summary>
1208 Executes a POST-style request and callback asynchronously, authenticating if needed
1209 </summary>
1210 <param name="request">Request to be executed</param>
1211 <param name="callback">Callback function to be executed upon completion providing access to the async handle.</param>
1212 <param name="httpMethod">The HTTP method to execute</param>
1213 </member>
1214 <member name="M:RestSharp.IRestClient.ExecuteAsyncGet``1(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse{``0},RestSharp.RestRequestAsyncHandle},System.String)">
1215 <summary>
1216 Executes a GET-style request and callback asynchronously, authenticating if needed
1217 </summary>
1218 <typeparam name="T">Target deserialization type</typeparam>
1219 <param name="request">Request to be executed</param>
1220 <param name="callback">Callback function to be executed upon completion</param>
1221 <param name="httpMethod">The HTTP method to execute</param>
1222 </member>
1223 <member name="M:RestSharp.IRestClient.ExecuteAsyncPost``1(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse{``0},RestSharp.RestRequestAsyncHandle},System.String)">
1224 <summary>
1225 Executes a GET-style request and callback asynchronously, authenticating if needed
1226 </summary>
1227 <typeparam name="T">Target deserialization type</typeparam>
1228 <param name="request">Request to be executed</param>
1229 <param name="callback">Callback function to be executed upon completion</param>
1230 <param name="httpMethod">The HTTP method to execute</param>
1231 </member>
1232 <member name="M:RestSharp.IRestClient.ExecuteTaskAsync``1(RestSharp.IRestRequest,System.Threading.CancellationToken)">
1233 <summary>
1234 Executes the request and callback asynchronously, authenticating if needed
1235 </summary>
1236 <typeparam name="T">Target deserialization type</typeparam>
1237 <param name="request">Request to be executed</param>
1238 <param name="token">The cancellation token</param>
1239 </member>
1240 <member name="M:RestSharp.IRestClient.ExecuteTaskAsync``1(RestSharp.IRestRequest)">
1241 <summary>
1242 Executes the request asynchronously, authenticating if needed
1243 </summary>
1244 <typeparam name="T">Target deserialization type</typeparam>
1245 <param name="request">Request to be executed</param>
1246 </member>
1247 <member name="M:RestSharp.IRestClient.ExecuteGetTaskAsync``1(RestSharp.IRestRequest)">
1248 <summary>
1249 Executes a GET-style request asynchronously, authenticating if needed
1250 </summary>
1251 <typeparam name="T">Target deserialization type</typeparam>
1252 <param name="request">Request to be executed</param>
1253 </member>
1254 <member name="M:RestSharp.IRestClient.ExecuteGetTaskAsync``1(RestSharp.IRestRequest,System.Threading.CancellationToken)">
1255 <summary>
1256 Executes a GET-style request asynchronously, authenticating if needed
1257 </summary>
1258 <typeparam name="T">Target deserialization type</typeparam>
1259 <param name="request">Request to be executed</param>
1260 <param name="token">The cancellation token</param>
1261 </member>
1262 <member name="M:RestSharp.IRestClient.ExecutePostTaskAsync``1(RestSharp.IRestRequest)">
1263 <summary>
1264 Executes a POST-style request asynchronously, authenticating if needed
1265 </summary>
1266 <typeparam name="T">Target deserialization type</typeparam>
1267 <param name="request">Request to be executed</param>
1268 </member>
1269 <member name="M:RestSharp.IRestClient.ExecutePostTaskAsync``1(RestSharp.IRestRequest,System.Threading.CancellationToken)">
1270 <summary>
1271 Executes a POST-style request asynchronously, authenticating if needed
1272 </summary>
1273 <typeparam name="T">Target deserialization type</typeparam>
1274 <param name="request">Request to be executed</param>
1275 <param name="token">The cancellation token</param>
1276 </member>
1277 <member name="M:RestSharp.IRestClient.ExecuteTaskAsync(RestSharp.IRestRequest,System.Threading.CancellationToken)">
1278 <summary>
1279 Executes the request and callback asynchronously, authenticating if needed
1280 </summary>
1281 <param name="request">Request to be executed</param>
1282 <param name="token">The cancellation token</param>
1283 </member>
1284 <member name="M:RestSharp.IRestClient.ExecuteTaskAsync(RestSharp.IRestRequest)">
1285 <summary>
1286 Executes the request asynchronously, authenticating if needed
1287 </summary>
1288 <param name="request">Request to be executed</param>
1289 </member>
1290 <member name="M:RestSharp.IRestClient.ExecuteGetTaskAsync(RestSharp.IRestRequest)">
1291 <summary>
1292 Executes a GET-style asynchronously, authenticating if needed
1293 </summary>
1294 <param name="request">Request to be executed</param>
1295 </member>
1296 <member name="M:RestSharp.IRestClient.ExecuteGetTaskAsync(RestSharp.IRestRequest,System.Threading.CancellationToken)">
1297 <summary>
1298 Executes a GET-style asynchronously, authenticating if needed
1299 </summary>
1300 <param name="request">Request to be executed</param>
1301 <param name="token">The cancellation token</param>
1302 </member>
1303 <member name="M:RestSharp.IRestClient.ExecutePostTaskAsync(RestSharp.IRestRequest)">
1304 <summary>
1305 Executes a POST-style asynchronously, authenticating if needed
1306 </summary>
1307 <param name="request">Request to be executed</param>
1308 </member>
1309 <member name="M:RestSharp.IRestClient.ExecutePostTaskAsync(RestSharp.IRestRequest,System.Threading.CancellationToken)">
1310 <summary>
1311 Executes a POST-style asynchronously, authenticating if needed
1312 </summary>
1313 <param name="request">Request to be executed</param>
1314 <param name="token">The cancellation token</param>
1315 </member>
1316 <member name="P:RestSharp.IRestClient.CookieContainer">
1317 <summary>
1318
1319 </summary>
1320 </member>
1321 <member name="P:RestSharp.IRestClient.UserAgent">
1322 <summary>
1323
1324 </summary>
1325 </member>
1326 <member name="P:RestSharp.IRestClient.Timeout">
1327 <summary>
1328
1329 </summary>
1330 </member>
1331 <member name="P:RestSharp.IRestClient.ReadWriteTimeout">
1332 <summary>
1333
1334 </summary>
1335 </member>
1336 <member name="P:RestSharp.IRestClient.UseSynchronizationContext">
1337 <summary>
1338
1339 </summary>
1340 </member>
1341 <member name="P:RestSharp.IRestClient.Authenticator">
1342 <summary>
1343
1344 </summary>
1345 </member>
1346 <member name="P:RestSharp.IRestClient.BaseUrl">
1347 <summary>
1348
1349 </summary>
1350 </member>
1351 <member name="P:RestSharp.IRestClient.PreAuthenticate">
1352 <summary>
1353
1354 </summary>
1355 </member>
1356 <member name="P:RestSharp.IRestClient.DefaultParameters">
1357 <summary>
1358
1359 </summary>
1360 </member>
1361 <member name="P:RestSharp.IRestClient.ClientCertificates">
1362 <summary>
1363 X509CertificateCollection to be sent with request
1364 </summary>
1365 </member>
1366 <member name="M:RestSharp.IRestRequest.AddFile(System.String,System.String)">
1367 <summary>
1368 Adds a file to the Files collection to be included with a POST or PUT request
1369 (other methods do not support file uploads).
1370 </summary>
1371 <param name="name">The parameter name to use in the request</param>
1372 <param name="path">Full path to file to upload</param>
1373 <returns>This request</returns>
1374 </member>
1375 <member name="M:RestSharp.IRestRequest.AddFile(System.String,System.Byte[],System.String)">
1376 <summary>
1377 Adds the bytes to the Files collection with the specified file name
1378 </summary>
1379 <param name="name">The parameter name to use in the request</param>
1380 <param name="bytes">The file data</param>
1381 <param name="fileName">The file name to use for the uploaded file</param>
1382 <returns>This request</returns>
1383 </member>
1384 <member name="M:RestSharp.IRestRequest.AddFile(System.String,System.Byte[],System.String,System.String)">
1385 <summary>
1386 Adds the bytes to the Files collection with the specified file name and content type
1387 </summary>
1388 <param name="name">The parameter name to use in the request</param>
1389 <param name="bytes">The file data</param>
1390 <param name="fileName">The file name to use for the uploaded file</param>
1391 <param name="contentType">The MIME type of the file to upload</param>
1392 <returns>This request</returns>
1393 </member>
1394 <member name="M:RestSharp.IRestRequest.AddBody(System.Object,System.String)">
1395 <summary>
1396 Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer
1397 The default format is XML. Change RequestFormat if you wish to use a different serialization format.
1398 </summary>
1399 <param name="obj">The object to serialize</param>
1400 <param name="xmlNamespace">The XML namespace to use when serializing</param>
1401 <returns>This request</returns>
1402 </member>
1403 <member name="M:RestSharp.IRestRequest.AddBody(System.Object)">
1404 <summary>
1405 Serializes obj to data format specified by RequestFormat and adds it to the request body.
1406 The default format is XML. Change RequestFormat if you wish to use a different serialization format.
1407 </summary>
1408 <param name="obj">The object to serialize</param>
1409 <returns>This request</returns>
1410 </member>
1411 <member name="M:RestSharp.IRestRequest.AddJsonBody(System.Object)">
1412 <summary>
1413 Serializes obj to JSON format and adds it to the request body.
1414 </summary>
1415 <param name="obj">The object to serialize</param>
1416 <returns>This request</returns>
1417 </member>
1418 <member name="M:RestSharp.IRestRequest.AddXmlBody(System.Object)">
1419 <summary>
1420 Serializes obj to XML format and adds it to the request body.
1421 </summary>
1422 <param name="obj">The object to serialize</param>
1423 <returns>This request</returns>
1424 </member>
1425 <member name="M:RestSharp.IRestRequest.AddXmlBody(System.Object,System.String)">
1426 <summary>
1427 Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer
1428 Serializes obj to XML format and passes xmlNamespace then adds it to the request body.
1429 </summary>
1430 <param name="obj">The object to serialize</param>
1431 <param name="xmlNamespace">The XML namespace to use when serializing</param>
1432 <returns>This request</returns>
1433 </member>
1434 <member name="M:RestSharp.IRestRequest.AddObject(System.Object,System.String[])">
1435 <summary>
1436 Calls AddParameter() for all public, readable properties specified in the includedProperties list
1437 </summary>
1438 <example>
1439 request.AddObject(product, "ProductId", "Price", ...);
1440 </example>
1441 <param name="obj">The object with properties to add as parameters</param>
1442 <param name="includedProperties">The names of the properties to include</param>
1443 <returns>This request</returns>
1444 </member>
1445 <member name="M:RestSharp.IRestRequest.AddObject(System.Object)">
1446 <summary>
1447 Calls AddParameter() for all public, readable properties of obj
1448 </summary>
1449 <param name="obj">The object with properties to add as parameters</param>
1450 <returns>This request</returns>
1451 </member>
1452 <member name="M:RestSharp.IRestRequest.AddParameter(RestSharp.Parameter)">
1453 <summary>
1454 Add the parameter to the request
1455 </summary>
1456 <param name="p">Parameter to add</param>
1457 <returns></returns>
1458 </member>
1459 <member name="M:RestSharp.IRestRequest.AddParameter(System.String,System.Object)">
1460 <summary>
1461 Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT)
1462 </summary>
1463 <param name="name">Name of the parameter</param>
1464 <param name="value">Value of the parameter</param>
1465 <returns>This request</returns>
1466 </member>
1467 <member name="M:RestSharp.IRestRequest.AddParameter(System.String,System.Object,RestSharp.ParameterType)">
1468 <summary>
1469 Adds a parameter to the request. There are five types of parameters:
1470 - GetOrPost: Either a QueryString value or encoded form value based on method
1471 - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection
1472 - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId}
1473 - Cookie: Adds the name/value pair to the HTTP request's Cookies collection
1474 - RequestBody: Used by AddBody() (not recommended to use directly)
1475 </summary>
1476 <param name="name">Name of the parameter</param>
1477 <param name="value">Value of the parameter</param>
1478 <param name="type">The type of parameter to add</param>
1479 <returns>This request</returns>
1480 </member>
1481 <member name="M:RestSharp.IRestRequest.AddHeader(System.String,System.String)">
1482 <summary>
1483 Shortcut to AddParameter(name, value, HttpHeader) overload
1484 </summary>
1485 <param name="name">Name of the header to add</param>
1486 <param name="value">Value of the header to add</param>
1487 <returns></returns>
1488 </member>
1489 <member name="M:RestSharp.IRestRequest.AddCookie(System.String,System.String)">
1490 <summary>
1491 Shortcut to AddParameter(name, value, Cookie) overload
1492 </summary>
1493 <param name="name">Name of the cookie to add</param>
1494 <param name="value">Value of the cookie to add</param>
1495 <returns></returns>
1496 </member>
1497 <member name="M:RestSharp.IRestRequest.AddUrlSegment(System.String,System.String)">
1498 <summary>
1499 Shortcut to AddParameter(name, value, UrlSegment) overload
1500 </summary>
1501 <param name="name">Name of the segment to add</param>
1502 <param name="value">Value of the segment to add</param>
1503 <returns></returns>
1504 </member>
1505 <member name="M:RestSharp.IRestRequest.AddQueryParameter(System.String,System.String)">
1506 <summary>
1507 Shortcut to AddParameter(name, value, QueryString) overload
1508 </summary>
1509 <param name="name">Name of the parameter to add</param>
1510 <param name="value">Value of the parameter to add</param>
1511 <returns></returns>
1512 </member>
1513 <member name="P:RestSharp.IRestRequest.AlwaysMultipartFormData">
1514 <summary>
1515 Always send a multipart/form-data request - even when no Files are present.
1516 </summary>
1517 </member>
1518 <member name="P:RestSharp.IRestRequest.JsonSerializer">
1519 <summary>
1520 Serializer to use when writing JSON request bodies. Used if RequestFormat is Json.
1521 By default the included JsonSerializer is used (currently using JSON.NET default serialization).
1522 </summary>
1523 </member>
1524 <member name="P:RestSharp.IRestRequest.XmlSerializer">
1525 <summary>
1526 Serializer to use when writing XML request bodies. Used if RequestFormat is Xml.
1527 By default the included XmlSerializer is used.
1528 </summary>
1529 </member>
1530 <member name="P:RestSharp.IRestRequest.ResponseWriter">
1531 <summary>
1532 Set this to write response to Stream rather than reading into memory.
1533 </summary>
1534 </member>
1535 <member name="P:RestSharp.IRestRequest.Parameters">
1536 <summary>
1537 Container of all HTTP parameters to be passed with the request.
1538 See AddParameter() for explanation of the types of parameters that can be passed
1539 </summary>
1540 </member>
1541 <member name="P:RestSharp.IRestRequest.Files">
1542 <summary>
1543 Container of all the files to be uploaded with the request.
1544 </summary>
1545 </member>
1546 <member name="P:RestSharp.IRestRequest.Method">
1547 <summary>
1548 Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS
1549 Default is GET
1550 </summary>
1551 </member>
1552 <member name="P:RestSharp.IRestRequest.Resource">
1553 <summary>
1554 The Resource URL to make the request against.
1555 Tokens are substituted with UrlSegment parameters and match by name.
1556 Should not include the scheme or domain. Do not include leading slash.
1557 Combined with RestClient.BaseUrl to assemble final URL:
1558 {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com)
1559 </summary>
1560 <example>
1561 // example for url token replacement
1562 request.Resource = "Products/{ProductId}";
1563 request.AddParameter("ProductId", 123, ParameterType.UrlSegment);
1564 </example>
1565 </member>
1566 <member name="P:RestSharp.IRestRequest.RequestFormat">
1567 <summary>
1568 Serializer to use when writing XML request bodies. Used if RequestFormat is Xml.
1569 By default XmlSerializer is used.
1570 </summary>
1571 </member>
1572 <member name="P:RestSharp.IRestRequest.RootElement">
1573 <summary>
1574 Used by the default deserializers to determine where to start deserializing from.
1575 Can be used to skip container or root elements that do not have corresponding deserialzation targets.
1576 </summary>
1577 </member>
1578 <member name="P:RestSharp.IRestRequest.DateFormat">
1579 <summary>
1580 Used by the default deserializers to explicitly set which date format string to use when parsing dates.
1581 </summary>
1582 </member>
1583 <member name="P:RestSharp.IRestRequest.XmlNamespace">
1584 <summary>
1585 Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names.
1586 </summary>
1587 </member>
1588 <member name="P:RestSharp.IRestRequest.Credentials">
1589 <summary>
1590 In general you would not need to set this directly. Used by the NtlmAuthenticator.
1591 </summary>
1592 </member>
1593 <member name="P:RestSharp.IRestRequest.Timeout">
1594 <summary>
1595 Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient.
1596 </summary>
1597 </member>
1598 <member name="P:RestSharp.IRestRequest.ReadWriteTimeout">
1599 <summary>
1600 The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient.
1601 </summary>
1602 </member>
1603 <member name="P:RestSharp.IRestRequest.Attempts">
1604 <summary>
1605 How many attempts were made to send this Request?
1606 </summary>
1607 <remarks>
1608 This Number is incremented each time the RestClient sends the request.
1609 Useful when using Asynchronous Execution with Callbacks
1610 </remarks>
1611 </member>
1612 <member name="P:RestSharp.IRestRequest.UseDefaultCredentials">
1613 <summary>
1614 Determine whether or not the "default credentials" (e.g. the user account under which the current process is running)
1615 will be sent along to the server. The default is false.
1616 </summary>
1617 </member>
1618 <member name="T:RestSharp.IRestResponse">
1619 <summary>
1620 Container for data sent back from API
1621 </summary>
1622 </member>
1623 <member name="P:RestSharp.IRestResponse.Request">
1624 <summary>
1625 The RestRequest that was made to get this RestResponse
1626 </summary>
1627 <remarks>
1628 Mainly for debugging if ResponseStatus is not OK
1629 </remarks>
1630 </member>
1631 <member name="P:RestSharp.IRestResponse.ContentType">
1632 <summary>
1633 MIME content type of response
1634 </summary>
1635 </member>
1636 <member name="P:RestSharp.IRestResponse.ContentLength">
1637 <summary>
1638 Length in bytes of the response content
1639 </summary>
1640 </member>
1641 <member name="P:RestSharp.IRestResponse.ContentEncoding">
1642 <summary>
1643 Encoding of the response content
1644 </summary>
1645 </member>
1646 <member name="P:RestSharp.IRestResponse.Content">
1647 <summary>
1648 String representation of response content
1649 </summary>
1650 </member>
1651 <member name="P:RestSharp.IRestResponse.StatusCode">
1652 <summary>
1653 HTTP response status code
1654 </summary>
1655 </member>
1656 <member name="P:RestSharp.IRestResponse.StatusDescription">
1657 <summary>
1658 Description of HTTP status returned
1659 </summary>
1660 </member>
1661 <member name="P:RestSharp.IRestResponse.RawBytes">
1662 <summary>
1663 Response content
1664 </summary>
1665 </member>
1666 <member name="P:RestSharp.IRestResponse.ResponseUri">
1667 <summary>
1668 The URL that actually responded to the content (different from request if redirected)
1669 </summary>
1670 </member>
1671 <member name="P:RestSharp.IRestResponse.Server">
1672 <summary>
1673 HttpWebResponse.Server
1674 </summary>
1675 </member>
1676 <member name="P:RestSharp.IRestResponse.Cookies">
1677 <summary>
1678 Cookies returned by server with the response
1679 </summary>
1680 </member>
1681 <member name="P:RestSharp.IRestResponse.Headers">
1682 <summary>
1683 Headers returned by server with the response
1684 </summary>
1685 </member>
1686 <member name="P:RestSharp.IRestResponse.ResponseStatus">
1687 <summary>
1688 Status of the request. Will return Error for transport errors.
1689 HTTP errors will still return ResponseStatus.Completed, check StatusCode instead
1690 </summary>
1691 </member>
1692 <member name="P:RestSharp.IRestResponse.ErrorMessage">
1693 <summary>
1694 Transport or other non-HTTP error generated while attempting request
1695 </summary>
1696 </member>
1697 <member name="P:RestSharp.IRestResponse.ErrorException">
1698 <summary>
1699 Exceptions thrown during the request, if any.
1700 </summary>
1701 <remarks>Will contain only network transport or framework exceptions thrown during the request.
1702 HTTP protocol errors are handled by RestSharp and will not appear here.</remarks>
1703 </member>
1704 <member name="T:RestSharp.IRestResponse`1">
1705 <summary>
1706 Container for data sent back from API including deserialized data
1707 </summary>
1708 <typeparam name="T">Type of data to deserialize to</typeparam>
1709 </member>
1710 <member name="P:RestSharp.IRestResponse`1.Data">
1711 <summary>
1712 Deserialized entity data
1713 </summary>
1714 </member>
1715 <member name="T:RestSharp.Parameter">
1716 <summary>
1717 Parameter container for REST requests
1718 </summary>
1719 </member>
1720 <member name="M:RestSharp.Parameter.ToString">
1721 <summary>
1722 Return a human-readable representation of this parameter
1723 </summary>
1724 <returns>String</returns>
1725 </member>
1726 <member name="P:RestSharp.Parameter.Name">
1727 <summary>
1728 Name of the parameter
1729 </summary>
1730 </member>
1731 <member name="P:RestSharp.Parameter.Value">
1732 <summary>
1733 Value of the parameter
1734 </summary>
1735 </member>
1736 <member name="P:RestSharp.Parameter.Type">
1737 <summary>
1738 Type of the parameter
1739 </summary>
1740 </member>
1741 <member name="T:RestSharp.RestClient">
1742 <summary>
1743 Client to translate RestRequests into Http requests and process response result
1744 </summary>
1745 </member>
1746 <member name="M:RestSharp.RestClient.ExecuteAsync(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse,RestSharp.RestRequestAsyncHandle})">
1747 <summary>
1748 Executes the request and callback asynchronously, authenticating if needed
1749 </summary>
1750 <param name="request">Request to be executed</param>
1751 <param name="callback">Callback function to be executed upon completion providing access to the async handle.</param>
1752 </member>
1753 <member name="M:RestSharp.RestClient.ExecuteAsyncGet(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse,RestSharp.RestRequestAsyncHandle},System.String)">
1754 <summary>
1755 Executes a GET-style request and callback asynchronously, authenticating if needed
1756 </summary>
1757 <param name="request">Request to be executed</param>
1758 <param name="callback">Callback function to be executed upon completion providing access to the async handle.</param>
1759 <param name="httpMethod">The HTTP method to execute</param>
1760 </member>
1761 <member name="M:RestSharp.RestClient.ExecuteAsyncPost(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse,RestSharp.RestRequestAsyncHandle},System.String)">
1762 <summary>
1763 Executes a POST-style request and callback asynchronously, authenticating if needed
1764 </summary>
1765 <param name="request">Request to be executed</param>
1766 <param name="callback">Callback function to be executed upon completion providing access to the async handle.</param>
1767 <param name="httpMethod">The HTTP method to execute</param>
1768 </member>
1769 <member name="M:RestSharp.RestClient.ExecuteAsync``1(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse{``0},RestSharp.RestRequestAsyncHandle})">
1770 <summary>
1771 Executes the request and callback asynchronously, authenticating if needed
1772 </summary>
1773 <typeparam name="T">Target deserialization type</typeparam>
1774 <param name="request">Request to be executed</param>
1775 <param name="callback">Callback function to be executed upon completion</param>
1776 </member>
1777 <member name="M:RestSharp.RestClient.ExecuteAsyncGet``1(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse{``0},RestSharp.RestRequestAsyncHandle},System.String)">
1778 <summary>
1779 Executes a GET-style request and callback asynchronously, authenticating if needed
1780 </summary>
1781 <typeparam name="T">Target deserialization type</typeparam>
1782 <param name="request">Request to be executed</param>
1783 <param name="callback">Callback function to be executed upon completion</param>
1784 <param name="httpMethod">The HTTP method to execute</param>
1785 </member>
1786 <member name="M:RestSharp.RestClient.ExecuteAsyncPost``1(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse{``0},RestSharp.RestRequestAsyncHandle},System.String)">
1787 <summary>
1788 Executes a POST-style request and callback asynchronously, authenticating if needed
1789 </summary>
1790 <typeparam name="T">Target deserialization type</typeparam>
1791 <param name="request">Request to be executed</param>
1792 <param name="callback">Callback function to be executed upon completion</param>
1793 <param name="httpMethod">The HTTP method to execute</param>
1794 </member>
1795 <member name="M:RestSharp.RestClient.ExecuteGetTaskAsync``1(RestSharp.IRestRequest)">
1796 <summary>
1797 Executes a GET-style request asynchronously, authenticating if needed
1798 </summary>
1799 <typeparam name="T">Target deserialization type</typeparam>
1800 <param name="request">Request to be executed</param>
1801 </member>
1802 <member name="M:RestSharp.RestClient.ExecuteGetTaskAsync``1(RestSharp.IRestRequest,System.Threading.CancellationToken)">
1803 <summary>
1804 Executes a GET-style request asynchronously, authenticating if needed
1805 </summary>
1806 <typeparam name="T">Target deserialization type</typeparam>
1807 <param name="request">Request to be executed</param>
1808 <param name="token">The cancellation token</param>
1809 </member>
1810 <member name="M:RestSharp.RestClient.ExecutePostTaskAsync``1(RestSharp.IRestRequest)">
1811 <summary>
1812 Executes a POST-style request asynchronously, authenticating if needed
1813 </summary>
1814 <typeparam name="T">Target deserialization type</typeparam>
1815 <param name="request">Request to be executed</param>
1816 </member>
1817 <member name="M:RestSharp.RestClient.ExecutePostTaskAsync``1(RestSharp.IRestRequest,System.Threading.CancellationToken)">
1818 <summary>
1819 Executes a POST-style request asynchronously, authenticating if needed
1820 </summary>
1821 <typeparam name="T">Target deserialization type</typeparam>
1822 <param name="request">Request to be executed</param>
1823 <param name="token">The cancellation token</param>
1824 </member>
1825 <member name="M:RestSharp.RestClient.ExecuteTaskAsync``1(RestSharp.IRestRequest)">
1826 <summary>
1827 Executes the request asynchronously, authenticating if needed
1828 </summary>
1829 <typeparam name="T">Target deserialization type</typeparam>
1830 <param name="request">Request to be executed</param>
1831 </member>
1832 <member name="M:RestSharp.RestClient.ExecuteTaskAsync``1(RestSharp.IRestRequest,System.Threading.CancellationToken)">
1833 <summary>
1834 Executes the request asynchronously, authenticating if needed
1835 </summary>
1836 <typeparam name="T">Target deserialization type</typeparam>
1837 <param name="request">Request to be executed</param>
1838 <param name="token">The cancellation token</param>
1839 </member>
1840 <member name="M:RestSharp.RestClient.ExecuteTaskAsync(RestSharp.IRestRequest)">
1841 <summary>
1842 Executes the request asynchronously, authenticating if needed
1843 </summary>
1844 <param name="request">Request to be executed</param>
1845 </member>
1846 <member name="M:RestSharp.RestClient.ExecuteGetTaskAsync(RestSharp.IRestRequest)">
1847 <summary>
1848 Executes a GET-style asynchronously, authenticating if needed
1849 </summary>
1850 <param name="request">Request to be executed</param>
1851 </member>
1852 <member name="M:RestSharp.RestClient.ExecuteGetTaskAsync(RestSharp.IRestRequest,System.Threading.CancellationToken)">
1853 <summary>
1854 Executes a GET-style asynchronously, authenticating if needed
1855 </summary>
1856 <param name="request">Request to be executed</param>
1857 <param name="token">The cancellation token</param>
1858 </member>
1859 <member name="M:RestSharp.RestClient.ExecutePostTaskAsync(RestSharp.IRestRequest)">
1860 <summary>
1861 Executes a POST-style asynchronously, authenticating if needed
1862 </summary>
1863 <param name="request">Request to be executed</param>
1864 </member>
1865 <member name="M:RestSharp.RestClient.ExecutePostTaskAsync(RestSharp.IRestRequest,System.Threading.CancellationToken)">
1866 <summary>
1867 Executes a POST-style asynchronously, authenticating if needed
1868 </summary>
1869 <param name="request">Request to be executed</param>
1870 <param name="token">The cancellation token</param>
1871 </member>
1872 <member name="M:RestSharp.RestClient.ExecuteTaskAsync(RestSharp.IRestRequest,System.Threading.CancellationToken)">
1873 <summary>
1874 Executes the request asynchronously, authenticating if needed
1875 </summary>
1876 <param name="request">Request to be executed</param>
1877 <param name="token">The cancellation token</param>
1878 </member>
1879 <member name="M:RestSharp.RestClient.#ctor">
1880 <summary>
1881 Default constructor that registers default content handlers
1882 </summary>
1883 </member>
1884 <member name="M:RestSharp.RestClient.#ctor(System.Uri)">
1885 <summary>
1886 Sets the BaseUrl property for requests made by this client instance
1887 </summary>
1888 <param name="baseUrl"></param>
1889 </member>
1890 <member name="M:RestSharp.RestClient.#ctor(System.String)">
1891 <summary>
1892 Sets the BaseUrl property for requests made by this client instance
1893 </summary>
1894 <param name="baseUrl"></param>
1895 </member>
1896 <member name="M:RestSharp.RestClient.AddHandler(System.String,RestSharp.Deserializers.IDeserializer)">
1897 <summary>
1898 Registers a content handler to process response content
1899 </summary>
1900 <param name="contentType">MIME content type of the response content</param>
1901 <param name="deserializer">Deserializer to use to process content</param>
1902 </member>
1903 <member name="M:RestSharp.RestClient.RemoveHandler(System.String)">
1904 <summary>
1905 Remove a content handler for the specified MIME content type
1906 </summary>
1907 <param name="contentType">MIME content type to remove</param>
1908 </member>
1909 <member name="M:RestSharp.RestClient.ClearHandlers">
1910 <summary>
1911 Remove all content handlers
1912 </summary>
1913 </member>
1914 <member name="M:RestSharp.RestClient.GetHandler(System.String)">
1915 <summary>
1916 Retrieve the handler for the specified MIME content type
1917 </summary>
1918 <param name="contentType">MIME content type to retrieve</param>
1919 <returns>IDeserializer instance</returns>
1920 </member>
1921 <member name="M:RestSharp.RestClient.BuildUri(RestSharp.IRestRequest)">
1922 <summary>
1923 Assembles URL to call based on parameters, method and resource
1924 </summary>
1925 <param name="request">RestRequest to execute</param>
1926 <returns>Assembled System.Uri</returns>
1927 </member>
1928 <member name="M:RestSharp.RestClient.DownloadData(RestSharp.IRestRequest)">
1929 <summary>
1930 Executes the specified request and downloads the response data
1931 </summary>
1932 <param name="request">Request to execute</param>
1933 <returns>Response data</returns>
1934 </member>
1935 <member name="M:RestSharp.RestClient.Execute(RestSharp.IRestRequest)">
1936 <summary>
1937 Executes the request and returns a response, authenticating if needed
1938 </summary>
1939 <param name="request">Request to be executed</param>
1940 <returns>RestResponse</returns>
1941 </member>
1942 <member name="M:RestSharp.RestClient.Execute``1(RestSharp.IRestRequest)">
1943 <summary>
1944 Executes the specified request and deserializes the response content using the appropriate content handler
1945 </summary>
1946 <typeparam name="T">Target deserialization type</typeparam>
1947 <param name="request">Request to execute</param>
1948 <returns>RestResponse[[T]] with deserialized data in Data property</returns>
1949 </member>
1950 <member name="P:RestSharp.RestClient.DefaultParameters">
1951 <summary>
1952 Parameters included with every request made with this instance of RestClient
1953 If specified in both client and request, the request wins
1954 </summary>
1955 </member>
1956 <member name="P:RestSharp.RestClient.MaxRedirects">
1957 <summary>
1958 Maximum number of redirects to follow if FollowRedirects is true
1959 </summary>
1960 </member>
1961 <member name="P:RestSharp.RestClient.ClientCertificates">
1962 <summary>
1963 X509CertificateCollection to be sent with request
1964 </summary>
1965 </member>
1966 <member name="P:RestSharp.RestClient.Proxy">
1967 <summary>
1968 Proxy to use for requests made by this client instance.
1969 Passed on to underlying WebRequest if set.
1970 </summary>
1971 </member>
1972 <member name="P:RestSharp.RestClient.FollowRedirects">
1973 <summary>
1974 Default is true. Determine whether or not requests that result in
1975 HTTP status codes of 3xx should follow returned redirect
1976 </summary>
1977 </member>
1978 <member name="P:RestSharp.RestClient.CookieContainer">
1979 <summary>
1980 The CookieContainer used for requests made by this client instance
1981 </summary>
1982 </member>
1983 <member name="P:RestSharp.RestClient.UserAgent">
1984 <summary>
1985 UserAgent to use for requests made by this client instance
1986 </summary>
1987 </member>
1988 <member name="P:RestSharp.RestClient.Timeout">
1989 <summary>
1990 Timeout in milliseconds to use for requests made by this client instance
1991 </summary>
1992 </member>
1993 <member name="P:RestSharp.RestClient.ReadWriteTimeout">
1994 <summary>
1995 The number of milliseconds before the writing or reading times out.
1996 </summary>
1997 </member>
1998 <member name="P:RestSharp.RestClient.UseSynchronizationContext">
1999 <summary>
2000 Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked
2001 </summary>
2002 </member>
2003 <member name="P:RestSharp.RestClient.Authenticator">
2004 <summary>
2005 Authenticator to use for requests made by this client instance
2006 </summary>
2007 </member>
2008 <member name="P:RestSharp.RestClient.BaseUrl">
2009 <summary>
2010 Combined with Request.Resource to construct URL for request
2011 Should include scheme and domain without trailing slash.
2012 </summary>
2013 <example>
2014 client.BaseUrl = new Uri("http://example.com");
2015 </example>
2016 </member>
2017 <member name="M:RestSharp.RestClientExtensions.ExecuteAsync(RestSharp.IRestClient,RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse})">
2018 <summary>
2019 Executes the request and callback asynchronously, authenticating if needed
2020 </summary>
2021 <param name="client">The IRestClient this method extends</param>
2022 <param name="request">Request to be executed</param>
2023 <param name="callback">Callback function to be executed upon completion</param>
2024 </member>
2025 <member name="M:RestSharp.RestClientExtensions.ExecuteAsync``1(RestSharp.IRestClient,RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse{``0}})">
2026 <summary>
2027 Executes the request and callback asynchronously, authenticating if needed
2028 </summary>
2029 <param name="client">The IRestClient this method extends</param>
2030 <typeparam name="T">Target deserialization type</typeparam>
2031 <param name="request">Request to be executed</param>
2032 <param name="callback">Callback function to be executed upon completion providing access to the async handle</param>
2033 </member>
2034 <member name="M:RestSharp.RestClientExtensions.AddDefaultParameter(RestSharp.IRestClient,RestSharp.Parameter)">
2035 <summary>
2036 Add a parameter to use on every request made with this client instance
2037 </summary>
2038 <param name="restClient">The IRestClient instance</param>
2039 <param name="p">Parameter to add</param>
2040 <returns></returns>
2041 </member>
2042 <member name="M:RestSharp.RestClientExtensions.RemoveDefaultParameter(RestSharp.IRestClient,System.String)">
2043 <summary>
2044 Removes a parameter from the default parameters that are used on every request made with this client instance
2045 </summary>
2046 <param name="restClient">The IRestClient instance</param>
2047 <param name="name">The name of the parameter that needs to be removed</param>
2048 <returns></returns>
2049 </member>
2050 <member name="M:RestSharp.RestClientExtensions.AddDefaultParameter(RestSharp.IRestClient,System.String,System.Object)">
2051 <summary>
2052 Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT)
2053 Used on every request made by this client instance
2054 </summary>
2055 <param name="restClient">The IRestClient instance</param>
2056 <param name="name">Name of the parameter</param>
2057 <param name="value">Value of the parameter</param>
2058 <returns>This request</returns>
2059 </member>
2060 <member name="M:RestSharp.RestClientExtensions.AddDefaultParameter(RestSharp.IRestClient,System.String,System.Object,RestSharp.ParameterType)">
2061 <summary>
2062 Adds a parameter to the request. There are four types of parameters:
2063 - GetOrPost: Either a QueryString value or encoded form value based on method
2064 - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection
2065 - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId}
2066 - RequestBody: Used by AddBody() (not recommended to use directly)
2067 </summary>
2068 <param name="restClient">The IRestClient instance</param>
2069 <param name="name">Name of the parameter</param>
2070 <param name="value">Value of the parameter</param>
2071 <param name="type">The type of parameter to add</param>
2072 <returns>This request</returns>
2073 </member>
2074 <member name="M:RestSharp.RestClientExtensions.AddDefaultHeader(RestSharp.IRestClient,System.String,System.String)">
2075 <summary>
2076 Shortcut to AddDefaultParameter(name, value, HttpHeader) overload
2077 </summary>
2078 <param name="restClient">The IRestClient instance</param>
2079 <param name="name">Name of the header to add</param>
2080 <param name="value">Value of the header to add</param>
2081 <returns></returns>
2082 </member>
2083 <member name="M:RestSharp.RestClientExtensions.AddDefaultUrlSegment(RestSharp.IRestClient,System.String,System.String)">
2084 <summary>
2085 Shortcut to AddDefaultParameter(name, value, UrlSegment) overload
2086 </summary>
2087 <param name="restClient">The IRestClient instance</param>
2088 <param name="name">Name of the segment to add</param>
2089 <param name="value">Value of the segment to add</param>
2090 <returns></returns>
2091 </member>
2092 <member name="T:RestSharp.RestRequest">
2093 <summary>
2094 Container for data used to make requests
2095 </summary>
2096 </member>
2097 <member name="M:RestSharp.RestRequest.#ctor">
2098 <summary>
2099 Default constructor
2100 </summary>
2101 </member>
2102 <member name="M:RestSharp.RestRequest.#ctor(RestSharp.Method)">
2103 <summary>
2104 Sets Method property to value of method
2105 </summary>
2106 <param name="method">Method to use for this request</param>
2107 </member>
2108 <member name="M:RestSharp.RestRequest.#ctor(System.String)">
2109 <summary>
2110 Sets Resource property
2111 </summary>
2112 <param name="resource">Resource to use for this request</param>
2113 </member>
2114 <member name="M:RestSharp.RestRequest.#ctor(System.String,RestSharp.Method)">
2115 <summary>
2116 Sets Resource and Method properties
2117 </summary>
2118 <param name="resource">Resource to use for this request</param>
2119 <param name="method">Method to use for this request</param>
2120 </member>
2121 <member name="M:RestSharp.RestRequest.#ctor(System.Uri)">
2122 <summary>
2123 Sets Resource property
2124 </summary>
2125 <param name="resource">Resource to use for this request</param>
2126 </member>
2127 <member name="M:RestSharp.RestRequest.#ctor(System.Uri,RestSharp.Method)">
2128 <summary>
2129 Sets Resource and Method properties
2130 </summary>
2131 <param name="resource">Resource to use for this request</param>
2132 <param name="method">Method to use for this request</param>
2133 </member>
2134 <member name="M:RestSharp.RestRequest.AddFile(System.String,System.String)">
2135 <summary>
2136 Adds a file to the Files collection to be included with a POST or PUT request
2137 (other methods do not support file uploads).
2138 </summary>
2139 <param name="name">The parameter name to use in the request</param>
2140 <param name="path">Full path to file to upload</param>
2141 <returns>This request</returns>
2142 </member>
2143 <member name="M:RestSharp.RestRequest.AddFile(System.String,System.Byte[],System.String)">
2144 <summary>
2145 Adds the bytes to the Files collection with the specified file name
2146 </summary>
2147 <param name="name">The parameter name to use in the request</param>
2148 <param name="bytes">The file data</param>
2149 <param name="fileName">The file name to use for the uploaded file</param>
2150 <returns>This request</returns>
2151 </member>
2152 <member name="M:RestSharp.RestRequest.AddFile(System.String,System.Byte[],System.String,System.String)">
2153 <summary>
2154 Adds the bytes to the Files collection with the specified file name and content type
2155 </summary>
2156 <param name="name">The parameter name to use in the request</param>
2157 <param name="bytes">The file data</param>
2158 <param name="fileName">The file name to use for the uploaded file</param>
2159 <param name="contentType">The MIME type of the file to upload</param>
2160 <returns>This request</returns>
2161 </member>
2162 <member name="M:RestSharp.RestRequest.AddFile(System.String,System.Action{System.IO.Stream},System.String)">
2163 <summary>
2164 Adds the bytes to the Files collection with the specified file name and content type
2165 </summary>
2166 <param name="name">The parameter name to use in the request</param>
2167 <param name="writer">A function that writes directly to the stream. Should NOT close the stream.</param>
2168 <param name="fileName">The file name to use for the uploaded file</param>
2169 <returns>This request</returns>
2170 </member>
2171 <member name="M:RestSharp.RestRequest.AddFile(System.String,System.Action{System.IO.Stream},System.String,System.String)">
2172 <summary>
2173 Adds the bytes to the Files collection with the specified file name and content type
2174 </summary>
2175 <param name="name">The parameter name to use in the request</param>
2176 <param name="writer">A function that writes directly to the stream. Should NOT close the stream.</param>
2177 <param name="fileName">The file name to use for the uploaded file</param>
2178 <param name="contentType">The MIME type of the file to upload</param>
2179 <returns>This request</returns>
2180 </member>
2181 <member name="M:RestSharp.RestRequest.AddBody(System.Object,System.String)">
2182 <summary>
2183 Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer
2184 The default format is XML. Change RequestFormat if you wish to use a different serialization format.
2185 </summary>
2186 <param name="obj">The object to serialize</param>
2187 <param name="xmlNamespace">The XML namespace to use when serializing</param>
2188 <returns>This request</returns>
2189 </member>
2190 <member name="M:RestSharp.RestRequest.AddBody(System.Object)">
2191 <summary>
2192 Serializes obj to data format specified by RequestFormat and adds it to the request body.
2193 The default format is XML. Change RequestFormat if you wish to use a different serialization format.
2194 </summary>
2195 <param name="obj">The object to serialize</param>
2196 <returns>This request</returns>
2197 </member>
2198 <member name="M:RestSharp.RestRequest.AddJsonBody(System.Object)">
2199 <summary>
2200 Serializes obj to JSON format and adds it to the request body.
2201 </summary>
2202 <param name="obj">The object to serialize</param>
2203 <returns>This request</returns>
2204 </member>
2205 <member name="M:RestSharp.RestRequest.AddXmlBody(System.Object)">
2206 <summary>
2207 Serializes obj to XML format and adds it to the request body.
2208 </summary>
2209 <param name="obj">The object to serialize</param>
2210 <returns>This request</returns>
2211 </member>
2212 <member name="M:RestSharp.RestRequest.AddXmlBody(System.Object,System.String)">
2213 <summary>
2214 Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer
2215 Serializes obj to XML format and passes xmlNamespace then adds it to the request body.
2216 </summary>
2217 <param name="obj">The object to serialize</param>
2218 <param name="xmlNamespace">The XML namespace to use when serializing</param>
2219 <returns>This request</returns>
2220 </member>
2221 <member name="M:RestSharp.RestRequest.AddObject(System.Object,System.String[])">
2222 <summary>
2223 Calls AddParameter() for all public, readable properties specified in the includedProperties list
2224 </summary>
2225 <example>
2226 request.AddObject(product, "ProductId", "Price", ...);
2227 </example>
2228 <param name="obj">The object with properties to add as parameters</param>
2229 <param name="includedProperties">The names of the properties to include</param>
2230 <returns>This request</returns>
2231 </member>
2232 <member name="M:RestSharp.RestRequest.AddObject(System.Object)">
2233 <summary>
2234 Calls AddParameter() for all public, readable properties of obj
2235 </summary>
2236 <param name="obj">The object with properties to add as parameters</param>
2237 <returns>This request</returns>
2238 </member>
2239 <member name="M:RestSharp.RestRequest.AddParameter(RestSharp.Parameter)">
2240 <summary>
2241 Add the parameter to the request
2242 </summary>
2243 <param name="p">Parameter to add</param>
2244 <returns></returns>
2245 </member>
2246 <member name="M:RestSharp.RestRequest.AddParameter(System.String,System.Object)">
2247 <summary>
2248 Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT)
2249 </summary>
2250 <param name="name">Name of the parameter</param>
2251 <param name="value">Value of the parameter</param>
2252 <returns>This request</returns>
2253 </member>
2254 <member name="M:RestSharp.RestRequest.AddParameter(System.String,System.Object,RestSharp.ParameterType)">
2255 <summary>
2256 Adds a parameter to the request. There are four types of parameters:
2257 - GetOrPost: Either a QueryString value or encoded form value based on method
2258 - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection
2259 - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId}
2260 - RequestBody: Used by AddBody() (not recommended to use directly)
2261 </summary>
2262 <param name="name">Name of the parameter</param>
2263 <param name="value">Value of the parameter</param>
2264 <param name="type">The type of parameter to add</param>
2265 <returns>This request</returns>
2266 </member>
2267 <member name="M:RestSharp.RestRequest.AddHeader(System.String,System.String)">
2268 <summary>
2269 Shortcut to AddParameter(name, value, HttpHeader) overload
2270 </summary>
2271 <param name="name">Name of the header to add</param>
2272 <param name="value">Value of the header to add</param>
2273 <returns></returns>
2274 </member>
2275 <member name="M:RestSharp.RestRequest.AddCookie(System.String,System.String)">
2276 <summary>
2277 Shortcut to AddParameter(name, value, Cookie) overload
2278 </summary>
2279 <param name="name">Name of the cookie to add</param>
2280 <param name="value">Value of the cookie to add</param>
2281 <returns></returns>
2282 </member>
2283 <member name="M:RestSharp.RestRequest.AddUrlSegment(System.String,System.String)">
2284 <summary>
2285 Shortcut to AddParameter(name, value, UrlSegment) overload
2286 </summary>
2287 <param name="name">Name of the segment to add</param>
2288 <param name="value">Value of the segment to add</param>
2289 <returns></returns>
2290 </member>
2291 <member name="M:RestSharp.RestRequest.AddQueryParameter(System.String,System.String)">
2292 <summary>
2293 Shortcut to AddParameter(name, value, QueryString) overload
2294 </summary>
2295 <param name="name">Name of the parameter to add</param>
2296 <param name="value">Value of the parameter to add</param>
2297 <returns></returns>
2298 </member>
2299 <member name="M:RestSharp.RestRequest.IncreaseNumAttempts">
2300 <summary>
2301 Internal Method so that RestClient can increase the number of attempts
2302 </summary>
2303 </member>
2304 <member name="P:RestSharp.RestRequest.AlwaysMultipartFormData">
2305 <summary>
2306 Always send a multipart/form-data request - even when no Files are present.
2307 </summary>
2308 </member>
2309 <member name="P:RestSharp.RestRequest.JsonSerializer">
2310 <summary>
2311 Serializer to use when writing JSON request bodies. Used if RequestFormat is Json.
2312 By default the included JsonSerializer is used (currently using JSON.NET default serialization).
2313 </summary>
2314 </member>
2315 <member name="P:RestSharp.RestRequest.XmlSerializer">
2316 <summary>
2317 Serializer to use when writing XML request bodies. Used if RequestFormat is Xml.
2318 By default the included XmlSerializer is used.
2319 </summary>
2320 </member>
2321 <member name="P:RestSharp.RestRequest.ResponseWriter">
2322 <summary>
2323 Set this to write response to Stream rather than reading into memory.
2324 </summary>
2325 </member>
2326 <member name="P:RestSharp.RestRequest.UseDefaultCredentials">
2327 <summary>
2328 Determine whether or not the "default credentials" (e.g. the user account under which the current process is running)
2329 will be sent along to the server. The default is false.
2330 </summary>
2331 </member>
2332 <member name="P:RestSharp.RestRequest.Parameters">
2333 <summary>
2334 Container of all HTTP parameters to be passed with the request.
2335 See AddParameter() for explanation of the types of parameters that can be passed
2336 </summary>
2337 </member>
2338 <member name="P:RestSharp.RestRequest.Files">
2339 <summary>
2340 Container of all the files to be uploaded with the request.
2341 </summary>
2342 </member>
2343 <member name="P:RestSharp.RestRequest.Method">
2344 <summary>
2345 Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS
2346 Default is GET
2347 </summary>
2348 </member>
2349 <member name="P:RestSharp.RestRequest.Resource">
2350 <summary>
2351 The Resource URL to make the request against.
2352 Tokens are substituted with UrlSegment parameters and match by name.
2353 Should not include the scheme or domain. Do not include leading slash.
2354 Combined with RestClient.BaseUrl to assemble final URL:
2355 {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com)
2356 </summary>
2357 <example>
2358 // example for url token replacement
2359 request.Resource = "Products/{ProductId}";
2360 request.AddParameter("ProductId", 123, ParameterType.UrlSegment);
2361 </example>
2362 </member>
2363 <member name="P:RestSharp.RestRequest.RequestFormat">
2364 <summary>
2365 Serializer to use when writing XML request bodies. Used if RequestFormat is Xml.
2366 By default XmlSerializer is used.
2367 </summary>
2368 </member>
2369 <member name="P:RestSharp.RestRequest.RootElement">
2370 <summary>
2371 Used by the default deserializers to determine where to start deserializing from.
2372 Can be used to skip container or root elements that do not have corresponding deserialzation targets.
2373 </summary>
2374 </member>
2375 <member name="P:RestSharp.RestRequest.OnBeforeDeserialization">
2376 <summary>
2377 A function to run prior to deserializing starting (e.g. change settings if error encountered)
2378 </summary>
2379 </member>
2380 <member name="P:RestSharp.RestRequest.DateFormat">
2381 <summary>
2382 Used by the default deserializers to explicitly set which date format string to use when parsing dates.
2383 </summary>
2384 </member>
2385 <member name="P:RestSharp.RestRequest.XmlNamespace">
2386 <summary>
2387 Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names.
2388 </summary>
2389 </member>
2390 <member name="P:RestSharp.RestRequest.Credentials">
2391 <summary>
2392 In general you would not need to set this directly. Used by the NtlmAuthenticator.
2393 </summary>
2394 </member>
2395 <member name="P:RestSharp.RestRequest.UserState">
2396 <summary>
2397 Gets or sets a user-defined state object that contains information about a request and which can be later
2398 retrieved when the request completes.
2399 </summary>
2400 </member>
2401 <member name="P:RestSharp.RestRequest.Timeout">
2402 <summary>
2403 Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient.
2404 </summary>
2405 </member>
2406 <member name="P:RestSharp.RestRequest.ReadWriteTimeout">
2407 <summary>
2408 The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient.
2409 </summary>
2410 </member>
2411 <member name="P:RestSharp.RestRequest.Attempts">
2412 <summary>
2413 How many attempts were made to send this Request?
2414 </summary>
2415 <remarks>
2416 This Number is incremented each time the RestClient sends the request.
2417 Useful when using Asynchronous Execution with Callbacks
2418 </remarks>
2419 </member>
2420 <member name="T:RestSharp.RestResponseBase">
2421 <summary>
2422 Base class for common properties shared by RestResponse and RestResponse[[T]]
2423 </summary>
2424 </member>
2425 <member name="M:RestSharp.RestResponseBase.#ctor">
2426 <summary>
2427 Default constructor
2428 </summary>
2429 </member>
2430 <member name="P:RestSharp.RestResponseBase.Request">
2431 <summary>
2432 The RestRequest that was made to get this RestResponse
2433 </summary>
2434 <remarks>
2435 Mainly for debugging if ResponseStatus is not OK
2436 </remarks>
2437 </member>
2438 <member name="P:RestSharp.RestResponseBase.ContentType">
2439 <summary>
2440 MIME content type of response
2441 </summary>
2442 </member>
2443 <member name="P:RestSharp.RestResponseBase.ContentLength">
2444 <summary>
2445 Length in bytes of the response content
2446 </summary>
2447 </member>
2448 <member name="P:RestSharp.RestResponseBase.ContentEncoding">
2449 <summary>
2450 Encoding of the response content
2451 </summary>
2452 </member>
2453 <member name="P:RestSharp.RestResponseBase.Content">
2454 <summary>
2455 String representation of response content
2456 </summary>
2457 </member>
2458 <member name="P:RestSharp.RestResponseBase.StatusCode">
2459 <summary>
2460 HTTP response status code
2461 </summary>
2462 </member>
2463 <member name="P:RestSharp.RestResponseBase.StatusDescription">
2464 <summary>
2465 Description of HTTP status returned
2466 </summary>
2467 </member>
2468 <member name="P:RestSharp.RestResponseBase.RawBytes">
2469 <summary>
2470 Response content
2471 </summary>
2472 </member>
2473 <member name="P:RestSharp.RestResponseBase.ResponseUri">
2474 <summary>
2475 The URL that actually responded to the content (different from request if redirected)
2476 </summary>
2477 </member>
2478 <member name="P:RestSharp.RestResponseBase.Server">
2479 <summary>
2480 HttpWebResponse.Server
2481 </summary>
2482 </member>
2483 <member name="P:RestSharp.RestResponseBase.Cookies">
2484 <summary>
2485 Cookies returned by server with the response
2486 </summary>
2487 </member>
2488 <member name="P:RestSharp.RestResponseBase.Headers">
2489 <summary>
2490 Headers returned by server with the response
2491 </summary>
2492 </member>
2493 <member name="P:RestSharp.RestResponseBase.ResponseStatus">
2494 <summary>
2495 Status of the request. Will return Error for transport errors.
2496 HTTP errors will still return ResponseStatus.Completed, check StatusCode instead
2497 </summary>
2498 </member>
2499 <member name="P:RestSharp.RestResponseBase.ErrorMessage">
2500 <summary>
2501 Transport or other non-HTTP error generated while attempting request
2502 </summary>
2503 </member>
2504 <member name="P:RestSharp.RestResponseBase.ErrorException">
2505 <summary>
2506 The exception thrown during the request, if any
2507 </summary>
2508 </member>
2509 <member name="T:RestSharp.RestResponse`1">
2510 <summary>
2511 Container for data sent back from API including deserialized data
2512 </summary>
2513 <typeparam name="T">Type of data to deserialize to</typeparam>
2514 </member>
2515 <member name="P:RestSharp.RestResponse`1.Data">
2516 <summary>
2517 Deserialized entity data
2518 </summary>
2519 </member>
2520 <member name="T:RestSharp.RestResponse">
2521 <summary>
2522 Container for data sent back from API
2523 </summary>
2524 </member>
2525 <member name="P:RestSharp.RestResponseCookie.Comment">
2526 <summary>
2527 Comment of the cookie
2528 </summary>
2529 </member>
2530 <member name="P:RestSharp.RestResponseCookie.CommentUri">
2531 <summary>
2532 Comment of the cookie
2533 </summary>
2534 </member>
2535 <member name="P:RestSharp.RestResponseCookie.Discard">
2536 <summary>
2537 Indicates whether the cookie should be discarded at the end of the session
2538 </summary>
2539 </member>
2540 <member name="P:RestSharp.RestResponseCookie.Domain">
2541 <summary>
2542 Domain of the cookie
2543 </summary>
2544 </member>
2545 <member name="P:RestSharp.RestResponseCookie.Expired">
2546 <summary>
2547 Indicates whether the cookie is expired
2548 </summary>
2549 </member>
2550 <member name="P:RestSharp.RestResponseCookie.Expires">
2551 <summary>
2552 Date and time that the cookie expires
2553 </summary>
2554 </member>
2555 <member name="P:RestSharp.RestResponseCookie.HttpOnly">
2556 <summary>
2557 Indicates that this cookie should only be accessed by the server
2558 </summary>
2559 </member>
2560 <member name="P:RestSharp.RestResponseCookie.Name">
2561 <summary>
2562 Name of the cookie
2563 </summary>
2564 </member>
2565 <member name="P:RestSharp.RestResponseCookie.Path">
2566 <summary>
2567 Path of the cookie
2568 </summary>
2569 </member>
2570 <member name="P:RestSharp.RestResponseCookie.Port">
2571 <summary>
2572 Port of the cookie
2573 </summary>
2574 </member>
2575 <member name="P:RestSharp.RestResponseCookie.Secure">
2576 <summary>
2577 Indicates that the cookie should only be sent over secure channels
2578 </summary>
2579 </member>
2580 <member name="P:RestSharp.RestResponseCookie.TimeStamp">
2581 <summary>
2582 Date and time the cookie was created
2583 </summary>
2584 </member>
2585 <member name="P:RestSharp.RestResponseCookie.Value">
2586 <summary>
2587 Value of the cookie
2588 </summary>
2589 </member>
2590 <member name="P:RestSharp.RestResponseCookie.Version">
2591 <summary>
2592 Version of the cookie
2593 </summary>
2594 </member>
2595 <member name="T:RestSharp.Serializers.DotNetXmlSerializer">
2596 <summary>
2597 Wrapper for System.Xml.Serialization.XmlSerializer.
2598 </summary>
2599 </member>
2600 <member name="M:RestSharp.Serializers.DotNetXmlSerializer.#ctor">
2601 <summary>
2602 Default constructor, does not specify namespace
2603 </summary>
2604 </member>
2605 <member name="M:RestSharp.Serializers.DotNetXmlSerializer.#ctor(System.String)">
2606 <summary>
2607 Specify the namespaced to be used when serializing
2608 </summary>
2609 <param name="namespace">XML namespace</param>
2610 </member>
2611 <member name="M:RestSharp.Serializers.DotNetXmlSerializer.Serialize(System.Object)">
2612 <summary>
2613 Serialize the object as XML
2614 </summary>
2615 <param name="obj">Object to serialize</param>
2616 <returns>XML as string</returns>
2617 </member>
2618 <member name="P:RestSharp.Serializers.DotNetXmlSerializer.RootElement">
2619 <summary>
2620 Name of the root element to use when serializing
2621 </summary>
2622 </member>
2623 <member name="P:RestSharp.Serializers.DotNetXmlSerializer.Namespace">
2624 <summary>
2625 XML namespace to use when serializing
2626 </summary>
2627 </member>
2628 <member name="P:RestSharp.Serializers.DotNetXmlSerializer.DateFormat">
2629 <summary>
2630 Format string to use when serializing dates
2631 </summary>
2632 </member>
2633 <member name="P:RestSharp.Serializers.DotNetXmlSerializer.ContentType">
2634 <summary>
2635 Content type for serialized content
2636 </summary>
2637 </member>
2638 <member name="P:RestSharp.Serializers.DotNetXmlSerializer.Encoding">
2639 <summary>
2640 Encoding for serialized content
2641 </summary>
2642 </member>
2643 <member name="T:RestSharp.Serializers.DotNetXmlSerializer.EncodingStringWriter">
2644 <summary>
2645 Need to subclass StringWriter in order to override Encoding
2646 </summary>
2647 </member>
2648 <member name="T:RestSharp.Serializers.JsonSerializer">
2649 <summary>
2650 Default JSON serializer for request bodies
2651 Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes
2652 </summary>
2653 </member>
2654 <member name="M:RestSharp.Serializers.JsonSerializer.#ctor">
2655 <summary>
2656 Default serializer
2657 </summary>
2658 </member>
2659 <member name="M:RestSharp.Serializers.JsonSerializer.Serialize(System.Object)">
2660 <summary>
2661 Serialize the object as JSON
2662 </summary>
2663 <param name="obj">Object to serialize</param>
2664 <returns>JSON as String</returns>
2665 </member>
2666 <member name="P:RestSharp.Serializers.JsonSerializer.DateFormat">
2667 <summary>
2668 Unused for JSON Serialization
2669 </summary>
2670 </member>
2671 <member name="P:RestSharp.Serializers.JsonSerializer.RootElement">
2672 <summary>
2673 Unused for JSON Serialization
2674 </summary>
2675 </member>
2676 <member name="P:RestSharp.Serializers.JsonSerializer.Namespace">
2677 <summary>
2678 Unused for JSON Serialization
2679 </summary>
2680 </member>
2681 <member name="P:RestSharp.Serializers.JsonSerializer.ContentType">
2682 <summary>
2683 Content type for serialized content
2684 </summary>
2685 </member>
2686 <member name="T:RestSharp.Serializers.SerializeAsAttribute">
2687 <summary>
2688 Allows control how class and property names and values are serialized by XmlSerializer
2689 Currently not supported with the JsonSerializer
2690 When specified at the property level the class-level specification is overridden
2691 </summary>
2692 </member>
2693 <member name="M:RestSharp.Serializers.SerializeAsAttribute.TransformName(System.String)">
2694 <summary>
2695 Called by the attribute when NameStyle is speficied
2696 </summary>
2697 <param name="input">The string to transform</param>
2698 <returns>String</returns>
2699 </member>
2700 <member name="P:RestSharp.Serializers.SerializeAsAttribute.Name">
2701 <summary>
2702 The name to use for the serialized element
2703 </summary>
2704 </member>
2705 <member name="P:RestSharp.Serializers.SerializeAsAttribute.Attribute">
2706 <summary>
2707 Sets the value to be serialized as an Attribute instead of an Element
2708 </summary>
2709 </member>
2710 <member name="P:RestSharp.Serializers.SerializeAsAttribute.Culture">
2711 <summary>
2712 The culture to use when serializing
2713 </summary>
2714 </member>
2715 <member name="P:RestSharp.Serializers.SerializeAsAttribute.NameStyle">
2716 <summary>
2717 Transforms the casing of the name based on the selected value.
2718 </summary>
2719 </member>
2720 <member name="P:RestSharp.Serializers.SerializeAsAttribute.Index">
2721 <summary>
2722 The order to serialize the element. Default is int.MaxValue.
2723 </summary>
2724 </member>
2725 <member name="T:RestSharp.Serializers.NameStyle">
2726 <summary>
2727 Options for transforming casing of element names
2728 </summary>
2729 </member>
2730 <member name="T:RestSharp.Serializers.XmlSerializer">
2731 <summary>
2732 Default XML Serializer
2733 </summary>
2734 </member>
2735 <member name="M:RestSharp.Serializers.XmlSerializer.#ctor">
2736 <summary>
2737 Default constructor, does not specify namespace
2738 </summary>
2739 </member>
2740 <member name="M:RestSharp.Serializers.XmlSerializer.#ctor(System.String)">
2741 <summary>
2742 Specify the namespaced to be used when serializing
2743 </summary>
2744 <param name="namespace">XML namespace</param>
2745 </member>
2746 <member name="M:RestSharp.Serializers.XmlSerializer.Serialize(System.Object)">
2747 <summary>
2748 Serialize the object as XML
2749 </summary>
2750 <param name="obj">Object to serialize</param>
2751 <returns>XML as string</returns>
2752 </member>
2753 <member name="M:RestSharp.Serializers.XmlSerializer.IsNumeric(System.Object)">
2754 <summary>
2755 Determines if a given object is numeric in any way
2756 (can be integer, double, null, etc).
2757 </summary>
2758 </member>
2759 <member name="P:RestSharp.Serializers.XmlSerializer.RootElement">
2760 <summary>
2761 Name of the root element to use when serializing
2762 </summary>
2763 </member>
2764 <member name="P:RestSharp.Serializers.XmlSerializer.Namespace">
2765 <summary>
2766 XML namespace to use when serializing
2767 </summary>
2768 </member>
2769 <member name="P:RestSharp.Serializers.XmlSerializer.DateFormat">
2770 <summary>
2771 Format string to use when serializing dates
2772 </summary>
2773 </member>
2774 <member name="P:RestSharp.Serializers.XmlSerializer.ContentType">
2775 <summary>
2776 Content type for serialized content
2777 </summary>
2778 </member>
2779 <member name="T:RestSharp.Validation.Require">
2780 <summary>
2781 Helper methods for validating required values
2782 </summary>
2783 </member>
2784 <member name="M:RestSharp.Validation.Require.Argument(System.String,System.Object)">
2785 <summary>
2786 Require a parameter to not be null
2787 </summary>
2788 <param name="argumentName">Name of the parameter</param>
2789 <param name="argumentValue">Value of the parameter</param>
2790 </member>
2791 <member name="T:RestSharp.JsonArray">
2792 <summary>
2793 Represents the json array.
2794 </summary>
2795 </member>
2796 <member name="M:RestSharp.JsonArray.#ctor">
2797 <summary>
2798 Initializes a new instance of the <see cref="T:RestSharp.JsonArray"/> class.
2799 </summary>
2800 </member>
2801 <member name="M:RestSharp.JsonArray.#ctor(System.Int32)">
2802 <summary>
2803 Initializes a new instance of the <see cref="T:RestSharp.JsonArray"/> class.
2804 </summary>
2805 <param name="capacity">The capacity of the json array.</param>
2806 </member>
2807 <member name="M:RestSharp.JsonArray.ToString">
2808 <summary>
2809 The json representation of the array.
2810 </summary>
2811 <returns>The json representation of the array.</returns>
2812 </member>
2813 <member name="T:RestSharp.JsonObject">
2814 <summary>
2815 Represents the json object.
2816 </summary>
2817 </member>
2818 <member name="F:RestSharp.JsonObject._members">
2819 <summary>
2820 The internal member dictionary.
2821 </summary>
2822 </member>
2823 <member name="M:RestSharp.JsonObject.#ctor">
2824 <summary>
2825 Initializes a new instance of <see cref="T:RestSharp.JsonObject"/>.
2826 </summary>
2827 </member>
2828 <member name="M:RestSharp.JsonObject.#ctor(System.Collections.Generic.IEqualityComparer{System.String})">
2829 <summary>
2830 Initializes a new instance of <see cref="T:RestSharp.JsonObject"/>.
2831 </summary>
2832 <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> implementation to use when comparing keys, or null to use the default <see cref="T:System.Collections.Generic.EqualityComparer`1"/> for the type of the key.</param>
2833 </member>
2834 <member name="M:RestSharp.JsonObject.Add(System.String,System.Object)">
2835 <summary>
2836 Adds the specified key.
2837 </summary>
2838 <param name="key">The key.</param>
2839 <param name="value">The value.</param>
2840 </member>
2841 <member name="M:RestSharp.JsonObject.ContainsKey(System.String)">
2842 <summary>
2843 Determines whether the specified key contains key.
2844 </summary>
2845 <param name="key">The key.</param>
2846 <returns>
2847 <c>true</c> if the specified key contains key; otherwise, <c>false</c>.
2848 </returns>
2849 </member>
2850 <member name="M:RestSharp.JsonObject.Remove(System.String)">
2851 <summary>
2852 Removes the specified key.
2853 </summary>
2854 <param name="key">The key.</param>
2855 <returns></returns>
2856 </member>
2857 <member name="M:RestSharp.JsonObject.TryGetValue(System.String,System.Object@)">
2858 <summary>
2859 Tries the get value.
2860 </summary>
2861 <param name="key">The key.</param>
2862 <param name="value">The value.</param>
2863 <returns></returns>
2864 </member>
2865 <member name="M:RestSharp.JsonObject.Add(System.Collections.Generic.KeyValuePair{System.String,System.Object})">
2866 <summary>
2867 Adds the specified item.
2868 </summary>
2869 <param name="item">The item.</param>
2870 </member>
2871 <member name="M:RestSharp.JsonObject.Clear">
2872 <summary>
2873 Clears this instance.
2874 </summary>
2875 </member>
2876 <member name="M:RestSharp.JsonObject.Contains(System.Collections.Generic.KeyValuePair{System.String,System.Object})">
2877 <summary>
2878 Determines whether [contains] [the specified item].
2879 </summary>
2880 <param name="item">The item.</param>
2881 <returns>
2882 <c>true</c> if [contains] [the specified item]; otherwise, <c>false</c>.
2883 </returns>
2884 </member>
2885 <member name="M:RestSharp.JsonObject.CopyTo(System.Collections.Generic.KeyValuePair{System.String,System.Object}[],System.Int32)">
2886 <summary>
2887 Copies to.
2888 </summary>
2889 <param name="array">The array.</param>
2890 <param name="arrayIndex">Index of the array.</param>
2891 </member>
2892 <member name="M:RestSharp.JsonObject.Remove(System.Collections.Generic.KeyValuePair{System.String,System.Object})">
2893 <summary>
2894 Removes the specified item.
2895 </summary>
2896 <param name="item">The item.</param>
2897 <returns></returns>
2898 </member>
2899 <member name="M:RestSharp.JsonObject.GetEnumerator">
2900 <summary>
2901 Gets the enumerator.
2902 </summary>
2903 <returns></returns>
2904 </member>
2905 <member name="M:RestSharp.JsonObject.System#Collections#IEnumerable#GetEnumerator">
2906 <summary>
2907 Returns an enumerator that iterates through a collection.
2908 </summary>
2909 <returns>
2910 An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
2911 </returns>
2912 </member>
2913 <member name="M:RestSharp.JsonObject.ToString">
2914 <summary>
2915 Returns a json <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
2916 </summary>
2917 <returns>
2918 A json <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>.
2919 </returns>
2920 </member>
2921 <member name="P:RestSharp.JsonObject.Item(System.Int32)">
2922 <summary>
2923 Gets the <see cref="T:System.Object"/> at the specified index.
2924 </summary>
2925 <value></value>
2926 </member>
2927 <member name="P:RestSharp.JsonObject.Keys">
2928 <summary>
2929 Gets the keys.
2930 </summary>
2931 <value>The keys.</value>
2932 </member>
2933 <member name="P:RestSharp.JsonObject.Values">
2934 <summary>
2935 Gets the values.
2936 </summary>
2937 <value>The values.</value>
2938 </member>
2939 <member name="P:RestSharp.JsonObject.Item(System.String)">
2940 <summary>
2941 Gets or sets the <see cref="T:System.Object"/> with the specified key.
2942 </summary>
2943 <value></value>
2944 </member>
2945 <member name="P:RestSharp.JsonObject.Count">
2946 <summary>
2947 Gets the count.
2948 </summary>
2949 <value>The count.</value>
2950 </member>
2951 <member name="P:RestSharp.JsonObject.IsReadOnly">
2952 <summary>
2953 Gets a value indicating whether this instance is read only.
2954 </summary>
2955 <value>
2956 <c>true</c> if this instance is read only; otherwise, <c>false</c>.
2957 </value>
2958 </member>
2959 <member name="T:RestSharp.SimpleJson">
2960 <summary>
2961 This class encodes and decodes JSON strings.
2962 Spec. details, see http://www.json.org/
2963
2964 JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList&lt;object>) and JsonObject(IDictionary&lt;string,object>).
2965 All numbers are parsed to doubles.
2966 </summary>
2967 </member>
2968 <member name="M:RestSharp.SimpleJson.DeserializeObject(System.String)">
2969 <summary>
2970 Parses the string json into a value
2971 </summary>
2972 <param name="json">A JSON string.</param>
2973 <returns>An IList&lt;object>, a IDictionary&lt;string,object>, a double, a string, null, true, or false</returns>
2974 </member>
2975 <member name="M:RestSharp.SimpleJson.TryDeserializeObject(System.String,System.Object@)">
2976 <summary>
2977 Try parsing the json string into a value.
2978 </summary>
2979 <param name="json">
2980 A JSON string.
2981 </param>
2982 <param name="obj">
2983 The object.
2984 </param>
2985 <returns>
2986 Returns true if successfull otherwise false.
2987 </returns>
2988 </member>
2989 <member name="M:RestSharp.SimpleJson.SerializeObject(System.Object,RestSharp.IJsonSerializerStrategy)">
2990 <summary>
2991 Converts a IDictionary&lt;string,object> / IList&lt;object> object into a JSON string
2992 </summary>
2993 <param name="json">A IDictionary&lt;string,object> / IList&lt;object></param>
2994 <param name="jsonSerializerStrategy">Serializer strategy to use</param>
2995 <returns>A JSON encoded string, or null if object 'json' is not serializable</returns>
2996 </member>
2997 <member name="M:RestSharp.SimpleJson.IsNumeric(System.Object)">
2998 <summary>
2999 Determines if a given object is numeric in any way
3000 (can be integer, double, null, etc).
3001 </summary>
3002 </member>
3003 <member name="T:RestSharp.Validation.Validate">
3004 <summary>
3005 Helper methods for validating values
3006 </summary>
3007 </member>
3008 <member name="M:RestSharp.Validation.Validate.IsBetween(System.Int32,System.Int32,System.Int32)">
3009 <summary>
3010 Validate an integer value is between the specified values (exclusive of min/max)
3011 </summary>
3012 <param name="value">Value to validate</param>
3013 <param name="min">Exclusive minimum value</param>
3014 <param name="max">Exclusive maximum value</param>
3015 </member>
3016 <member name="M:RestSharp.Validation.Validate.IsValidLength(System.String,System.Int32)">
3017 <summary>
3018 Validate a string length
3019 </summary>
3020 <param name="value">String to be validated</param>
3021 <param name="maxSize">Maximum length of the string</param>
3022 </member>
3023 </members>
3024</doc>
diff --git a/bin/Robust.HG.ini.example b/bin/Robust.HG.ini.example
new file mode 100644
index 0000000..2ee5186
--- /dev/null
+++ b/bin/Robust.HG.ini.example
@@ -0,0 +1,811 @@
1; * Run
2; * $ Robust.exe -inifile Robust.HG.ini
3; *
4
5; * Configurations for enabling HG1.5
6; *
7; * HG1.5 handlers are: OpenSim.Server.Handlers.dll:GatekeeperService
8; * OpenSim.Server.Handlers.dll:UserAgentService
9; * Additional OpenSim.Server.Handlers.dll:AssetServiceConnector and
10; * OpenSim.Server.Handlers.dll:XInventoryInConnector
11; * are started in port 8002, outside the firewall
12; *
13; **
14; *
15; * The Const section allows us to define some basic information that we
16; * will use throughout our configuration. We will provide examples for
17; * setting the base url of the Robust server and the public and private ports
18; * it uses. Changing the values of the constants will set the operating
19; * parameters thoughout the configuration. Other constants that may prove
20; * to be useful may be added to the followin section. They may be
21; * referenced anywhere in the configuration by using ${Const|Name}. One
22; * such use is providing a base path for setting locations that Robust
23; * uses to write data.
24; *
25[Const]
26
27 ; The URL of the Robust server
28 BaseURL = "http://127.0.0.1"
29
30 ; The public port of the Robust server
31 PublicPort = "8002"
32
33 ; The private port of the Robust server
34 PrivatePort = "8003"
35
36; * The startup section lists all the connectors to start up in this server
37; * instance. This may be only one, or it may be the entire server suite.
38; * Multiple connectors should be separated by commas.
39; *
40; * These are the IN connectors the server uses, the in connectors
41; * read this config file and load the needed service and database connectors
42; *
43; * The full syntax of a connector string is:
44; * [[<ConfigName>@]<port>/]<dll name>[:<class name>]
45; *
46[Startup]
47 ; Place to create a PID file
48 ; If no path if specified then a PID file is not created.
49 ; PIDFile = "/tmp/Robust.exe.pid"
50
51 ; Plugin Registry Location
52 ; Set path to directory for plugin registry. Information
53 ; about the registered repositories and installed plugins
54 ; will be stored here
55 ; The Robust.exe process must have R/W access to the location
56 RegistryLocation = "."
57
58 ; Modular configurations
59 ; Set path to directory for modular ini files...
60 ; The Robust.exe process must have R/W access to the location
61 ConfigDirectory = "robust-include"
62
63 ; Console commands can be saved to a file, so the command history persists after a restart. (default is true)
64 ConsoleHistoryFileEnabled = true
65
66 ; The history file can be just a filename (relative to OpenSim's bin/ directory
67 ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/)
68 ConsoleHistoryFile = "RobustConsoleHistory.txt"
69
70 ; How many lines of command history should we keep? (default is 100)
71 ConsoleHistoryFileLines = 100
72
73
74[ServiceList]
75 AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector"
76 InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector"
77 ;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below)
78 ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector"
79 GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector"
80 GridInfoServerInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GridInfoServerInConnector"
81 AuthenticationServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector"
82 OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector"
83 AvatarServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AvatarServiceConnector"
84 LLLoginServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector"
85 PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector"
86 UserAccountServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:UserAccountServiceConnector"
87 GridUserServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridUserServiceConnector"
88 AgentPreferencesServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AgentPreferencesServiceConnector"
89 FriendsServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:FriendsServiceConnector"
90 MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector"
91 MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector"
92 ;; Uncomment this if you want offline IM to work
93 ; OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector"
94 ;; Uncomment this if you want Groups V2 to work
95 ; GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector"
96 ;; Uncomment to provide bakes caching
97 ; BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector"
98
99 ;; Uncomment for UserProfiles see [UserProfilesService] to configure...
100 ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector"
101
102 ;; Uncomment if you want to have centralized estate data
103 ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector"
104
105 MuteListConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MuteListServiceConnector"
106
107 ;; Additions for Hypergrid
108
109 GatekeeperServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector"
110 UserAgentServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserAgentServerConnector"
111 HeloServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HeloServiceInConnector"
112 HGFriendsServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HGFriendsServerConnector"
113 InstantMessageServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:InstantMessageServerConnector"
114 HGInventoryServiceConnector = "HGInventoryService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:XInventoryInConnector"
115 HGAssetServiceConnector = "HGAssetService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:AssetServiceConnector"
116 ;; Uncomment this if you want Groups V2, HG to work
117 ; HGGroupsServiceConnector = "${Const|PublicPort}/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector"
118
119; * This is common for all services, it's the network setup for the entire
120; * server instance, if none is specified above
121; *
122[Network]
123 port = ${Const|PrivatePort}
124
125 ; HTTPS for "Out of band" management applications such as the remote admin
126 ; module. May specify https_main = True to make the main http server
127 ; use https or "False" to make the main server HTTP
128 ; https_main = False
129 ;
130 ; Create https_listener = "True" will create a listener on the port
131 ; specified. Provide the path to your server certificate along with it's
132 ; password
133 ; https_listener = False
134 ;
135 ; Set our listener to this port
136 ; https_port = 0
137 ;
138 ; Path to X509 certificate
139 ; cert_path = "path/to/cert.p12"
140 ;
141 ; Password for cert
142 ; cert_pass = "password"
143
144 ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services.
145 ;; Use this if your central services in port ${Const|PrivatePort} need to be accessible on the Internet
146 ;; but you want to protect them from unauthorized access.
147 ; AuthType = "BasicHttpAuthentication"
148 ; HttpAuthUsername = "some_username"
149 ; HttpAuthPassword = "some_password"
150 ;;
151 ;; AuthType above can be overriden in any of the service sections below by
152 ; AuthType = "None"
153 ;; This is useful in cases where you want to protect most of the services,
154 ;; but unprotect individual services. Username and Password can also be
155 ;; overriden if you want to use different credentials for the different services.
156 ;; Hypergrid services are not affected by this; they are publicly available
157 ;; by design.
158
159 ;; By default, scripts are not allowed to call private services via llHttpRequest()
160 ;; Such calls are detected by the X-SecondLife-Shared HTTP header
161 ;; If you allow such calls you must be sure that they are restricted to very trusted scripters
162 ;; (remember scripts can also be in visiting avatar attachments).
163 ;; This can be overriden in individual private service sections if necessary
164 AllowllHTTPRequestIn = false
165
166 ; * The following are for the remote console
167 ; * They have no effect for the local or basic console types
168 ; * Leave commented to diable logins to the console
169 ;ConsoleUser = Test
170 ;ConsolePass = secret
171 ;ConsolePort = 0
172
173
174[Hypergrid]
175 ;# {HomeURI} {Hypergrid} {The Home URL of this world} {}
176 ;; This is the address of the external robust server that
177 ;; runs the UserAgentsService, possibly this server.
178 ;; For example http://myworld.com:8002
179 ;; This is a default that can be overwritten in some sections.
180 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
181
182 ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {}
183 ;; This is the address of the external robust server
184 ;; that runs the Gatekeeper service, possibly this server.
185 ;; For example http://myworld.com:8002
186 ;; This is a default that can be overwritten in some sections.
187 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
188
189[AccessControl]
190 ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {}
191 ;; Bar (|) separated list of viewers which may gain access to the regions.
192 ;; One can use a substring of the viewer name to enable only certain
193 ;; versions
194 ;; Example: Agent uses the viewer "Imprudence 1.3.2.0"
195 ;; - "Imprudence" has access
196 ;; - "Imprudence 1.3" has access
197 ;; - "Imprudence 1.3.1" has no access
198 ; AllowedClients = ""
199
200 ;# {DeniedClients} {} {Bar (|) separated list of denied clients} {}
201 ;; Bar (|) separated list of viewers which may not gain access to the regions.
202 ;; One can use a Substring of the viewer name to disable only certain
203 ;; versions
204 ;; Example: Agent uses the viewer "Imprudence 1.3.2.0"
205 ;; - "Imprudence" has no access
206 ;; - "Imprudence 1.3" has no access
207 ;; - "Imprudence 1.3.1" has access
208 ; DeniedClients = ""
209
210[DatabaseService]
211 ; PGSQL
212 ; Uncomment these lines if you want to use PGSQL storage
213 ; Change the connection string to your db details
214 ;StorageProvider = "OpenSim.Data.PGSQL.dll"
215 ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;"
216
217 ; MySQL
218 ; Uncomment these lines if you want to use MySQL storage
219 ; Change the connection string to your db details
220 StorageProvider = "OpenSim.Data.MySQL.dll"
221 ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;"
222
223
224; * As an example, the below configuration precisely mimicks the legacy
225; * asset server. It is read by the asset IN connector (defined above)
226; * and it then loads the OUT connector (a local database module). That,
227; * in turn, reads the asset loader and database connection information
228; *
229[AssetService]
230
231 ;; Choose an asset service (Only one option should be enabled)
232 LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
233 ;LocalServiceModule = "OpenSim.Services.FSAssetService.dll:FSAssetConnector"
234
235 ;; FSAsset Directories. Base directory, where final asset files are stored and Spool directory for temp files
236 ;; These directories must be on the same physical filesystem
237 ;BaseDirectory = "./fsassets/data"
238 ;SpoolDirectory = "./fsassets/tmp"
239
240 ;; Original service can be checked if FSAssets can not find an asset
241 ;FallbackService = "OpenSim.Services.AssetService.dll:AssetService";
242
243 ;; How many days since last updating the access time before its updated again by FSAssets when accessing an asset
244 ;; Reduces DB calls if asset is requested often. Default value 0 will always update access time
245 ;DaysBetweenAccessTimeUpdates = 30
246
247 ;; Should FSAssets print read/write stats to the robust console, default is true
248 ;ShowConsoleStats = true
249
250 ;; FSAssets Custom Database Config (Leave blank to use grids default database configuration)
251 ;StorageProvider = ""
252 ;ConnectionString = ""
253 ;Realm = "fsassets"
254
255 ;; The following are common to both the default asset service and FSAsset service
256
257 ;; Common asset service options
258 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
259 AssetLoaderArgs = "./assets/AssetSets.xml"
260
261 ; Allow maptile assets to remotely deleted by remote calls to the asset service.
262 ; There is no harm in having this as false - it just means that historical maptile assets are not deleted.
263 ; This only applies to maptiles served via the version 1 viewer mechanisms
264 ; Default is false
265 AllowRemoteDelete = false
266
267 ; Allow all assets to be remotely deleted.
268 ; Only set this to true if you are operating a grid where you control all calls to the asset service
269 ; (where a necessary condition is that you control all simulators) and you need this for admin purposes.
270 ; If set to true, AllowRemoteDelete = true is required as well.
271 ; Default is false.
272 AllowRemoteDeleteAllTypes = false
273
274; * This configuration loads the inventory server modules. It duplicates
275; * the function of the legacy inventory server
276; *
277[InventoryService]
278 LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
279
280 ; Will calls to purge folders (empty trash) and immediately delete/update items or folders (not move to trash first) succeed?
281 ; If this is set to false then some other arrangement must be made to perform these operations if necessary.
282 AllowDelete = true
283
284
285; * This is the new style grid service.
286; * "Realm" is the table that is used for user lookup.
287; * It defaults to "regions", which uses the legacy tables
288; *
289[GridService]
290 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
291
292 ; Realm = "regions"
293 ; AllowDuplicateNames = ""
294
295 ;; Needed to display non-default map tile images for linked regions
296 AssetService = "OpenSim.Services.AssetService.dll:AssetService"
297
298 ;; Directory for map tile images of linked regions
299 ; MapTileDirectory = "./maptiles"
300
301 ;; Next, we can specify properties of regions, including default and fallback regions
302 ;; The syntax is: Region_<RegionName> = "<flags>"
303 ;; or: Region_<RegionID> = "<flags>"
304 ;; where <flags> can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate
305 ;;
306 ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.)
307 ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion
308 ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified
309 ;; an explicit region.
310 ;;
311 ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online
312 ;; region will be used.
313 ;;
314 ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the
315 ;; order specified. This only applies to local logins at this time, not Hypergrid connections.
316 ;;
317 ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins.
318 ;;
319 ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid.
320 ;;
321 ;; Example specification:
322 ; Region_Welcome_Area = "DefaultRegion, FallbackRegion"
323 ; (replace spaces with underscore)
324
325 ;; Allow Hyperlinks to be created at the console
326 HypergridLinker = true
327
328 ;; Allow supporting viewers to export content
329 ;; Set to false to prevent export
330 ExportSupported = true
331
332 ;; If you have this set under [Hypergrid], no need to set it here, leave it commented
333 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
334
335
336; * This is the configuration for the freeswitch server in grid mode
337[FreeswitchService]
338 LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService"
339
340 ;; The IP address of your FreeSWITCH server.
341 ;; This address must be reachable by viewers.
342 ; ServerAddress = 127.0.0.1
343
344 ;; The following configuration parameters are optional
345
346 ;; By default, this is the same as the ServerAddress
347 ; Realm = 127.0.0.1
348
349 ;; By default, this is the same as the ServerAddress on port 5060
350 ; SIPProxy = 127.0.0.1:5060
351
352 ;; Default is 5000ms
353 ; DefaultTimeout = 5000
354
355 ;; The dial plan context. Default is "default"
356 ; Context = default
357
358 ;; Currently unused
359 ; UserName = freeswitch
360
361 ;; Currently unused
362 ; Password = password
363
364 ;; The following parameters are for STUN = Simple Traversal of UDP through NATs
365 ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal
366 ;; stun.freeswitch.org is not guaranteed to be running so use it in
367 ;; production at your own risk
368 ; EchoServer = 127.0.0.1
369 ; EchoPort = 50505
370 ; AttemptSTUN = false
371
372
373; * This is the new style authentication service. Currently, only MySQL
374; * is implemented.
375; *
376[AuthenticationService]
377 ; for the server connector
378 LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
379 ; Realm = "auth"
380
381 ;; Allow the service to process HTTP getauthinfo calls.
382 ;; Default is false.
383 ; AllowGetAuthInfo = false
384
385 ;; Allow the service to process HTTP setauthinfo calls.
386 ;; Default is false.
387 ; AllowSetAuthInfo = false
388
389 ;; Allow the service to process HTTP setpassword calls.
390 ;; Default is false.
391 ; AllowSetPassword = false
392
393
394[OpenIdService]
395 ; for the server connector
396 AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
397 UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
398
399
400; * This is the new style user service.
401; * "Realm" is the table that is used for user lookup.
402; * It defaults to "UserAccounts", which uses the new style.
403; * Realm = "users" will use the legacy tables as an authentication source
404; *
405[UserAccountService]
406 ; for the server connector
407 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
408 ; Realm = "UserAccounts"
409
410 ; These are for creating new accounts by the service
411 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
412 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
413 GridService = "OpenSim.Services.GridService.dll:GridService"
414 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
415 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
416 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
417
418 ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2
419 ;; to show a default "Ruth" avatar rather than a cloud for a newly created user.
420 ;; Default is false
421 CreateDefaultAvatarEntries = true
422
423 ;; Allow the service to process HTTP createuser calls.
424 ;; Default is false.
425 ; AllowCreateUser = false
426
427 ;; Allow the service to process HTTP setaccount calls.
428 ;; Default is false.
429 ; AllowSetAccount = false
430
431
432[GridUserService]
433 ; for the server connector
434 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService"
435
436
437[AgentPreferencesService]
438 ; for the server connector
439 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService"
440
441
442[PresenceService]
443 ; for the server connector
444 LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService"
445
446[AvatarService]
447 ; for the server connector
448 LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService"
449
450
451[FriendsService]
452 ; for the server connector
453 LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService"
454
455[EstateService]
456 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
457
458[LibraryService]
459 LibraryName = "OpenSim Library"
460 DefaultLibrary = "./inventory/Libraries.xml"
461
462
463[LoginService]
464 ; for the server connector
465 LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService"
466 ; for the service
467 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
468 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
469 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
470 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
471 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
472 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
473 GridService = "OpenSim.Services.GridService.dll:GridService"
474 SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector"
475 LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService"
476 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
477 ; The minimum user level required for a user to be able to login. 0 by default
478 ; If you disable a particular user's account then you can set their login level below this number.
479 ; You can also change this level from the console though these changes will not be persisted.
480 ; MinLoginLevel = 0
481
482 ;; for hypergrid
483 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
484
485 ; This inventory service will be used to initialize the user's inventory
486 HGInventoryServicePlugin = "HGInventoryService@OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
487 ; NOTE: HGInventoryServiceConstructorArg is deprecated. For now it will work, but see above
488 ; for the correct method if passing additional arguments.
489 ;; end hypergrid
490
491 ; Ask co-operative viewers to use a different currency name
492 ;Currency = ""
493
494 ;; Set minimum fee to publish classified
495 ; ClassifiedFee = 0
496
497 WelcomeMessage = "Welcome, Avatar!"
498 AllowRemoteSetLoginLevel = "false"
499
500 ; For V2 map
501 MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/";
502
503 ; Url to search service
504 ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}/";
505
506 ; For V3 destination guide
507 ; DestinationGuide = "${Const|BaseURL}/guide"
508
509 ; For V3 avatar picker (( work in progress ))
510 ; AvatarPicker = "${Const|BaseURL}/avatars"
511
512 ; If you run this login server behind a proxy, set this to true
513 ; HasProxy = false
514
515 ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs)
516 ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented
517 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
518
519 SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
520 SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}"
521 SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}"
522 SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}"
523 SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}"
524 SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}"
525 SRV_GroupsServerURI = "${Const|BaseURL}:${Const|PublicPort}"
526
527 ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time"
528 ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time
529 ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not.
530 ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids.
531 ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST.
532 ;; Options are
533 ;; "none" no DST
534 ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour.
535 ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings.
536 ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows
537 DSTZone = "America/Los_Angeles;Pacific Standard Time"
538
539 ;Basic Login Service Dos Protection Tweaks
540 ;;
541 ;; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true
542 ;; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to
543 ;; get around this basic DOS protection.
544 ;DOSAllowXForwardedForHeader = false
545 ;;
546 ;; The protector adds up requests during this rolling period of time, default 10 seconds
547 ;DOSRequestTimeFrameMS = 10000
548 ;;
549 ;; The amount of requests in the above timeframe from the same endpoint that triggers protection
550 ;DOSMaxRequestsInTimeFrame = 5
551 ;;
552 ;; The amount of time that a specific endpoint is blocked. Default 2 minutes.
553 ;DOSForgiveClientAfterMS = 120000
554 ;;
555 ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0.
556
557
558[MapImageService]
559 LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService"
560
561 ; Set this if you want to change the default
562 ; TilesStoragePath = "maptiles"
563 ;
564 ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}),
565 ; you may want to set this. Otherwise, don't set it, because it's already protected.
566 ; GridService = "OpenSim.Services.GridService.dll:GridService"
567 ;
568 ; Additionally, if you run this server behind a proxy, set this to true
569 ; HasProxy = false
570
571
572[GridInfoService]
573 ; These settings are used to return information on a get_grid_info call.
574 ; Client launcher scripts and third-party clients make use of this to
575 ; autoconfigure the client and to provide a nice user experience. If you
576 ; want to facilitate that, you should configure the settings here according
577 ; to your grid or standalone setup.
578 ;
579 ; See http://opensimulator.org/wiki/GridInfo
580
581 ; login uri: for grid this is the login server URI
582 login = ${Const|BaseURL}:${Const|PublicPort}/
583
584 ; long grid name: the long name of your grid
585 gridname = "the lost continent of hippo"
586
587 ; short grid name: the short name of your grid
588 gridnick = "hippogrid"
589
590 ; login page: optional: if it exists it will be used to tell the client to use
591 ; this as splash page
592 ;welcome = ${Const|BaseURL}/welcome
593
594 ; helper uri: optional: if it exists it will be used to tell the client to use
595 ; this for all economy related things
596 ;economy = ${Const|BaseURL}/economy
597
598 ; web page of grid: optional: page providing further information about your grid
599 ;about = ${Const|BaseURL}/about
600
601 ; account creation: optional: page providing further information about obtaining
602 ; a user account on your grid
603 ;register = ${Const|BaseURL}/register
604
605 ; help: optional: page providing further assistance for users of your grid
606 ;help = ${Const|BaseURL}/help
607
608 ; password help: optional: page providing password assistance for users of your grid
609 ;password = ${Const|BaseURL}/password
610
611 ; HG address of the gatekeeper, if you have one
612 ; this is the entry point for all the regions of the world
613 ; gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/
614
615 ; HG user domain, if you have one
616 ; this is the entry point for all user-related HG services
617 ; uas = ${Const|BaseURL}:${Const|PublicPort}/
618
619
620[GatekeeperService]
621 LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService"
622 ;; for the service
623 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
624 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
625 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
626 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
627 GridService = "OpenSim.Services.GridService.dll:GridService"
628 AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector"
629 SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector"
630 ; how does the outside world reach me? This acts as public key too.
631 ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented
632 ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}"
633
634 ; Does this grid allow incoming links to any region in it?
635 ; If false, HG TPs happen only to the Default regions specified in [GridService] section
636 AllowTeleportsToAnyRegion = true
637
638 ; If you run this gatekeeper server behind a proxy, set this to true
639 ; HasProxy = false
640
641 ;; Are foreign visitors allowed?
642 ;ForeignAgentsAllowed = true
643 ;;
644 ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept.
645 ;; Leave blank or commented for no exceptions.
646 ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002"
647 ;;
648 ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept
649 ;; Leave blank or commented for no exceptions.
650 ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002"
651
652
653[UserAgentService]
654 LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService"
655 ;; for the service
656 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
657 GridService = "OpenSim.Services.GridService.dll:GridService"
658 GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService"
659 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
660 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
661 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
662
663 ; If you run this user agent server behind a proxy, set this to true
664 ; HasProxy = false
665
666 ;; If you separate the UserAgentService from the LoginService, set this to
667 ;; the IP address of the machine where your LoginService is
668 ;LoginServerIP = "127.0.0.1"
669
670 ; User level required to be contacted from other grids
671 ;LevelOutsideContacts = 0
672
673 ;; Restrictions on destinations of local users.
674 ;; Are local users allowed to visit other grids?
675 ;; What user level? Use variables of this forrm:
676 ;; ForeignTripsAllowed_Level_<UserLevel> = true | false
677 ;; (the default is true)
678 ;; For example:
679 ; ForeignTripsAllowed_Level_0 = false
680 ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it
681 ;;
682 ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept
683 ;; Leave blank or commented for no exceptions.
684 ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002"
685 ;;
686 ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept.
687 ;; Leave blank or commented for no exceptions.
688 ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002"
689
690 ;; This variable controls what is exposed to profiles of local users
691 ;; as seen from outside of this grid. Leave it uncommented for exposing
692 ;; UserTitle, UserFlags and the creation date. Uncomment and change to False
693 ;; to block this info from being exposed.
694 ; ShowUserDetailsInHGProfile = True
695
696
697; * The interface that local users get when they are in other grids.
698; * This restricts the inventory operations while in other grids.
699; * Still not completely safe, especially if users perform inventory operations
700; * while in those grids. The more the user accesses his/her inventory, the more
701; * those simulators will know about the user's inventory.
702; *
703[HGInventoryService]
704 ; For the InventoryServiceInConnector
705 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
706 ;; alternatives:
707 ;; HG1.5, more permissive, not recommended, but still supported
708 ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService"
709 ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust
710 ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
711
712 UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
713 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
714
715 ; HGInventoryService is a public-facing inventory service that allows users to
716 ; interact with their suitcase folder when on a foreign grid. This reuses the general inventory service connector.
717 ; Hence, if the user has set up authentication in [Network] to protect their private services
718 ; make sure it is not set here.
719 AuthType = None
720
721 ;; Can overwrite the default in [Hypergrid], but probably shouldn't
722 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
723
724
725; * The interface that local users get when they are in other grids.
726; * This restricts the access that the rest of the world has to
727; * the assets of this world.
728; *
729[HGAssetService]
730 ;; Use the second option if you have FSAsset service enabled
731 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService"
732 ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFSAssetService"
733
734 UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
735
736 ; HGAssetService is a public-facing service that allows users to
737 ; read and create assets when on another grid. This reuses the general asset service connector.
738 ; Hence, if the user has set up authentication in [Network] to protect their private services
739 ; make sure it is overriden for this public service.
740 AuthType = None
741
742 ;; Can overwrite the default in [Hypergrid], but probably shouldn't
743 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
744
745 ;; The asset types that this grid can export to / import from other grids.
746 ;; Comma separated.
747 ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely:
748 ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText,
749 ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh
750 ;;
751 ;; Leave blank or commented if you don't want to apply any restrictions.
752 ;; A more strict, but still reasonable, policy may be to disallow the exchange
753 ;; of scripts, like so:
754 ; DisallowExport ="LSLText"
755 ; DisallowImport ="LSLBytecode"
756
757
758[HGFriendsService]
759 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService"
760 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
761 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
762 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
763 GridService = "OpenSim.Services.GridService.dll:GridService"
764 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
765
766
767[HGInstantMessageService]
768 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService"
769 GridService = "OpenSim.Services.GridService.dll:GridService"
770 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
771 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
772 ; This should always be true in the Robust config
773 InGatekeeper = True
774
775
776[Messaging]
777 ; OfflineIM
778 OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService"
779
780
781[Groups]
782 ;; for the HG Groups service
783 OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService"
784 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
785
786 ;; What is the HomeURI of users associated with this grid?
787 ;; Can overwrite the default in [Hypergrid], but probably shouldn't
788 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
789 ;; end hypergrid
790
791 ;; Sets the maximum number of groups an agent may join
792 ; MaxAgentGroups = 42
793
794
795[UserProfilesService]
796 LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService"
797 Enabled = false
798 ;; Configure this for separate profiles database
799 ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;"
800 ;; Realm = UserProfiles
801 UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService
802 AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
803
804
805[BakedTextureService]
806 LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes"
807 ;; This directory must be writable by the user ROBUST runs as. It will be created automatically.
808 BaseDirectory = "./bakes"
809
810[MuteListService]
811 LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService"
diff --git a/bin/Robust.Tests.dll.config b/bin/Robust.Tests.dll.config
new file mode 100644
index 0000000..cc0bead
--- /dev/null
+++ b/bin/Robust.Tests.dll.config
@@ -0,0 +1,43 @@
1<?xml version="1.0" encoding="utf-8" ?>
2<configuration>
3 <configSections>
4 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
5 </configSections>
6 <runtime>
7 <loadFromRemoteSources enabled="true" />
8 <gcConcurrent enabled="true" />
9 <gcServer enabled="true" />
10 </runtime>
11 <appSettings>
12 </appSettings>
13 <log4net>
14 <appender name="Console" type="OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console">
15 <filter type="log4net.Filter.LoggerMatchFilter">
16 <loggerToMatch value="special"/>
17 <acceptOnMatch value="false"/>
18 </filter>
19 <layout type="log4net.Layout.PatternLayout">
20 <conversionPattern value="%date{HH:mm:ss} - %message" />
21 </layout>
22 </appender>
23
24 <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
25 <file value="../../logs/Robust.Tests.log" />
26 <appendToFile value="true" />
27 <filter type="log4net.Filter.LoggerMatchFilter">
28 <loggerToMatch value="special"/>
29 <acceptOnMatch value="false"/>
30 </filter>
31 <layout type="log4net.Layout.PatternLayout">
32 <conversionPattern value="%date %-5level - %logger %message%newline" />
33 </layout>
34 </appender>
35
36 <root>
37 <level value="DEBUG" />
38 <appender-ref ref="Console" />
39 <appender-ref ref="LogFileAppender" />
40 </root>
41
42 </log4net>
43</configuration>
diff --git a/bin/Robust.Tests.ini b/bin/Robust.Tests.ini
new file mode 100644
index 0000000..bf72633
--- /dev/null
+++ b/bin/Robust.Tests.ini
@@ -0,0 +1,468 @@
1; * FOR TESTS ONLY -- DO NOT USE THIS FILE
2[Const]
3
4 ; The URL of the Robust server
5 BaseURL = "http://127.0.0.1"
6
7 ; The public port of the Robust server
8 PublicPort = "8888"
9
10 ; The private port of the Robust server, same for testing
11 PrivatePort = "8888"
12
13
14; * The startup section lists all the connectors to start up in this server
15; * instance. This may be only one, or it may be the entire server suite.
16; * Multiple connectors should be separated by commas.
17; *
18; * These are the IN connectors the server uses, the in connectors
19; * read this config file and load the needed service and database connectors
20; *
21; * The full syntax of a connector string is:
22; * [[<ConfigName>@]<port>/]<dll name>[:<class name>]
23; *
24[Startup]
25 ; Place to create a PID file
26 ; If no path if specified then a PID file is not created.
27 ; PIDFile = "/tmp/Robust.exe.pid"
28
29 ; Plugin Registry Location
30 ; Set path to directory for plugin registry. Information
31 ; about the registered repositories and installed plugins
32 ; will be stored here
33 ; The Robust.exe process must have R/W access to the location
34 RegistryLocation = "."
35
36 ; Modular configurations
37 ; Set path to directory for modular ini files...
38 ; The Robust.exe process must have R/W access to the location
39 ConfigDirectory = "."
40
41 console = "rest"
42
43 ; Console commands can be saved to a file, so the command history persists after a restart. (default is true)
44 ConsoleHistoryFileEnabled = false
45
46 ; The history file can be just a filename (relative to OpenSim's bin/ directory
47 ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/)
48 ConsoleHistoryFile = "RobustConsoleHistory.txt"
49
50 ; How many lines of command history should we keep? (default is 100)
51 ConsoleHistoryFileLines = 100
52
53[ServiceList]
54 GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector"
55 PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector"
56 InstantMessageServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:InstantMessageServerConnector"
57 UserAccountServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:UserAccountServiceConnector"
58 InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector"
59
60 ;; Uncomment as more tests are added
61 ;AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector"
62 ;GridInfoServerInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GridInfoServerInConnector"
63 ;AuthenticationServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector"
64 ;OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector"
65 ;AvatarServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AvatarServiceConnector"
66 ;LLLoginServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector"
67 ;GridUserServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridUserServiceConnector"
68 ;FriendsServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:FriendsServiceConnector"
69 ;MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector"
70 ;MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector"
71 ;OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector"
72 ;GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector"
73 ;BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector"
74 ;UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector"
75 ;EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector"
76
77; * This is common for all services, it's the network setup for the entire
78; * server instance, if none is specified above
79; *
80[Network]
81 port = ${Const|PrivatePort}
82
83 ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services.
84 ;; Use this if your central services in port ${Const|PrivatePort} need to be accessible on the Internet
85 ;; but you want to protect them from unauthorized access.
86 ; AuthType = "BasicHttpAuthentication"
87 ; HttpAuthUsername = "some_username"
88 ; HttpAuthPassword = "some_password"
89 ;;
90 ;; AuthType above can be overriden in any of the service sections below by
91 ; AuthType = "None"
92 ;; This is useful in cases where you want to protect most of the services,
93 ;; but unprotect individual services. Username and Password can also be
94 ;; overriden if you want to use different credentials for the different services.
95
96 ;; By default, scripts are not allowed to call private services via llHttpRequest()
97 ;; Such calls are detected by the X-SecondLife-Shared HTTP header
98 ;; If you allow such calls you must be sure that they are restricted to very trusted scripters
99 ;; (remember scripts can also be in visiting avatar attachments).
100 ;; This can be overriden in individual private service sections if necessary
101 AllowllHTTPRequestIn = false
102
103 ; * The following are for the remote console
104 ; * They have no effect for the local or basic console types
105 ; * Leave commented to diable logins to the console
106 ;ConsoleUser = Test
107 ;ConsolePass = secret
108 ;ConsolePort = 0
109
110
111[DatabaseService]
112 ; PGSQL
113 ; Uncomment these lines if you want to use PGSQL storage
114 ; Change the connection string to your db details
115 ;StorageProvider = "OpenSim.Data.PGSQL.dll"
116 ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;"
117
118 ; Null
119 ; Uncomment these lines if you want to use MySQL storage
120 ; Change the connection string to your db details
121 StorageProvider = "OpenSim.Data.Null.dll"
122 ConnectionString = ""
123
124
125; * As an example, the below configuration precisely mimicks the legacy
126; * asset server. It is read by the asset IN connector (defined above)
127; * and it then loads the OUT connector (a local database module). That,
128; * in turn, reads the asset loader and database connection information
129; *
130[AssetService]
131 LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
132 DefaultAssetLoader = ""
133
134 ; Allow maptile assets to remotely deleted by remote calls to the asset service.
135 ; There is no harm in having this as false - it just means that historical maptile assets are not deleted.
136 ; This only applies to maptiles served via the version 1 viewer mechanisms
137 ; Default is false
138 AllowRemoteDelete = false
139
140 ; Allow all assets to be remotely deleted.
141 ; Only set this to true if you are operating a grid where you control all calls to the asset service
142 ; (where a necessary condition is that you control all simulators) and you need this for admin purposes.
143 ; If set to true, AllowRemoteDelete = true is required as well.
144 ; Default is false.
145 AllowRemoteDeleteAllTypes = false
146
147
148; * This configuration loads the inventory server modules. It duplicates
149; * the function of the legacy inventory server
150; *
151[InventoryService]
152 LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
153
154 StorageProvider = "OpenSim.Tests.Common.dll:TestXInventoryDataPlugin"
155 ConnectionString = ""
156
157 ; Will calls to purge folders (empty trash) and immediately delete/update items or folders (not move to trash first) succeed?
158 ; If this is set to false then some other arrangement must be made to perform these operations if necessary.
159 AllowDelete = true
160
161
162; * This is the new style grid service.
163; * "Realm" is the table that is used for user lookup.
164; * It defaults to "regions", which uses the legacy tables
165; *
166[GridService]
167 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
168 ; Realm = "regions"
169 ; AllowDuplicateNames = "True"
170
171 ;; Next, we can specify properties of regions, including default and fallback regions
172 ;; The syntax is: Region_<RegionName> = "<flags>"
173 ;; or: Region_<RegionID> = "<flags>"
174 ;; where <flags> can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate
175 ;;
176 ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.)
177 ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion
178 ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified
179 ;; an explicit region.
180 ;;
181 ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online
182 ;; region will be used.
183 ;;
184 ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the
185 ;; order specified. This only applies to local logins at this time, not Hypergrid connections.
186 ;;
187 ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins.
188 ;;
189 ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid.
190 ;;
191 ;; Example specification:
192 ; Region_Welcome_Area = "DefaultRegion, FallbackRegion"
193 ; (replace spaces with underscore)
194
195 ;; Allow supporting viewers to export content
196 ;; Set to false to prevent export
197 ExportSupported = true
198
199
200
201
202; * This is the new style authentication service. Currently, only MySQL
203; * is implemented.
204; *
205[AuthenticationService]
206 ; for the server connector
207 LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
208
209 ;; Allow the service to process HTTP getauthinfo calls.
210 ;; Default is false.
211 ; AllowGetAuthInfo = false
212
213 ;; Allow the service to process HTTP setauthinfo calls.
214 ;; Default is false.
215 ; AllowSetAuthInfo = false
216
217 ;; Allow the service to process HTTP setpassword calls.
218 ;; Default is false.
219 ; AllowSetPassword = false
220
221
222; * This is the new style authentication service. Currently, only MySQL
223; * is implemented. "Realm" is the table that is used for user lookup.
224; * It defaults to "useraccounts", which uses the new style.
225; * Realm = "users" will use the legacy tables as an authentication source
226; *
227[UserAccountService]
228 StorageProvider = "OpenSim.Data.Null.dll"
229 ConnectionString = ""
230
231 ; for the server connector
232 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
233 ; Realm = "useraccounts"
234
235 ; These are for creating new accounts by the service
236 ;AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
237 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
238 GridService = "OpenSim.Services.GridService.dll:GridService"
239 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
240 ;AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
241 ;GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
242
243 ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2
244 ;; to show a default "Ruth" avatar rather than a cloud for a newly created user.
245 ;; Default is false
246 CreateDefaultAvatarEntries = true
247
248 ;; Allow the service to process HTTP createuser calls.
249 ;; Default is false.
250 AllowCreateUser = true
251
252 ;; Allow the service to process HTTP setaccount calls.
253 ;; Default is false.
254 AllowSetAccount = true
255
256
257[GridUserService]
258 ; for the server connector
259 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService"
260
261
262[PresenceService]
263 ; for the server connector
264 LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService"
265 ; Set this to true to allow the use of advanced web services and multiple
266 ; bots using one account
267 AllowDuplicatePresences = false;
268
269
270[AvatarService]
271 ; for the server connector
272 LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService"
273
274
275[FriendsService]
276 ; for the server connector
277 LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService"
278
279[EstateService]
280 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
281
282[LibraryService]
283 LibraryName = "OpenSim Library"
284 DefaultLibrary = "./inventory/Libraries.xml"
285
286
287[LoginService]
288 ; for the server connector
289 LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService"
290 ; for the service
291 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
292 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
293 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
294 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
295 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
296 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
297 GridService = "OpenSim.Services.GridService.dll:GridService"
298 SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector"
299 LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService"
300 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
301
302 ; The minimum user level required for a user to be able to login. 0 by default
303 ; If you disable a particular user's account then you can set their login level below this number.
304 ; You can also change this level from the console though these changes will not be persisted.
305 ; MinLoginLevel = 0
306
307 ; Ask co-operative viewers to use a different currency name
308 ;Currency = ""
309
310 ;; Set minimum fee to publish classified
311 ; ClassifiedFee = 0
312
313 WelcomeMessage = "Welcome, Avatar!"
314 AllowRemoteSetLoginLevel = "false"
315
316 ; For V2 map
317 MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/";
318
319 ; Url to search service
320 ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}/";
321
322 ; For V3 destination guide
323 ; DestinationGuide = "${Const|BaseURL}/guide"
324
325 ; For V3 avatar picker (( work in progress ))
326 ; AvatarPicker = "${Const|BaseURL}/avatars"
327
328 ; If you run this login server behind a proxy, set this to true
329 ; HasProxy = false
330
331 ;; Regular expressions for controlling which client versions are accepted/denied.
332 ;; An empty string means nothing is checked.
333 ;;
334 ;; Example 1: allow only these 3 types of clients (any version of them)
335 ;; AllowedClients = "Imprudence|Hippo|Second Life"
336 ;;
337 ;; Example 2: allow all clients except these
338 ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald"
339 ;;
340 ;; Note that these are regular expressions, so every character counts.
341 ;; Also note that this is very weak security and should not be trusted as a reliable means
342 ;; for keeping bad clients out; modified clients can fake their identifiers.
343 ;;
344 ;;
345 ;AllowedClients = ""
346 ;DeniedClients = ""
347
348 ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time"
349 ;; Viewers do not listen to timezone sent by the server. They use Pacific Standard Time instead,
350 ;; but rely on the server to calculate Daylight Saving Time. Sending another DST than US Pacific
351 ;; would result in time inconsistencies between grids (during summer and around DST transition period)
352 ;; default let OpenSim calculate US Pacific DST
353 ;; "none" disable DST (equivallent to "local" with system set to GMT)
354 ;; "local" force legacy behaviour (using local system time to calculate DST)
355 ; DSTZone = "America/Los_Angeles;Pacific Standard Time"
356
357 ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time"
358 ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time
359 ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not.
360 ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids.
361 ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST.
362 ;; Options are
363 ;; "none" no DST
364 ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour.
365 ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings.
366 ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows
367 DSTZone = "America/Los_Angeles;Pacific Standard Time"
368
369 ;Basic Login Service Dos Protection Tweaks
370 ;;
371 ;; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true
372 ;; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to
373 ;; get around this basic DOS protection.
374 ;DOSAllowXForwardedForHeader = false
375 ;;
376 ;; The protector adds up requests during this rolling period of time, default 10 seconds
377 ;DOSRequestTimeFrameMS = 10000
378 ;;
379 ;; The amount of requests in the above timeframe from the same endpoint that triggers protection
380 ;DOSMaxRequestsInTimeFrame = 5
381 ;;
382 ;; The amount of time that a specific endpoint is blocked. Default 2 minutes.
383 ;DOSForgiveClientAfterMS = 120000
384 ;;
385 ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0.
386
387
388[MapImageService]
389 LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService"
390
391 ; Set this if you want to change the default
392 ; TilesStoragePath = "maptiles"
393 ;
394 ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}),
395 ; you may want to set this. Otherwise, don't set it, because it's already protected.
396 ; GridService = "OpenSim.Services.GridService.dll:GridService"
397 ;
398 ; Additionally, if you run this server behind a proxy, set this to true
399 ; HasProxy = false
400
401
402[Messaging]
403 ; OfflineIM
404 OfflineIMService = ""
405
406
407[GridInfoService]
408 ; These settings are used to return information on a get_grid_info call.
409 ; Client launcher scripts and third-party clients make use of this to
410 ; autoconfigure the client and to provide a nice user experience. If you
411 ; want to facilitate that, you should configure the settings here according
412 ; to your grid or standalone setup.
413 ;
414 ; See http://opensimulator.org/wiki/GridInfo
415
416 ; login uri: for grid this is the login server URI
417 login = ${Const|BaseURL}:${Const|PublicPort}/
418
419 ; long grid name: the long name of your grid
420 gridname = "the lost continent of hippo"
421
422 ; short grid name: the short name of your grid
423 gridnick = "hippogrid"
424
425 ; login page: optional: if it exists it will be used to tell the client to use
426 ; this as splash page
427 ;welcome = ${Const|BaseURL}/welcome
428
429 ; helper uri: optional: if it exists if will be used to tell the client to use
430 ; this for all economy related things
431 ;economy = ${Const|BaseURL}:${Const|PublicPort}/
432
433 ; web page of grid: optional: page providing further information about your grid
434 ;about = ${Const|BaseURL}/about/
435
436 ; account creation: optional: page providing further information about obtaining
437 ; a user account on your grid
438 ;register = ${Const|BaseURL}/register
439
440 ; help: optional: page providing further assistance for users of your grid
441 ;help = ${Const|BaseURL}/help
442
443 ; password help: optional: page providing password assistance for users of your grid
444 ;password = ${Const|BaseURL}/password
445
446
447[UserProfilesService]
448 LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService"
449 Enabled = false
450 ;; Configure this for separate profiles database
451 ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;"
452 ;; Realm = UserProfiles
453 UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService
454 AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
455
456
457[BakedTextureService]
458 LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes"
459 ;; This directory must be writable by the user ROBUST runs as. It will be created automatically.
460 BaseDirectory = "./bakes"
461
462[HGInstantMessageService]
463 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService"
464 GridService = "OpenSim.Services.GridService.dll:GridService"
465 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
466 UserAgentService = ""
467 ; This should always be true in the Robust config
468 InGatekeeper = True
diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config
new file mode 100644
index 0000000..f5379ff
--- /dev/null
+++ b/bin/Robust.exe.config
@@ -0,0 +1,57 @@
1<?xml version="1.0" encoding="utf-8" ?>
2<configuration>
3 <configSections>
4 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
5 </configSections>
6 <runtime>
7 <loadFromRemoteSources enabled="true" />
8 </runtime>
9 <appSettings>
10 </appSettings>
11
12 <log4net>
13 <appender name="Console" type="OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console">
14 <threshold value="INFO" />
15 <filter type="log4net.Filter.LoggerMatchFilter">
16 <loggerToMatch value="special"/>
17 <acceptOnMatch value="false"/>
18 </filter>
19 <layout type="log4net.Layout.PatternLayout">
20 <conversionPattern value="%date{HH:mm:ss} - %message" />
21 </layout>
22 </appender>
23
24 <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
25 <threshold value="DEBUG" />
26 <file value="../../logs/Robust.log" />
27 <rollingStyle value="Date" />
28 <datePattern value="'.'yyyy-MM-dd"/>
29 <appendToFile value="true" />
30 <filter type="log4net.Filter.LoggerMatchFilter">
31 <loggerToMatch value="special"/>
32 <acceptOnMatch value="false"/>
33 </filter>
34 <layout type="log4net.Layout.PatternLayout">
35 <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss.fff} %-5level (%thread) - %logger %message%newline" />
36 </layout>
37 </appender>
38
39 <appender name="StatsLogFileAppender" type="log4net.Appender.FileAppender">
40 <file value="../../logs/RobustStats.log"/>
41 <appendToFile value="true" />
42 <layout type="log4net.Layout.PatternLayout">
43 <conversionPattern value="%date - %message%newline" />
44 </layout>
45 </appender>
46
47 <root>
48 <appender-ref ref="Console" />
49 <appender-ref ref="LogFileAppender" />
50 </root>
51
52 <!-- used for stats recording -->
53 <logger name="special.StatsLogger">
54 <appender-ref ref="StatsLogFileAppender"/>
55 </logger>
56 </log4net>
57</configuration>
diff --git a/bin/Robust.ini b/bin/Robust.ini
new file mode 100644
index 0000000..705ffad
--- /dev/null
+++ b/bin/Robust.ini
@@ -0,0 +1,789 @@
1
2[Includes]
3 ; Define your server specific constants in this file.
4 Include-Common = ../../config/config.ini
5
6
7; * The startup section lists all the connectors to start up in this server
8; * instance. This may be only one, or it may be the entire server suite.
9; * Multiple connectors should be separated by commas.
10; *
11; * These are the IN connectors the server uses, the in connectors
12; * read this config file and load the needed service and database connectors
13; *
14; * The full syntax of a connector string is:
15; * [[<ConfigName>@]<port>/]<dll name>[:<class name>]
16; *
17[Startup]
18 ; Place to create a PID file
19 ; If no path if specified then a PID file is not created.
20 PIDFile = ""${Paths|CachePath}"/ROBUST.pid"
21
22 ; Plugin Registry Location
23 ; Set path to directory for plugin registry. Information
24 ; about the registered repositories and installed plugins
25 ; will be stored here
26 ; The Robust.exe process must have R/W access to the location
27 RegistryLocation = "${Paths|CachePath}"
28
29 ; Modular configurations
30 ; Set path to directory for modular ini files...
31 ; The Robust.exe process must have R/W access to the location, and it must NOT be shared by the OpenSim.exe process, coz that confuses things.
32 ConfigDirectory = "${Paths|ConfigPath}/ROBUST"
33
34 ; Console commands can be saved to a file, so the command history persists after a restart. (default is true)
35 ConsoleHistoryFileEnabled = true
36
37 ; The history file can be just a filename (relative to OpenSim's bin/ directory
38 ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/)
39 ConsoleHistoryFile = "${Paths|LogPath}/RobustConsoleHistory.txt"
40
41 ; How many lines of command history should we keep? (default is 100)
42 ConsoleHistoryFileLines = 100
43
44
45[ServiceList]
46 AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector"
47 InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector"
48 ;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below)
49 ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector"
50 GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector"
51 GridInfoServerInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GridInfoServerInConnector"
52 AuthenticationServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector"
53; OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector"
54 AvatarServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AvatarServiceConnector"
55 LLLoginServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector"
56 PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector"
57 UserAccountServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:UserAccountServiceConnector"
58 GridUserServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridUserServiceConnector"
59 AgentPreferencesServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AgentPreferencesServiceConnector"
60 FriendsServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:FriendsServiceConnector"
61 MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector"
62 MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector"
63 ;; Uncomment this if you want offline IM to work
64 OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector"
65 ;; Uncomment this if you want Groups V2 to work
66 GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector"
67 ;; Uncomment to provide bakes caching
68 BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector"
69
70 ;; Uncomment for UserProfiles see [UserProfilesService] to configure...
71 UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector"
72
73 ;; Uncomment if you want to have centralized estate data
74 ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector"
75
76 MuteListConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MuteListServiceConnector"
77
78 ;; Additions for Hypergrid
79
80 GatekeeperServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GatekeeperServiceInConnector"
81 UserAgentServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserAgentServerConnector"
82 HeloServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HeloServiceInConnector"
83 HGFriendsServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:HGFriendsServerConnector"
84 InstantMessageServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:InstantMessageServerConnector"
85 HGInventoryServiceConnector = "HGInventoryService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:XInventoryInConnector"
86 HGAssetServiceConnector = "HGAssetService@${Const|PublicPort}/OpenSim.Server.Handlers.dll:AssetServiceConnector"
87 ;; Uncomment this if you want Groups V2, HG to work
88 HGGroupsServiceConnector = "${Const|PublicPort}/OpenSim.Addons.Groups.dll:HGGroupsServiceRobustConnector"
89
90 ;; Basic web server.
91 WebServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:WebServerConnector"
92
93
94; * This is common for all services, it's the network setup for the entire
95; * server instance, if none is specified above
96; *
97[Network]
98 port = ${Const|PrivatePort}
99
100 ; HTTPS for "Out of band" management applications such as the remote admin
101 ; module. May specify https_main = True to make the main http server
102 ; use https or "False" to make the main server HTTP
103 ; https_main = False
104 ;
105 ; Create https_listener = "True" will create a listener on the port
106 ; specified. Provide the path to your server certificate along with it's
107 ; password
108 ; https_listener = False
109 ;
110 ; Set our listener to this port
111 ; https_port = 0
112 ;
113 ; Path to X509 certificate
114 ; cert_path = "path/to/cert.p12"
115 ;
116 ; Password for cert
117 ; cert_pass = "password"
118
119 ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services.
120 ;; Use this if your central services in port ${Const|PrivatePort} need to be accessible on the Internet
121 ;; but you want to protect them from unauthorized access.
122 ; AuthType = "BasicHttpAuthentication"
123 ; HttpAuthUsername = "some_username"
124 ; HttpAuthPassword = "some_password"
125 ;;
126 ;; AuthType above can be overriden in any of the service sections below by
127 ; AuthType = "None"
128 ;; This is useful in cases where you want to protect most of the services,
129 ;; but unprotect individual services. Username and Password can also be
130 ;; overriden if you want to use different credentials for the different services.
131 ;; Hypergrid services are not affected by this; they are publicly available
132 ;; by design.
133
134 ;; By default, scripts are not allowed to call private services via llHttpRequest()
135 ;; Such calls are detected by the X-SecondLife-Shared HTTP header
136 ;; If you allow such calls you must be sure that they are restricted to very trusted scripters
137 ;; (remember scripts can also be in visiting avatar attachments).
138 ;; This can be overriden in individual private service sections if necessary
139 AllowllHTTPRequestIn = false
140
141 ; * The following are for the remote console
142 ; * They have no effect for the local or basic console types
143 ; * Leave commented to diable logins to the console
144 ;ConsoleUser = Test
145 ;ConsolePass = secret
146 ;ConsolePort = 0
147
148[Hypergrid]
149 ;# {HomeURI} {Hypergrid} {The Home URL of this world} {}
150 ;; This is the address of the external robust server that
151 ;; runs the UserAgentsService, possibly this server.
152 ;; For example http://myworld.com:8002
153 ;; This is a default that can be overwritten in some sections.
154 HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
155
156 ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {}
157 ;; This is the address of the external robust server
158 ;; that runs the Gatekeeper service, possibly this server.
159 ;; For example http://myworld.com:8002
160 ;; This is a default that can be overwritten in some sections.
161 GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
162
163[AccessControl]
164 ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {}
165 ;; Bar (|) separated list of viewers which may gain access to the regions.
166 ;; One can use a substring of the viewer name to enable only certain
167 ;; versions
168 ;; Example: Agent uses the viewer "Imprudence 1.3.2.0"
169 ;; - "Imprudence" has access
170 ;; - "Imprudence 1.3" has access
171 ;; - "Imprudence 1.3.1" has no access
172 ; AllowedClients = ""
173
174 ;# {DeniedClients} {} {Bar (|) separated list of denied clients} {}
175 ;; Bar (|) separated list of viewers which may not gain access to the regions.
176 ;; One can use a Substring of the viewer name to disable only certain
177 ;; versions
178 ;; Example: Agent uses the viewer "Imprudence 1.3.2.0"
179 ;; - "Imprudence" has no access
180 ;; - "Imprudence 1.3" has no access
181 ;; - "Imprudence 1.3.1" has access
182 ; DeniedClients = ""
183
184[DatabaseService]
185 ; PGSQL
186 ; Uncomment these lines if you want to use PGSQL storage
187 ; Change the connection string to your db details
188 ;StorageProvider = "OpenSim.Data.PGSQL.dll"
189 ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;"
190
191 ; MySQL
192 ; Uncomment these lines if you want to use MySQL storage
193 ; Change the connection string to your db details
194 StorageProvider = "${Const|DataProvider}"
195 ConnectionString = "${Const|ConnectionString}"
196
197
198; * As an example, the below configuration precisely mimicks the legacy
199; * asset server. It is read by the asset IN connector (defined above)
200; * and it then loads the OUT connector (a local database module). That,
201; * in turn, reads the asset loader and database connection information
202; *
203[AssetService]
204
205 ;; Choose an asset service (Only one option should be enabled)
206 ;LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
207 LocalServiceModule = "OpenSim.Services.FSAssetService.dll:FSAssetConnector"
208
209 ;; FSAsset Directories. Base directory, where final asset files are stored and Spool directory for temp files
210 ;; These directories must be on the same physical filesystem
211 BaseDirectory = "${Paths|AssetsPath}/data"
212 SpoolDirectory = "${Paths|AssetsPath}/tmp"
213
214 ;; Original service can be checked if FSAssets can not find an asset
215 FallbackService = "OpenSim.Services.AssetService.dll:AssetService";
216
217 ;; How many days since last updating the access time before its updated again by FSAssets when accessing an asset
218 ;; Reduces DB calls if asset is requested often. Default value 0 will always update access time
219 DaysBetweenAccessTimeUpdates = 1
220
221 ;; Should FSAssets print read/write stats to the robust console, default is true
222 ShowConsoleStats = false
223
224 ;; FSAssets Custom Database Config (Leave blank to use grids default database configuration)
225 ;StorageProvider = ""
226 ;ConnectionString = ""
227 ;Realm = "fsassets"
228
229 ;; The following are common to both the default asset service and FSAsset service
230
231 ;; Common asset service options
232 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
233 AssetLoaderArgs = "./assets/AssetSets.xml"
234
235 ; Allow maptile assets to remotely deleted by remote calls to the asset service.
236 ; There is no harm in having this as false - it just means that historical maptile assets are not deleted.
237 ; This only applies to maptiles served via the version 1 viewer mechanisms
238 ; Default is false
239 AllowRemoteDelete = false
240
241 ; Allow all assets to be remotely deleted.
242 ; Only set this to true if you are operating a grid where you control all calls to the asset service
243 ; (where a necessary condition is that you control all simulators) and you need this for admin purposes.
244 ; If set to true, AllowRemoteDelete = true is required as well.
245 ; Default is false.
246 AllowRemoteDeleteAllTypes = false
247
248; * This configuration loads the inventory server modules. It duplicates
249; * the function of the legacy inventory server
250; *
251[InventoryService]
252 LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
253
254 ; Will calls to purge folders (empty trash) and immediately delete/update items or folders (not move to trash first) succeed?
255 ; If this is set to false then some other arrangement must be made to perform these operations if necessary.
256 AllowDelete = true
257
258
259; * This is the new style grid service.
260; * "Realm" is the table that is used for user lookup.
261; * It defaults to "regions", which uses the legacy tables
262; *
263[GridService]
264 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
265
266 ; Realm = "regions"
267 ; AllowDuplicateNames = ""
268
269 ;; Needed to display non-default map tile images for linked regions
270 AssetService = "OpenSim.Services.AssetService.dll:AssetService"
271
272 ;; Directory for map tile images of linked regions
273 MapTileDirectory = "${Paths|CachePath}/maptiles"
274
275 ;; Next, we can specify properties of regions, including default and fallback regions
276 ;; The syntax is: Region_<RegionName> = "<flags>"
277 ;; or: Region_<RegionID> = "<flags>"
278 ;; where <flags> can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate
279 ;;
280 ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.)
281 ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion
282 ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified
283 ;; an explicit region.
284 ;;
285 ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online
286 ;; region will be used.
287 ;;
288 ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the
289 ;; order specified. This only applies to local logins at this time, not Hypergrid connections.
290 ;;
291 ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins.
292 ;;
293 ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid.
294 ;;
295 ;; Example specification:
296 ; Region_Welcome_Area = "DefaultRegion, FallbackRegion"
297 ; (replace spaces with underscore)
298
299 ;; Allow Hyperlinks to be created at the console
300 HypergridLinker = true
301
302 ;; Allow supporting viewers to export content
303 ;; Set to false to prevent export
304 ExportSupported = true
305
306 ;; If you have this set under [Hypergrid], no need to set it here, leave it commented
307 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
308
309
310; * This is the configuration for the freeswitch server in grid mode
311[FreeswitchService]
312; LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService"
313
314 ;; The IP address of your FreeSWITCH server.
315 ;; This address must be reachable by viewers.
316 ; ServerAddress = 127.0.0.1
317
318 ;; The following configuration parameters are optional
319
320 ;; By default, this is the same as the ServerAddress
321 ; Realm = 127.0.0.1
322
323 ;; By default, this is the same as the ServerAddress on port 5060
324 ; SIPProxy = 127.0.0.1:5060
325
326 ;; Default is 5000ms
327 ; DefaultTimeout = 5000
328
329 ;; The dial plan context. Default is "default"
330 ; Context = default
331
332 ;; Currently unused
333 ; UserName = freeswitch
334
335 ;; Currently unused
336 ; Password = password
337
338 ;; The following parameters are for STUN = Simple Traversal of UDP through NATs
339 ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal
340 ;; stun.freeswitch.org is not guaranteed to be running so use it in
341 ;; production at your own risk
342 ; EchoServer = 127.0.0.1
343 ; EchoPort = 50505
344 ; AttemptSTUN = false
345
346
347; * This is the new style authentication service. Currently, only MySQL
348; * is implemented.
349; *
350[AuthenticationService]
351 ; for the server connector
352 LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
353 ; Realm = "auth"
354
355 ;; Allow the service to process HTTP getauthinfo calls.
356 ;; Default is false.
357 ; AllowGetAuthInfo = false
358
359 ;; Allow the service to process HTTP setauthinfo calls.
360 ;; Default is false.
361 ; AllowSetAuthInfo = false
362
363 ;; Allow the service to process HTTP setpassword calls.
364 ;; Default is false.
365 ; AllowSetPassword = false
366
367
368[OpenIdService]
369 ; for the server connector
370; AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
371; UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
372
373
374; * This is the new style user service.
375; * "Realm" is the table that is used for user lookup.
376; * It defaults to "UserAccounts", which uses the new style.
377; * Realm = "users" will use the legacy tables as an authentication source
378; *
379[UserAccountService]
380 ; for the server connector
381 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
382 ; Realm = "UserAccounts"
383
384 ; These are for creating new accounts by the service
385 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
386 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
387 GridService = "OpenSim.Services.GridService.dll:GridService"
388 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
389 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
390 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
391
392 ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2
393 ;; to show a default "Ruth" avatar rather than a cloud for a newly created user.
394 ;; Default is false
395 CreateDefaultAvatarEntries = true
396
397 ;; Allow the service to process HTTP createuser calls.
398 ;; Default is false.
399 ; AllowCreateUser = false
400
401 ;; Allow the service to process HTTP setaccount calls.
402 ;; Default is false.
403 ; AllowSetAccount = false
404
405
406[GridUserService]
407 ; for the server connector
408 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService"
409
410
411[AgentPreferencesService]
412 ; for the server connector
413 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService"
414
415
416[PresenceService]
417 ; for the server connector
418 LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService"
419
420[AvatarService]
421 ; for the server connector
422 LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService"
423
424
425[FriendsService]
426 ; for the server connector
427 LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService"
428
429[EstateService]
430 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
431
432[LibraryService]
433 LibraryName = "OpenSim Library"
434 DefaultLibrary = "./inventory/Libraries.xml"
435
436
437[LoginService]
438 ; for the server connector
439 LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService"
440 ; for the service
441 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
442 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
443 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
444 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
445 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
446 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
447 GridService = "OpenSim.Services.GridService.dll:GridService"
448 SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector"
449 LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService"
450 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
451 ; The minimum user level required for a user to be able to login. 0 by default
452 ; If you disable a particular user's account then you can set their login level below this number.
453 ; You can also change this level from the console though these changes will not be persisted.
454 ; MinLoginLevel = 0
455
456 ;; for hypergrid
457 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
458
459 ; This inventory service will be used to initialize the user's inventory
460 HGInventoryServicePlugin = "HGInventoryService@OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
461 ; NOTE: HGInventoryServiceConstructorArg is deprecated. For now it will work, but see above
462 ; for the correct method if passing additional arguments.
463 ;; end hypergrid
464
465 ; Ask co-operative viewers to use a different currency name
466 Currency = "v "
467
468 ;; Set minimum fee to publish classified
469 ; ClassifiedFee = 0
470
471 WelcomeMessage = "${Const|MOTD}"
472 AllowRemoteSetLoginLevel = "false"
473
474 ; For V2 map
475 MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/";
476
477 ; Url to search service
478 ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}/";
479
480 ; For V3 destination guide
481 ; DestinationGuide = "${Const|BaseURL}/guide"
482
483 ; For V3 avatar picker (( work in progress ))
484 ; AvatarPicker = "${Const|BaseURL}/avatars"
485
486 ; If you run this login server behind a proxy, set this to true
487 ; HasProxy = false
488
489 ; Defaults for the users, if none is specified in the useraccounts table entry (ServiceURLs)
490 ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented
491 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
492
493 SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
494 SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}"
495 SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}"
496 SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}"
497 SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}"
498 SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}"
499 SRV_GroupsServerURI = "${Const|BaseURL}:${Const|PublicPort}"
500
501 ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time"
502 ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time
503 ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not.
504 ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids.
505 ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST.
506 ;; Options are
507 ;; "none" no DST
508 ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour.
509 ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings.
510 ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows
511 DSTZone = "local"
512
513 ;Basic Login Service Dos Protection Tweaks
514 ;;
515 ;; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true
516 ;; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to
517 ;; get around this basic DOS protection.
518 ;DOSAllowXForwardedForHeader = false
519 ;;
520 ;; The protector adds up requests during this rolling period of time, default 10 seconds
521 ;DOSRequestTimeFrameMS = 10000
522 ;;
523 ;; The amount of requests in the above timeframe from the same endpoint that triggers protection
524 ;DOSMaxRequestsInTimeFrame = 5
525 ;;
526 ;; The amount of time that a specific endpoint is blocked. Default 2 minutes.
527 ;DOSForgiveClientAfterMS = 120000
528 ;;
529 ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0.
530
531
532[MapImageService]
533 LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService"
534
535 ; Set this if you want to change the default
536 TilesStoragePath = "${Paths|CachePath}/maptiles"
537 ;
538 ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}),
539 ; you may want to set this. Otherwise, don't set it, because it's already protected.
540 ; GridService = "OpenSim.Services.GridService.dll:GridService"
541 ;
542 ; Additionally, if you run this server behind a proxy, set this to true
543 ; HasProxy = false
544
545
546[GridInfoService]
547 ; These settings are used to return information on a get_grid_info call.
548 ; Client launcher scripts and third-party clients make use of this to
549 ; autoconfigure the client and to provide a nice user experience. If you
550 ; want to facilitate that, you should configure the settings here according
551 ; to your grid or standalone setup.
552 ;
553 ; See http://opensimulator.org/wiki/GridInfo
554
555 ; login uri: for grid this is the login server URI
556 login = ${Const|BaseURL}:${Const|PublicPort}/
557
558 ; long grid name: the long name of your grid
559 gridname = "${Const|GridName}"
560
561 ; short grid name: the short name of your grid
562 gridnick = "${Const|ShortGridName}"
563
564 ; login page: optional: if it exists it will be used to tell the client to use
565 ; this as splash page
566 welcome = ${Const|BaseURL}:${Const|PublicPort}/web/loginpage.html
567
568 ; helper uri: optional: if it exists it will be used to tell the client to use
569 ; this for all economy related things
570 ;economy = ${Const|SSLURL}:${Const|PublicSSLPort}/economy
571
572 ; web page of grid: optional: page providing further information about your grid
573 about = ${Const|BaseURL}:${Const|PublicPort}/web/about.html
574
575 ; account creation: optional: page providing further information about obtaining
576 ; a user account on your grid
577 register = ${Const|SSLURL}:${Const|PublicSSLPort}/web/account.html
578
579 ; help: optional: page providing further assistance for users of your grid
580 help = ${Const|BaseURL}:${Const|PublicPort}/web/help.html
581
582 ; password help: optional: page providing password assistance for users of your grid
583 password = ${Const|SSLURL}:${Const|PublicSSLPort}/web/password_help.html
584
585 ; HG address of the gatekeeper, if you have one
586 ; this is the entry point for all the regions of the world
587 gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/
588
589 ; HG user domain, if you have one
590 ; this is the entry point for all user-related HG services
591 uas = ${Const|BaseURL}:${Const|PublicPort}/
592
593
594[GatekeeperService]
595 LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService"
596 ;; for the service
597 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
598 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
599 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
600 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
601 GridService = "OpenSim.Services.GridService.dll:GridService"
602 AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector"
603 SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector"
604 ; how does the outside world reach me? This acts as public key too.
605 ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented
606 ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}"
607
608 ; Does this grid allow incoming links to any region in it?
609 ; If false, HG TPs happen only to the Default regions specified in [GridService] section
610 AllowTeleportsToAnyRegion = true
611
612 ; If you run this gatekeeper server behind a proxy, set this to true
613 ; HasProxy = false
614
615 ;; Are foreign visitors allowed?
616 ForeignAgentsAllowed = true
617 ;;
618 ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept.
619 ;; Leave blank or commented for no exceptions.
620 ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002"
621 ;;
622 ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept
623 ;; Leave blank or commented for no exceptions.
624 ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002"
625
626
627[UserAgentService]
628 LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService"
629 ;; for the service
630 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
631 GridService = "OpenSim.Services.GridService.dll:GridService"
632 GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService"
633 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
634 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
635 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
636
637 ; If you run this user agent server behind a proxy, set this to true
638 ; HasProxy = false
639
640 ;; If you separate the UserAgentService from the LoginService, set this to
641 ;; the IP address of the machine where your LoginService is
642 ;LoginServerIP = "127.0.0.1"
643
644 ; User level required to be contacted from other grids
645 LevelOutsideContacts = 0
646
647 ;; Restrictions on destinations of local users.
648 ;; Are local users allowed to visit other grids?
649 ;; What user level? Use variables of this forrm:
650 ;; ForeignTripsAllowed_Level_<UserLevel> = true | false
651 ;; (the default is true)
652 ;; For example:
653 ; ForeignTripsAllowed_Level_0 = false
654 ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it
655 ;;
656 ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept
657 ;; Leave blank or commented for no exceptions.
658 ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002"
659 ;;
660 ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept.
661 ;; Leave blank or commented for no exceptions.
662 ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002"
663
664 ;; This variable controls what is exposed to profiles of local users
665 ;; as seen from outside of this grid. Leave it uncommented for exposing
666 ;; UserTitle, UserFlags and the creation date. Uncomment and change to False
667 ;; to block this info from being exposed.
668 ; ShowUserDetailsInHGProfile = True
669
670
671; * The interface that local users get when they are in other grids.
672; * This restricts the inventory operations while in other grids.
673; * Still not completely safe, especially if users perform inventory operations
674; * while in those grids. The more the user accesses his/her inventory, the more
675; * those simulators will know about the user's inventory.
676; *
677[HGInventoryService]
678 ; For the InventoryServiceInConnector
679 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
680 ;; alternatives:
681 ;; HG1.5, more permissive, not recommended, but still supported
682 ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService"
683 ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust
684 ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
685
686 UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
687 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
688
689 ; HGInventoryService is a public-facing inventory service that allows users to
690 ; interact with their suitcase folder when on a foreign grid. This reuses the general inventory service connector.
691 ; Hence, if the user has set up authentication in [Network] to protect their private services
692 ; make sure it is not set here.
693 AuthType = None
694
695 ;; Can overwrite the default in [Hypergrid], but probably shouldn't
696 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
697
698
699; * The interface that local users get when they are in other grids.
700; * This restricts the access that the rest of the world has to
701; * the assets of this world.
702; *
703[HGAssetService]
704 ;; Use the second option if you have FSAsset service enabled
705; LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService"
706 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFSAssetService"
707
708 UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
709
710 ; HGAssetService is a public-facing service that allows users to
711 ; read and create assets when on another grid. This reuses the general asset service connector.
712 ; Hence, if the user has set up authentication in [Network] to protect their private services
713 ; make sure it is overriden for this public service.
714 AuthType = None
715
716 ;; Can overwrite the default in [Hypergrid], but probably shouldn't
717 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
718
719 ;; The asset types that this grid can export to / import from other grids.
720 ;; Comma separated.
721 ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely:
722 ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText,
723 ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh
724 ;;
725 ;; Leave blank or commented if you don't want to apply any restrictions.
726 ;; A more strict, but still reasonable, policy may be to disallow the exchange
727 ;; of scripts, like so:
728 ; DisallowExport ="LSLText"
729 ; DisallowImport ="LSLBytecode"
730
731
732[HGFriendsService]
733 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService"
734 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
735 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
736 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
737 GridService = "OpenSim.Services.GridService.dll:GridService"
738 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
739
740
741[HGInstantMessageService]
742 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService"
743 GridService = "OpenSim.Services.GridService.dll:GridService"
744 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
745 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
746 ; This should always be true in the Robust config
747 InGatekeeper = True
748
749
750[Messaging]
751 ; OfflineIM
752 OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService"
753
754
755[Groups]
756 ;; for the HG Groups service
757 OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService"
758 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
759
760 ;; What is the HomeURI of users associated with this grid?
761 ;; Can overwrite the default in [Hypergrid], but probably shouldn't
762 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
763 ;; end hypergrid
764
765 ;; Sets the maximum number of groups an agent may join
766 MaxAgentGroups = 420
767
768
769[UserProfilesService]
770 LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService"
771 Enabled = true
772 ;; Configure this for separate profiles database
773 ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;"
774 ;; Realm = UserProfiles
775 UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService
776 AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
777
778
779[BakedTextureService]
780 LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes"
781 ;; This directory must be writable by the user ROBUST runs as. It will be created automatically.
782 BaseDirectory = "${Paths|CachePath}/bakes"
783
784[MuteListService]
785 LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService"
786
787
788[WebService]
789 Include-Common = ../../config/ROBUST/RobustExtra.ini
diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example
new file mode 100644
index 0000000..e5d3d1a
--- /dev/null
+++ b/bin/Robust.ini.example
@@ -0,0 +1,568 @@
1; * Run
2; * $ Robust.exe -inifile Robust.ini
3; *
4; **
5; *
6; * The Const section allows us to define some basic information that we
7; * will use throughout our configuration. We will provide examples for
8; * setting the base url of the Robust server and the public and private ports
9; * it uses. Changing the values of the constants will set the operating
10; * parameters thoughout the configuration. Other constants that may prove
11; * to be useful may be added to the followin section. They may be
12; * referenced anywhere in the configuration by using ${Const|Name}. One
13; * such use is providing a base path for setting locations that Robust
14; * uses to write data.
15; *
16[Const]
17
18 ; The URL of the Robust server
19 BaseURL = "http://127.0.0.1"
20
21 ; The public port of the Robust server
22 PublicPort = "8002"
23
24 ; The private port of the Robust server
25 PrivatePort = "8003"
26
27
28; * The startup section lists all the connectors to start up in this server
29; * instance. This may be only one, or it may be the entire server suite.
30; * Multiple connectors should be separated by commas.
31; *
32; * These are the IN connectors the server uses, the in connectors
33; * read this config file and load the needed service and database connectors
34; *
35; * The full syntax of a connector string is:
36; * [[<ConfigName>@]<port>/]<dll name>[:<class name>]
37; *
38[Startup]
39 ; Place to create a PID file
40 ; If no path if specified then a PID file is not created.
41 ; PIDFile = "/tmp/Robust.exe.pid"
42
43 ; Plugin Registry Location
44 ; Set path to directory for plugin registry. Information
45 ; about the registered repositories and installed plugins
46 ; will be stored here
47 ; The Robust.exe process must have R/W access to the location
48 RegistryLocation = "."
49
50 ; Modular configurations
51 ; Set path to directory for modular ini files...
52 ; The Robust.exe process must have R/W access to the location
53 ConfigDirectory = "robust-include"
54
55 ; Console commands can be saved to a file, so the command history persists after a restart. (default is true)
56 ConsoleHistoryFileEnabled = true
57
58 ; The history file can be just a filename (relative to OpenSim's bin/ directory
59 ; or it can be a full path to somewhere else. (default is OpenSimConsoleHistory.txt in bin/)
60 ConsoleHistoryFile = "RobustConsoleHistory.txt"
61
62 ; How many lines of command history should we keep? (default is 100)
63 ConsoleHistoryFileLines = 100
64
65[ServiceList]
66 AssetServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AssetServiceConnector"
67 InventoryInConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XInventoryInConnector"
68 ;; Uncomment if you have set up Freeswitch (see [FreeswitchService] below)
69 ;VoiceConnector = "8004/OpenSim.Server.Handlers.dll:FreeswitchServerConnector"
70 GridServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridServiceConnector"
71 GridInfoServerInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:GridInfoServerInConnector"
72 AuthenticationServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AuthenticationServiceConnector"
73 OpenIdServerConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:OpenIdServerConnector"
74 AvatarServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AvatarServiceConnector"
75 LLLoginServiceInConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:LLLoginServiceInConnector"
76 PresenceServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:PresenceServiceConnector"
77 UserAccountServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:UserAccountServiceConnector"
78 GridUserServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:GridUserServiceConnector"
79 AgentPreferencesServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:AgentPreferencesServiceConnector"
80 FriendsServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:FriendsServiceConnector"
81 MapAddServiceConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MapAddServiceConnector"
82 MapGetServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:MapGetServiceConnector"
83 ;; Uncomment this if you want offline IM to work
84 ; OfflineIMServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.OfflineIM.dll:OfflineIMServiceRobustConnector"
85 ;; Uncomment this if you want Groups V2 to work
86 ; GroupsServiceConnector = "${Const|PrivatePort}/OpenSim.Addons.Groups.dll:GroupsServiceRobustConnector"
87 ;; Uncomment to provide bakes caching
88 ; BakedTextureService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:XBakesConnector"
89
90 ;; Uncomment for UserProfiles see [UserProfilesService] to configure...
91 ; UserProfilesServiceConnector = "${Const|PublicPort}/OpenSim.Server.Handlers.dll:UserProfilesConnector"
92
93 ;; Uncomment if you want to have centralized estate data
94 ; EstateDataService = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:EstateDataRobustConnector"
95
96 MuteListConnector = "${Const|PrivatePort}/OpenSim.Server.Handlers.dll:MuteListServiceConnector"
97
98; * This is common for all services, it's the network setup for the entire
99; * server instance, if none is specified above
100; *
101[Network]
102 port = ${Const|PrivatePort}
103
104 ; HTTPS for "Out of band" management applications such as the remote admin
105 ; module. May specify https_main = True to make the main http server
106 ; use https or "False" to make the main server HTTP
107 ; https_main = False
108 ;
109 ; Create https_listener = "True" will create a listener on the port
110 ; specified. Provide the path to your server certificate along with it's
111 ; password
112 ; https_listener = False
113 ;
114 ; Set our listener to this port
115 ; https_port = 0
116 ;
117 ; Path to X509 certificate
118 ; cert_path = "path/to/cert.p12"
119 ;
120 ; Password for cert
121 ; cert_pass = "password"
122
123 ;; The follow 3 variables are for HTTP Basic Authentication for the Robust services.
124 ;; Use this if your central services in port ${Const|PrivatePort} need to be accessible on the Internet
125 ;; but you want to protect them from unauthorized access.
126 ; AuthType = "BasicHttpAuthentication"
127 ; HttpAuthUsername = "some_username"
128 ; HttpAuthPassword = "some_password"
129 ;;
130 ;; AuthType above can be overriden in any of the service sections below by
131 ; AuthType = "None"
132 ;; This is useful in cases where you want to protect most of the services,
133 ;; but unprotect individual services. Username and Password can also be
134 ;; overriden if you want to use different credentials for the different services.
135
136 ;; By default, scripts are not allowed to call private services via llHttpRequest()
137 ;; Such calls are detected by the X-SecondLife-Shared HTTP header
138 ;; If you allow such calls you must be sure that they are restricted to very trusted scripters
139 ;; (remember scripts can also be in visiting avatar attachments).
140 ;; This can be overriden in individual private service sections if necessary
141 AllowllHTTPRequestIn = false
142
143 ; * The following are for the remote console
144 ; * They have no effect for the local or basic console types
145 ; * Leave commented to diable logins to the console
146 ;ConsoleUser = Test
147 ;ConsolePass = secret
148 ;ConsolePort = 0
149
150[AccessControl]
151 ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {}
152 ;; Bar (|) separated list of viewers which may gain access to the regions.
153 ;; One can use a substring of the viewer name to enable only certain
154 ;; versions
155 ;; Example: Agent uses the viewer "Imprudence 1.3.2.0"
156 ;; - "Imprudence" has access
157 ;; - "Imprudence 1.3" has access
158 ;; - "Imprudence 1.3.1" has no access
159 ; AllowedClients = ""
160
161 ;# {DeniedClients} {} {Bar (|) separated list of denied clients} {}
162 ;; Bar (|) separated list of viewers which may not gain access to the regions.
163 ;; One can use a Substring of the viewer name to disable only certain
164 ;; versions
165 ;; Example: Agent uses the viewer "Imprudence 1.3.2.0"
166 ;; - "Imprudence" has no access
167 ;; - "Imprudence 1.3" has no access
168 ;; - "Imprudence 1.3.1" has access
169 ; DeniedClients = ""
170
171
172[DatabaseService]
173 ; PGSQL
174 ; Uncomment these lines if you want to use PGSQL storage
175 ; Change the connection string to your db details
176 ;StorageProvider = "OpenSim.Data.PGSQL.dll"
177 ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;"
178
179 ; MySQL
180 ; Uncomment these lines if you want to use MySQL storage
181 ; Change the connection string to your db details
182 StorageProvider = "OpenSim.Data.MySQL.dll"
183 ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;"
184
185
186; * As an example, the below configuration precisely mimicks the legacy
187; * asset server. It is read by the asset IN connector (defined above)
188; * and it then loads the OUT connector (a local database module). That,
189; * in turn, reads the asset loader and database connection information
190; *
191[AssetService]
192
193 ;; Choose an asset service (Only one option should be enabled)
194 LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
195 ;LocalServiceModule = "OpenSim.Services.FSAssetService.dll:FSAssetConnector"
196
197 ;; FSAsset Directories. Base directory, where final asset files are stored and Spool directory for temp files
198 ;; These directories must be on the same physical filesystem
199 ;BaseDirectory = "./fsassets/data"
200 ;SpoolDirectory = "./fsassets/tmp"
201
202 ;; Original service can be checked if FSAssets can not find an asset
203 ;FallbackService = "OpenSim.Services.AssetService.dll:AssetService";
204
205 ;; How many days since last updating the access time before its updated again by FSAssets when accessing an asset
206 ;; Reduces DB calls if asset is requested often. Default value 0 will always update access time
207 ;DaysBetweenAccessTimeUpdates = 30
208
209 ;; Should FSAssets print read/write stats to the robust console, default is true
210 ;ShowConsoleStats = true
211
212 ;; FSAssets Custom Database Config (Leave blank to use grids default database configuration)
213 ;StorageProvider = ""
214 ;ConnectionString = ""
215 ;Realm = "fsassets"
216
217 ;; The following are common to both the default asset service and FSAsset service
218
219 ;; Common asset service options
220 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
221 AssetLoaderArgs = "./assets/AssetSets.xml"
222
223 ; Allow maptile assets to remotely deleted by remote calls to the asset service.
224 ; There is no harm in having this as false - it just means that historical maptile assets are not deleted.
225 ; This only applies to maptiles served via the version 1 viewer mechanisms
226 ; Default is false
227 AllowRemoteDelete = false
228
229 ; Allow all assets to be remotely deleted.
230 ; Only set this to true if you are operating a grid where you control all calls to the asset service
231 ; (where a necessary condition is that you control all simulators) and you need this for admin purposes.
232 ; If set to true, AllowRemoteDelete = true is required as well.
233 ; Default is false.
234 AllowRemoteDeleteAllTypes = false
235
236
237; * This configuration loads the inventory server modules. It duplicates
238; * the function of the legacy inventory server
239; *
240[InventoryService]
241 LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
242
243 ; Will calls to purge folders (empty trash) and immediately delete/update items or folders (not move to trash first) succeed?
244 ; If this is set to false then some other arrangement must be made to perform these operations if necessary.
245 AllowDelete = true
246
247
248; * This is the new style grid service.
249; * "Realm" is the table that is used for user lookup.
250; * It defaults to "regions", which uses the legacy tables
251; *
252[GridService]
253 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
254 ; Realm = "regions"
255 ; AllowDuplicateNames = "True"
256
257 ;; Next, we can specify properties of regions, including default and fallback regions
258 ;; The syntax is: Region_<RegionName> = "<flags>"
259 ;; or: Region_<RegionID> = "<flags>"
260 ;; where <flags> can be DefaultRegion, DefaultHGRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut, Reservation, NoMove, Authenticate
261 ;;
262 ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.)
263 ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion
264 ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified
265 ;; an explicit region.
266 ;;
267 ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online
268 ;; region will be used.
269 ;;
270 ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the
271 ;; order specified. This only applies to local logins at this time, not Hypergrid connections.
272 ;;
273 ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins.
274 ;;
275 ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid.
276 ;;
277 ;; Example specification:
278 ; Region_Welcome_Area = "DefaultRegion, FallbackRegion"
279 ; (replace spaces with underscore)
280
281 ;; Allow supporting viewers to export content
282 ;; Set to false to prevent export
283 ExportSupported = true
284
285
286; * This is the configuration for the freeswitch server in grid mode
287[FreeswitchService]
288 LocalServiceModule = "OpenSim.Services.FreeswitchService.dll:FreeswitchService"
289
290 ;; The IP address of your FreeSWITCH server.
291 ;; This address must be reachable by viewers.
292 ; ServerAddress = 127.0.0.1
293
294 ;; The following configuration parameters are optional
295
296 ;; By default, this is the same as the ServerAddress
297 ; Realm = 127.0.0.1
298
299 ;; By default, this is the same as the ServerAddress on port 5060
300 ; SIPProxy = 127.0.0.1:5060
301
302 ;; Default is 5000ms
303 ; DefaultTimeout = 5000
304
305 ;; The dial plan context. Default is "default"
306 ; Context = default
307
308 ;; Currently unused
309 ; UserName = freeswitch
310
311 ;; Currently unused
312 ; Password = password
313
314 ;; The following parameters are for STUN = Simple Traversal of UDP through NATs
315 ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal
316 ;; stun.freeswitch.org is not guaranteed to be running so use it in
317 ;; production at your own risk
318 ; EchoServer = 127.0.0.1
319 ; EchoPort = 50505
320 ; AttemptSTUN = false
321
322
323; * This is the new style authentication service. Currently, only MySQL
324; * is implemented.
325; *
326[AuthenticationService]
327 ; for the server connector
328 LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
329 ; Realm = "auth"
330
331 ;; Allow the service to process HTTP getauthinfo calls.
332 ;; Default is false.
333 ; AllowGetAuthInfo = false
334
335 ;; Allow the service to process HTTP setauthinfo calls.
336 ;; Default is false.
337 ; AllowSetAuthInfo = false
338
339 ;; Allow the service to process HTTP setpassword calls.
340 ;; Default is false.
341 ; AllowSetPassword = false
342
343
344[OpenIdService]
345 ; for the server connector
346 AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
347 UserAccountServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
348
349
350; * This is the new style user service.
351; * "Realm" is the table that is used for user lookup.
352; * It defaults to "useraccounts", which uses the new style.
353; * Realm = "users" will use the legacy tables as an authentication source
354; *
355[UserAccountService]
356 ; for the server connector
357 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
358 ; Realm = "UserAccounts"
359
360 ; These are for creating new accounts by the service
361 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
362 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
363 GridService = "OpenSim.Services.GridService.dll:GridService"
364 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
365 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
366 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
367
368 ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2
369 ;; to show a default "Ruth" avatar rather than a cloud for a newly created user.
370 ;; Default is false
371 CreateDefaultAvatarEntries = true
372
373 ;; Allow the service to process HTTP createuser calls.
374 ;; Default is false.
375 ; AllowCreateUser = false
376
377 ;; Allow the service to process HTTP setaccount calls.
378 ;; Default is false.
379 ; AllowSetAccount = false
380
381
382[GridUserService]
383 ; for the server connector
384 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService"
385
386
387[AgentPreferencesService]
388 ; for the server connector
389 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService"
390
391
392[PresenceService]
393 ; for the server connector
394 LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService"
395
396[AvatarService]
397 ; for the server connector
398 LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService"
399
400
401[FriendsService]
402 ; for the server connector
403 LocalServiceModule = "OpenSim.Services.FriendsService.dll:FriendsService"
404
405[EstateService]
406 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
407
408[LibraryService]
409 LibraryName = "OpenSim Library"
410 DefaultLibrary = "./inventory/Libraries.xml"
411
412
413[LoginService]
414 ; for the server connector
415 LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService"
416 ; for the service
417 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
418 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
419 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
420 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
421 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
422 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
423 GridService = "OpenSim.Services.GridService.dll:GridService"
424 SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector"
425 LibraryService = "OpenSim.Services.InventoryService.dll:LibraryService"
426 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
427
428 ; The minimum user level required for a user to be able to login. 0 by default
429 ; If you disable a particular user's account then you can set their login level below this number.
430 ; You can also change this level from the console though these changes will not be persisted.
431 ; MinLoginLevel = 0
432
433 ; Ask co-operative viewers to use a different currency name
434 ;Currency = ""
435
436 ;; Set minimum fee to publish classified
437 ; ClassifiedFee = 0
438
439 WelcomeMessage = "Welcome, Avatar!"
440 AllowRemoteSetLoginLevel = "false"
441
442 ; For V2 map
443 MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/";
444
445 ; Url to search service
446 ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}/";
447
448 ; For V3 destination guide
449 ; DestinationGuide = "${Const|BaseURL}/guide"
450
451 ; For V3 avatar picker (( work in progress ))
452 ; AvatarPicker = "${Const|BaseURL}/avatars"
453
454 ; If you run this login server behind a proxy, set this to true
455 ; HasProxy = false
456
457 ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time"
458 ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time
459 ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not.
460 ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids.
461 ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST.
462 ;; Options are
463 ;; "none" no DST
464 ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour.
465 ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings.
466 ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows
467 DSTZone = "America/Los_Angeles;Pacific Standard Time"
468
469 ;Basic Login Service Dos Protection Tweaks
470 ;;
471 ;; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true
472 ;; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to
473 ;; get around this basic DOS protection.
474 ;DOSAllowXForwardedForHeader = false
475 ;;
476 ;; The protector adds up requests during this rolling period of time, default 10 seconds
477 ;DOSRequestTimeFrameMS = 10000
478 ;;
479 ;; The amount of requests in the above timeframe from the same endpoint that triggers protection
480 ;DOSMaxRequestsInTimeFrame = 5
481 ;;
482 ;; The amount of time that a specific endpoint is blocked. Default 2 minutes.
483 ;DOSForgiveClientAfterMS = 120000
484 ;;
485 ;; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0.
486
487
488[MapImageService]
489 LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService"
490
491 ; Set this if you want to change the default
492 ; TilesStoragePath = "maptiles"
493 ;
494 ; If for some reason you have the AddMapTile service outside the firewall (e.g. ${Const|PublicPort}),
495 ; you may want to set this. Otherwise, don't set it, because it's already protected.
496 ; GridService = "OpenSim.Services.GridService.dll:GridService"
497 ;
498 ; Additionally, if you run this server behind a proxy, set this to true
499 ; HasProxy = false
500
501
502[GridInfoService]
503 ; These settings are used to return information on a get_grid_info call.
504 ; Client launcher scripts and third-party clients make use of this to
505 ; autoconfigure the client and to provide a nice user experience. If you
506 ; want to facilitate that, you should configure the settings here according
507 ; to your grid or standalone setup.
508 ;
509 ; See http://opensimulator.org/wiki/GridInfo
510
511 ; login uri: for grid this is the login server URI
512 login = ${Const|BaseURL}:${Const|PublicPort}/
513
514 ; long grid name: the long name of your grid
515 gridname = "the lost continent of hippo"
516
517 ; short grid name: the short name of your grid
518 gridnick = "hippogrid"
519
520 ; login page: optional: if it exists it will be used to tell the client to use
521 ; this as splash page
522 ;welcome = ${Const|BaseURL}/welcome
523
524 ; helper uri: optional: if it exists it will be used to tell the client to use
525 ; this for all economy related things
526 ;economy = ${Const|BaseURL}/economy
527
528 ; web page of grid: optional: page providing further information about your grid
529 ;about = ${Const|BaseURL}/about
530
531 ; account creation: optional: page providing further information about obtaining
532 ; a user account on your grid
533 ;register = ${Const|BaseURL}/register
534
535 ; help: optional: page providing further assistance for users of your grid
536 ;help = ${Const|BaseURL}/help
537
538 ; password help: optional: page providing password assistance for users of your grid
539 ;password = ${Const|BaseURL}/password
540
541
542[Messaging]
543 ; OfflineIM
544 OfflineIMService = "OpenSim.Addons.OfflineIM.dll:OfflineIMService"
545
546
547[Groups]
548 ;; Sets the maximum number of groups an agent may join
549 ; MaxAgentGroups = 42
550
551
552[UserProfilesService]
553 LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService"
554 Enabled = false
555 ;; Configure this for separate profiles database
556 ;; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=*****;Old Guids=true;"
557 ;; Realm = UserProfiles
558 UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService
559 AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
560
561
562[BakedTextureService]
563 LocalServiceModule = "OpenSim.Server.Handlers.dll:XBakes"
564 ;; This directory must be writable by the user ROBUST runs as. It will be created automatically.
565 BaseDirectory = "./bakes"
566
567[MuteListService]
568 LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService"
diff --git a/bin/Robust32.exe.config b/bin/Robust32.exe.config
new file mode 100644
index 0000000..ca3ee0e
--- /dev/null
+++ b/bin/Robust32.exe.config
@@ -0,0 +1,72 @@
1<?xml version="1.0" encoding="utf-8"?>
2<configuration>
3 <configSections>
4 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
5 </configSections>
6 <startup>
7 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
8 </startup>
9 <runtime>
10 <loadFromRemoteSources enabled="true" />
11 </runtime>
12 <appSettings>
13 <add key="ClientSettingsProvider.ServiceUri" value="" />
14 </appSettings>
15 <log4net>
16 <appender name="Console" type="OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console">
17 <filter type="log4net.Filter.LoggerMatchFilter">
18 <loggerToMatch value="special" />
19 <acceptOnMatch value="false" />
20 </filter>
21 <layout type="log4net.Layout.PatternLayout">
22 <conversionPattern value="%date{HH:mm:ss} - %message" />
23 </layout>
24 </appender>
25 <!-- If you want automatic log-rolling then use RollingFileAppender instead of FileAppender:
26 <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
27 <file value="log/Robust.log" />
28 <rollingStyle value="Date" />
29 <datePattern value="'.'yyyy-MM-dd"/>
30 ...
31-->
32 <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
33 <file value="Robust.log" />
34 <appendToFile value="true" />
35 <filter type="log4net.Filter.LoggerMatchFilter">
36 <loggerToMatch value="special" />
37 <acceptOnMatch value="false" />
38 </filter>
39 <layout type="log4net.Layout.PatternLayout">
40 <conversionPattern value="%date %-5level - %logger %message%newline" />
41 </layout>
42 </appender>
43 <appender name="StatsLogFileAppender" type="log4net.Appender.FileAppender">
44 <file value="RobustStats.log" />
45 <appendToFile value="true" />
46 <layout type="log4net.Layout.PatternLayout">
47 <conversionPattern value="%date - %message%newline" />
48 </layout>
49 </appender>
50 <root>
51 <level value="DEBUG" />
52 <appender-ref ref="Console" />
53 <appender-ref ref="LogFileAppender" />
54 </root>
55 <!-- used for stats recording -->
56 <logger name="special.StatsLogger">
57 <appender-ref ref="StatsLogFileAppender" />
58 </logger>
59 </log4net>
60 <system.web>
61 <membership defaultProvider="ClientAuthenticationMembershipProvider">
62 <providers>
63 <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
64 </providers>
65 </membership>
66 <roleManager defaultProvider="ClientRoleProvider" enabled="true">
67 <providers>
68 <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
69 </providers>
70 </roleManager>
71 </system.web>
72</configuration> \ No newline at end of file
diff --git a/bin/Robust32.vshost.exe.config b/bin/Robust32.vshost.exe.config
new file mode 100644
index 0000000..ca3ee0e
--- /dev/null
+++ b/bin/Robust32.vshost.exe.config
@@ -0,0 +1,72 @@
1<?xml version="1.0" encoding="utf-8"?>
2<configuration>
3 <configSections>
4 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
5 </configSections>
6 <startup>
7 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
8 </startup>
9 <runtime>
10 <loadFromRemoteSources enabled="true" />
11 </runtime>
12 <appSettings>
13 <add key="ClientSettingsProvider.ServiceUri" value="" />
14 </appSettings>
15 <log4net>
16 <appender name="Console" type="OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console">
17 <filter type="log4net.Filter.LoggerMatchFilter">
18 <loggerToMatch value="special" />
19 <acceptOnMatch value="false" />
20 </filter>
21 <layout type="log4net.Layout.PatternLayout">
22 <conversionPattern value="%date{HH:mm:ss} - %message" />
23 </layout>
24 </appender>
25 <!-- If you want automatic log-rolling then use RollingFileAppender instead of FileAppender:
26 <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
27 <file value="log/Robust.log" />
28 <rollingStyle value="Date" />
29 <datePattern value="'.'yyyy-MM-dd"/>
30 ...
31-->
32 <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
33 <file value="Robust.log" />
34 <appendToFile value="true" />
35 <filter type="log4net.Filter.LoggerMatchFilter">
36 <loggerToMatch value="special" />
37 <acceptOnMatch value="false" />
38 </filter>
39 <layout type="log4net.Layout.PatternLayout">
40 <conversionPattern value="%date %-5level - %logger %message%newline" />
41 </layout>
42 </appender>
43 <appender name="StatsLogFileAppender" type="log4net.Appender.FileAppender">
44 <file value="RobustStats.log" />
45 <appendToFile value="true" />
46 <layout type="log4net.Layout.PatternLayout">
47 <conversionPattern value="%date - %message%newline" />
48 </layout>
49 </appender>
50 <root>
51 <level value="DEBUG" />
52 <appender-ref ref="Console" />
53 <appender-ref ref="LogFileAppender" />
54 </root>
55 <!-- used for stats recording -->
56 <logger name="special.StatsLogger">
57 <appender-ref ref="StatsLogFileAppender" />
58 </logger>
59 </log4net>
60 <system.web>
61 <membership defaultProvider="ClientAuthenticationMembershipProvider">
62 <providers>
63 <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
64 </providers>
65 </membership>
66 <roleManager defaultProvider="ClientRoleProvider" enabled="true">
67 <providers>
68 <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
69 </providers>
70 </roleManager>
71 </system.web>
72</configuration> \ No newline at end of file
diff --git a/bin/Tools.dll b/bin/Tools.dll
new file mode 100755
index 0000000..08dcf42
--- /dev/null
+++ b/bin/Tools.dll
Binary files differ
diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll
new file mode 100755
index 0000000..4c5519d
--- /dev/null
+++ b/bin/Warp3D.dll
Binary files differ
diff --git a/bin/XMLRPC.dll b/bin/XMLRPC.dll
new file mode 100755
index 0000000..1559a73
--- /dev/null
+++ b/bin/XMLRPC.dll
Binary files differ
diff --git a/bin/addin-db-001 b/bin/addin-db-001
new file mode 120000
index 0000000..95ce512
--- /dev/null
+++ b/bin/addin-db-001
@@ -0,0 +1 @@
../../caches/addin-db-001 \ No newline at end of file
diff --git a/bin/addin-db-002 b/bin/addin-db-002
new file mode 120000
index 0000000..fbf0070
--- /dev/null
+++ b/bin/addin-db-002
@@ -0,0 +1 @@
../../caches/addin-db-002 \ No newline at end of file
diff --git a/bin/addin-db-003 b/bin/addin-db-003
new file mode 120000
index 0000000..182e326
--- /dev/null
+++ b/bin/addin-db-003
@@ -0,0 +1 @@
../../caches/addin-db-003 \ No newline at end of file
diff --git a/bin/addin-db-004 b/bin/addin-db-004
new file mode 120000
index 0000000..3d818ca
--- /dev/null
+++ b/bin/addin-db-004
@@ -0,0 +1 @@
../../caches/addin-db-004 \ No newline at end of file
diff --git a/bin/assets/AnimationsAssetSet/autograph_right.dat b/bin/assets/AnimationsAssetSet/autograph_right.dat
new file mode 100644
index 0000000..8e1c958
--- /dev/null
+++ b/bin/assets/AnimationsAssetSet/autograph_right.dat
Binary files differ
diff --git a/bin/assets/AnimationsAssetSet/bouncy_ball_left.dat b/bin/assets/AnimationsAssetSet/bouncy_ball_left.dat
new file mode 100644
index 0000000..67c7385
--- /dev/null
+++ b/bin/assets/AnimationsAssetSet/bouncy_ball_left.dat
Binary files differ
diff --git a/bin/assets/AnimationsAssetSet/bouncy_ball_right.dat b/bin/assets/AnimationsAssetSet/bouncy_ball_right.dat
new file mode 100644
index 0000000..257c77f
--- /dev/null
+++ b/bin/assets/AnimationsAssetSet/bouncy_ball_right.dat
Binary files differ
diff --git a/bin/assets/AnimationsAssetSet/bouncy_ball_run.dat b/bin/assets/AnimationsAssetSet/bouncy_ball_run.dat
new file mode 100644
index 0000000..58bf4c9
--- /dev/null
+++ b/bin/assets/AnimationsAssetSet/bouncy_ball_run.dat
Binary files differ
diff --git a/bin/assets/AnimationsAssetSet/bouncy_ball_super.dat b/bin/assets/AnimationsAssetSet/bouncy_ball_super.dat
new file mode 100644
index 0000000..d0c0085
--- /dev/null
+++ b/bin/assets/AnimationsAssetSet/bouncy_ball_super.dat
Binary files differ
diff --git a/bin/assets/AnimationsAssetSet/bouncy_ball_walk.dat b/bin/assets/AnimationsAssetSet/bouncy_ball_walk.dat
new file mode 100644
index 0000000..82b4745
--- /dev/null
+++ b/bin/assets/AnimationsAssetSet/bouncy_ball_walk.dat
Binary files differ
diff --git a/bin/assets/AnimationsAssetSet/give_and_handshake.dat b/bin/assets/AnimationsAssetSet/give_and_handshake.dat
new file mode 100644
index 0000000..cebe55c
--- /dev/null
+++ b/bin/assets/AnimationsAssetSet/give_and_handshake.dat
Binary files differ
diff --git a/bin/assets/AnimationsAssetSet/handshake_01.dat b/bin/assets/AnimationsAssetSet/handshake_01.dat
new file mode 100644
index 0000000..63a2b42
--- /dev/null
+++ b/bin/assets/AnimationsAssetSet/handshake_01.dat
Binary files differ
diff --git a/bin/assets/AnimationsAssetSet/index.xml b/bin/assets/AnimationsAssetSet/index.xml
new file mode 100644
index 0000000..a26b95f
--- /dev/null
+++ b/bin/assets/AnimationsAssetSet/index.xml
@@ -0,0 +1,87 @@
1<Nini>
2 <Section Name="place_marker">
3 <Key Name="assetID" Value="8ceccb12-5aee-3584-e4a5-66973a844296" />
4 <Key Name="name" Value="place_marker" />
5 <Key Name="description" Value="simple part-body standing, use low-priority to allow others - contributed by Mo Hax" />
6 <Key Name="assetType" Value="20" />
7 <Key Name="fileName" Value="place_marker.dat" />
8 </Section>
9 <Section Name="tpose2">
10 <Key Name="assetID" Value="01645eeb-8c51-60dc-58cc-b9512f05afc0" />
11 <Key Name="name" Value="tpose2" />
12 <Key Name="description" Value="a tpose more suitable for posing stands - contributed by Mo Hax" />
13 <Key Name="assetType" Value="20" />
14 <Key Name="fileName" Value="tpose2.dat" />
15 </Section>
16 <Section Name="bouncy_ball_left">
17 <Key Name="assetID" Value="53339f20-1811-f774-0768-0989f5e57df2" />
18 <Key Name="name" Value="bouncy_ball_left" />
19 <Key Name="description" Value="turn left on bouncy ball, grasping - contributed by Mo Hax" />
20 <Key Name="assetType" Value="20" />
21 <Key Name="fileName" Value="bouncy_ball_left.dat" />
22 </Section>
23 <Section Name="tpose">
24 <Key Name="assetID" Value="9e06424c-0178-82eb-ff21-6c0e4e5a7e6d" />
25 <Key Name="name" Value="tpose" />
26 <Key Name="description" Value="the standard tpose (all must start with this in frame 1) - contributed by Mo Hax" />
27 <Key Name="assetType" Value="20" />
28 <Key Name="fileName" Value="tpose.dat" />
29 </Section>
30 <Section Name="give_and_handshake">
31 <Key Name="assetID" Value="b22af34d-740a-286f-f20a-e0818d91735e" />
32 <Key Name="name" Value="give_and_handshake" />
33 <Key Name="description" Value="same as handshake, but gives something with left hand first (30x30fps) - contributed by Mo Hax" />
34 <Key Name="assetType" Value="20" />
35 <Key Name="fileName" Value="give_and_handshake.dat" />
36 </Section>
37 <Section Name="bouncy_ball_walk">
38 <Key Name="assetID" Value="be7b9b16-5c88-2862-2d20-ec4b939d6a8e" />
39 <Key Name="name" Value="bouncy_ball_walk" />
40 <Key Name="description" Value="move foward on bouncy ball, walk speed, grasping - contributed by Mo Hax" />
41 <Key Name="assetType" Value="20" />
42 <Key Name="fileName" Value="bouncy_ball_walk.dat" />
43 </Section>
44 <Section Name="bouncy_ball_run">
45 <Key Name="assetID" Value="9f2e3814-fc16-0b90-eeb8-5cf8a37fa3bd" />
46 <Key Name="name" Value="bouncy_ball_run" />
47 <Key Name="description" Value="move foward on bouncy ball, run speed, grasping - contributed by Mo Hax" />
48 <Key Name="assetType" Value="20" />
49 <Key Name="fileName" Value="bouncy_ball_run.dat" />
50 </Section>
51 <Section Name="windsurf_left">
52 <Key Name="assetID" Value="a0e08d1b-1f4b-5bae-8942-25ea578c80f6" />
53 <Key Name="name" Value="windsurf_left" />
54 <Key Name="description" Value="static, full body, pose of windsurfer, left foot forward - contributed by Mo Hax" />
55 <Key Name="assetType" Value="20" />
56 <Key Name="fileName" Value="windsurf_left.dat" />
57 </Section>
58 <Section Name="bouncy_ball_super">
59 <Key Name="assetID" Value="8293c1a1-b7c8-26d8-b1e7-0512509112a5" />
60 <Key Name="name" Value="bouncy_ball_super" />
61 <Key Name="description" Value="super bounce on bouncy ball, matrix-like, grasping - contributed by Mo Hax" />
62 <Key Name="assetType" Value="20" />
63 <Key Name="fileName" Value="bouncy_ball_super.dat" />
64 </Section>
65 <Section Name="bouncy_ball_right">
66 <Key Name="assetID" Value="2e349029-118a-995e-a7bf-d4fa32c1e9aa" />
67 <Key Name="name" Value="bouncy_ball_right" />
68 <Key Name="description" Value="turn right on bouncy ball, grasping - contributed by Mo Hax" />
69 <Key Name="assetType" Value="20" />
70 <Key Name="fileName" Value="bouncy_ball_right.dat" />
71 </Section>
72 <Section Name="autograph_right">
73 <Key Name="assetID" Value="626d9b8f-124f-f571-fc84-002bf28b9395" />
74 <Key Name="name" Value="autograph_right" />
75 <Key Name="description" Value="part-body, right-handed signing autograph with left give - contributed by Mo Hax" />
76 <Key Name="assetType" Value="20" />
77 <Key Name="fileName" Value="autograph_right.dat" />
78 </Section>
79 <Section Name="Handshake">
80 <Key Name="assetID" Value="ddc2400f-ecdb-b00e-aee7-442ff99d5fb7"/>
81 <Key Name="name" Value="Handshake"/>
82 <Key Name="description" Value="Created by Mo Hax"/>
83 <Key Name="assetType" Value="20" />
84 <Key Name="fileName" Value="handshake_01.dat"/>
85 </Section>
86
87</Nini>
diff --git a/bin/assets/AnimationsAssetSet/place_marker.dat b/bin/assets/AnimationsAssetSet/place_marker.dat
new file mode 100644
index 0000000..e290e11
--- /dev/null
+++ b/bin/assets/AnimationsAssetSet/place_marker.dat
Binary files differ
diff --git a/bin/assets/AnimationsAssetSet/tpose.dat b/bin/assets/AnimationsAssetSet/tpose.dat
new file mode 100644
index 0000000..6248736
--- /dev/null
+++ b/bin/assets/AnimationsAssetSet/tpose.dat
Binary files differ
diff --git a/bin/assets/AnimationsAssetSet/tpose2.dat b/bin/assets/AnimationsAssetSet/tpose2.dat
new file mode 100644
index 0000000..6b2d729
--- /dev/null
+++ b/bin/assets/AnimationsAssetSet/tpose2.dat
Binary files differ
diff --git a/bin/assets/AnimationsAssetSet/windsurf_left.dat b/bin/assets/AnimationsAssetSet/windsurf_left.dat
new file mode 100644
index 0000000..fde7bdf
--- /dev/null
+++ b/bin/assets/AnimationsAssetSet/windsurf_left.dat
Binary files differ
diff --git a/bin/assets/AssetSets.xml b/bin/assets/AssetSets.xml
new file mode 100644
index 0000000..829f845
--- /dev/null
+++ b/bin/assets/AssetSets.xml
@@ -0,0 +1,81 @@
1<Nini>
2
3 <!-- New asset sets can be added as shown below -->
4
5
6 <Section Name="My Asset Set">
7 <Key Name="file" Value="MyAssetSet/MyAssetSet.xml"/>
8 </Section>
9
10
11
12 <Section Name="Animations AssetSet">
13 <Key Name="file" Value="AnimationsAssetSet/index.xml"/>
14 </Section>
15
16 <!---->
17 <Section Name="BodyParts AssetSet">
18 <Key Name="file" Value="BodyPartsAssetSet/BodyPartsAssetSet.xml"/>
19 </Section>
20 <!---->
21
22 <!---->
23 <Section Name="Clothing AssetSet">
24 <Key Name="file" Value="ClothingAssetSet/ClothingAssetSet.xml"/>
25 </Section>
26 <!---->
27
28 <!---->
29 <Section Name="Gestures AssetSet">
30 <Key Name="file" Value="GesturesAssetSet/GesturesAssetSet.xml"/>
31 </Section>
32 <!---->
33
34 <!---->
35 <Section Name="Landmarks AssetSet">
36 <Key Name="file" Value="LandmarksAssetSet/LandmarksAssetSet.xml"/>
37 </Section>
38 <!---->
39
40 <!---->
41 <Section Name="Notecards AssetSet">
42 <Key Name="file" Value="NotecardsAssetSet/NotecardsAssetSet.xml"/>
43 </Section>
44 <!---->
45
46 <!---->
47 <Section Name="Objects AssetSet">
48 <Key Name="file" Value="ObjectsAssetSet/ObjectsAssetSet.xml"/>
49 </Section>
50 <!---->
51
52 <!---->
53 <Section Name="Photos AssetSet">
54 <Key Name="file" Value="PhotosAssetSet/PhotosAssetSet.xml"/>
55 </Section>
56 <!---->
57
58 <!---->
59 <Section Name="Scripts AssetSet">
60 <Key Name="file" Value="ScriptsAssetSet/ScriptsAssetSet.xml"/>
61 </Section>
62 <!---->
63
64 <!---->
65 <Section Name="Sounds AssetSet">
66 <Key Name="file" Value="SoundsAssetSet/SoundsAssetSet.xml"/>
67 </Section>
68 <!---->
69
70 <!---->
71 <Section Name="Collision Sounds AssetSet">
72 <Key Name="file" Value="CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml"/>
73 </Section>
74 <!---->
75
76 <!---->
77 <Section Name="Textures AssetSet">
78 <Key Name="file" Value="TexturesAssetSet/TexturesAssetSet.xml"/>
79 </Section>
80 <!---->
81</Nini>
diff --git a/bin/assets/Avatar/Newruth/Settings.txt b/bin/assets/Avatar/Newruth/Settings.txt
new file mode 100644
index 0000000..055142e
--- /dev/null
+++ b/bin/assets/Avatar/Newruth/Settings.txt
@@ -0,0 +1,120 @@
1Sliders:
2
3Shape
4
5Body
6Height - 70
7Thickness - 8
8Body Fat - 3
9
10
11Head
12Head size - 67
13Head Stretch - 43
14Head Shape - 55
15Egg Head - 72
16Head Length - 71
17Face Shear - 50
18Forehead Angle - 61
19Brow Size - 4
20Upper Cheeks - 42
21Lower Cheeks - 34
22Cheekbones - 67
23
24Eyes
25Eye size - 35
26Eye opening - 59
27Eye spacing - 44
28Outer Eye Corner - 58
29Inner Eye Corner - 0
30Eye Depth - 39
31Upper Eyelid Fold - 14
32Eye bags - 0
33Puffy Eyelids - 6
34Eyelash Length - 0
35Eye Pop - 50
36
37Ears
38Ear Size - 39
39Ear Angle - 38
40Attached Earlobes - 37
41Ear Flaps - 6
42
43Nose
44Nose size - 24
45Nostril Width - 24
46Nostril Division - 61
47Nose thickness - 26
48Upper Bridge - 18
49lower bridge - 64
50bridge width - 58
51nose tip angle - 51
52nose tip shape - 0
53crooked nose - 50
54
55Mouth
56Lip width - 16
57Lip fullness - 35
58Lip thickness - 62
59Lip ratio - 43
60Mouth position - 43
61Mouth corner - 59
62Lip cleft depth - 42
63Lip cleft - 41
64Shift mouth - 50
65
66Chin
67Chin angle - 22
68Jaw shape - 21
69Chin depth - 26
70Jaw angle - 64
71Jaw jut - 54
72Jowls - 39
73Chin cleft - 0
74Upper chin cleft - 15
75Chin Neck - 17
76
77Torso
78Torso muscles - 46
79Neck thickness - 50
80Neck length - 28
81Shoulders - 57
82Breast size - 53
83Breast buoyancy - 34
84Breast Cleavage - 16
85Arm length - 46
86Hand size - 47
87Torse length - 37
88Love handles - 36
89Belly size - 13
90
91Legs
92Leg muscles - 69
93Leg length - 54
94Hip width - 53
95Butt size - 40
96Saddle bags - 27
97Knee angle - 44
98Foot size - 0
99
100Hair
101Color
102White hair - 11
103Rainbow color - 0
104Blonde hair - 0
105Red hair - 100
106
107Style
108Hair volume - 45
109Hair front - 0
110Hair sides - 27
111Hair Back - 100
112Big Hair Front - 61
113Big Hair Top - 90
114Big hair back - 12
115Front fringe - 33
116Side fringe - 24
117Back fringe - 9
118Full hair sides - 75
119
120
diff --git a/bin/assets/Avatar/Newruth/eyes.j2c b/bin/assets/Avatar/Newruth/eyes.j2c
new file mode 100644
index 0000000..c0974de
--- /dev/null
+++ b/bin/assets/Avatar/Newruth/eyes.j2c
Binary files differ
diff --git a/bin/assets/Avatar/Newruth/female body.j2c b/bin/assets/Avatar/Newruth/female body.j2c
new file mode 100644
index 0000000..84fd975
--- /dev/null
+++ b/bin/assets/Avatar/Newruth/female body.j2c
Binary files differ
diff --git a/bin/assets/Avatar/Newruth/female bottom.j2c b/bin/assets/Avatar/Newruth/female bottom.j2c
new file mode 100644
index 0000000..4fd72a7
--- /dev/null
+++ b/bin/assets/Avatar/Newruth/female bottom.j2c
Binary files differ
diff --git a/bin/assets/Avatar/Newruth/female face.j2c b/bin/assets/Avatar/Newruth/female face.j2c
new file mode 100644
index 0000000..e0d36fa
--- /dev/null
+++ b/bin/assets/Avatar/Newruth/female face.j2c
Binary files differ
diff --git a/bin/assets/Avatar/Newruth/open sim hair base.j2c b/bin/assets/Avatar/Newruth/open sim hair base.j2c
new file mode 100644
index 0000000..f8e1c95
--- /dev/null
+++ b/bin/assets/Avatar/Newruth/open sim hair base.j2c
Binary files differ
diff --git a/bin/assets/BodyPartsAssetSet/BodyPartsAssetSet.xml b/bin/assets/BodyPartsAssetSet/BodyPartsAssetSet.xml
new file mode 100644
index 0000000..a3d7ba3
--- /dev/null
+++ b/bin/assets/BodyPartsAssetSet/BodyPartsAssetSet.xml
@@ -0,0 +1,60 @@
1<Nini>
2
3 <Section Name="Hair">
4 <Key Name="assetID" Value="d342e6c0-b9d2-11dc-95ff-0800200c9a66"/>
5 <Key Name="name" Value="Hair"/>
6 <Key Name="assetType" Value="13" />
7 <Key Name="fileName" Value="base_hair.dat"/>
8 </Section>
9
10 <Section Name="Skin">
11 <Key Name="assetID" Value="77c41e39-38f9-f75a-024e-585989bbabbb"/>
12 <Key Name="name" Value="Skin"/>
13 <Key Name="assetType" Value="13" />
14 <Key Name="fileName" Value="base_skin.dat"/>
15 </Section>
16<!--
17 <Section Name="Jim Skin">
18 <Key Name="assetID" Value="77c41e39-38f9-f75a-024e-585989bbabbc"/>
19 <Key Name="name" Value="Jim Skin"/>
20 <Key Name="assetType" Value="13" />
21 <Key Name="fileName" Value="jim_skin.dat"/>
22 </Section>
23
24 <Section Name="Little Goblin Skin">
25 <Key Name="assetID" Value="77c41e39-38f9-f75a-024e-585989bbabbd"/>
26 <Key Name="name" Value="Little Goblin Skin"/>
27 <Key Name="assetType" Value="13" />
28 <Key Name="fileName" Value="goblin_skin.dat"/>
29 </Section>
30-->
31 <Section Name="Shape">
32 <Key Name="assetID" Value="66c41e39-38f9-f75a-024e-585989bfab73"/>
33 <Key Name="name" Value="Shape"/>
34 <Key Name="assetType" Value="13" />
35 <Key Name="fileName" Value="base_shape.dat"/>
36 </Section>
37
38 <Section Name="Eyes">
39 <Key Name="assetID" Value="4bb6fa4d-1cd2-498a-a84c-95c1a0e745a7"/>
40 <Key Name="name" Value="Eyes"/>
41 <Key Name="assetType" Value="13" />
42 <Key Name="fileName" Value="base_eyes.dat"/>
43 </Section>
44
45<!--
46 <Section Name="Jim Shape">
47 <Key Name="assetID" Value="66c41e39-38f9-f75a-024e-585989bfab74"/>
48 <Key Name="name" Value="Jim Shape"/>
49 <Key Name="assetType" Value="13" />
50 <Key Name="fileName" Value="jim_shape.dat"/>
51 </Section>
52
53 <Section Name="Little Goblin Shape">
54 <Key Name="assetID" Value="66c41e39-38f9-f75a-024e-585989bfab75"/>
55 <Key Name="name" Value="Little Goblin Shape"/>
56 <Key Name="assetType" Value="13" />
57 <Key Name="fileName" Value="little_goblin_shape.dat"/>
58 </Section>
59 -->
60</Nini>
diff --git a/bin/assets/BodyPartsAssetSet/base_eyes.dat b/bin/assets/BodyPartsAssetSet/base_eyes.dat
new file mode 100644
index 0000000..520157c
--- /dev/null
+++ b/bin/assets/BodyPartsAssetSet/base_eyes.dat
@@ -0,0 +1,26 @@
1LLWearable version 22
2New Eyes
3
4 permissions 0
5 {
6 base_mask 7fffffff
7 owner_mask 7fffffff
8 group_mask 00000000
9 everyone_mask 00000000
10 next_owner_mask 00082000
11 creator_id 11111111-1111-0000-0000-000100bba000
12 owner_id 11111111-1111-0000-0000-000100bba000
13 last_owner_id 00000000-0000-0000-0000-000000000000
14 group_id 00000000-0000-0000-0000-000000000000
15 }
16 sale_info 0
17 {
18 sale_type not
19 sale_price 10
20 }
21type 3
22parameters 2
2398 0
2499 0
25textures 1
263 6522e74d-1660-4e7f-b601-6f48c1659a77
diff --git a/bin/assets/BodyPartsAssetSet/base_hair.dat b/bin/assets/BodyPartsAssetSet/base_hair.dat
new file mode 100644
index 0000000..05e21d8
--- /dev/null
+++ b/bin/assets/BodyPartsAssetSet/base_hair.dat
@@ -0,0 +1,114 @@
1LLWearable version 22
2New Hair
3
4 permissions 0
5 {
6 base_mask 7fffffff
7 owner_mask 7fffffff
8 group_mask 00000000
9 everyone_mask 00000000
10 next_owner_mask 00082000
11 creator_id 11111111-1111-0000-0000-000100bba000
12 owner_id 11111111-1111-0000-0000-000100bba000
13 last_owner_id 00000000-0000-0000-0000-000000000000
14 group_id 00000000-0000-0000-0000-000000000000
15 }
16 sale_info 0
17 {
18 sale_type not
19 sale_price 10
20 }
21type 2
22parameters 90
2316 0
2431 .5
25112 0
26113 0
27114 .5
28115 0
29119 .5
30130 .45
31131 .5
32132 .39
33133 .25
34134 .5
35135 .55
36136 .5
37137 .5
38140 0
39141 0
40142 0
41143 .12
42144 .1
43145 0
44146 0
45147 0
46148 .22
47149 0
48166 0
49167 0
50168 0
51169 0
52171 0
53172 .5
54173 0
55174 0
56175 .3
57176 0
58177 0
59178 0
60179 0
61180 .13
62181 .14
63182 .7
64183 .05
65184 0
66190 0
67191 0
68192 0
69400 .75
70640 0
71641 0
72642 0
73643 0
74644 0
75645 0
76674 -.3
77750 .7
78751 0
79752 .5
80754 0
81755 .05
82757 -1
83761 0
84762 0
85763 .55
86771 0
87774 0
88782 0
89783 0
90784 0
91785 0
92786 0
93787 0
94788 0
95789 0
96790 0
97870 -.29
98871 0
99872 .25
1001000 .5
1011001 .5
1021002 .7
1031003 .7
1041004 0
1051005 0
1061006 0
1071007 0
1081008 0
1091009 0
1101010 0
1111011 0
1121012 .25
113textures 1
1144 7ca39b4c-bd19-4699-aff7-f93fd03d3e7b
diff --git a/bin/assets/BodyPartsAssetSet/base_shape.dat b/bin/assets/BodyPartsAssetSet/base_shape.dat
new file mode 100644
index 0000000..bf719c9
--- /dev/null
+++ b/bin/assets/BodyPartsAssetSet/base_shape.dat
@@ -0,0 +1,165 @@
1LLWearable version 22
2New Shape
3
4 permissions 0
5 {
6 base_mask 7fffffff
7 owner_mask 7fffffff
8 group_mask 00000000
9 everyone_mask 00000000
10 next_owner_mask 00082000
11 creator_id 11111111-1111-0000-0000-000100bba000
12 owner_id 11111111-1111-0000-0000-000100bba000
13 last_owner_id 00000000-0000-0000-0000-000000000000
14 group_id 00000000-0000-0000-0000-000000000000
15 }
16 sale_info 0
17 {
18 sale_type not
19 sale_price 10
20 }
21type 0
22parameters 142
231 0
242 0
254 0
265 0
276 0
287 0
298 0
3010 0
3111 0
3212 0
3313 0
3414 0
3515 0
3617 0
3718 0
3819 0
3920 0
4021 0
4122 0
4223 0
4324 0
4425 0
4526 0
4627 0
4728 0
4829 .12
4930 .12
5032 0
5133 0
5234 0
5335 0
5436 -.5
5537 0
5638 0
5740 0
5880 0
59100 0
60104 0
61105 .5
62106 0
63151 0
64152 0
65153 0
66155 0
67156 0
68157 0
69185 0
70186 0
71187 0
72188 0
73189 0
74193 .5
75194 .67
76195 .33
77196 0
78505 .5
79506 0
80507 0
81515 0
82517 0
83518 0
84626 0
85627 0
86629 .5
87630 0
88631 0
89633 0
90634 0
91635 0
92637 0
93646 0
94647 0
95648 0
96649 .5
97650 0
98651 0
99652 .5
100653 0
101655 -.08
102656 0
103657 0
104658 0
105659 .5
106660 0
107661 0
108662 .5
109663 0
110664 0
111665 0
112675 0
113676 0
114677 0
115678 .5
116679 -.08
117680 -.08
118681 -.08
119682 .5
120683 -.15
121684 0
122685 0
123686 0
124687 0
125688 0
126689 0
127690 .5
128691 0
129692 0
130693 .6
131694 -.08
132695 0
133753 0
134756 0
135758 0
136759 .5
137760 0
138764 0
139765 0
140767 0
141768 0
142769 .5
143770 0
144772 0
145773 .5
146794 .17
147795 .25
148796 0
149797 0
150798 0
151799 .5
152841 0
153842 0
154843 0
155853 0
156854 0
157855 0
158879 0
159880 0
1601103 0
1611104 0
1621105 0
1631200 0
1641201 0
165textures 0
diff --git a/bin/assets/BodyPartsAssetSet/base_skin.dat b/bin/assets/BodyPartsAssetSet/base_skin.dat
new file mode 100644
index 0000000..854dd00
--- /dev/null
+++ b/bin/assets/BodyPartsAssetSet/base_skin.dat
@@ -0,0 +1,52 @@
1LLWearable version 22
2Sexy - Female Skin
3
4 permissions 0
5 {
6 base_mask 00000000
7 owner_mask 00000000
8 group_mask 00000000
9 everyone_mask 00000000
10 next_owner_mask 00000000
11 creator_id 11111111-1111-0000-0000-000100bba000
12 owner_id 11111111-1111-0000-0000-000100bba000
13 last_owner_id 11111111-1111-0000-0000-000100bba000
14 group_id 00000000-0000-0000-0000-000000000000
15 }
16 sale_info 0
17 {
18 sale_type not
19 sale_price 10
20 }
21type 1
22parameters 26
23108 0
24110 0
25111 0
26116 0
27117 1
28150 0
29162 0
30163 0
31165 0
32700 .01
33701 .5
34702 .26
35703 0
36704 0
37705 .5
38706 .6
39707 0
40708 0
41709 0
42710 0
43711 .5
44712 0
45713 .7
46714 0
47715 0
48775 0
49textures 3
500 00000000-0000-1111-9999-000000000012
515 00000000-0000-1111-9999-000000000010
526 00000000-0000-1111-9999-000000000011
diff --git a/bin/assets/BodyPartsAssetSet/goblin_skin.dat b/bin/assets/BodyPartsAssetSet/goblin_skin.dat
new file mode 100644
index 0000000..7a7ad8b
--- /dev/null
+++ b/bin/assets/BodyPartsAssetSet/goblin_skin.dat
@@ -0,0 +1,49 @@
1LLWearable version 22
2Goblin Skin
3
4 permissions 0
5 {
6 base_mask 00080000
7 owner_mask 00080000
8 group_mask 00000000
9 everyone_mask 00000000
10 next_owner_mask 00080000
11 creator_id 15787b54-7833-4238-9c18-80ddd7687bfe
12 owner_id 15787b54-7833-4238-9c18-80ddd7687bfe
13 last_owner_id 15787b54-7833-4238-9c18-80ddd7687bfe
14 group_id 00000000-0000-0000-0000-000000000000
15 }
16 sale_info 0
17 {
18 sale_type not
19 sale_price 10
20 }
21type 1
22parameters 26
23108 .6
24110 .1
25111 1
26116 .68
27117 .28
28150 0
29162 1
30163 .99
31165 .69
32700 .51
33701 .2
34702 0
35703 0
36704 0
37705 .5
38706 .6
39707 0
40708 0
41709 0
42710 0
43711 .5
44712 0
45713 .7
46714 0
47715 0
48775 0
49textures 0
diff --git a/bin/assets/BodyPartsAssetSet/jim_shape.dat b/bin/assets/BodyPartsAssetSet/jim_shape.dat
new file mode 100644
index 0000000..d7e9d3c
--- /dev/null
+++ b/bin/assets/BodyPartsAssetSet/jim_shape.dat
@@ -0,0 +1,105 @@
1LLWearable version 22
2Jim Shape
3
4 permissions 0
5 {
6 base_mask 00000000
7 owner_mask 00000000
8 group_mask 00000000
9 everyone_mask 00000000
10 next_owner_mask 00000000
11 creator_id 11111111-1111-0000-0000-000100bba000
12 owner_id 11111111-1111-0000-0000-000100bba000
13 last_owner_id 11111111-1111-0000-0000-000100bba000
14 group_id 00000000-0000-0000-0000-000000000000
15 }
16 sale_info 0
17 {
18 sale_type not
19 sale_price 10
20 }
21type 0
22parameters 82
231 0
242 0
254 0
265 0
276 0
287 0
298 0
3010 0
3111 0
3212 0
3313 0
3414 0
3515 0
3617 0
3718 0
3819 0
3920 0
4021 0
4122 0
4223 0
4324 0
4425 0
4527 0
4633 -2.3
4734 0
4835 0
4936 -.5
5037 -1.34
5138 0
5280 1
53105 .5
54155 0
55157 0
56185 0
57193 .5
58196 0
59505 .5
60506 0
61507 0
62515 0
63517 0
64518 0
65629 .5
66637 0
67646 0
68647 0
69649 .5
70650 0
71652 .29
72653 0
73656 0
74659 .5
75662 .5
76663 0
77664 0
78665 0
79675 0
80676 0
81678 .5
82682 .5
83683 -.15
84684 0
85685 0
86690 .5
87692 1
88693 .6
89753 0
90756 0
91758 0
92759 .5
93760 0
94764 0
95765 0
96769 .5
97773 .5
98795 .84
99796 0
100799 .5
101841 0
102842 0
103879 0
104880 0
105textures 0
diff --git a/bin/assets/BodyPartsAssetSet/jim_skin.dat b/bin/assets/BodyPartsAssetSet/jim_skin.dat
new file mode 100644
index 0000000..9d03cb2
--- /dev/null
+++ b/bin/assets/BodyPartsAssetSet/jim_skin.dat
@@ -0,0 +1,50 @@
1LLWearable version 22
2Jim skin
3
4 permissions 0
5 {
6 base_mask 00000000
7 owner_mask 00000000
8 group_mask 00000000
9 everyone_mask 00000000
10 next_owner_mask 00000000
11 creator_id 11111111-1111-0000-0000-000100bba000
12 owner_id 11111111-1111-0000-0000-000100bba000
13 last_owner_id 11111111-1111-0000-0000-000100bba000
14 group_id 00000000-0000-0000-0000-000000000000
15 }
16 sale_info 0
17 {
18 sale_type not
19 sale_price 10
20 }
21type 1
22parameters 26
23108 0
24110 0
25111 .5
26116 0
27117 0
28150 0
29162 0
30163 0
31165 0
32700 .25
33701 0
34702 0
35703 0
36704 0
37705 .5
38706 .6
39707 0
40708 0
41709 0
42710 0
43711 .5
44712 0
45713 .7
46714 0
47715 0
48775 0
49textures 0
50
diff --git a/bin/assets/BodyPartsAssetSet/little_goblin_shape.dat b/bin/assets/BodyPartsAssetSet/little_goblin_shape.dat
new file mode 100644
index 0000000..b097d3c
--- /dev/null
+++ b/bin/assets/BodyPartsAssetSet/little_goblin_shape.dat
@@ -0,0 +1,105 @@
1LLWearable version 22
2See the little goblin
3
4 permissions 0
5 {
6 base_mask 00000000
7 owner_mask 00000000
8 group_mask 00000000
9 everyone_mask 00000000
10 next_owner_mask 00000000
11 creator_id 11111111-1111-0000-0000-000100bba000
12 owner_id 11111111-1111-0000-0000-000100bba000
13 last_owner_id 11111111-1111-0000-0000-000100bba000
14 group_id 00000000-0000-0000-0000-000000000000
15 }
16 sale_info 0
17 {
18 sale_type not
19 sale_price 10
20 }
21type 0
22parameters 82
231 0
242 0
254 0
265 0
276 0
287 0
298 0
3010 0
3111 0
3212 0
3313 0
3414 0
3515 1.5
3617 0
3718 0
3819 0
3920 0
4021 0
4122 0
4223 0
4324 2
4425 0
4527 0
4633 -2.3
4734 -.7
4835 2
4936 1.4
5037 .16
5138 -1
5280 1
53105 .5
54155 0
55157 .68
56185 0
57193 0
58196 0
59505 .5
60506 0
61507 0
62515 3
63517 .52
64518 0
65629 .5
66637 0
67646 -.4
68647 -.5
69649 .5
70650 0
71652 1
72653 0
73656 0
74659 .5
75662 .5
76663 0
77664 0
78665 0
79675 .3
80676 .95
81678 .74
82682 1
83683 .12
84684 0
85685 -.5
86690 .75
87692 -1
88693 -1
89753 2.34
90756 -1
91758 0
92759 .5
93760 0
94764 0
95765 0
96769 .5
97773 .5
98795 1
99796 3
100799 .5
101841 .66
102842 0
103879 -.5
104880 0
105textures 0
diff --git a/bin/assets/ClothingAssetSet/ClothingAssetSet.xml b/bin/assets/ClothingAssetSet/ClothingAssetSet.xml
new file mode 100644
index 0000000..1640593
--- /dev/null
+++ b/bin/assets/ClothingAssetSet/ClothingAssetSet.xml
@@ -0,0 +1,14 @@
1<Nini>
2 <Section Name="Shirt">
3 <Key Name="assetID" Value="00000000-38f9-1111-024e-222222111110"/>
4 <Key Name="name" Value="Shirt"/>
5 <Key Name="assetType" Value="5" />
6 <Key Name="fileName" Value="newshirt.dat"/>
7 </Section>
8 <Section Name="Pants">
9 <Key Name="assetID" Value="00000000-38f9-1111-024e-222222111120"/>
10 <Key Name="name" Value="Pants"/>
11 <Key Name="assetType" Value="5" />
12 <Key Name="fileName" Value="newpants.dat"/>
13 </Section>
14</Nini>
diff --git a/bin/assets/ClothingAssetSet/newpants.dat b/bin/assets/ClothingAssetSet/newpants.dat
new file mode 100644
index 0000000..6587a72
--- /dev/null
+++ b/bin/assets/ClothingAssetSet/newpants.dat
@@ -0,0 +1,33 @@
1LLWearable version 22
2New Pants
3
4 permissions 0
5 {
6 base_mask 00000000
7 owner_mask 00000000
8 group_mask 00000000
9 everyone_mask 00000000
10 next_owner_mask 00000000
11 creator_id 11111111-1111-0000-0000-000100bba000
12 owner_id 11111111-1111-0000-0000-000100bba000
13 last_owner_id 00000000-0000-0000-0000-000000000000
14 group_id 00000000-0000-0000-0000-000000000000
15 }
16 sale_info 0
17 {
18 sale_type not
19 sale_price 10
20 }
21type 5
22parameters 9
23625 0
24638 0
25806 .8
26807 .2
27808 .2
28814 1
29815 .8
30816 0
31869 0
32textures 1
332 5748decc-f629-461c-9a36-a35a221fe21f
diff --git a/bin/assets/ClothingAssetSet/newshirt.dat b/bin/assets/ClothingAssetSet/newshirt.dat
new file mode 100644
index 0000000..4d6d264
--- /dev/null
+++ b/bin/assets/ClothingAssetSet/newshirt.dat
@@ -0,0 +1,34 @@
1LLWearable version 22
2New Shirt
3
4 permissions 0
5 {
6 base_mask 00000000
7 owner_mask 00000000
8 group_mask 00000000
9 everyone_mask 00000000
10 next_owner_mask 00000000
11 creator_id 11111111-1111-0000-0000-000100bba000
12 owner_id 11111111-1111-0000-0000-000100bba000
13 last_owner_id 00000000-0000-0000-0000-000000000000
14 group_id 00000000-0000-0000-0000-000000000000
15 }
16 sale_info 0
17 {
18 sale_type not
19 sale_price 10
20 }
21type 4
22parameters 10
23781 .78
24800 .65
25801 .82
26802 .78
27803 .5
28804 .5
29805 .6
30828 0
31840 0
32868 0
33textures 1
341 5748decc-f629-461c-9a36-a35a221fe21f
diff --git a/bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml b/bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml
new file mode 100644
index 0000000..b570c55
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml
@@ -0,0 +1,341 @@
1<Nini>
2 <!-- Ubit 2012
3 using Nebadon collision sounds collection-->
4
5 <Section Name="snd_StoneStone">
6 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0800200c9a66" />
7 <Key Name="name" Value="snd_StoneStone" />
8 <Key Name="assetType" Value="1" />
9 <Key Name="fileName" Value="snd_StoneStone.ogg" />
10 </Section>
11 <Section Name="snd_StoneMetal">
12 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0800201c9a66" />
13 <Key Name="name" Value="snd_StoneMetal" />
14 <Key Name="assetType" Value="1" />
15 <Key Name="fileName" Value="snd_StoneMetal.ogg" />
16 </Section>
17 <Section Name="snd_StoneGlass">
18 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0800202c9a66" />
19 <Key Name="name" Value="snd_StoneGlass" />
20 <Key Name="assetType" Value="1" />
21 <Key Name="fileName" Value="snd_StoneGlass.ogg" />
22 </Section>
23 <Section Name="snd_StoneWood">
24 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0800203c9a66" />
25 <Key Name="name" Value="snd_StoneWood" />
26 <Key Name="assetType" Value="1" />
27 <Key Name="fileName" Value="snd_StoneWood.ogg" />
28 </Section>
29 <Section Name="snd_StoneFlesh">
30 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0800204c9a66" />
31 <Key Name="name" Value="snd_StoneFlesh" />
32 <Key Name="assetType" Value="1" />
33 <Key Name="fileName" Value="snd_StoneFlesh.ogg" />
34 </Section>
35 <Section Name="snd_StonePlastic">
36 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0800205c9a66" />
37 <Key Name="name" Value="snd_StonePlastic" />
38 <Key Name="assetType" Value="1" />
39 <Key Name="fileName" Value="snd_StonePlastic.ogg" />
40 </Section>
41 <Section Name="snd_StoneRubber">
42 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0800206c9a66" />
43 <Key Name="name" Value="snd_StoneRubber" />
44 <Key Name="assetType" Value="1" />
45 <Key Name="fileName" Value="snd_StoneRubber.ogg" />
46 </Section>
47 <Section Name="snd_MetalStone">
48 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0801200c9a66" />
49 <Key Name="name" Value="snd_MetalStone" />
50 <Key Name="assetType" Value="1" />
51 <Key Name="fileName" Value="snd_MetalStone.ogg" />
52 </Section>
53 <Section Name="snd_MetalMetal">
54 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0801201c9a66" />
55 <Key Name="name" Value="snd_MetalMetal" />
56 <Key Name="assetType" Value="1" />
57 <Key Name="fileName" Value="snd_MetalMetal.ogg" />
58 </Section>
59 <Section Name="snd_MetalGlass">
60 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0801202c9a66" />
61 <Key Name="name" Value="snd_MetalGlass" />
62 <Key Name="assetType" Value="1" />
63 <Key Name="fileName" Value="snd_MetalGlass.ogg" />
64 </Section>
65 <Section Name="snd_MetalWood">
66 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0801203c9a66" />
67 <Key Name="name" Value="snd_MetalWood" />
68 <Key Name="assetType" Value="1" />
69 <Key Name="fileName" Value="snd_MetalWood.ogg" />
70 </Section>
71 <Section Name="snd_MetalFlesh">
72 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0801204c9a66" />
73 <Key Name="name" Value="snd_MetalFlesh" />
74 <Key Name="assetType" Value="1" />
75 <Key Name="fileName" Value="snd_MetalFlesh.ogg" />
76 </Section>
77 <Section Name="snd_MetalPlastic">
78 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0801205c9a66" />
79 <Key Name="name" Value="snd_MetalPlastic" />
80 <Key Name="assetType" Value="1" />
81 <Key Name="fileName" Value="snd_MetalPlastic.ogg" />
82 </Section>
83 <Section Name="snd_MetalRubber">
84 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0801206c9a66" />
85 <Key Name="name" Value="snd_MetalRubber" />
86 <Key Name="assetType" Value="1" />
87 <Key Name="fileName" Value="snd_MetalRubber.ogg" />
88 </Section>
89 <Section Name="snd_GlassStone">
90 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0802200c9a66" />
91 <Key Name="name" Value="snd_GlassStone" />
92 <Key Name="assetType" Value="1" />
93 <Key Name="fileName" Value="snd_GlassStone.ogg" />
94 </Section>
95 <Section Name="snd_GlassMetal">
96 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0802201c9a66" />
97 <Key Name="name" Value="snd_GlassMetal" />
98 <Key Name="assetType" Value="1" />
99 <Key Name="fileName" Value="snd_GlassMetal.ogg" />
100 </Section>
101 <Section Name="snd_GlassGlass">
102 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0802202c9a66" />
103 <Key Name="name" Value="snd_GlassGlass" />
104 <Key Name="assetType" Value="1" />
105 <Key Name="fileName" Value="snd_GlassGlass.ogg" />
106 </Section>
107 <Section Name="snd_GlassWood">
108 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0802203c9a66" />
109 <Key Name="name" Value="snd_GlassWood" />
110 <Key Name="assetType" Value="1" />
111 <Key Name="fileName" Value="snd_GlassWood.ogg" />
112 </Section>
113 <Section Name="snd_GlassFlesh">
114 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0802204c9a66" />
115 <Key Name="name" Value="snd_GlassFlesh" />
116 <Key Name="assetType" Value="1" />
117 <Key Name="fileName" Value="snd_GlassFlesh.ogg" />
118 </Section>
119 <Section Name="snd_GlassPlastic">
120 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0802205c9a66" />
121 <Key Name="name" Value="snd_GlassPlastic" />
122 <Key Name="assetType" Value="1" />
123 <Key Name="fileName" Value="snd_GlassPlastic.ogg" />
124 </Section>
125 <Section Name="snd_GlassRubber">
126 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0802206c9a66" />
127 <Key Name="name" Value="snd_GlassRubber" />
128 <Key Name="assetType" Value="1" />
129 <Key Name="fileName" Value="snd_GlassRubber.ogg" />
130 </Section>
131 <Section Name="snd_WoodStone">
132 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0803200c9a66" />
133 <Key Name="name" Value="snd_WoodStone" />
134 <Key Name="assetType" Value="1" />
135 <Key Name="fileName" Value="snd_WoodStone.ogg" />
136 </Section>
137 <Section Name="snd_WoodMetal">
138 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0803201c9a66" />
139 <Key Name="name" Value="snd_WoodMetal" />
140 <Key Name="assetType" Value="1" />
141 <Key Name="fileName" Value="snd_WoodMetal.ogg" />
142 </Section>
143 <Section Name="snd_WoodGlass">
144 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0803202c9a66" />
145 <Key Name="name" Value="snd_WoodGlass" />
146 <Key Name="assetType" Value="1" />
147 <Key Name="fileName" Value="snd_WoodGlass.ogg" />
148 </Section>
149 <Section Name="snd_WoodWood">
150 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0803203c9a66" />
151 <Key Name="name" Value="snd_WoodWood" />
152 <Key Name="assetType" Value="1" />
153 <Key Name="fileName" Value="snd_WoodWood.ogg" />
154 </Section>
155 <Section Name="snd_WoodFlesh">
156 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0803204c9a66" />
157 <Key Name="name" Value="snd_WoodFlesh" />
158 <Key Name="assetType" Value="1" />
159 <Key Name="fileName" Value="snd_WoodFlesh.ogg" />
160 </Section>
161 <Section Name="snd_WoodPlastic">
162 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0803205c9a66" />
163 <Key Name="name" Value="snd_WoodPlastic" />
164 <Key Name="assetType" Value="1" />
165 <Key Name="fileName" Value="snd_WoodPlastic.ogg" />
166 </Section>
167 <Section Name="snd_WoodRubber">
168 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0803206c9a66" />
169 <Key Name="name" Value="snd_WoodRubber" />
170 <Key Name="assetType" Value="1" />
171 <Key Name="fileName" Value="snd_WoodRubber.ogg" />
172 </Section>
173 <Section Name="snd_FleshStone">
174 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0804200c9a66" />
175 <Key Name="name" Value="snd_FleshStone" />
176 <Key Name="assetType" Value="1" />
177 <Key Name="fileName" Value="snd_FleshStone.ogg" />
178 </Section>
179 <Section Name="snd_FleshMetal">
180 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0804201c9a66" />
181 <Key Name="name" Value="snd_FleshMetal" />
182 <Key Name="assetType" Value="1" />
183 <Key Name="fileName" Value="snd_FleshMetal.ogg" />
184 </Section>
185 <Section Name="snd_FleshGlass">
186 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0804202c9a66" />
187 <Key Name="name" Value="snd_FleshGlass" />
188 <Key Name="assetType" Value="1" />
189 <Key Name="fileName" Value="snd_FleshGlass.ogg" />
190 </Section>
191 <Section Name="snd_FleshWood">
192 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0804203c9a66" />
193 <Key Name="name" Value="snd_FleshWood" />
194 <Key Name="assetType" Value="1" />
195 <Key Name="fileName" Value="snd_FleshWood.ogg" />
196 </Section>
197 <Section Name="snd_FleshFlesh">
198 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0804204c9a66" />
199 <Key Name="name" Value="snd_FleshFlesh" />
200 <Key Name="assetType" Value="1" />
201 <Key Name="fileName" Value="snd_FleshFlesh.ogg" />
202 </Section>
203 <Section Name="snd_FleshPlastic">
204 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0804205c9a66" />
205 <Key Name="name" Value="snd_FleshPlastic" />
206 <Key Name="assetType" Value="1" />
207 <Key Name="fileName" Value="snd_FleshPlastic.ogg" />
208 </Section>
209 <Section Name="snd_FleshRubber">
210 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0804206c9a66" />
211 <Key Name="name" Value="snd_FleshRubber" />
212 <Key Name="assetType" Value="1" />
213 <Key Name="fileName" Value="snd_FleshRubber.ogg" />
214 </Section>
215 <Section Name="snd_PlasticStone">
216 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0805200c9a66" />
217 <Key Name="name" Value="snd_PlasticStone" />
218 <Key Name="assetType" Value="1" />
219 <Key Name="fileName" Value="snd_PlasticStone.ogg" />
220 </Section>
221 <Section Name="snd_PlasticMetal">
222 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0805201c9a66" />
223 <Key Name="name" Value="snd_PlasticMetal" />
224 <Key Name="assetType" Value="1" />
225 <Key Name="fileName" Value="snd_PlasticMetal.ogg" />
226 </Section>
227 <Section Name="snd_PlasticGlass">
228 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0805202c9a66" />
229 <Key Name="name" Value="snd_PlasticGlass" />
230 <Key Name="assetType" Value="1" />
231 <Key Name="fileName" Value="snd_PlasticGlass.ogg" />
232 </Section>
233 <Section Name="snd_PlasticWood">
234 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0805203c9a66" />
235 <Key Name="name" Value="snd_PlasticWood" />
236 <Key Name="assetType" Value="1" />
237 <Key Name="fileName" Value="snd_PlasticWood.ogg" />
238 </Section>
239 <Section Name="snd_PlasticFlesh">
240 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0805204c9a66" />
241 <Key Name="name" Value="snd_PlasticFlesh" />
242 <Key Name="assetType" Value="1" />
243 <Key Name="fileName" Value="snd_PlasticFlesh.ogg" />
244 </Section>
245 <Section Name="snd_PlasticPlastic">
246 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0805205c9a66" />
247 <Key Name="name" Value="snd_PlasticPlastic" />
248 <Key Name="assetType" Value="1" />
249 <Key Name="fileName" Value="snd_PlasticPlastic.ogg" />
250 </Section>
251 <Section Name="snd_PlasticRubber">
252 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0805206c9a66" />
253 <Key Name="name" Value="snd_PlasticRubber" />
254 <Key Name="assetType" Value="1" />
255 <Key Name="fileName" Value="snd_PlasticRubber.ogg" />
256 </Section>
257 <Section Name="snd_RubberStone">
258 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0806200c9a66" />
259 <Key Name="name" Value="snd_RubberStone" />
260 <Key Name="assetType" Value="1" />
261 <Key Name="fileName" Value="snd_RubberStone.ogg" />
262 </Section>
263 <Section Name="snd_RubberMetal">
264 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0806201c9a66" />
265 <Key Name="name" Value="snd_RubberMetal" />
266 <Key Name="assetType" Value="1" />
267 <Key Name="fileName" Value="snd_RubberMetal.ogg" />
268 </Section>
269 <Section Name="snd_RubberGlass">
270 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0806202c9a66" />
271 <Key Name="name" Value="snd_RubberGlass" />
272 <Key Name="assetType" Value="1" />
273 <Key Name="fileName" Value="snd_RubberGlass.ogg" />
274 </Section>
275 <Section Name="snd_RubberWood">
276 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0806203c9a66" />
277 <Key Name="name" Value="snd_RubberWood" />
278 <Key Name="assetType" Value="1" />
279 <Key Name="fileName" Value="snd_RubberWood.ogg" />
280 </Section>
281 <Section Name="snd_RubberFlesh">
282 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0806204c9a66" />
283 <Key Name="name" Value="snd_RubberFlesh" />
284 <Key Name="assetType" Value="1" />
285 <Key Name="fileName" Value="snd_RubberFlesh.ogg" />
286 </Section>
287 <Section Name="snd_RubberPlastic">
288 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0806205c9a66" />
289 <Key Name="name" Value="snd_RubberPlastic" />
290 <Key Name="assetType" Value="1" />
291 <Key Name="fileName" Value="snd_RubberPlastic.ogg" />
292 </Section>
293 <Section Name="snd_RubberRubber">
294 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0806206c9a66" />
295 <Key Name="name" Value="snd_RubberRubber" />
296 <Key Name="assetType" Value="1" />
297 <Key Name="fileName" Value="snd_RubberRubber.ogg" />
298 </Section>
299 <Section Name="snd_TerrainStone">
300 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0807200c9a66" />
301 <Key Name="name" Value="snd_TerrainStone" />
302 <Key Name="assetType" Value="1" />
303 <Key Name="fileName" Value="snd_TerrainStone.ogg" />
304 </Section>
305 <Section Name="snd_TerrainMetal">
306 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0807201c9a66" />
307 <Key Name="name" Value="snd_TerrainMetal" />
308 <Key Name="assetType" Value="1" />
309 <Key Name="fileName" Value="snd_TerrainMetal.ogg" />
310 </Section>
311 <Section Name="snd_TerrainGlass">
312 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0807202c9a66" />
313 <Key Name="name" Value="snd_TerrainGlass" />
314 <Key Name="assetType" Value="1" />
315 <Key Name="fileName" Value="snd_TerrainGlass.ogg" />
316 </Section>
317 <Section Name="snd_TerrainWood">
318 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0807203c9a66" />
319 <Key Name="name" Value="snd_TerrainWood" />
320 <Key Name="assetType" Value="1" />
321 <Key Name="fileName" Value="snd_TerrainWood.ogg" />
322 </Section>
323 <Section Name="snd_TerrainFlesh">
324 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0807204c9a66" />
325 <Key Name="name" Value="snd_TerrainFlesh" />
326 <Key Name="assetType" Value="1" />
327 <Key Name="fileName" Value="snd_TerrainFlesh.ogg" />
328 </Section>
329 <Section Name="snd_TerrainPlastic">
330 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0807205c9a66" />
331 <Key Name="name" Value="snd_TerrainPlastic" />
332 <Key Name="assetType" Value="1" />
333 <Key Name="fileName" Value="snd_TerrainPlastic.ogg" />
334 </Section>
335 <Section Name="snd_TerrainRubber">
336 <Key Name="assetID" Value="be7295c0-a158-11e1-b3dd-0807206c9a66" />
337 <Key Name="name" Value="snd_TerrainRubber" />
338 <Key Name="assetType" Value="1" />
339 <Key Name="fileName" Value="snd_TerrainRubber.ogg" />
340 </Section>
341</Nini>
diff --git a/bin/assets/CollisionSoundsAssetSet/attribution.txt b/bin/assets/CollisionSoundsAssetSet/attribution.txt
new file mode 100644
index 0000000..876419b
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/attribution.txt
@@ -0,0 +1,8 @@
1thanvannispen - http://www.freesound.org/people/thanvannispen/sounds/30012/
2hoobtastic - http://www.freesound.org/people/hoobtastic/sounds/132627/
3kbnevel - http://www.freesound.org/people/kbnevel/sounds/119859/
4adcbicycle - http://www.freesound.org/people/adcbicycle/sounds/13856/
5adcbicycle - http://www.freesound.org/people/adcbicycle/sounds/13855/
6110110010 - http://www.freesound.org/people/110110010/sounds/66397/
7qubodup - http://www.freesound.org/people/qubodup/sounds/50941/
8vibe_crc - http://www.freesound.org/people/vibe_crc/sounds/59317/ \ No newline at end of file
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshFlesh.ogg
new file mode 100644
index 0000000..5f3aeb7
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_FleshFlesh.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshGlass.ogg
new file mode 100644
index 0000000..3a322c6
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_FleshGlass.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshMetal.ogg
new file mode 100644
index 0000000..edcf17a
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_FleshMetal.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshPlastic.ogg
new file mode 100644
index 0000000..acf53e5
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_FleshPlastic.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshRubber.ogg
new file mode 100644
index 0000000..6373610
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_FleshRubber.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshStone.ogg
new file mode 100644
index 0000000..eccbbb8
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_FleshStone.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshWood.ogg
new file mode 100644
index 0000000..6713380
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_FleshWood.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassFlesh.ogg
new file mode 100644
index 0000000..6951d44
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_GlassFlesh.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassGlass.ogg
new file mode 100644
index 0000000..1806a55
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_GlassGlass.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassMetal.ogg
new file mode 100644
index 0000000..f147024
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_GlassMetal.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassPlastic.ogg
new file mode 100644
index 0000000..204a4c6
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_GlassPlastic.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassRubber.ogg
new file mode 100644
index 0000000..243f185
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_GlassRubber.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassStone.ogg
new file mode 100644
index 0000000..0852135
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_GlassStone.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassWood.ogg
new file mode 100644
index 0000000..2c13690
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_GlassWood.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalFlesh.ogg
new file mode 100644
index 0000000..c11d19f
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_MetalFlesh.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalGlass.ogg
new file mode 100644
index 0000000..36348e1
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_MetalGlass.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalMetal.ogg
new file mode 100644
index 0000000..957b3c2
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_MetalMetal.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalPlastic.ogg
new file mode 100644
index 0000000..5674907
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_MetalPlastic.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalRubber.ogg
new file mode 100644
index 0000000..0f9ba2e
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_MetalRubber.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalStone.ogg
new file mode 100644
index 0000000..dc489d8
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_MetalStone.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalWood.ogg
new file mode 100644
index 0000000..de04317
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_MetalWood.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticFlesh.ogg
new file mode 100644
index 0000000..a9d6983
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_PlasticFlesh.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticGlass.ogg
new file mode 100644
index 0000000..c7dcdf1
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_PlasticGlass.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticMetal.ogg
new file mode 100644
index 0000000..4dd270f
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_PlasticMetal.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticPlastic.ogg
new file mode 100644
index 0000000..9994745
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_PlasticPlastic.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticRubber.ogg
new file mode 100644
index 0000000..e5c408f
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_PlasticRubber.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticStone.ogg
new file mode 100644
index 0000000..9865c6e
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_PlasticStone.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticWood.ogg
new file mode 100644
index 0000000..9f921b9
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_PlasticWood.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberFlesh.ogg
new file mode 100644
index 0000000..b56f7dc
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_RubberFlesh.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberGlass.ogg
new file mode 100644
index 0000000..9f44fca
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_RubberGlass.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberMetal.ogg
new file mode 100644
index 0000000..9ff064a
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_RubberMetal.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberPlastic.ogg
new file mode 100644
index 0000000..8e601b1
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_RubberPlastic.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberRubber.ogg
new file mode 100644
index 0000000..c84f8e5
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_RubberRubber.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberStone.ogg
new file mode 100644
index 0000000..d398f6f
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_RubberStone.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberWood.ogg
new file mode 100644
index 0000000..ebb24e3
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_RubberWood.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneFlesh.ogg
new file mode 100644
index 0000000..90275ad
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_StoneFlesh.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneGlass.ogg
new file mode 100644
index 0000000..b2b33cf
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_StoneGlass.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneMetal.ogg
new file mode 100644
index 0000000..accdfdf
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_StoneMetal.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StonePlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StonePlastic.ogg
new file mode 100644
index 0000000..15f93b6
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_StonePlastic.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneRubber.ogg
new file mode 100644
index 0000000..4b756ff
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_StoneRubber.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneStone.ogg
new file mode 100644
index 0000000..88b8033
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_StoneStone.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneWood.ogg
new file mode 100644
index 0000000..4a5b7f3
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_StoneWood.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainFlesh.ogg
new file mode 100644
index 0000000..1d3038a
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_TerrainFlesh.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainGlass.ogg
new file mode 100644
index 0000000..637fa16
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_TerrainGlass.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainMetal.ogg
new file mode 100644
index 0000000..919c59b
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_TerrainMetal.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainPlastic.ogg
new file mode 100644
index 0000000..23fa329
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_TerrainPlastic.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainRubber.ogg
new file mode 100644
index 0000000..c18d242
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_TerrainRubber.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainStone.ogg
new file mode 100644
index 0000000..6bd9e09
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_TerrainStone.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainWood.ogg
new file mode 100644
index 0000000..f405517
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_TerrainWood.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodFlesh.ogg
new file mode 100644
index 0000000..02621c2
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_WoodFlesh.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodGlass.ogg
new file mode 100644
index 0000000..03b7fb5
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_WoodGlass.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodMetal.ogg
new file mode 100644
index 0000000..e26afae
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_WoodMetal.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodPlastic.ogg
new file mode 100644
index 0000000..abe419b
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_WoodPlastic.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodRubber.ogg
new file mode 100644
index 0000000..30ccc32
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_WoodRubber.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodStone.ogg
new file mode 100644
index 0000000..ad96818
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_WoodStone.ogg
Binary files differ
diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodWood.ogg
new file mode 100644
index 0000000..76ae52c
--- /dev/null
+++ b/bin/assets/CollisionSoundsAssetSet/snd_WoodWood.ogg
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/GesturesAssetSet.xml b/bin/assets/GesturesAssetSet/GesturesAssetSet.xml
new file mode 100644
index 0000000..7421d8e
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/GesturesAssetSet.xml
@@ -0,0 +1,114 @@
1<Nini>
2 <Section Name="can we move along?">
3 <Key Name="name" Value="can we move along?" />
4 <Key Name="description" Value="2008-10-03 14:10:00 gesture" />
5 <Key Name="assetID" Value="5954170e-e6bc-44f6-96a9-2c02a382165a" />
6 <Key Name="assetType" Value="21" />
7 <Key Name="fileName" Value="can_we_move_along_.dat" />
8 </Section>
9 <Section Name="me!">
10 <Key Name="name" Value="me!" />
11 <Key Name="description" Value="2008-10-03 14:17:16 gesture" />
12 <Key Name="assetID" Value="652475bc-ffb7-4a18-b6bb-7731ddeb6a51" />
13 <Key Name="assetType" Value="21" />
14 <Key Name="fileName" Value="me_.dat" />
15 </Section>
16 <Section Name="clap">
17 <Key Name="name" Value="clap" />
18 <Key Name="description" Value="2008-10-03 14:29:00 gesture" />
19 <Key Name="assetID" Value="712e81fd-a215-498c-ab1a-caf1f5bf950d" />
20 <Key Name="assetType" Value="21" />
21 <Key Name="fileName" Value="clap.dat" />
22 </Section>
23 <Section Name="no">
24 <Key Name="name" Value="no" />
25 <Key Name="description" Value="2008-10-03 14:10:03 gesture" />
26 <Key Name="assetID" Value="6c123970-0f5a-448e-920a-07bae9aadf4c" />
27 <Key Name="assetType" Value="21" />
28 <Key Name="fileName" Value="no.dat" />
29 </Section>
30 <Section Name="suprised">
31 <Key Name="name" Value="suprised" />
32 <Key Name="description" Value="2008-10-03 14:17:13 gesture" />
33 <Key Name="assetID" Value="dbaf104b-cba8-4df7-b5d3-0cb57d0d63b2" />
34 <Key Name="assetType" Value="21" />
35 <Key Name="fileName" Value="suprised.dat" />
36 </Section>
37 <Section Name="dance2">
38 <Key Name="name" Value="dance2" />
39 <Key Name="description" Value="2008-10-03 14:33:04 gesture" />
40 <Key Name="assetID" Value="3bd1792a-6756-4ee0-a54e-3ae6493c2036" />
41 <Key Name="assetType" Value="21" />
42 <Key Name="fileName" Value="dance2.dat" />
43 </Section>
44 <Section Name="definitely YES">
45 <Key Name="name" Value="definitely YES" />
46 <Key Name="description" Value="2008-10-03 14:09:55 gesture" />
47 <Key Name="assetID" Value="392c292f-3d27-45ff-9437-c79c06699237" />
48 <Key Name="assetType" Value="21" />
49 <Key Name="fileName" Value="definitely_YES.dat" />
50 </Section>
51 <Section Name="Wave">
52 <Key Name="name" Value="Wave" />
53 <Key Name="description" Value="2008-10-03 14:01:58 gesture" />
54 <Key Name="assetID" Value="cce0e317-2c49-411e-8716-f9ce3007c715" />
55 <Key Name="assetType" Value="21" />
56 <Key Name="fileName" Value="Wave.dat" />
57 </Section>
58 <Section Name="take it outside">
59 <Key Name="name" Value="take it outside" />
60 <Key Name="description" Value="2008-10-03 14:09:45 gesture" />
61 <Key Name="assetID" Value="d082bd28-f655-43b7-a0eb-cb80db03753e" />
62 <Key Name="assetType" Value="21" />
63 <Key Name="fileName" Value="take_it_outside.dat" />
64 </Section>
65 <Section Name="whoohoo!">
66 <Key Name="name" Value="whoohoo!" />
67 <Key Name="description" Value="2008-10-03 14:10:06 gesture" />
68 <Key Name="assetID" Value="7f7384c0-848c-4bf0-8e83-50879981e1a4" />
69 <Key Name="assetType" Value="21" />
70 <Key Name="fileName" Value="whoohoo_.dat" />
71 </Section>
72 <Section Name="raise hand">
73 <Key Name="name" Value="raise hand" />
74 <Key Name="description" Value="2008-10-03 14:03:01 gesture" />
75 <Key Name="assetID" Value="2d0819cf-452b-4db8-b7ac-cda443bc89e7" />
76 <Key Name="assetType" Value="21" />
77 <Key Name="fileName" Value="raise_hand.dat" />
78 </Section>
79 <Section Name="LOL">
80 <Key Name="name" Value="LOL" />
81 <Key Name="description" Value="2008-10-03 14:09:57 gesture" />
82 <Key Name="assetID" Value="d545ac78-09cc-4811-8700-8df1a37d7f56" />
83 <Key Name="assetType" Value="21" />
84 <Key Name="fileName" Value="LOL.dat" />
85 </Section>
86 <Section Name="dance1">
87 <Key Name="name" Value="dance1" />
88 <Key Name="description" Value="2008-10-03 14:32:33 gesture" />
89 <Key Name="assetID" Value="9cc5bb24-bacf-44f9-a1d0-d409e6ccfa6c" />
90 <Key Name="assetType" Value="21" />
91 <Key Name="fileName" Value="dance1.dat" />
92 </Section>
93 <Section Name="wink!">
94 <Key Name="name" Value="wink!" />
95 <Key Name="description" Value="2008-10-03 14:17:09 gesture" />
96 <Key Name="assetID" Value="67d47cd0-9634-4c99-97db-ddce9bda467c" />
97 <Key Name="assetType" Value="21" />
98 <Key Name="fileName" Value="wink_.dat" />
99 </Section>
100 <Section Name="not sure">
101 <Key Name="name" Value="not sure" />
102 <Key Name="description" Value="2008-10-03 14:10:09 gesture" />
103 <Key Name="assetID" Value="9bc46cd2-95cb-456d-9070-a4439e42af9e" />
104 <Key Name="assetType" Value="21" />
105 <Key Name="fileName" Value="not_sure.dat" />
106 </Section>
107 <Section Name="dance3">
108 <Key Name="name" Value="dance3" />
109 <Key Name="description" Value="2008-10-03 14:33:41 gesture" />
110 <Key Name="assetID" Value="fd9ad83a-4921-4b6e-8b8e-558556d9f503" />
111 <Key Name="assetType" Value="21" />
112 <Key Name="fileName" Value="dance3.dat" />
113 </Section>
114</Nini>
diff --git a/bin/assets/GesturesAssetSet/LOL.dat b/bin/assets/GesturesAssetSet/LOL.dat
new file mode 100644
index 0000000..6950d99
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/LOL.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/Wave.dat b/bin/assets/GesturesAssetSet/Wave.dat
new file mode 100644
index 0000000..92d9091
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/Wave.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/can_we_move_along_.dat b/bin/assets/GesturesAssetSet/can_we_move_along_.dat
new file mode 100644
index 0000000..4858433
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/can_we_move_along_.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/clap.dat b/bin/assets/GesturesAssetSet/clap.dat
new file mode 100644
index 0000000..1542cc0
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/clap.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/dance1.dat b/bin/assets/GesturesAssetSet/dance1.dat
new file mode 100644
index 0000000..5ee085a
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/dance1.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/dance2.dat b/bin/assets/GesturesAssetSet/dance2.dat
new file mode 100644
index 0000000..346fcb1
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/dance2.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/dance3.dat b/bin/assets/GesturesAssetSet/dance3.dat
new file mode 100644
index 0000000..fab2008
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/dance3.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/definitely_YES.dat b/bin/assets/GesturesAssetSet/definitely_YES.dat
new file mode 100644
index 0000000..7a9819c
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/definitely_YES.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/me_.dat b/bin/assets/GesturesAssetSet/me_.dat
new file mode 100644
index 0000000..36df1a9
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/me_.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/no.dat b/bin/assets/GesturesAssetSet/no.dat
new file mode 100644
index 0000000..5d818cf
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/no.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/not_sure.dat b/bin/assets/GesturesAssetSet/not_sure.dat
new file mode 100644
index 0000000..2f5a2b4
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/not_sure.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/raise_hand.dat b/bin/assets/GesturesAssetSet/raise_hand.dat
new file mode 100644
index 0000000..a373259
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/raise_hand.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/suprised.dat b/bin/assets/GesturesAssetSet/suprised.dat
new file mode 100644
index 0000000..7160c42
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/suprised.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/take_it_outside.dat b/bin/assets/GesturesAssetSet/take_it_outside.dat
new file mode 100644
index 0000000..f344e6f
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/take_it_outside.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/whoohoo_.dat b/bin/assets/GesturesAssetSet/whoohoo_.dat
new file mode 100644
index 0000000..22088a6
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/whoohoo_.dat
Binary files differ
diff --git a/bin/assets/GesturesAssetSet/wink_.dat b/bin/assets/GesturesAssetSet/wink_.dat
new file mode 100644
index 0000000..e9d9be7
--- /dev/null
+++ b/bin/assets/GesturesAssetSet/wink_.dat
Binary files differ
diff --git a/bin/assets/LandmarksAssetSet/LandmarksAssetSet.xml b/bin/assets/LandmarksAssetSet/LandmarksAssetSet.xml
new file mode 100644
index 0000000..3b9154a
--- /dev/null
+++ b/bin/assets/LandmarksAssetSet/LandmarksAssetSet.xml
@@ -0,0 +1,3 @@
1<Nini>
2
3</Nini>
diff --git a/bin/assets/MyAssetSet/MyAssetSet.xml b/bin/assets/MyAssetSet/MyAssetSet.xml
new file mode 100644
index 0000000..7c21be4
--- /dev/null
+++ b/bin/assets/MyAssetSet/MyAssetSet.xml
@@ -0,0 +1,2 @@
1<Nini>
2</Nini>
diff --git a/bin/assets/NotecardsAssetSet/NotecardsAssetSet.xml b/bin/assets/NotecardsAssetSet/NotecardsAssetSet.xml
new file mode 100644
index 0000000..1d44a04
--- /dev/null
+++ b/bin/assets/NotecardsAssetSet/NotecardsAssetSet.xml
@@ -0,0 +1,14 @@
1<Nini>
2 <Section Name="Welcome notecard">
3 <Key Name="assetID" Value="00000000-0000-2222-3333-000000000001" />
4 <Key Name="name" Value="WelcomeNote" />
5 <Key Name="assetType" Value="7" />
6 <Key Name="fileName" Value="welcomeNote.txt" />
7 </Section>
8 <Section Name="Example notecard">
9 <Key Name="assetID" Value="8d1ada50-b9c7-11dc-95ff-0800200c9a66" />
10 <Key Name="name" Value="WelcomeNote" />
11 <Key Name="assetType" Value="7" />
12 <Key Name="fileName" Value="exampleNote.txt" />
13 </Section>
14</Nini>
diff --git a/bin/assets/NotecardsAssetSet/exampleNote.txt b/bin/assets/NotecardsAssetSet/exampleNote.txt
new file mode 100644
index 0000000..e4b6ced
--- /dev/null
+++ b/bin/assets/NotecardsAssetSet/exampleNote.txt
@@ -0,0 +1 @@
This is a test, this is only a test. Had this been an actual emergency, I would have sent the LoLKat after you :-P......
diff --git a/bin/assets/NotecardsAssetSet/welcomeNote.txt b/bin/assets/NotecardsAssetSet/welcomeNote.txt
new file mode 100644
index 0000000..a012a01
--- /dev/null
+++ b/bin/assets/NotecardsAssetSet/welcomeNote.txt
@@ -0,0 +1,4 @@
1
2Hello and thank you for using OpenSim. For more infomation visit http://opensimulator.org/wiki/Main_Page
3
4In this Library you will find example items to play with and learn on. To use any of these items just double click and/or drag them to the respective folder in your base inventory. Then you can drag them to prims.
diff --git a/bin/assets/ObjectsAssetSet/ObjectsAssetSet.xml b/bin/assets/ObjectsAssetSet/ObjectsAssetSet.xml
new file mode 100644
index 0000000..3b9154a
--- /dev/null
+++ b/bin/assets/ObjectsAssetSet/ObjectsAssetSet.xml
@@ -0,0 +1,3 @@
1<Nini>
2
3</Nini>
diff --git a/bin/assets/PhotosAssetSet/PhotosAssetSet.xml b/bin/assets/PhotosAssetSet/PhotosAssetSet.xml
new file mode 100644
index 0000000..3b9154a
--- /dev/null
+++ b/bin/assets/PhotosAssetSet/PhotosAssetSet.xml
@@ -0,0 +1,3 @@
1<Nini>
2
3</Nini>
diff --git a/bin/assets/README.txt b/bin/assets/README.txt
new file mode 100644
index 0000000..02cc78f
--- /dev/null
+++ b/bin/assets/README.txt
@@ -0,0 +1,12 @@
1README
2
3OpenSim comes with a default asset set contained in the OpenSimAssetSet
4directory. You can also load up your own asset set to OpenSim on startup by
5making a file entry in AssetSets.xml. This file should point towards an XML
6file which details the assets in your asset set. The
7OpenSimAssetSet/OpenSimAssetSet.xml is a good template for the information
8required.
9
10If you want your assets to show up in the standard inventory library for an
11avatar, you will also need to add separate entries to the xml files in the
12bin/inventory configuration directory.
diff --git a/bin/assets/ScriptsAssetSet/GrafittiBoard.lsl b/bin/assets/ScriptsAssetSet/GrafittiBoard.lsl
new file mode 100644
index 0000000..83adfb1
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/GrafittiBoard.lsl
@@ -0,0 +1,74 @@
1// Grafitti board 0.0.2 for OpenSim
2// By Justin Clark-Casey (justincc)
3// http://justincc.wordpress.com
4
5// This script is available under the BSD License
6
7string text = "";
8
9integer LISTENING_CHANNEL = 43;
10
11// XXX Only putting this here as well to get around OpenSim's int -> string casting oddness
12string LISTENING_CHANNEL_STRING = "43";
13
14// FIXME: Should be dynamic!
15integer CHARS_WIDTH = 42;
16
17// Add some additional graffiti
18addGraffiti(string message)
19{
20 while (llStringLength(message) > CHARS_WIDTH)
21 {
22 text += "\n\n" + llGetSubString(message, 0, CHARS_WIDTH - 1);
23 message = llDeleteSubString(message, 0, CHARS_WIDTH - 1);
24 }
25
26 text += "\n\n" + message;
27}
28
29// Clear the existing graffiti
30clearGraffiti()
31{
32 text = "";
33}
34
35// Actually fires the graffiti out to the dynamic texture module
36draw()
37{
38 //llSay(0, text);
39 string drawList = "PenColour BLACK; MoveTo 40,220; FontSize 32; Text " + text + ";";
40
41 osSetDynamicTextureData("", "vector", drawList, "1024", 0);
42}
43
44default
45{
46 state_entry()
47 {
48 llSetText(
49 "Say /" + LISTENING_CHANNEL_STRING + " <message> to add text."
50 + " Say /" + LISTENING_CHANNEL_STRING
51 + " !clear to clear board",
52 <0.0, 1.0, 0.0>, 1.0);
53
54 llListen(LISTENING_CHANNEL, "", NULL_KEY, "");
55
56 addGraffiti("justincc's graffiti board v0.0.2");
57 addGraffiti("Now with primitive word wrap!");
58 draw();
59 }
60
61 listen(integer channel, string name, key id, string message)
62 {
63 if (message == "!clear")
64 {
65 clearGraffiti();
66 }
67 else
68 {
69 addGraffiti(message);
70 }
71
72 draw();
73 }
74}
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test01.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test01.lsl
new file mode 100644
index 0000000..5f8a0aa
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test01.lsl
@@ -0,0 +1,13 @@
1default
2{
3 state_entry()
4 {
5 llSay( 0, "Hello, Avatar!");
6 }
7
8 touch_start(integer total_number)
9 {
10 llSay( 0, "Touched.");
11 }
12}
13
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test02.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test02.lsl
new file mode 100644
index 0000000..2506d95
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test02.lsl
@@ -0,0 +1,31 @@
1integer counter;
2
3default
4{
5 state_entry()
6 {
7 llSay( 0, "Hello, Avatar! Touch to change color and size.");
8 counter = 0;
9 }
10
11 touch_start(integer total_number)
12 { // do these instructions when the object is touched.
13 counter = counter + 1;
14
15 // choose three random RGB color components between 0. and 1.0.
16 float redness = llFrand( 1.0 );
17 float greenness = llFrand( 1.0 );
18 float blueness = llFrand( 1.0 );
19
20 // combine color components into a vector and use that vector
21 // to set object color.
22 vector prim_color = < redness, greenness, blueness >;
23 llSetColor( prim_color, ALL_SIDES ); // set object color to new color.
24
25 // choose a random number between 0. and 10. for use as a scale factor.
26 float new_scale = llFrand(10.0) + 1.0;
27 llSetScale(< new_scale, new_scale, new_scale > ); // set object scale.
28 llSay( 0, "Touched by angel number " + (string)counter);
29 }
30}
31
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test03.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test03.lsl
new file mode 100644
index 0000000..f371ee9
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test03.lsl
@@ -0,0 +1,49 @@
1integer counter;
2integer second;
3
4default
5{
6 state_entry()
7 {
8 llSay( 0, "Hello, Avatar! Touch to change color and size.");
9 counter = 0;
10 }
11
12 touch_start(integer total_number)
13 {
14 counter = counter + 1;
15
16 llSay( 0, "Touched by angel number " + (string)counter);
17
18 llSetTimerEvent( 2 ); // create a "timer event" every 2 seconds.
19 }
20
21 timer() // do these instructions every time the timer event occurs.
22 {
23 second++;
24
25 // choose three random RGB color components between 0. and 1.0.
26 float red = llFrand( 1.0 );
27 float green = llFrand( 1.0 );
28 float blue = llFrand( 1.0 );
29
30 // combine color components into a vector and use that vector
31 // to set object color.
32 vector prim_color = < red, green, blue >;
33 llSetColor( prim_color, ALL_SIDES ); // set object color to new color.
34
35 // a choose random number between 0. and 10 for use as a scale factor.
36 float new_scale = llFrand( 10.0 );
37 llSetScale(< new_scale, new_scale, new_scale > ); // set object scale.
38
39 if ( second > 19 ) // then time to wrap this up.
40 {
41 // turn object black, print "resting" message, and reset object....
42 llSetColor( < 0, 0, 0 >, ALL_SIDES );
43
44 llSay( 0, "Object now resting and resetting script." );
45 llResetScript(); // return object to ready state.
46 }
47 }
48}
49
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test04.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test04.lsl
new file mode 100644
index 0000000..5aa25af
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test04.lsl
@@ -0,0 +1,51 @@
1integer counter;
2integer second;
3vector startPosition;
4
5default
6{
7 state_entry()
8 {
9 llSay( 0, "Hello, Avatar! Touch to change position.");
10 counter = 0;
11 startPosition = llGetPos();
12 }
13
14 touch_start(integer total_number)
15 {
16 counter = counter + 1;
17
18 llSay( 0, "Touched by angel number " + (string)counter);
19
20 llSetTimerEvent( 1 ); // arrange for a "timer event" every second.
21 }
22
23 timer() // do these instructions every time the timer event occurs.
24 {
25 second++;
26
27 // choose three random distances between 0. and 10.0.
28 float X_distance = llFrand( 10.0 );
29 float Y_distance = llFrand( 10.0 );
30 float Z_distance = llFrand( 10.0 );
31
32 // combine these distance components into a vector and use it
33 // to increment the starting position and reposition the object.
34 vector increment = < X_distance, Y_distance, Z_distance >;
35 vector newPosition = startPosition + increment;
36 llSetPos( newPosition ); // reposition object.
37
38 if ( second > 19 ) // then time to wrap this up.
39 {
40 // move object back to starting position...
41 while ( llVecDist( llGetPos(), startPosition ) > 0.001)
42 {
43 llSetPos( startPosition );
44 }
45
46 llSay( 0, "Object now resting and resetting script." );
47 llResetScript(); // return object to ready state.
48 }
49 }
50}
51
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test05.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test05.lsl
new file mode 100644
index 0000000..86727cf
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test05.lsl
@@ -0,0 +1,30 @@
1default
2{
3 state_entry()
4 {
5 llSay( 0, "Hello, Avatar!");
6 vector startPoint = llGetPos();
7 }
8
9 touch_start(integer total_number)
10 {
11 llSay( 0, "Touched." );
12
13 // Define a rotation of 10 degrees around the Y-axis.
14 rotation Y_10 = llEuler2Rot( < 0, 10 * DEG_TO_RAD, 0 > );
15
16 // now rotate the object 10 degrees in the X-Z plane during
17 // each loop iteration. note that each call to llSetRot
18 // causes a .2 second delay.
19 integer i;
20 for( i = 1; i < 100; i++ )
21 {
22 // rotate object in the X-Z plane around its own Y-axis.
23 rotation newRotation = llGetRot() * Y_10;
24
25 llSetRot( newRotation );
26 }
27 llSay( 0, "Rotation stopped" );
28 }
29}
30
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test06.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test06.lsl
new file mode 100644
index 0000000..158d676
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test06.lsl
@@ -0,0 +1,8 @@
1default
2{
3 state_entry()
4 {
5 llTargetOmega( < 0, 1, 1 >, .2 * PI, 1.0 );
6 }
7}
8
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test07.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test07.lsl
new file mode 100644
index 0000000..a1258f9
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test07.lsl
@@ -0,0 +1,38 @@
1vector rotationCenter;
2
3default
4{
5 state_entry()
6 {
7 llSay( 0, "Hello, Avatar!");
8 vector startPoint = llGetPos();
9 rotationCenter = startPoint + < 3, 3, 3 >;
10 // distance to the point of rotation should probably be a
11 // function of the max dimension of the object.
12 }
13
14 touch_start(integer total_number)
15 {
16 llSay( 0, "Touched." );
17
18 // Define a "rotation" of 10 degrees around the z-axis.
19 rotation Z_15 = llEuler2Rot( < 0, 0, 15 * DEG_TO_RAD > );
20
21 integer i;
22 for( i = 1; i < 100; i++ ) // limit simulation time in case of
23 { // unexpected behavior.
24 vector currentPosition = llGetPos();
25
26 vector currentOffset = currentPosition - rotationCenter;
27
28 // rotate the offset vector in the X-Y plane around the
29 // distant point of rotation.
30 vector rotatedOffset = currentOffset * Z_15;
31 vector newPosition = rotationCenter + rotatedOffset;
32
33 llSetPos( newPosition );
34 }
35 llSay( 0, "Orbiting stopped" );
36 }
37}
38
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test08.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test08.lsl
new file mode 100644
index 0000000..d29428c
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test08.lsl
@@ -0,0 +1,23 @@
1default
2{
3 state_entry()
4 {
5 llSay( 0, "Hello, Avatar! Touch to launch me straight up.");
6 llSetStatus( 1, TRUE ); // turn on physics.
7 }
8
9 touch_start(integer total_number)
10 {
11 vector start_color = llGetColor( ALL_SIDES ); // save current color.
12 llSetColor( < 1.0, 0.0, 0.0 > , ALL_SIDES ); // set color to red.
13
14 float objMass = llGetMass();
15 float Z_force = 20.0 * objMass;
16
17 llApplyImpulse( < 0.0, 0.0, Z_force >, FALSE );
18
19 llSay( 0, "Impulse of " + (string)Z_force + " applied." );
20 llSetColor( start_color , ALL_SIDES ); // set color to green.
21 }
22}
23
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test09.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test09.lsl
new file mode 100644
index 0000000..095f942
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test09.lsl
@@ -0,0 +1,71 @@
1vector startPos;
2vector curPos;
3vector curForce;
4integer second;
5
6default
7{
8 state_entry()
9 {
10 llSay( 0, "Hello, Avatar! Touch to launch me straight up.");
11 llSetStatus( 1, TRUE );
12 startPos = < 0, 0, 0 >;
13 }
14
15 touch_start(integer total_number)
16 {
17 startPos = llGetPos();
18 curPos = startPos;
19 curForce = < 0, 0, 0 >;
20 second = 0;
21
22 llSetColor( < 1.0, 0.0, 0.0 > , ALL_SIDES ); // set color to red.
23
24 float objMass = llGetMass();
25 float Z_force = 10.2 * objMass;
26
27 llSetForce( < 0.0, 0.0, Z_force >, FALSE );
28
29 llSay( 0, "Force of " + (string)Z_force + " being applied." );
30 llSetTimerEvent(1);
31 }
32
33 timer()
34 {
35 second++;
36 curPos = llGetPos();
37 float curDisplacement = llVecMag( curPos - startPos );
38
39 if( ( curDisplacement > 30. ) && // then object is too far away, and
40 ( llGetForce() != < 0.0, 0.0, 0.0 > ) ) // force not already zero,
41 { // then let gravity take over, and change color to green.
42 llSetForce( < 0.0, 0.0, 0.0 >, FALSE );
43 llSetColor( < 0, 1.0, 0 >, ALL_SIDES );
44 llSay( 0, "Force removed; object in free flight." );
45 }
46
47 if ( second > 19 ) // then time to wrap this up.
48 {
49 // turn object blue and zero force to be safe....
50 llSetColor( < 0, 0, 1.0 >, ALL_SIDES ); // change color to blue.
51 llSetForce( < 0, 0, 0 >, FALSE );
52
53 // ...move object back to starting position...
54 // ...after saving current status of Physics attribute.
55 integer savedStatus = llGetStatus( 1 );
56 llSetStatus( 1, FALSE ); // turn physics off.
57 while ( llVecDist( llGetPos(), startPos ) > 0.001)
58 {
59 llSetPos( startPos );
60 }
61 llSetStatus( 1, savedStatus ); // restore Physics status.
62
63 //...and then turn color to black and Reset the script.
64 llSetColor( < 1, 1, 1 >, ALL_SIDES );
65 llSetTimerEvent( 0 ); // turn off timer events.
66 llSay( 0, "Done and resetting script." );
67 llResetScript(); // return object to ready state.
68 }
69 }
70}
71
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test10.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test10.lsl
new file mode 100644
index 0000000..de16df7
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test10.lsl
@@ -0,0 +1,57 @@
1vector startPosition;
2float groundLevel;
3
4default
5{
6 state_entry()
7 {
8 llListen( 0, "", llGetOwner(), "");
9
10 startPosition = llGetPos();
11 groundLevel = llGround( startPosition );
12
13 llSay( 0, "Control this object with chat commands like:" );
14 llSay( 0, "'up' or 'down' followed by a distance." );
15 }
16
17 listen( integer channel, string name, key id, string message )
18 {
19 // separate the input into blank-delmited tokens.
20 list parsed = llParseString2List( message, [ " " ], [] );
21
22 // get the first part--the "command".
23 string command = llList2String( parsed, 0 );
24
25 // get the second part--the "distance".
26 string distance_string = llList2String( parsed, 1 );
27 float distance = ( float )distance_string;
28
29 vector position = llGetPos();
30
31 if( command == "up" )
32 {
33 if( ( position.z + distance ) < (startPosition.z + 10.0 ) )
34 {
35 llSetPos( llGetPos() + < 0, 0, distance > ); // move up
36 llSetText( "Went up " + (string)distance, < 1, 0, 0 >, 1 );
37 }
38 else
39 {
40 llSetText( "Can't go so high.", < 1, 0, 0 >, 1 );
41 }
42 }
43 else if( command == "down" )
44 {
45 if( ( position.z - distance ) > groundLevel )
46 {
47 llSetPos( llGetPos() + < 0, 0, -distance > ); // move down
48 llSetText( "Went down " + (string)distance, < 1, 0, 0 >, 1 );
49 }
50 else
51 {
52 llSetText( "Can't go so low.", < 1, 0, 0 >, 1 );
53 }
54 }
55 }
56}
57
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test11.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test11.lsl
new file mode 100644
index 0000000..e4b4048
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test11.lsl
@@ -0,0 +1,52 @@
1integer dialog_channel= 427; // set a dialog channel
2list menu = [ "Go up", "Go down" ];
3vector startPosition;
4float groundLevel;
5
6default
7{
8 state_entry()
9 {
10 // arrange to listen for dialog answers (from multiple users)
11 llListen( dialog_channel, "", NULL_KEY, "");
12
13 startPosition = llGetPos();
14 groundLevel = llGround( startPosition );
15 }
16
17 touch_start(integer total_number)
18 {
19 llDialog( llDetectedKey( 0 ), "What do you want to do?", menu,
20 dialog_channel );
21 }
22
23 listen(integer channel, string name, key id, string choice )
24 {
25 vector position = llGetPos();
26
27 // if a valid choice was made, implement that choice if possible.
28 // (llListFindList returns -1 if choice is not in the menu list.)
29 if ( llListFindList( menu, [ choice ]) != -1 )
30 {
31 if ( choice == "Go up" )
32 {
33 if( position.z < ( startPosition.z + 10.0 ) )
34 {
35 llSetPos( llGetPos() + < 0, 0, 1.0 > ); // move up
36 }
37 }
38 else if( choice == "Go down" )
39 {
40 if( position.z > ( groundLevel + 1.0 ) )
41 {
42 llSetPos( llGetPos() + < 0, 0, -1.0 > ); // move down
43 }
44 }
45 }
46 else
47 {
48 llSay( 0, "Invalid choice: " + choice );
49 }
50 }
51}
52
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test12.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test12.lsl
new file mode 100644
index 0000000..eaa885b
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test12.lsl
@@ -0,0 +1,46 @@
1vector startPosition;
2float groundLevel;
3
4default
5{
6 state_entry()
7 {
8 // get permission to take over the avatar's control inputs.
9 llRequestPermissions( llGetOwner(), PERMISSION_TAKE_CONTROLS );
10
11 startPosition = llGetPos();
12 groundLevel = llGround( startPosition );
13 }
14
15 run_time_permissions( integer perm ) // event for processing
16 // permission dialog.
17 {
18 if ( perm & PERMISSION_TAKE_CONTROLS ) // permission has been given.
19 {
20 // go ahead and take over the forward and backward controls.
21 llTakeControls( CONTROL_FWD | CONTROL_BACK, TRUE, FALSE );
22 }
23 }
24
25 control( key id, integer held, integer change ) // event for processing
26 // key press.
27 {
28 vector position = llGetPos();
29
30 if ( change & held & CONTROL_FWD )
31 { // the "move forward" control has been activated.
32 if( position.z < (startPosition.z + 10.0) )
33 {
34 llSetPos( llGetPos() + < 0, 0, 1.0 >); // move up
35 }
36 }
37 else if ( change & held & CONTROL_BACK )
38 { // the "move backward" key has been activated.
39 if( position.z > groundLevel + 1.0 )
40 {
41 llSetPos( llGetPos() + < 0, 0, -1.0 >); // move down
42 }
43 }
44 }
45}
46
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test13.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test13.lsl
new file mode 100644
index 0000000..7238a9b
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test13.lsl
@@ -0,0 +1,16 @@
1default
2{
3 state_entry()
4 {
5 llSay( 0, "Hello, Avatar!");
6 }
7
8 touch_start(integer total_number)
9 {
10 llSay( 0, "Touched.");
11
12 llRezObject("Object1", llGetPos() + < 0, 0, 2 >, ZERO_VECTOR,
13 ZERO_ROTATION, 42);
14 }
15}
16
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test14.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test14.lsl
new file mode 100644
index 0000000..2c60035
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test14.lsl
@@ -0,0 +1,70 @@
1integer createdObjectCounter;
2integer linkedObjectCounter;
3
4default
5{
6 state_entry()
7 {
8 llSay( 0, "Hello, Avatar!");
9 linkedObjectCounter = 0; // zero the linked object counter.
10 }
11
12 touch_start(integer total_number)
13 {
14 if( createdObjectCounter <= 0 ) // nothing has yet been linked,
15 { // begin object creation sequence...
16 // ask for permissions now, since it will be too late later.
17 llRequestPermissions( llGetOwner(), PERMISSION_CHANGE_LINKS );
18 }
19 else // just do whatever should be done upon touch without
20 { // creating new objects to link.
21 // insert commands here to respond to a touch.
22 }
23 }
24
25 run_time_permissions( integer permissions_granted )
26 {
27 if( permissions_granted == PERMISSION_CHANGE_LINKS )
28 { // create 2 objects.
29 llRezObject("Object1", llGetPos() + < 1, 0, 2 >,
30 ZERO_VECTOR, ZERO_ROTATION, 42);
31 createdObjectCounter = createdObjectCounter + 1;
32
33 llRezObject("Object1", llGetPos() + < -1, 0, 2 >,
34 ZERO_VECTOR, ZERO_ROTATION, 42);
35 createdObjectCounter = createdObjectCounter + 1;
36
37 }
38 else
39 {
40 llOwnerSay( "Didn't get permission to change links." );
41 return;
42 }
43 }
44
45 object_rez( key child_id )
46 {
47 llOwnerSay( "rez happened and produced object with key " +
48 (string)child_id );
49
50 // link as parent to the just created child.
51 llCreateLink( child_id, TRUE );
52
53 // if all child objects have been created then the script can
54 // continue to work as a linked set of objects.
55 linkedObjectCounter++;
56 if( linkedObjectCounter >= 2 )
57 {
58 // Change all child objects in the set to red (including parent).
59 llSetLinkColor( LINK_ALL_CHILDREN, < 1, 0, 0 >, ALL_SIDES );
60
61 // Make child object "2" half-tranparent.
62 llSetLinkAlpha( 2, .5, ALL_SIDES );
63
64 // Insert commands here to manage subsequent activity of the
65 // linkset, like this command to rotate the result:
66 // llTargetOmega( < 0, 1, 1 >, .2 * PI, 1.0 );
67 }
68 }
69}
70
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test15.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test15.lsl
new file mode 100644
index 0000000..425c9ee
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test15.lsl
@@ -0,0 +1,10 @@
1default
2{
3 state_entry()
4 {
5 llSetStatus(STATUS_PHANTOM,TRUE);
6 llSetTexture("lit_texture", ALL_SIDES);
7 llSetTextureAnim (ANIM_ON | LOOP, ALL_SIDES, 4, 4, 0, 0, 15.0);
8 }
9}
10
diff --git a/bin/assets/ScriptsAssetSet/KanEd-Test16.lsl b/bin/assets/ScriptsAssetSet/KanEd-Test16.lsl
new file mode 100644
index 0000000..536ff19
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/KanEd-Test16.lsl
@@ -0,0 +1,66 @@
1// This is a script designed to orbit its owner.
2vector startPos;
3vector curPos;
4
5vector offset; // offset from Agent
6integer iteration;
7float rotationRate; // degrees of rotation per iteration
8float sensorInterval; // seconds between sensor scan.
9
10default
11{
12 state_entry()
13 {
14 llOwnerSay( "Hello, Avatar! Touch to start orbiting." );
15 llSetStatus( 1, FALSE ); // turn Physics off.
16 offset = < 2, 2, 1 >;
17 iteration = 0;
18 rotationRate = .5;
19 sensorInterval = .3;
20 }
21
22 touch_start(integer total_number)
23 {
24 startPos = llGetPos();
25 curPos = startPos;
26
27 llSleep( .1 );
28
29 key id = llGetOwner();
30 llSensorRepeat( "", id, AGENT, 96, PI, sensorInterval );
31 }
32
33 sensor(integer total_number)
34 {
35 iteration++;
36
37 if( iteration > 300 )
38 {
39 llResetScript();
40 }
41
42 if( llDetectedOwner( 0 ) == llGetOwner() )
43 { // the detected Agent is my owner.
44 vector position = llDetectedPos(0); // find Owner position.
45
46 // calculate next object position relative both to the Owner's
47 // position and the current time interval counter. That is,
48 // use the iteration counter to define a rotation, multiply
49 // the rotation by the constant offset to get a rotated offset
50 // vector, and add that rotated offset to the current position
51 // to defne the new position.
52
53 float degreeRotation = llRound( rotationRate * iteration ) % 360;
54 rotation Rotation =
55 llEuler2Rot( < 0, 0, degreeRotation * DEG_TO_RAD > );
56 vector rotatedOffset = offset * Rotation;
57 position += rotatedOffset;
58
59 // change the location of the object and save the current (rotated)
60 // offset for use during the next iteration.
61 llSetPos( position );
62 offset = rotatedOffset;
63 }
64 }
65}
66
diff --git a/bin/assets/ScriptsAssetSet/ScriptsAssetSet.xml b/bin/assets/ScriptsAssetSet/ScriptsAssetSet.xml
new file mode 100644
index 0000000..eae9642
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/ScriptsAssetSet.xml
@@ -0,0 +1,243 @@
1<Nini>
2 <Section Name="llAbs">
3 <Key Name="assetID" Value="3b055e3f-b19d-11dc-8314-0800200c9a66" />
4 <Key Name="name" Value="llAbs" />
5 <Key Name="assetType" Value="10" />
6 <Key Name="fileName" Value="llAbs.lsl" />
7 </Section>
8 <Section Name="llAcos">
9 <Key Name="assetID" Value="6519bf39-b19f-11dc-8314-0800200c9a66" />
10 <Key Name="name" Value="llAcos" />
11 <Key Name="assetType" Value="10" />
12 <Key Name="fileName" Value="llAcos.lsl" />
13 </Section>
14 <Section Name="llAddToLandBanList">
15 <Key Name="assetID" Value="7ceba3f1-b1a0-11dc-8314-0800200c9a66" />
16 <Key Name="name" Value="llAddToLandBanList" />
17 <Key Name="assetType" Value="10" />
18 <Key Name="fileName" Value="llAddToLandBanList.lsl" />
19 </Section>
20 <Section Name="llAddToLandPassList">
21 <Key Name="assetID" Value="609047e7-b390-11dc-8314-0800200c9a66" />
22 <Key Name="name" Value="llAddToLandPassList" />
23 <Key Name="assetType" Value="10" />
24 <Key Name="fileName" Value="llAddToLandPassList.lsl" />
25 </Section>
26 <Section Name="llAdjustSoundVolume">
27 <Key Name="assetID" Value="56df4bcd-b393-11dc-8314-0800200c9a66" />
28 <Key Name="name" Value="llAdjustSoundVolume" />
29 <Key Name="assetType" Value="10" />
30 <Key Name="fileName" Value="llAdjustSoundVolume.lsl" />
31 </Section>
32 <Section Name="llAllowInventoryDrop">
33 <Key Name="assetID" Value="54d6962d-b394-11dc-8314-0800200c9a66" />
34 <Key Name="name" Value="llAllowInventoryDrop" />
35 <Key Name="assetType" Value="10" />
36 <Key Name="fileName" Value="llAllowInventoryDrop.lsl" />
37 </Section>
38 <Section Name="llAngleBetween">
39 <Key Name="assetID" Value="6b341609-b34e-11dc-8314-0800200c9a66" />
40 <Key Name="name" Value="llAngleBetween" />
41 <Key Name="assetType" Value="10" />
42 <Key Name="fileName" Value="llAngleBetween.lsl" />
43 </Section>
44 <Section Name="llAsin">
45 <Key Name="assetID" Value="7e7422ed-b425-11dc-8314-0800200c9a66" />
46 <Key Name="name" Value="llAsin" />
47 <Key Name="assetType" Value="10" />
48 <Key Name="fileName" Value="llAsin.lsl" />
49 </Section>
50 <Section Name="llAtan2">
51 <Key Name="assetID" Value="7e7422ef-b425-11dc-8314-0800200c9a66" />
52 <Key Name="name" Value="llAtan2" />
53 <Key Name="assetType" Value="10" />
54 <Key Name="fileName" Value="llAtan2.lsl" />
55 </Section>
56 <Section Name="llApplyImpulse">
57 <Key Name="assetID" Value="714ec679-b419-11dc-8314-0800200c9a66" />
58 <Key Name="name" Value="llApplyImpulse" />
59 <Key Name="assetType" Value="10" />
60 <Key Name="fileName" Value="llApplyImpulse.lsl" />
61 </Section>
62 <Section Name="llAvatarOnSitTarget">
63 <Key Name="assetID" Value="579fc821-b426-11dc-8314-0800200c9a66" />
64 <Key Name="name" Value="llAvatarOnSitTarget" />
65 <Key Name="assetType" Value="10" />
66 <Key Name="fileName" Value="llAvatarOnSitTarget.lsl" />
67 </Section>
68 <Section Name="llBase64ToString">
69 <Key Name="assetID" Value="1d4c71d9-b428-11dc-8314-0800200c9a66" />
70 <Key Name="name" Value="llBase64ToString" />
71 <Key Name="assetType" Value="10" />
72 <Key Name="fileName" Value="llBase64ToString.lsl" />
73 </Section>
74 <Section Name="llRemoveFromLandBanList">
75 <Key Name="assetID" Value="299b2101-b392-11dc-8314-0800200c9a66" />
76 <Key Name="name" Value="llRemoveFromLandBanList" />
77 <Key Name="assetType" Value="10" />
78 <Key Name="fileName" Value="llRemoveFromLandBanList.lsl" />
79 </Section>
80 <Section Name="llRemoveFromLandPassList">
81 <Key Name="assetID" Value="299b2103-b392-11dc-8314-0800200c9a66" />
82 <Key Name="name" Value="llRemoveFromLandPassList" />
83 <Key Name="assetType" Value="10" />
84 <Key Name="fileName" Value="llRemoveFromLandPassList.lsl" />
85 </Section>
86 <Section Name="llResetLandBanList">
87 <Key Name="assetID" Value="366ac8e7-b391-11dc-8314-0800200c9a66" />
88 <Key Name="name" Value="llResetLandBanList" />
89 <Key Name="assetType" Value="10" />
90 <Key Name="fileName" Value="llResetLandBanList.lsl" />
91 </Section>
92 <Section Name="llSay">
93 <Key Name="assetID" Value="366ac8e9-b391-11dc-8314-0800200c9a66" />
94 <Key Name="name" Value="llSay" />
95 <Key Name="assetType" Value="10" />
96 <Key Name="fileName" Value="llSay.lsl" />
97 </Section>
98 <Section Name="llSetParcelMusicURL">
99 <Key Name="assetID" Value="3603a4f8-b360-11dc-8314-0800200c9a66" />
100 <Key Name="name" Value="llSetParcelMusicURL" />
101 <Key Name="assetType" Value="10" />
102 <Key Name="fileName" Value="llSetParcelMusicURL.lsl" />
103 </Section>
104 <Section Name="llSetRot">
105 <Key Name="assetID" Value="220baef9-b376-11dc-8314-0800200c9a66" />
106 <Key Name="name" Value="llSetRot" />
107 <Key Name="assetType" Value="10" />
108 <Key Name="fileName" Value="llSetRot.lsl" />
109 </Section>
110 <Section Name="osTextBoard">
111 <Key Name="assetID" Value="2ddcb059-20c5-d169-4c42-673f16d3284b" />
112 <Key Name="name" Value="osTextBoard" />
113 <Key Name="assetType" Value="10" />
114 <Key Name="fileName" Value="osTextBoard.lsl" />
115 </Section>
116 <Section Name="osWeatherMap">
117 <Key Name="assetID" Value="d63ad3ec-b687-6c38-410d-31ba3e50ce4d" />
118 <Key Name="name" Value="osWeatherMap" />
119 <Key Name="assetType" Value="10" />
120 <Key Name="fileName" Value="osWeatherMap.lsl" />
121 </Section>
122 <Section Name="GrafittiBoard">
123 <Key Name="assetID" Value="81305ee4-8caa-9e0a-69a4-76ed57df0c8f" />
124 <Key Name="name" Value="GrafittiBoard" />
125 <Key Name="assetType" Value="10" />
126 <Key Name="fileName" Value="GrafittiBoard.lsl" />
127 </Section>
128
129 <!-- Adding the Kan-ED tests to the Assets -->
130
131 <Section Name="Kan-Ed Test1">
132 <Key Name="assetID" Value="42b6ac70-d21f-11dd-ad8b-0800200c9a66" />
133 <Key Name="name" Value="Kan-Ed Test1" />
134 <Key Name="assetType" Value="10" />
135 <Key Name="fileName" Value="KanEd-Test01.lsl" />
136 </Section>
137
138 <Section Name="Kan-Ed Test2">
139 <Key Name="assetID" Value="42b6ac71-d21f-11dd-ad8b-0800200c9a66" />
140 <Key Name="name" Value="Kan-Ed Test2" />
141 <Key Name="assetType" Value="10" />
142 <Key Name="fileName" Value="KanEd-Test02.lsl" />
143 </Section>
144
145 <Section Name="Kan-Ed Test3">
146 <Key Name="assetID" Value="42b6ac72-d21f-11dd-ad8b-0800200c9a66" />
147 <Key Name="name" Value="Kan-Ed Test3" />
148 <Key Name="assetType" Value="10" />
149 <Key Name="fileName" Value="KanEd-Test03.lsl" />
150 </Section>
151
152 <Section Name="Kan-Ed Test4">
153 <Key Name="assetID" Value="42b6ac73-d21f-11dd-ad8b-0800200c9a66" />
154 <Key Name="name" Value="Kan-Ed Test4" />
155 <Key Name="assetType" Value="10" />
156 <Key Name="fileName" Value="KanEd-Test04.lsl" />
157 </Section>
158
159 <Section Name="Kan-Ed Test5">
160 <Key Name="assetID" Value="42b6ac74-d21f-11dd-ad8b-0800200c9a66" />
161 <Key Name="name" Value="Kan-Ed Test5" />
162 <Key Name="assetType" Value="10" />
163 <Key Name="fileName" Value="KanEd-Test05.lsl" />
164 </Section>
165
166 <Section Name="Kan-Ed Test6">
167 <Key Name="assetID" Value="42b6ac75-d21f-11dd-ad8b-0800200c9a66" />
168 <Key Name="name" Value="Kan-Ed Test6" />
169 <Key Name="assetType" Value="10" />
170 <Key Name="fileName" Value="KanEd-Test06.lsl" />
171 </Section>
172
173 <Section Name="Kan-Ed Test7">
174 <Key Name="assetID" Value="42b6ac76-d21f-11dd-ad8b-0800200c9a66" />
175 <Key Name="name" Value="Kan-Ed Test7" />
176 <Key Name="assetType" Value="10" />
177 <Key Name="fileName" Value="KanEd-Test07.lsl" />
178 </Section>
179
180 <Section Name="Kan-Ed Test8">
181 <Key Name="assetID" Value="42b6ac77-d21f-11dd-ad8b-0800200c9a66" />
182 <Key Name="name" Value="Kan-Ed Test8" />
183 <Key Name="assetType" Value="10" />
184 <Key Name="fileName" Value="KanEd-Test08.lsl" />
185 </Section>
186
187 <Section Name="Kan-Ed Test9">
188 <Key Name="assetID" Value="42b6ac78-d21f-11dd-ad8b-0800200c9a66" />
189 <Key Name="name" Value="Kan-Ed Test9" />
190 <Key Name="assetType" Value="10" />
191 <Key Name="fileName" Value="KanEd-Test09.lsl" />
192 </Section>
193
194 <Section Name="Kan-Ed Test10">
195 <Key Name="assetID" Value="42b6ac79-d21f-11dd-ad8b-0800200c9a66" />
196 <Key Name="name" Value="Kan-Ed Test10" />
197 <Key Name="assetType" Value="10" />
198 <Key Name="fileName" Value="KanEd-Test10.lsl" />
199 </Section>
200
201 <Section Name="Kan-Ed Test11">
202 <Key Name="assetID" Value="42b6ac7a-d21f-11dd-ad8b-0800200c9a66" />
203 <Key Name="name" Value="Kan-Ed Test11" />
204 <Key Name="assetType" Value="10" />
205 <Key Name="fileName" Value="KanEd-Test11.lsl" />
206 </Section>
207
208 <Section Name="Kan-Ed Test12">
209 <Key Name="assetID" Value="42b6ac7b-d21f-11dd-ad8b-0800200c9a66" />
210 <Key Name="name" Value="Kan-Ed Test12" />
211 <Key Name="assetType" Value="10" />
212 <Key Name="fileName" Value="KanEd-Test12.lsl" />
213 </Section>
214
215 <Section Name="Kan-Ed Test13">
216 <Key Name="assetID" Value="42b6ac7c-d21f-11dd-ad8b-0800200c9a66" />
217 <Key Name="name" Value="Kan-Ed Test13" />
218 <Key Name="assetType" Value="10" />
219 <Key Name="fileName" Value="KanEd-Test13.lsl" />
220 </Section>
221
222 <Section Name="Kan-Ed Test14">
223 <Key Name="assetID" Value="42b6ac7d-d21f-11dd-ad8b-0800200c9a66" />
224 <Key Name="name" Value="Kan-Ed Test14" />
225 <Key Name="assetType" Value="10" />
226 <Key Name="fileName" Value="KanEd-Test14.lsl" />
227 </Section>
228
229 <Section Name="Kan-Ed Test15">
230 <Key Name="assetID" Value="42b6ac7e-d21f-11dd-ad8b-0800200c9a66" />
231 <Key Name="name" Value="Kan-Ed Test15" />
232 <Key Name="assetType" Value="10" />
233 <Key Name="fileName" Value="KanEd-Test15.lsl" />
234 </Section>
235
236 <Section Name="Kan-Ed Test16">
237 <Key Name="assetID" Value="42b6ac7f-d21f-11dd-ad8b-0800200c9a66" />
238 <Key Name="name" Value="Kan-Ed Test16" />
239 <Key Name="assetType" Value="10" />
240 <Key Name="fileName" Value="KanEd-Test16.lsl" />
241 </Section>
242
243</Nini>
diff --git a/bin/assets/ScriptsAssetSet/llAbs.lsl b/bin/assets/ScriptsAssetSet/llAbs.lsl
new file mode 100644
index 0000000..2b37584
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llAbs.lsl
@@ -0,0 +1,7 @@
1default
2{
3 state_entry()
4 {
5 llOwnerSay("The absolute value of -4 is: "+(string)llAbs(-4) );
6 }
7}
diff --git a/bin/assets/ScriptsAssetSet/llAcos.lsl b/bin/assets/ScriptsAssetSet/llAcos.lsl
new file mode 100644
index 0000000..5450bc0
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llAcos.lsl
@@ -0,0 +1,8 @@
1default
2{
3 state_entry()
4 {
5 float r = llFrand(2) - 1.0;
6 llOwnerSay("The arccosine of " + (string)r + " is " + llAcos(r));
7 }
8}
diff --git a/bin/assets/ScriptsAssetSet/llAddToLandBanList.lsl b/bin/assets/ScriptsAssetSet/llAddToLandBanList.lsl
new file mode 100644
index 0000000..f2df357
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llAddToLandBanList.lsl
@@ -0,0 +1,84 @@
1//Commands are:
2///5 ban:full_avatar_name
3///5 tempban:full_avatar_name
4///5 unban:full_avatar_name
5///5 pass:full_avatar_name
6///5 unpass:full_avatar_name
7///5 clearban
8///5 clearpass
9
10string command;
11
12default
13{
14 state_entry()
15 {
16 llListen(5, "", llGetOwner(), "");
17 }
18
19 on_rez(integer param)
20 {
21 llResetScript();
22 }
23
24 listen(integer chan, string name, key id, string message)
25 {
26 if (command != "")
27 {
28 llOwnerSay("Sorry, still processing last command, try again in a second.");
29 }
30
31 list args = llParseString2List(message,[":"],[]);
32 command = llToLower(llList2String(args,0));
33
34 if (command == "clearbans")
35 {
36 llResetLandBanList();
37 }
38 if (command == "clearpass")
39 {
40 llResetLandPassList();
41 }
42 else
43 {
44 llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
45 }
46 }
47
48 no_sensor()
49 {
50 command = "";
51 }
52
53 sensor(integer num)
54 {
55 integer i;
56 for (i=0; i< num; ++i)
57 {
58 if (command == "ban")
59 {
60 // Ban indefinetely
61 llAddToLandBanList(llDetectedKey(i),0.0);
62 }
63 if (command == "tempban")
64 {
65 // Ban for 1 hour.
66 llAddToLandBanList(llDetectedKey(i),1.0);
67 }
68 if (command == "unban")
69 {
70 llRemoveFromLandBanList(llDetectedKey(i));
71 }
72 if (command == "pass")
73 {
74 // Add to land pass list for 1 hour
75 llAddToLandPassList(llDetectedKey(i),1.0);
76 }
77 if (command == "unpass")
78 {
79 llRemoveFromLandPassList(llDetectedKey(i));
80 }
81 }
82 command = "";
83 }
84}
diff --git a/bin/assets/ScriptsAssetSet/llAddToLandPassList.lsl b/bin/assets/ScriptsAssetSet/llAddToLandPassList.lsl
new file mode 100644
index 0000000..f2df357
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llAddToLandPassList.lsl
@@ -0,0 +1,84 @@
1//Commands are:
2///5 ban:full_avatar_name
3///5 tempban:full_avatar_name
4///5 unban:full_avatar_name
5///5 pass:full_avatar_name
6///5 unpass:full_avatar_name
7///5 clearban
8///5 clearpass
9
10string command;
11
12default
13{
14 state_entry()
15 {
16 llListen(5, "", llGetOwner(), "");
17 }
18
19 on_rez(integer param)
20 {
21 llResetScript();
22 }
23
24 listen(integer chan, string name, key id, string message)
25 {
26 if (command != "")
27 {
28 llOwnerSay("Sorry, still processing last command, try again in a second.");
29 }
30
31 list args = llParseString2List(message,[":"],[]);
32 command = llToLower(llList2String(args,0));
33
34 if (command == "clearbans")
35 {
36 llResetLandBanList();
37 }
38 if (command == "clearpass")
39 {
40 llResetLandPassList();
41 }
42 else
43 {
44 llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
45 }
46 }
47
48 no_sensor()
49 {
50 command = "";
51 }
52
53 sensor(integer num)
54 {
55 integer i;
56 for (i=0; i< num; ++i)
57 {
58 if (command == "ban")
59 {
60 // Ban indefinetely
61 llAddToLandBanList(llDetectedKey(i),0.0);
62 }
63 if (command == "tempban")
64 {
65 // Ban for 1 hour.
66 llAddToLandBanList(llDetectedKey(i),1.0);
67 }
68 if (command == "unban")
69 {
70 llRemoveFromLandBanList(llDetectedKey(i));
71 }
72 if (command == "pass")
73 {
74 // Add to land pass list for 1 hour
75 llAddToLandPassList(llDetectedKey(i),1.0);
76 }
77 if (command == "unpass")
78 {
79 llRemoveFromLandPassList(llDetectedKey(i));
80 }
81 }
82 command = "";
83 }
84}
diff --git a/bin/assets/ScriptsAssetSet/llAdjustSoundVolume.lsl b/bin/assets/ScriptsAssetSet/llAdjustSoundVolume.lsl
new file mode 100644
index 0000000..4c2d397
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llAdjustSoundVolume.lsl
@@ -0,0 +1,13 @@
1default
2{
3 state_entry()
4 {
5 llListen(42, "", llGetOwner(), "");
6 }
7 listen(integer chan, string name, key id, string msg)
8 {
9 float value = (float)msg;
10 llAdjustSoundVolume(value);
11 llOwnerSay("Volume set to: " + (string)value + " of 1.0");
12 }
13}
diff --git a/bin/assets/ScriptsAssetSet/llAllowInventoryDrop.lsl b/bin/assets/ScriptsAssetSet/llAllowInventoryDrop.lsl
new file mode 100644
index 0000000..ca6087c
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llAllowInventoryDrop.lsl
@@ -0,0 +1,17 @@
1integer allow;
2
3default
4{
5 touch_start(integer num)
6 {
7 llAllowInventoryDrop(allow = !allow);
8 llOwnerSay("llAllowInventoryDrop == "+llList2String(["FALSE","TRUE"],allow));
9 }
10 changed(integer change)
11 {
12 if (change & CHANGED_ALLOWED_DROP) //note that it's & and not &&... it's bitwise!
13 {
14 llOwnerSay("The inventory has changed as a result of a user without mod permissions dropping an item on the prim and it being allowed by the script.");
15 }
16 }
17}
diff --git a/bin/assets/ScriptsAssetSet/llAngleBetween.lsl b/bin/assets/ScriptsAssetSet/llAngleBetween.lsl
new file mode 100644
index 0000000..21cd851
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llAngleBetween.lsl
@@ -0,0 +1,11 @@
1default
2{
3 state_entry()
4 {
5 rotation aRot = ZERO_ROTATION;
6 rotation bRot = llGetRot();
7 float aBetween = llAngleBetween( aRot, bRot );
8 llOwnerSay((string)aBetween);
9 //llGetRot() being < 0, 0, 90 > this should report 1.570796
10 }
11}
diff --git a/bin/assets/ScriptsAssetSet/llApplyImpulse.lsl b/bin/assets/ScriptsAssetSet/llApplyImpulse.lsl
new file mode 100644
index 0000000..add7a08
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llApplyImpulse.lsl
@@ -0,0 +1,16 @@
1//Rez an object, and drop this script in it.
2//This will launch it at the owner.
3default
4{
5 state_entry()
6 {
7 list p = llGetObjectDetails(llGetOwner(), [OBJECT_POS]);
8 if(p != [])
9 {
10 llSetStatus(STATUS_PHYSICS, TRUE);
11 vector pos = llList2Vector(p, 0);
12 vector direction = llVecNorm(pos - llGetPos());
13 llApplyImpulse(direction * 100, 0);
14 }
15 }
16}
diff --git a/bin/assets/ScriptsAssetSet/llAsin.lsl b/bin/assets/ScriptsAssetSet/llAsin.lsl
new file mode 100644
index 0000000..ad37ccd
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llAsin.lsl
@@ -0,0 +1,9 @@
1// Touch the object with this script in it to see the arcsine of random numbers!
2default
3{
4 touch_start(integer num)
5 {
6 float r = llFrand(2) - 1.0;
7 llOwnerSay("The arcsine of " + (string)r + " is " + llAsin(r));
8 }
9}
diff --git a/bin/assets/ScriptsAssetSet/llAtan2.lsl b/bin/assets/ScriptsAssetSet/llAtan2.lsl
new file mode 100644
index 0000000..9fc1c63
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llAtan2.lsl
@@ -0,0 +1,11 @@
1default
2{
3 state_entry()
4 {
5 float num1 = llFrand(100.0);
6 float num2 = llFrand(100.0);
7 llOwnerSay("y = " + (string)num1);
8 llOwnerSay("x = " + (string)num2);
9 llOwnerSay("The tangent of y divided by x is " + (string)llAtan2(num1, num2));
10 }
11}
diff --git a/bin/assets/ScriptsAssetSet/llAvatarOnSitTarget.lsl b/bin/assets/ScriptsAssetSet/llAvatarOnSitTarget.lsl
new file mode 100644
index 0000000..47e9588
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llAvatarOnSitTarget.lsl
@@ -0,0 +1,20 @@
1default
2{
3 state_entry()
4 {
5 // set sit target, otherwise this will not work
6 llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION);
7 }
8 changed(integer change)
9 {
10 if (change & CHANGED_LINK)
11 {
12 key av = llAvatarOnSitTarget();
13 //evaluated as true if not NULL_KEY or invalid
14 if (av)
15 {
16 llSay(0, "Hello " + llKey2Name(av) + ", thank you for sitting down");
17 }
18 }
19 }
20}
diff --git a/bin/assets/ScriptsAssetSet/llBase64ToString.lsl b/bin/assets/ScriptsAssetSet/llBase64ToString.lsl
new file mode 100644
index 0000000..f0987cb
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llBase64ToString.lsl
@@ -0,0 +1,8 @@
1default
2{
3 state_entry()
4 {
5 string test = llBase64ToString("U2VjcmV0Ok9wZW4=");
6 llOwnerSay(test);
7 }
8}
diff --git a/bin/assets/ScriptsAssetSet/llRemoveFromLandBanList.lsl b/bin/assets/ScriptsAssetSet/llRemoveFromLandBanList.lsl
new file mode 100644
index 0000000..f2df357
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llRemoveFromLandBanList.lsl
@@ -0,0 +1,84 @@
1//Commands are:
2///5 ban:full_avatar_name
3///5 tempban:full_avatar_name
4///5 unban:full_avatar_name
5///5 pass:full_avatar_name
6///5 unpass:full_avatar_name
7///5 clearban
8///5 clearpass
9
10string command;
11
12default
13{
14 state_entry()
15 {
16 llListen(5, "", llGetOwner(), "");
17 }
18
19 on_rez(integer param)
20 {
21 llResetScript();
22 }
23
24 listen(integer chan, string name, key id, string message)
25 {
26 if (command != "")
27 {
28 llOwnerSay("Sorry, still processing last command, try again in a second.");
29 }
30
31 list args = llParseString2List(message,[":"],[]);
32 command = llToLower(llList2String(args,0));
33
34 if (command == "clearbans")
35 {
36 llResetLandBanList();
37 }
38 if (command == "clearpass")
39 {
40 llResetLandPassList();
41 }
42 else
43 {
44 llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
45 }
46 }
47
48 no_sensor()
49 {
50 command = "";
51 }
52
53 sensor(integer num)
54 {
55 integer i;
56 for (i=0; i< num; ++i)
57 {
58 if (command == "ban")
59 {
60 // Ban indefinetely
61 llAddToLandBanList(llDetectedKey(i),0.0);
62 }
63 if (command == "tempban")
64 {
65 // Ban for 1 hour.
66 llAddToLandBanList(llDetectedKey(i),1.0);
67 }
68 if (command == "unban")
69 {
70 llRemoveFromLandBanList(llDetectedKey(i));
71 }
72 if (command == "pass")
73 {
74 // Add to land pass list for 1 hour
75 llAddToLandPassList(llDetectedKey(i),1.0);
76 }
77 if (command == "unpass")
78 {
79 llRemoveFromLandPassList(llDetectedKey(i));
80 }
81 }
82 command = "";
83 }
84}
diff --git a/bin/assets/ScriptsAssetSet/llRemoveFromLandPassList.lsl b/bin/assets/ScriptsAssetSet/llRemoveFromLandPassList.lsl
new file mode 100644
index 0000000..f2df357
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llRemoveFromLandPassList.lsl
@@ -0,0 +1,84 @@
1//Commands are:
2///5 ban:full_avatar_name
3///5 tempban:full_avatar_name
4///5 unban:full_avatar_name
5///5 pass:full_avatar_name
6///5 unpass:full_avatar_name
7///5 clearban
8///5 clearpass
9
10string command;
11
12default
13{
14 state_entry()
15 {
16 llListen(5, "", llGetOwner(), "");
17 }
18
19 on_rez(integer param)
20 {
21 llResetScript();
22 }
23
24 listen(integer chan, string name, key id, string message)
25 {
26 if (command != "")
27 {
28 llOwnerSay("Sorry, still processing last command, try again in a second.");
29 }
30
31 list args = llParseString2List(message,[":"],[]);
32 command = llToLower(llList2String(args,0));
33
34 if (command == "clearbans")
35 {
36 llResetLandBanList();
37 }
38 if (command == "clearpass")
39 {
40 llResetLandPassList();
41 }
42 else
43 {
44 llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
45 }
46 }
47
48 no_sensor()
49 {
50 command = "";
51 }
52
53 sensor(integer num)
54 {
55 integer i;
56 for (i=0; i< num; ++i)
57 {
58 if (command == "ban")
59 {
60 // Ban indefinetely
61 llAddToLandBanList(llDetectedKey(i),0.0);
62 }
63 if (command == "tempban")
64 {
65 // Ban for 1 hour.
66 llAddToLandBanList(llDetectedKey(i),1.0);
67 }
68 if (command == "unban")
69 {
70 llRemoveFromLandBanList(llDetectedKey(i));
71 }
72 if (command == "pass")
73 {
74 // Add to land pass list for 1 hour
75 llAddToLandPassList(llDetectedKey(i),1.0);
76 }
77 if (command == "unpass")
78 {
79 llRemoveFromLandPassList(llDetectedKey(i));
80 }
81 }
82 command = "";
83 }
84}
diff --git a/bin/assets/ScriptsAssetSet/llResetLandBanList.lsl b/bin/assets/ScriptsAssetSet/llResetLandBanList.lsl
new file mode 100644
index 0000000..f2df357
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llResetLandBanList.lsl
@@ -0,0 +1,84 @@
1//Commands are:
2///5 ban:full_avatar_name
3///5 tempban:full_avatar_name
4///5 unban:full_avatar_name
5///5 pass:full_avatar_name
6///5 unpass:full_avatar_name
7///5 clearban
8///5 clearpass
9
10string command;
11
12default
13{
14 state_entry()
15 {
16 llListen(5, "", llGetOwner(), "");
17 }
18
19 on_rez(integer param)
20 {
21 llResetScript();
22 }
23
24 listen(integer chan, string name, key id, string message)
25 {
26 if (command != "")
27 {
28 llOwnerSay("Sorry, still processing last command, try again in a second.");
29 }
30
31 list args = llParseString2List(message,[":"],[]);
32 command = llToLower(llList2String(args,0));
33
34 if (command == "clearbans")
35 {
36 llResetLandBanList();
37 }
38 if (command == "clearpass")
39 {
40 llResetLandPassList();
41 }
42 else
43 {
44 llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
45 }
46 }
47
48 no_sensor()
49 {
50 command = "";
51 }
52
53 sensor(integer num)
54 {
55 integer i;
56 for (i=0; i< num; ++i)
57 {
58 if (command == "ban")
59 {
60 // Ban indefinetely
61 llAddToLandBanList(llDetectedKey(i),0.0);
62 }
63 if (command == "tempban")
64 {
65 // Ban for 1 hour.
66 llAddToLandBanList(llDetectedKey(i),1.0);
67 }
68 if (command == "unban")
69 {
70 llRemoveFromLandBanList(llDetectedKey(i));
71 }
72 if (command == "pass")
73 {
74 // Add to land pass list for 1 hour
75 llAddToLandPassList(llDetectedKey(i),1.0);
76 }
77 if (command == "unpass")
78 {
79 llRemoveFromLandPassList(llDetectedKey(i));
80 }
81 }
82 command = "";
83 }
84}
diff --git a/bin/assets/ScriptsAssetSet/llResetLandPassList.lsl b/bin/assets/ScriptsAssetSet/llResetLandPassList.lsl
new file mode 100644
index 0000000..f2df357
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llResetLandPassList.lsl
@@ -0,0 +1,84 @@
1//Commands are:
2///5 ban:full_avatar_name
3///5 tempban:full_avatar_name
4///5 unban:full_avatar_name
5///5 pass:full_avatar_name
6///5 unpass:full_avatar_name
7///5 clearban
8///5 clearpass
9
10string command;
11
12default
13{
14 state_entry()
15 {
16 llListen(5, "", llGetOwner(), "");
17 }
18
19 on_rez(integer param)
20 {
21 llResetScript();
22 }
23
24 listen(integer chan, string name, key id, string message)
25 {
26 if (command != "")
27 {
28 llOwnerSay("Sorry, still processing last command, try again in a second.");
29 }
30
31 list args = llParseString2List(message,[":"],[]);
32 command = llToLower(llList2String(args,0));
33
34 if (command == "clearbans")
35 {
36 llResetLandBanList();
37 }
38 if (command == "clearpass")
39 {
40 llResetLandPassList();
41 }
42 else
43 {
44 llSensor(llList2String(args,1),NULL_KEY,AGENT,96,PI);
45 }
46 }
47
48 no_sensor()
49 {
50 command = "";
51 }
52
53 sensor(integer num)
54 {
55 integer i;
56 for (i=0; i< num; ++i)
57 {
58 if (command == "ban")
59 {
60 // Ban indefinetely
61 llAddToLandBanList(llDetectedKey(i),0.0);
62 }
63 if (command == "tempban")
64 {
65 // Ban for 1 hour.
66 llAddToLandBanList(llDetectedKey(i),1.0);
67 }
68 if (command == "unban")
69 {
70 llRemoveFromLandBanList(llDetectedKey(i));
71 }
72 if (command == "pass")
73 {
74 // Add to land pass list for 1 hour
75 llAddToLandPassList(llDetectedKey(i),1.0);
76 }
77 if (command == "unpass")
78 {
79 llRemoveFromLandPassList(llDetectedKey(i));
80 }
81 }
82 command = "";
83 }
84}
diff --git a/bin/assets/ScriptsAssetSet/llSay.lsl b/bin/assets/ScriptsAssetSet/llSay.lsl
new file mode 100644
index 0000000..dea6fc0
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llSay.lsl
@@ -0,0 +1,7 @@
1default
2{
3 state_entry()
4 {
5 llSay(0,"This is an incredibly useless program." );
6 }
7}
diff --git a/bin/assets/ScriptsAssetSet/llSetParcelMusicURL.lsl b/bin/assets/ScriptsAssetSet/llSetParcelMusicURL.lsl
new file mode 100644
index 0000000..ec8bf4d
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llSetParcelMusicURL.lsl
@@ -0,0 +1,7 @@
1default
2{
3 state_entry()
4 {
5 llSetParcelMusicURL("http://www.archive.org/download/Torley_Wong_-_The_Final_Selection/Torley_Wong-Lovers__Dance.mp3");
6 }
7}
diff --git a/bin/assets/ScriptsAssetSet/llSetRot.lsl b/bin/assets/ScriptsAssetSet/llSetRot.lsl
new file mode 100644
index 0000000..ebdad2f
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/llSetRot.lsl
@@ -0,0 +1,13 @@
1default
2{
3 state_entry()
4 {
5 llOwnerSay("Touch me");
6 }
7 touch_start(integer total_number)
8 {
9 rotation Y_10 = llEuler2Rot( < 0, 0, 30 * DEG_TO_RAD > );
10 rotation newRotation = llGetRot() * Y_10;
11 llSetRot( newRotation );
12 }
13}
diff --git a/bin/assets/ScriptsAssetSet/osTextBoard.lsl b/bin/assets/ScriptsAssetSet/osTextBoard.lsl
new file mode 100644
index 0000000..7aacab4
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/osTextBoard.lsl
@@ -0,0 +1,48 @@
1string title = "";
2string subtitle = "";
3string text = "";
4string add = "";
5integer channel = 0; // if this is >= 0, llSay on that channel on updates
6
7push_text()
8{
9 compile_text();
10 draw_text();
11}
12
13compile_text()
14{
15 title = "Some Title";
16 subtitle = "Some subtitle";
17
18 text = "Plenty of text for the main body.\n";
19 text += "You need to manual do line breaks\n";
20 text += "here. No word wrap yet.";
21
22 add = "Additional text at the bottom";
23}
24
25draw_text()
26{
27 string drawList = "MoveTo 40,80; PenColour RED; FontSize 48; Text " + title + ";";
28 drawList += "MoveTo 160,160; FontSize 32; Text " + subtitle + ";";
29 drawList += "PenColour BLACK; MoveTo 40,220; FontSize 24; Text " + text + ";";
30 drawList += "PenColour RED; FontName Times New Roman; MoveTo 40,900; Text " + add + ";";
31 osSetDynamicTextureData("", "vector", drawList, "1024", 0);
32}
33
34default {
35 state_entry()
36 {
37 push_text();
38 }
39
40 touch_start(integer count)
41 {
42 push_text();
43 if (channel >= 0) {
44 llSay(channel, text);
45 }
46 }
47
48}
diff --git a/bin/assets/ScriptsAssetSet/osWeatherMap.lsl b/bin/assets/ScriptsAssetSet/osWeatherMap.lsl
new file mode 100644
index 0000000..6a2232b
--- /dev/null
+++ b/bin/assets/ScriptsAssetSet/osWeatherMap.lsl
@@ -0,0 +1,43 @@
1integer count = 0;
2integer refreshRate = 300;
3string URL1 = "http://icons.wunderground.com/data/640x480/2xus_rd.gif";
4string URL2 = "http://icons.wunderground.com/data/640x480/2xus_sf.gif";
5string URL3 = "http://icons.wunderground.com/data/640x480/2xus_st.gif";
6string dynamicID="";
7string contentType="image";
8
9refresh_texture()
10{
11 count++;
12 string url = "";
13 integer c = count % 3;
14
15 if (c == 0) {
16 url = URL1;
17 } else if (c == 1) {
18 url = URL2;
19 } else {
20 url = URL3;
21 }
22 // refresh rate is not yet respected here, which is why we need the timer
23 osSetDynamicTextureURL(dynamicID, contentType ,url , "", refreshRate );
24}
25
26default
27{
28 state_entry()
29 {
30 refresh_texture();
31 llSetTimerEvent(refreshRate); // create a "timer event" every 300 seconds.
32 }
33
34 timer()
35 {
36 refresh_texture();
37 }
38
39 touch_start(integer times)
40 {
41 refresh_texture();
42 }
43}
diff --git a/bin/assets/SoundsAssetSet/OSSndAlert.ogg b/bin/assets/SoundsAssetSet/OSSndAlert.ogg
new file mode 100644
index 0000000..c9b1d7b
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndAlert.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndBadKeystroke.ogg b/bin/assets/SoundsAssetSet/OSSndBadKeystroke.ogg
new file mode 100644
index 0000000..789ec92
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndBadKeystroke.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndClick.ogg b/bin/assets/SoundsAssetSet/OSSndClick.ogg
new file mode 100644
index 0000000..3e2336c
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndClick.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndHealthReductionF.ogg b/bin/assets/SoundsAssetSet/OSSndHealthReductionF.ogg
new file mode 100644
index 0000000..f999364
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndHealthReductionF.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndHealthReductionM.ogg b/bin/assets/SoundsAssetSet/OSSndHealthReductionM.ogg
new file mode 100644
index 0000000..2f8e21b
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndHealthReductionM.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndInvalidOp.ogg b/bin/assets/SoundsAssetSet/OSSndInvalidOp.ogg
new file mode 100644
index 0000000..6b0eaac
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndInvalidOp.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndMoneyChangeDown.ogg b/bin/assets/SoundsAssetSet/OSSndMoneyChangeDown.ogg
new file mode 100644
index 0000000..035d5eb
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndMoneyChangeDown.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndMoneyChangeUp.ogg b/bin/assets/SoundsAssetSet/OSSndMoneyChangeUp.ogg
new file mode 100644
index 0000000..1b508db
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndMoneyChangeUp.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndNewIncomingIMSession.ogg b/bin/assets/SoundsAssetSet/OSSndNewIncomingIMSession.ogg
new file mode 100644
index 0000000..82c56ef
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndNewIncomingIMSession.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndObjectCreate.ogg b/bin/assets/SoundsAssetSet/OSSndObjectCreate.ogg
new file mode 100644
index 0000000..a363ce3
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndObjectCreate.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndObjectDelete.ogg b/bin/assets/SoundsAssetSet/OSSndObjectDelete.ogg
new file mode 100644
index 0000000..7f154e5
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndObjectDelete.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndObjectRezIn.ogg b/bin/assets/SoundsAssetSet/OSSndObjectRezIn.ogg
new file mode 100644
index 0000000..225ed27
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndObjectRezIn.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndPieMenuAppear.ogg b/bin/assets/SoundsAssetSet/OSSndPieMenuAppear.ogg
new file mode 100644
index 0000000..5ea159b
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndPieMenuAppear.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndPieMenuSliceHighlight.ogg b/bin/assets/SoundsAssetSet/OSSndPieMenuSliceHighlight.ogg
new file mode 100644
index 0000000..a1b410b
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndPieMenuSliceHighlight.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndSnapshot.ogg b/bin/assets/SoundsAssetSet/OSSndSnapshot.ogg
new file mode 100644
index 0000000..5f5fd2d
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndSnapshot.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndStartIM.ogg b/bin/assets/SoundsAssetSet/OSSndStartIM.ogg
new file mode 100644
index 0000000..82f521d
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndStartIM.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndTeleportOut.ogg b/bin/assets/SoundsAssetSet/OSSndTeleportOut.ogg
new file mode 100644
index 0000000..6d712ea
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndTeleportOut.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndTyping.ogg b/bin/assets/SoundsAssetSet/OSSndTyping.ogg
new file mode 100644
index 0000000..af3da54
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndTyping.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndWindowClose.ogg b/bin/assets/SoundsAssetSet/OSSndWindowClose.ogg
new file mode 100644
index 0000000..1742cbd
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndWindowClose.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/OSSndWindowOpen.ogg b/bin/assets/SoundsAssetSet/OSSndWindowOpen.ogg
new file mode 100644
index 0000000..862823e
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/OSSndWindowOpen.ogg
Binary files differ
diff --git a/bin/assets/SoundsAssetSet/SoundsAssetSet.xml b/bin/assets/SoundsAssetSet/SoundsAssetSet.xml
new file mode 100644
index 0000000..b93a766
--- /dev/null
+++ b/bin/assets/SoundsAssetSet/SoundsAssetSet.xml
@@ -0,0 +1,164 @@
1<Nini>
2 <Section Name="UISndAlert">
3 <Key Name="assetID" Value="ed124764-705d-d497-167a-182cd9fa2e6c" />
4 <Key Name="name" Value="UISndAlert" />
5 <Key Name="assetType" Value="1" />
6 <Key Name="fileName" Value="OSSndAlert.ogg" />
7 </Section>
8 <Section Name="UISndBadKeystroke">
9 <Key Name="assetID" Value="2ca849ba-2885-4bc3-90ef-d4987a5b983a" />
10 <Key Name="name" Value="UISndBadKeystroke" />
11 <Key Name="assetType" Value="1" />
12 <Key Name="fileName" Value="OSSndBadKeystroke.ogg" />
13 </Section>
14 <Section Name="UISndClick">
15 <Key Name="assetID" Value="4c8c3c77-de8d-bde2-b9b8-32635e0fd4a6" />
16 <Key Name="name" Value="UISndClick" />
17 <Key Name="assetType" Value="1" />
18 <Key Name="fileName" Value="OSSndClick.ogg" />
19 </Section>
20 <Section Name="UISndHealthReductionF">
21 <Key Name="assetID" Value="219c5d93-6c09-31c5-fb3f-c5fe7495c115" />
22 <Key Name="name" Value="UISndHealthReductionF" />
23 <Key Name="assetType" Value="1" />
24 <Key Name="fileName" Value="OSSndHealthReductionF.ogg" />
25 </Section>
26 <Section Name="UISndHealthReductionM">
27 <Key Name="assetID" Value="e057c244-5768-1056-c37e-1537454eeb62" />
28 <Key Name="name" Value="UISndHealthReductionM" />
29 <Key Name="assetType" Value="1" />
30 <Key Name="fileName" Value="OSSndHealthReductionM.ogg" />
31 </Section>
32 <Section Name="UISndInvalidOp">
33 <Key Name="assetID" Value="4174f859-0d3d-c517-c424-72923dc21f65" />
34 <Key Name="name" Value="UISndInvalidOp" />
35 <Key Name="assetType" Value="1" />
36 <Key Name="fileName" Value="OSSndInvalidOp.ogg" />
37 </Section>
38 <Section Name="UISndMoneyChangeDown">
39 <Key Name="assetID" Value="104974e3-dfda-428b-99ee-b0d4e748d3a3" />
40 <Key Name="name" Value="UISndMoneyChangeDown" />
41 <Key Name="assetType" Value="1" />
42 <Key Name="fileName" Value="OSSndMoneyChangeDown.ogg" />
43 </Section>
44 <Section Name="UISndMoneyChangeUp">
45 <Key Name="assetID" Value="77a018af-098e-c037-51a6-178f05877c6f" />
46 <Key Name="name" Value="UISndMoneyChangeUp" />
47 <Key Name="assetType" Value="1" />
48 <Key Name="fileName" Value="OSSndMoneyChangeUp.ogg" />
49 </Section>
50 <Section Name="UISndNewIncomingIMSession">
51 <Key Name="assetID" Value="67cc2844-00f3-2b3c-b991-6418d01e1bb7" />
52 <Key Name="name" Value="UISndNewIncomingIMSession" />
53 <Key Name="assetType" Value="1" />
54 <Key Name="fileName" Value="OSSndNewIncomingIMSession.ogg" />
55 </Section>
56 <Section Name="UISndObjectCreate">
57 <Key Name="assetID" Value="f4a0660f-5446-dea2-80b7-6482a082803c" />
58 <Key Name="name" Value="UISndObjectCreate" />
59 <Key Name="assetType" Value="1" />
60 <Key Name="fileName" Value="OSSndObjectCreate.ogg" />
61 </Section>
62 <Section Name="UISndObjectDelete">
63 <Key Name="assetID" Value="0cb7b00a-4c10-6948-84de-a93c09af2ba9" />
64 <Key Name="name" Value="UISndObjectDelete" />
65 <Key Name="assetType" Value="1" />
66 <Key Name="fileName" Value="OSSndObjectDelete.ogg" />
67 </Section>
68 <Section Name="UISndObjectRezIn">
69 <Key Name="assetID" Value="3c8fc726-1fd6-862d-fa01-16c5b2568db6" />
70 <Key Name="name" Value="UISndObjectRezIn" />
71 <Key Name="assetType" Value="1" />
72 <Key Name="fileName" Value="OSSndObjectRezIn.ogg" />
73 </Section>
74 <Section Name="UISndPieMenuAppear">
75 <Key Name="assetID" Value="8eaed61f-92ff-6485-de83-4dcc938a478e" />
76 <Key Name="name" Value="UISndPieMenuAppear" />
77 <Key Name="assetType" Value="1" />
78 <Key Name="fileName" Value="OSSndPieMenuAppear.ogg" />
79 </Section>
80 <Section Name="UISndPieMenuSliceHighlight0">
81 <Key Name="assetID" Value="d9f73cf8-17b4-6f7a-1565-7951226c305d" />
82 <Key Name="name" Value="UISndPieMenuSliceHighlight0" />
83 <Key Name="assetType" Value="1" />
84 <Key Name="fileName" Value="OSSndPieMenuSliceHighlight.ogg" />
85 </Section>
86 <Section Name="UISndPieMenuSliceHighlight1">
87 <Key Name="assetID" Value="f6ba9816-dcaf-f755-7b67-51b31b6233e5" />
88 <Key Name="name" Value="UISndPieMenuSliceHighlight1" />
89 <Key Name="assetType" Value="1" />
90 <Key Name="fileName" Value="OSSndPieMenuSliceHighlight.ogg" />
91 </Section>
92 <Section Name="UISndPieMenuSliceHighlight2">
93 <Key Name="assetID" Value="7aff2265-d05b-8b72-63c7-dbf96dc2f21f" />
94 <Key Name="name" Value="UISndPieMenuSliceHighlight2" />
95 <Key Name="assetType" Value="1" />
96 <Key Name="fileName" Value="OSSndPieMenuSliceHighlight.ogg" />
97 </Section>
98 <Section Name="UISndPieMenuSliceHighlight3">
99 <Key Name="assetID" Value="09b2184e-8601-44e2-afbb-ce37434b8ba1" />
100 <Key Name="name" Value="UISndPieMenuSliceHighlight3" />
101 <Key Name="assetType" Value="1" />
102 <Key Name="fileName" Value="OSSndPieMenuSliceHighlight.ogg" />
103 </Section>
104 <Section Name="UISndPieMenuSliceHighlight4">
105 <Key Name="assetID" Value="bbe4c7fc-7044-b05e-7b89-36924a67593c" />
106 <Key Name="name" Value="UISndPieMenuSliceHighlight4" />
107 <Key Name="assetType" Value="1" />
108 <Key Name="fileName" Value="OSSndPieMenuSliceHighlight.ogg" />
109 </Section>
110 <Section Name="UISndPieMenuSliceHighlight5">
111 <Key Name="assetID" Value="d166039b-b4f5-c2ec-4911-c85c727b016c" />
112 <Key Name="name" Value="UISndPieMenuSliceHighlight5" />
113 <Key Name="assetType" Value="1" />
114 <Key Name="fileName" Value="OSSndPieMenuSliceHighlight.ogg" />
115 </Section>
116 <Section Name="UISndPieMenuSliceHighlight6">
117 <Key Name="assetID" Value="242af82b-43c2-9a3b-e108-3b0c7e384981" />
118 <Key Name="name" Value="UISndPieMenuSliceHighlight6" />
119 <Key Name="assetType" Value="1" />
120 <Key Name="fileName" Value="OSSndPieMenuSliceHighlight.ogg" />
121 </Section>
122 <Section Name="UISndPieMenuSliceHighlight7">
123 <Key Name="assetID" Value="c1f334fb-a5be-8fe7-22b3-29631c21cf0b" />
124 <Key Name="name" Value="UISndPieMenuSliceHighlight7" />
125 <Key Name="assetType" Value="1" />
126 <Key Name="fileName" Value="OSSndPieMenuSliceHighlight.ogg" />
127 </Section>
128 <Section Name="UISndSnapshot">
129 <Key Name="assetID" Value="3d09f582-3851-c0e0-f5ba-277ac5c73fb4" />
130 <Key Name="name" Value="UISndSnapshot" />
131 <Key Name="assetType" Value="1" />
132 <Key Name="fileName" Value="OSSndSnapshot.ogg" />
133 </Section>
134 <Section Name="UISndStartIM">
135 <Key Name="assetID" Value="c825dfbc-9827-7e02-6507-3713d18916c1" />
136 <Key Name="name" Value="UISndStartIM" />
137 <Key Name="assetType" Value="1" />
138 <Key Name="fileName" Value="OSSndStartIM.ogg" />
139 </Section>
140 <Section Name="UISndTeleportOut">
141 <Key Name="assetID" Value="d7a9a565-a013-2a69-797d-5332baa1a947" />
142 <Key Name="name" Value="UISndTeleportOut" />
143 <Key Name="assetType" Value="1" />
144 <Key Name="fileName" Value="OSSndTeleportOut.ogg" />
145 </Section>
146 <Section Name="UISndTyping">
147 <Key Name="assetID" Value="5e191c7b-8996-9ced-a177-b2ac32bfea06" />
148 <Key Name="name" Value="UISndTyping" />
149 <Key Name="assetType" Value="1" />
150 <Key Name="fileName" Value="OSSndTyping.ogg" />
151 </Section>
152 <Section Name="UISndWindowClose">
153 <Key Name="assetID" Value="2c346eda-b60c-ab33-1119-b8941916a499" />
154 <Key Name="name" Value="UISndWindowClose" />
155 <Key Name="assetType" Value="1" />
156 <Key Name="fileName" Value="OSSndWindowClose.ogg" />
157 </Section>
158 <Section Name="UISndWindowOpen">
159 <Key Name="assetID" Value="c80260ba-41fd-8a46-768a-6bf236360e3a" />
160 <Key Name="name" Value="UISndWindowOpen" />
161 <Key Name="assetType" Value="1" />
162 <Key Name="fileName" Value="OSSndWindowOpen.ogg" />
163 </Section>
164</Nini>
diff --git a/bin/assets/TexturesAssetSet/0187babf-6c0d-5891-ebed-4ecab1426683.j2c b/bin/assets/TexturesAssetSet/0187babf-6c0d-5891-ebed-4ecab1426683.j2c
new file mode 100644
index 0000000..0e63168
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/0187babf-6c0d-5891-ebed-4ecab1426683.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/058c75c0-a0d5-f2f8-43f3-e9699a89c2fc.j2c b/bin/assets/TexturesAssetSet/058c75c0-a0d5-f2f8-43f3-e9699a89c2fc.j2c
new file mode 100644
index 0000000..e351995
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/058c75c0-a0d5-f2f8-43f3-e9699a89c2fc.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/073c9723-540c-5449-cdd4-0e87fdc159e3.j2c b/bin/assets/TexturesAssetSet/073c9723-540c-5449-cdd4-0e87fdc159e3.j2c
new file mode 100644
index 0000000..7cae5cb
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/073c9723-540c-5449-cdd4-0e87fdc159e3.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/10d2a01a-0818-84b9-4b96-c2eb63256519.j2c b/bin/assets/TexturesAssetSet/10d2a01a-0818-84b9-4b96-c2eb63256519.j2c
new file mode 100644
index 0000000..a6e213a
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/10d2a01a-0818-84b9-4b96-c2eb63256519.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/18fb888b-e8f1-dce7-7da7-321d651ea6b0.j2c b/bin/assets/TexturesAssetSet/18fb888b-e8f1-dce7-7da7-321d651ea6b0.j2c
new file mode 100644
index 0000000..a101530
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/18fb888b-e8f1-dce7-7da7-321d651ea6b0.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/2a4880b6-b7a3-690a-2049-bfbe38eafb9f.j2c b/bin/assets/TexturesAssetSet/2a4880b6-b7a3-690a-2049-bfbe38eafb9f.j2c
new file mode 100644
index 0000000..5361a56
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/2a4880b6-b7a3-690a-2049-bfbe38eafb9f.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/2caf1179-7861-6ff3-4b7d-46e17780bdfa.j2c b/bin/assets/TexturesAssetSet/2caf1179-7861-6ff3-4b7d-46e17780bdfa.j2c
new file mode 100644
index 0000000..675bdb4
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/2caf1179-7861-6ff3-4b7d-46e17780bdfa.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/2d784476-d0db-9979-0cff-9408745a7cf3.j2c b/bin/assets/TexturesAssetSet/2d784476-d0db-9979-0cff-9408745a7cf3.j2c
new file mode 100644
index 0000000..0bc1a4f
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/2d784476-d0db-9979-0cff-9408745a7cf3.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/30047cec-269d-408e-0c30-b2603b887268.j2c b/bin/assets/TexturesAssetSet/30047cec-269d-408e-0c30-b2603b887268.j2c
new file mode 100644
index 0000000..3a32fcb
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/30047cec-269d-408e-0c30-b2603b887268.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/4-tile2.jp2 b/bin/assets/TexturesAssetSet/4-tile2.jp2
new file mode 100644
index 0000000..8c63104
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/4-tile2.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/4-tile3.jp2 b/bin/assets/TexturesAssetSet/4-tile3.jp2
new file mode 100644
index 0000000..7890364
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/4-tile3.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/4726f13e-bd07-f2fb-feb0-bfa2ac58ab61.j2c b/bin/assets/TexturesAssetSet/4726f13e-bd07-f2fb-feb0-bfa2ac58ab61.j2c
new file mode 100644
index 0000000..46eb2da
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/4726f13e-bd07-f2fb-feb0-bfa2ac58ab61.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/5894e2e7-ab8d-edfa-e61c-18cf16854ba3.j2c b/bin/assets/TexturesAssetSet/5894e2e7-ab8d-edfa-e61c-18cf16854ba3.j2c
new file mode 100644
index 0000000..34f69c2
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/5894e2e7-ab8d-edfa-e61c-18cf16854ba3.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/5bc11cd6-2f40-071e-a8da-0903394204f9.j2c b/bin/assets/TexturesAssetSet/5bc11cd6-2f40-071e-a8da-0903394204f9.j2c
new file mode 100644
index 0000000..9ac7908
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/5bc11cd6-2f40-071e-a8da-0903394204f9.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/64367bd1-697e-b3e6-0b65-3f862a577366.j2c b/bin/assets/TexturesAssetSet/64367bd1-697e-b3e6-0b65-3f862a577366.j2c
new file mode 100644
index 0000000..1650c78
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/64367bd1-697e-b3e6-0b65-3f862a577366.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/67931331-0c02-4876-1255-28770896c6a2.j2c b/bin/assets/TexturesAssetSet/67931331-0c02-4876-1255-28770896c6a2.j2c
new file mode 100644
index 0000000..3f63493
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/67931331-0c02-4876-1255-28770896c6a2.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/6c4727b8-ac79-ba44-3b81-f9aa887b47eb.j2c b/bin/assets/TexturesAssetSet/6c4727b8-ac79-ba44-3b81-f9aa887b47eb.j2c
new file mode 100644
index 0000000..adff7dc
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/6c4727b8-ac79-ba44-3b81-f9aa887b47eb.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/6c9fa78a-1c69-2168-325b-3e03ffa348ce.j2c b/bin/assets/TexturesAssetSet/6c9fa78a-1c69-2168-325b-3e03ffa348ce.j2c
new file mode 100644
index 0000000..e657b96
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/6c9fa78a-1c69-2168-325b-3e03ffa348ce.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/6de37e4e-7029-61f5-54b8-f5e63f983f58.j2c b/bin/assets/TexturesAssetSet/6de37e4e-7029-61f5-54b8-f5e63f983f58.j2c
new file mode 100644
index 0000000..434ba49
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/6de37e4e-7029-61f5-54b8-f5e63f983f58.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/735198cf-6ea0-2550-e222-21d3c6a341ae.j2c b/bin/assets/TexturesAssetSet/735198cf-6ea0-2550-e222-21d3c6a341ae.j2c
new file mode 100644
index 0000000..baedd89
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/735198cf-6ea0-2550-e222-21d3c6a341ae.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/79504bf5-c3ec-0763-6563-d843de66d0a1.j2c b/bin/assets/TexturesAssetSet/79504bf5-c3ec-0763-6563-d843de66d0a1.j2c
new file mode 100644
index 0000000..134574e
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/79504bf5-c3ec-0763-6563-d843de66d0a1.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/7a2b3a4a-53c2-53ac-5716-aac7d743c020.j2c b/bin/assets/TexturesAssetSet/7a2b3a4a-53c2-53ac-5716-aac7d743c020.j2c
new file mode 100644
index 0000000..ca37c78
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/7a2b3a4a-53c2-53ac-5716-aac7d743c020.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/7c0cf89b-44b1-1ce2-dd74-07102a98ac2a.j2c b/bin/assets/TexturesAssetSet/7c0cf89b-44b1-1ce2-dd74-07102a98ac2a.j2c
new file mode 100644
index 0000000..5d556d9
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/7c0cf89b-44b1-1ce2-dd74-07102a98ac2a.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/822ded49-9a6c-f61c-cb89-6df54f42cdf4.j2c b/bin/assets/TexturesAssetSet/822ded49-9a6c-f61c-cb89-6df54f42cdf4.j2c
new file mode 100644
index 0000000..a650bcd
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/822ded49-9a6c-f61c-cb89-6df54f42cdf4.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/83b77fc6-10b4-63ec-4de7-f40629f238c5.j2c b/bin/assets/TexturesAssetSet/83b77fc6-10b4-63ec-4de7-f40629f238c5.j2c
new file mode 100644
index 0000000..e7771e4
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/83b77fc6-10b4-63ec-4de7-f40629f238c5.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/8872f2b8-31db-42d8-580a-b3e4a91262de.j2c b/bin/assets/TexturesAssetSet/8872f2b8-31db-42d8-580a-b3e4a91262de.j2c
new file mode 100644
index 0000000..350b638
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/8872f2b8-31db-42d8-580a-b3e4a91262de.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/8a515889-eac9-fb55-8eba-d2dc09eb32c8.j2c b/bin/assets/TexturesAssetSet/8a515889-eac9-fb55-8eba-d2dc09eb32c8.j2c
new file mode 100644
index 0000000..70821f2
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/8a515889-eac9-fb55-8eba-d2dc09eb32c8.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/8f458549-173b-23ff-d4ff-bfaa5ea2371b.j2c b/bin/assets/TexturesAssetSet/8f458549-173b-23ff-d4ff-bfaa5ea2371b.j2c
new file mode 100644
index 0000000..8819294
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/8f458549-173b-23ff-d4ff-bfaa5ea2371b.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/92e66e00-f56f-598a-7997-048aa64cde18.j2c b/bin/assets/TexturesAssetSet/92e66e00-f56f-598a-7997-048aa64cde18.j2c
new file mode 100644
index 0000000..287555f
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/92e66e00-f56f-598a-7997-048aa64cde18.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/96b4de31-f4fa-337d-ec78-451e3609769e.j2c b/bin/assets/TexturesAssetSet/96b4de31-f4fa-337d-ec78-451e3609769e.j2c
new file mode 100644
index 0000000..4453ecb
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/96b4de31-f4fa-337d-ec78-451e3609769e.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/99bd60a2-3250-efc9-2e39-2fbcadefbecc.j2c b/bin/assets/TexturesAssetSet/99bd60a2-3250-efc9-2e39-2fbcadefbecc.j2c
new file mode 100644
index 0000000..c965530
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/99bd60a2-3250-efc9-2e39-2fbcadefbecc.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/9deab416-9c63-78d6-d558-9a156f12044c.j2c b/bin/assets/TexturesAssetSet/9deab416-9c63-78d6-d558-9a156f12044c.j2c
new file mode 100644
index 0000000..f4e4cba
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/9deab416-9c63-78d6-d558-9a156f12044c.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/IMG_BLOOM1.jp2 b/bin/assets/TexturesAssetSet/IMG_BLOOM1.jp2
new file mode 100644
index 0000000..8186d49
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/IMG_BLOOM1.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/Terrain Dirt-b8d3965a-ad78-bf43-699b-bff8eca6c975.texture b/bin/assets/TexturesAssetSet/Terrain Dirt-b8d3965a-ad78-bf43-699b-bff8eca6c975.texture
new file mode 100644
index 0000000..44f31a0
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/Terrain Dirt-b8d3965a-ad78-bf43-699b-bff8eca6c975.texture
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/Terrain Grass-abb783e6-3e93-26c0-248a-247666855da3.texture b/bin/assets/TexturesAssetSet/Terrain Grass-abb783e6-3e93-26c0-248a-247666855da3.texture
new file mode 100644
index 0000000..13c43b4
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/Terrain Grass-abb783e6-3e93-26c0-248a-247666855da3.texture
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/Terrain Mountain-179cdabd-398a-9b6b-1391-4dc333ba321f.texture b/bin/assets/TexturesAssetSet/Terrain Mountain-179cdabd-398a-9b6b-1391-4dc333ba321f.texture
new file mode 100644
index 0000000..8971ac3
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/Terrain Mountain-179cdabd-398a-9b6b-1391-4dc333ba321f.texture
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/Terrain Rock-beb169c7-11ea-fff2-efe5-0f24dc881df2.texture b/bin/assets/TexturesAssetSet/Terrain Rock-beb169c7-11ea-fff2-efe5-0f24dc881df2.texture
new file mode 100644
index 0000000..ccbeb08
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/Terrain Rock-beb169c7-11ea-fff2-efe5-0f24dc881df2.texture
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml
new file mode 100644
index 0000000..f7e4367
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml
@@ -0,0 +1,767 @@
1<Nini>
2 <Section Name="Default Alpha">
3 <Key Name="assetID" Value="1578a2b1-5179-4b53-b618-fe00ca5a5594" />
4 <Key Name="name" Value="alpha" />
5 <Key Name="assetType" Value="0" />
6 <Key Name="fileName" Value="default_alpha.jp2" />
7 </Section>
8 <Section Name="texture1">
9 <Key Name="assetID" Value="00000000-0000-2222-3333-000000000099" />
10 <Key Name="name" Value="femface" />
11 <Key Name="assetType" Value="0" />
12 <Key Name="fileName" Value="femaleface.jp2" />
13 </Section>
14 <Section Name="4-tile2 Texture">
15 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001000" />
16 <Key Name="name" Value="4-tile2" />
17 <Key Name="assetType" Value="0" />
18 <Key Name="fileName" Value="4-tile2.jp2" />
19 </Section>
20 <Section Name="4-tile3 Texture">
21 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001001" />
22 <Key Name="name" Value="4-tile3" />
23 <Key Name="assetType" Value="0" />
24 <Key Name="fileName" Value="4-tile3.jp2" />
25 </Section>
26 <Section Name="brick1_256 Texture">
27 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001002" />
28 <Key Name="name" Value="brick1_256" />
29 <Key Name="assetType" Value="0" />
30 <Key Name="fileName" Value="brick1_256.jp2" />
31 </Section>
32 <Section Name="brick2_256 Texture">
33 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001003" />
34 <Key Name="name" Value="brick2_256" />
35 <Key Name="assetType" Value="0" />
36 <Key Name="fileName" Value="brick2_256.jp2" />
37 </Section>
38 <Section Name="brick_mono Texture">
39 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001004" />
40 <Key Name="name" Value="brick_mono" />
41 <Key Name="assetType" Value="0" />
42 <Key Name="fileName" Value="brick_mono.jp2" />
43 </Section>
44 <Section Name="cedar Texture">
45 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001005" />
46 <Key Name="name" Value="cedar" />
47 <Key Name="assetType" Value="0" />
48 <Key Name="fileName" Value="cedar.jp2" />
49 </Section>
50 <Section Name="cement_block Texture">
51 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001006" />
52 <Key Name="name" Value="cement_block" />
53 <Key Name="assetType" Value="0" />
54 <Key Name="fileName" Value="cement_block.jp2" />
55 </Section>
56 <Section Name="clear Texture">
57 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001007" />
58 <Key Name="name" Value="clear" />
59 <Key Name="assetType" Value="0" />
60 <Key Name="fileName" Value="clear.jp2" />
61 </Section>
62 <Section Name="cobbles Texture">
63 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001008" />
64 <Key Name="name" Value="cobbles" />
65 <Key Name="assetType" Value="0" />
66 <Key Name="fileName" Value="cobbles.jp2" />
67 </Section>
68 <Section Name="creambrick Texture">
69 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001009" />
70 <Key Name="name" Value="creambrick" />
71 <Key Name="assetType" Value="0" />
72 <Key Name="fileName" Value="creambrick.jp2" />
73 </Section>
74 <Section Name="fgrass Texture">
75 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001010" />
76 <Key Name="name" Value="fgrass" />
77 <Key Name="assetType" Value="0" />
78 <Key Name="fileName" Value="fgrass.jp2" />
79 </Section>
80 <Section Name="glasstile2 Texture">
81 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001011" />
82 <Key Name="name" Value="glasstile2" />
83 <Key Name="assetType" Value="0" />
84 <Key Name="fileName" Value="glasstile2.jp2" />
85 </Section>
86 <Section Name="graniteblock Texture">
87 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001012" />
88 <Key Name="name" Value="graniteblock" />
89 <Key Name="assetType" Value="0" />
90 <Key Name="fileName" Value="graniteblock.jp2" />
91 </Section>
92 <Section Name="grass Texture">
93 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001013" />
94 <Key Name="name" Value="grass" />
95 <Key Name="assetType" Value="0" />
96 <Key Name="fileName" Value="grass.jp2" />
97 </Section>
98 <Section Name="gravel Texture">
99 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001014" />
100 <Key Name="name" Value="gravel" />
101 <Key Name="assetType" Value="0" />
102 <Key Name="fileName" Value="gravel.jp2" />
103 </Section>
104 <Section Name="greybrick Texture">
105 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001015" />
106 <Key Name="name" Value="greybrick" />
107 <Key Name="assetType" Value="0" />
108 <Key Name="fileName" Value="greybrick.jp2" />
109 </Section>
110 <Section Name="ivy Texture">
111 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001016" />
112 <Key Name="name" Value="ivy" />
113 <Key Name="assetType" Value="0" />
114 <Key Name="fileName" Value="ivy.jp2" />
115 </Section>
116 <Section Name="mahogany Texture">
117 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001017" />
118 <Key Name="name" Value="mahogany" />
119 <Key Name="assetType" Value="0" />
120 <Key Name="fileName" Value="mahogany.jp2" />
121 </Section>
122 <Section Name="maple Texture">
123 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001018" />
124 <Key Name="name" Value="maple" />
125 <Key Name="assetType" Value="0" />
126 <Key Name="fileName" Value="maple.jp2" />
127 </Section>
128 <Section Name="mosaic02 Texture">
129 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001019" />
130 <Key Name="name" Value="mosaic02" />
131 <Key Name="assetType" Value="0" />
132 <Key Name="fileName" Value="mosaic02.jp2" />
133 </Section>
134 <Section Name="palm1 Texture">
135 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001020" />
136 <Key Name="name" Value="palm1" />
137 <Key Name="assetType" Value="0" />
138 <Key Name="fileName" Value="palm1.jp2" />
139 </Section>
140 <Section Name="papaya Texture">
141 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001021" />
142 <Key Name="name" Value="papaya" />
143 <Key Name="assetType" Value="0" />
144 <Key Name="fileName" Value="papaya.jp2" />
145 </Section>
146 <Section Name="papaya_bark Texture">
147 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001022" />
148 <Key Name="name" Value="papaya_bark" />
149 <Key Name="assetType" Value="0" />
150 <Key Name="fileName" Value="papaya_bark.jp2" />
151 </Section>
152 <Section Name="pastelbrick Texture">
153 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001023" />
154 <Key Name="name" Value="pastelbrick" />
155 <Key Name="assetType" Value="0" />
156 <Key Name="fileName" Value="pastelbrick.jp2" />
157 </Section>
158 <Section Name="pine1_10m Texture">
159 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001024" />
160 <Key Name="name" Value="pine1_10m" />
161 <Key Name="assetType" Value="0" />
162 <Key Name="fileName" Value="pine1_10m.jp2" />
163 </Section>
164 <Section Name="poplar Texture">
165 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001025" />
166 <Key Name="name" Value="poplar" />
167 <Key Name="assetType" Value="0" />
168 <Key Name="fileName" Value="poplar.jp2" />
169 </Section>
170 <Section Name="redtri_tile Texture">
171 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001026" />
172 <Key Name="name" Value="redtri_tile" />
173 <Key Name="assetType" Value="0" />
174 <Key Name="fileName" Value="redtri_tile.jp2" />
175 </Section>
176 <Section Name="rockbuilding Texture">
177 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001027" />
178 <Key Name="name" Value="rockbuilding" />
179 <Key Name="assetType" Value="0" />
180 <Key Name="fileName" Value="rockbuilding.jp2" />
181 </Section>
182 <Section Name="rockwallbig Texture">
183 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001028" />
184 <Key Name="name" Value="rockwallbig" />
185 <Key Name="assetType" Value="0" />
186 <Key Name="fileName" Value="rockwallbig.jp2" />
187 </Section>
188 <Section Name="roof01 Texture">
189 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001029" />
190 <Key Name="name" Value="roof01" />
191 <Key Name="assetType" Value="0" />
192 <Key Name="fileName" Value="roof01.jp2" />
193 </Section>
194 <Section Name="rooftiles1 Texture">
195 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001030" />
196 <Key Name="name" Value="rooftiles1" />
197 <Key Name="assetType" Value="0" />
198 <Key Name="fileName" Value="rooftiles1.jp2" />
199 </Section>
200 <Section Name="rooftiles2_peach Texture">
201 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001031" />
202 <Key Name="name" Value="rooftiles2_peach" />
203 <Key Name="assetType" Value="0" />
204 <Key Name="fileName" Value="rooftiles2_peach.jp2" />
205 </Section>
206 <Section Name="rooftiles2_roy Texture">
207 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001032" />
208 <Key Name="name" Value="rooftiles2_roy" />
209 <Key Name="assetType" Value="0" />
210 <Key Name="fileName" Value="rooftiles2_roy.jp2" />
211 </Section>
212 <Section Name="saguaro_8m Texture">
213 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001033" />
214 <Key Name="name" Value="saguaro_8m" />
215 <Key Name="assetType" Value="0" />
216 <Key Name="fileName" Value="saguaro_8m.jp2" />
217 </Section>
218 <Section Name="seawater Texture">
219 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001034" />
220 <Key Name="name" Value="seawater" />
221 <Key Name="assetType" Value="0" />
222 <Key Name="fileName" Value="seawater.jp2" />
223 </Section>
224 <Section Name="snow1 Texture">
225 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001035" />
226 <Key Name="name" Value="snow1" />
227 <Key Name="assetType" Value="0" />
228 <Key Name="fileName" Value="snow1.jp2" />
229 </Section>
230 <Section Name="steel Texture">
231 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001036" />
232 <Key Name="name" Value="steel" />
233 <Key Name="assetType" Value="0" />
234 <Key Name="fileName" Value="steel.jp2" />
235 </Section>
236 <Section Name="stone1wall Texture">
237 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001037" />
238 <Key Name="name" Value="stone1wall" />
239 <Key Name="assetType" Value="0" />
240 <Key Name="fileName" Value="stone1wall.jp2" />
241 </Section>
242 <Section Name="stonetile Texture">
243 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001038" />
244 <Key Name="name" Value="stonetile" />
245 <Key Name="assetType" Value="0" />
246 <Key Name="fileName" Value="stonetile.jp2" />
247 </Section>
248 <Section Name="street2 Texture">
249 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001039" />
250 <Key Name="name" Value="street2" />
251 <Key Name="assetType" Value="0" />
252 <Key Name="fileName" Value="street2.jp2" />
253 </Section>
254 <Section Name="thatch Texture">
255 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001040" />
256 <Key Name="name" Value="thatch" />
257 <Key Name="assetType" Value="0" />
258 <Key Name="fileName" Value="thatch.jp2" />
259 </Section>
260 <Section Name="water1 Texture">
261 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001041" />
262 <Key Name="name" Value="water1" />
263 <Key Name="assetType" Value="0" />
264 <Key Name="fileName" Value="water1.jp2" />
265 </Section>
266 <Section Name="water3 Texture">
267 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001042" />
268 <Key Name="name" Value="water3" />
269 <Key Name="assetType" Value="0" />
270 <Key Name="fileName" Value="water3.jp2" />
271 </Section>
272 <Section Name="Sea">
273 <Key Name="assetID" Value="2bfd3884-7e27-69b9-ba3a-3e673f680004" />
274 <Key Name="name" Value="Sea" />
275 <Key Name="assetType" Value="0" />
276 <Key Name="fileName" Value="water3.jp2" />
277 </Section>
278 <Section Name="wood1 Texture">
279 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001043" />
280 <Key Name="name" Value="wood1" />
281 <Key Name="assetType" Value="0" />
282 <Key Name="fileName" Value="wood1.jp2" />
283 </Section>
284 <Section Name="bricks">
285 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000001"/>
286 <Key Name="name" Value="bricks"/>
287 <Key Name="assetType" Value="0" />
288 <Key Name="fileName" Value="bricks.jp2"/>
289 </Section>
290 <Section Name="plywood">
291 <Key Name="assetID" Value="89556747-24cb-43ed-920b-47caed15465f"/>
292 <Key Name="name" Value="plywood"/>
293 <Key Name="assetType" Value="0" />
294 <Key Name="fileName" Value="plywood.jp2"/>
295 </Section>
296 <Section Name="rocks">
297 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000003"/>
298 <Key Name="name" Value="rocks"/>
299 <Key Name="assetType" Value="0" />
300 <Key Name="fileName" Value="rocks.jp2"/>
301 </Section>
302 <Section Name="granite">
303 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000004"/>
304 <Key Name="name" Value="granite"/>
305 <Key Name="assetType" Value="0" />
306 <Key Name="fileName" Value="granite.jp2"/>
307 </Section>
308 <Section Name="hardwood">
309 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000005"/>
310 <Key Name="name" Value="hardwood"/>
311 <Key Name="assetType" Value="0" />
312 <Key Name="fileName" Value="hardwood.jp2"/>
313 </Section>
314 <Section Name="Map Base Texture">
315 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000006"/>
316 <Key Name="name" Value="Map Base Texture"/>
317 <Key Name="assetType" Value="0" />
318 <Key Name="fileName" Value="map_base.jp2"/>
319 </Section>
320 <Section Name="Map Texture">
321 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000007"/>
322 <Key Name="name" Value="Map Texture"/>
323 <Key Name="assetType" Value="0" />
324 <Key Name="fileName" Value="map1.jp2"/>
325 </Section>
326 <Section Name="Female Body Texture">
327 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000010"/>
328 <Key Name="name" Value="Female Body Texture"/>
329 <Key Name="assetType" Value="0" />
330 <Key Name="inventoryType" Value="0" />
331 <Key Name="fileName" Value="femalebody.jp2"/>
332 </Section>
333 <Section Name="Female Bottom Texture">
334 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000011"/>
335 <Key Name="name" Value="Female Bottom Texture"/>
336 <Key Name="assetType" Value="0" />
337 <Key Name="inventoryType" Value="0" />
338 <Key Name="fileName" Value="femalebottom.jp2"/>
339 </Section>
340 <Section Name="Female Face Texture">
341 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000012"/>
342 <Key Name="name" Value="Female Face Texture"/>
343 <Key Name="assetType" Value="0" />
344 <Key Name="fileName" Value="femaleface.jp2"/>
345 </Section>
346 <Section Name="Female Hair Texture">
347 <Key Name="assetID" Value="7ca39b4c-bd19-4699-aff7-f93fd03d3e7b"/>
348 <Key Name="name" Value="Female Hair Texture"/>
349 <Key Name="assetType" Value="0" />
350 <Key Name="fileName" Value="femalehair.jp2"/>
351 </Section>
352 <Section Name="Hyperlink Map Texture">
353 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000013"/>
354 <Key Name="name" Value="Hyperlink Map Texture"/>
355 <Key Name="assetType" Value="0" />
356 <Key Name="fileName" Value="hg2.jp2"/>
357 </Section>
358 <Section Name="Moon">
359 <Key Name="assetID" Value="ec4b9f0b-d008-45c6-96a4-01dd947ac621"/>
360 <Key Name="name" Value="Moon"/>
361 <Key Name="assetType" Value="0" />
362 <Key Name="fileName" Value="moon.jp2"/>
363 </Section>
364 <Section Name="Cloud">
365 <Key Name="assetID" Value="dc4b9f0b-d008-45c6-96a4-01dd947ac621"/>
366 <Key Name="name" Value="Cloud"/>
367 <Key Name="assetType" Value="0" />
368 <Key Name="fileName" Value="cloud.jp2"/>
369 </Section>
370
371 <Section Name="Terrain Dirt">
372 <Key Name="assetID" Value="b8d3965a-ad78-bf43-699b-bff8eca6c975"/>
373 <Key Name="name" Value="Terrain Dirt"/>
374 <Key Name="assetType" Value="0" />
375 <Key Name="fileName" Value="Terrain Dirt-b8d3965a-ad78-bf43-699b-bff8eca6c975.texture" />
376 </Section>
377 <Section Name="Terrain Grass">
378 <Key Name="assetID" Value="abb783e6-3e93-26c0-248a-247666855da3"/>
379 <Key Name="name" Value="Terrain Grass"/>
380 <Key Name="assetType" Value="0" />
381 <Key Name="fileName" Value="Terrain Grass-abb783e6-3e93-26c0-248a-247666855da3.texture" />
382 </Section>
383 <Section Name="Terrain Mountain">
384 <Key Name="assetID" Value="179cdabd-398a-9b6b-1391-4dc333ba321f"/>
385 <Key Name="name" Value="Terrain Mountain"/>
386 <Key Name="assetType" Value="0" />
387 <Key Name="fileName" Value="Terrain Mountain-179cdabd-398a-9b6b-1391-4dc333ba321f.texture" />
388 </Section>
389 <Section Name="Terrain Rock">
390 <Key Name="assetID" Value="beb169c7-11ea-fff2-efe5-0f24dc881df2"/>
391 <Key Name="name" Value="Terrain Rock"/>
392 <Key Name="assetType" Value="0" />
393 <Key Name="fileName" Value="Terrain Rock-beb169c7-11ea-fff2-efe5-0f24dc881df2.texture" />
394 </Section>
395
396 <Section Name="Blank Texture">
397 <Key Name="assetID" Value="5748decc-f629-461c-9a36-a35a221fe21f"/>
398 <Key Name="name" Value="Blank Texture"/>
399 <Key Name="assetType" Value="0" />
400 <Key Name="fileName" Value="blank.jpc" />
401 </Section>
402
403 <Section Name="Default Media Texture">
404 <Key Name="assetID" Value="8b5fec65-8d8d-9dc5-cda8-8fdf2716e361"/>
405 <Key Name="name" Value="Default Media Texture"/>
406 <Key Name="assetType" Value="0" />
407 <Key Name="fileName" Value="default_media.jp2" />
408 </Section>
409
410 <Section Name="Default Transparent Texture">
411 <Key Name="assetID" Value="8dcd4a48-2d37-4909-9f78-f7a9eb4ef903"/>
412 <Key Name="name" Value="Default Transparent Texture"/>
413 <Key Name="assetType" Value="0" />
414 <Key Name="fileName" Value="default_clear.jp2" />
415 </Section>
416
417 <!-- 3a367d1c-bef1-6d43-7595-e88c1e3aadb3 is a UUID that viewers assume exists in the asset server -->
418 <!-- See http://opensimulator.org/mantis/bug_view_advanced_page.php?bug_id=4751 for more details -->
419 <Section Name="Default Alpha Layer Texture">
420 <Key Name="assetID" Value="3a367d1c-bef1-6d43-7595-e88c1e3aadb3"/>
421 <Key Name="name" Value="Default Alpha Layer Texture"/>
422 <Key Name="assetType" Value="0" />
423 <Key Name="fileName" Value="default_clear.jp2" />
424 </Section>
425
426 <Section Name="Default Avatar">
427 <Key Name="assetID" Value="c228d1cf-4b5d-4ba8-84f4-899a0796aa97"/>
428 <Key Name="name" Value="Default Avatar"/>
429 <Key Name="assetType" Value="0" />
430 <Key Name="fileName" Value="default_avatar.jp2" />
431 </Section>
432
433 <Section Name="Default Iris">
434 <Key Name="assetID" Value="6522e74d-1660-4e7f-b601-6f48c1659a77"/>
435 <Key Name="name" Value="Default Iris"/>
436 <Key Name="assetType" Value="0" />
437 <Key Name="fileName" Value="default_iris.jp2" />
438 </Section>
439
440 <Section Name="Cypress 1">
441 <Key Name="assetID" Value="fb2ae204-3fd1-df33-594f-c9f882830e66"/>
442 <Key Name="name" Value="Cypress 1"/>
443 <Key Name="assetType" Value="0" />
444 <Key Name="fileName" Value="fb2ae204-3fd1-df33-594f-c9f882830e66.j2c" />
445 </Section>
446
447 <Section Name="Beach Grass 1">
448 <Key Name="assetID" Value="18fb888b-e8f1-dce7-7da7-321d651ea6b0"/>
449 <Key Name="name" Value="Beach Grass 1"/>
450 <Key Name="assetType" Value="0" />
451 <Key Name="fileName" Value="18fb888b-e8f1-dce7-7da7-321d651ea6b0.j2c" />
452 </Section>
453
454 <Section Name="Cypress 1">
455 <Key Name="assetID" Value="fb2ae204-3fd1-df33-594f-c9f882830e66"/>
456 <Key Name="name" Value="Cypress 1"/>
457 <Key Name="assetType" Value="0" />
458 <Key Name="fileName" Value="fb2ae204-3fd1-df33-594f-c9f882830e66.j2c" />
459 </Section>
460
461 <Section Name="Cypress 2">
462 <Key Name="assetID" Value="30047cec-269d-408e-0c30-b2603b887268"/>
463 <Key Name="name" Value="Cypress 2"/>
464 <Key Name="assetType" Value="0" />
465 <Key Name="fileName" Value="30047cec-269d-408e-0c30-b2603b887268.j2c" />
466 </Section>
467
468 <Section Name="Dogwood">
469 <Key Name="assetID" Value="64367bd1-697e-b3e6-0b65-3f862a577366"/>
470 <Key Name="name" Value="Dogwood"/>
471 <Key Name="assetType" Value="0" />
472 <Key Name="fileName" Value="64367bd1-697e-b3e6-0b65-3f862a577366.j2c" />
473 </Section>
474
475 <Section Name="Eelgrass">
476 <Key Name="assetID" Value="96b4de31-f4fa-337d-ec78-451e3609769e"/>
477 <Key Name="name" Value="Eelgrass"/>
478 <Key Name="assetType" Value="0" />
479 <Key Name="fileName" Value="96b4de31-f4fa-337d-ec78-451e3609769e.j2c" />
480 </Section>
481
482 <Section Name="Eucalyptus">
483 <Key Name="assetID" Value="a6162133-724b-54df-a12f-51cd070ad6f3"/>
484 <Key Name="name" Value="Eucalyptus"/>
485 <Key Name="assetType" Value="0" />
486 <Key Name="fileName" Value="a6162133-724b-54df-a12f-51cd070ad6f3.j2c" />
487 </Section>
488
489 <Section Name="Fern">
490 <Key Name="assetID" Value="8872f2b8-31db-42d8-580a-b3e4a91262de"/>
491 <Key Name="name" Value="Fern"/>
492 <Key Name="assetType" Value="0" />
493 <Key Name="fileName" Value="8872f2b8-31db-42d8-580a-b3e4a91262de.j2c" />
494 </Section>
495
496 <Section Name="Kelp 1">
497 <Key Name="assetID" Value="2caf1179-7861-6ff3-4b7d-46e17780bdfa"/>
498 <Key Name="name" Value="Kelp 1"/>
499 <Key Name="assetType" Value="0" />
500 <Key Name="fileName" Value="2caf1179-7861-6ff3-4b7d-46e17780bdfa.j2c" />
501 </Section>
502
503 <Section Name="Kelp 2">
504 <Key Name="assetID" Value="2a4880b6-b7a3-690a-2049-bfbe38eafb9f"/>
505 <Key Name="name" Value="Kelp 2"/>
506 <Key Name="assetType" Value="0" />
507 <Key Name="fileName" Value="2a4880b6-b7a3-690a-2049-bfbe38eafb9f.j2c" />
508 </Section>
509
510 <Section Name="Oak">
511 <Key Name="assetID" Value="8a515889-eac9-fb55-8eba-d2dc09eb32c8"/>
512 <Key Name="name" Value="Oak"/>
513 <Key Name="assetType" Value="0" />
514 <Key Name="fileName" Value="8a515889-eac9-fb55-8eba-d2dc09eb32c8.j2c" />
515 </Section>
516
517 <Section Name="Palm 1">
518 <Key Name="assetID" Value="ca4e8c27-473c-eb1c-2f5d-50ee3f07d85c"/>
519 <Key Name="name" Value="Palm 1"/>
520 <Key Name="assetType" Value="0" />
521 <Key Name="fileName" Value="ca4e8c27-473c-eb1c-2f5d-50ee3f07d85c.j2c" />
522 </Section>
523
524 <Section Name="Palm 2">
525 <Key Name="assetID" Value="2d784476-d0db-9979-0cff-9408745a7cf3"/>
526 <Key Name="name" Value="Palm 2"/>
527 <Key Name="assetType" Value="0" />
528 <Key Name="fileName" Value="2d784476-d0db-9979-0cff-9408745a7cf3.j2c" />
529 </Section>
530
531 <Section Name="Pine 1">
532 <Key Name="assetID" Value="0187babf-6c0d-5891-ebed-4ecab1426683"/>
533 <Key Name="name" Value="Pine 1"/>
534 <Key Name="assetType" Value="0" />
535 <Key Name="fileName" Value="0187babf-6c0d-5891-ebed-4ecab1426683.j2c" />
536 </Section>
537
538 <Section Name="Pine 2">
539 <Key Name="assetID" Value="d691a01c-13b7-578d-57c0-5caef0b4e7e1"/>
540 <Key Name="name" Value="Pine 2"/>
541 <Key Name="assetType" Value="0" />
542 <Key Name="fileName" Value="d691a01c-13b7-578d-57c0-5caef0b4e7e1.j2c" />
543 </Section>
544
545 <Section Name="Plumeria">
546 <Key Name="assetID" Value="6de37e4e-7029-61f5-54b8-f5e63f983f58"/>
547 <Key Name="name" Value="Plumeria"/>
548 <Key Name="assetType" Value="0" />
549 <Key Name="fileName" Value="6de37e4e-7029-61f5-54b8-f5e63f983f58.j2c" />
550 </Section>
551
552 <Section Name="Sea Sword">
553 <Key Name="assetID" Value="5894e2e7-ab8d-edfa-e61c-18cf16854ba3"/>
554 <Key Name="name" Value="Sea Sword"/>
555 <Key Name="assetType" Value="0" />
556 <Key Name="fileName" Value="5894e2e7-ab8d-edfa-e61c-18cf16854ba3.j2c" />
557 </Section>
558
559 <Section Name="Tropical Bush 1">
560 <Key Name="assetID" Value="5bc11cd6-2f40-071e-a8da-0903394204f9"/>
561 <Key Name="name" Value="Tropical Bush 1"/>
562 <Key Name="assetType" Value="0" />
563 <Key Name="fileName" Value="5bc11cd6-2f40-071e-a8da-0903394204f9.j2c" />
564 </Section>
565
566 <Section Name="Tropical Bush 2">
567 <Key Name="assetID" Value="cdd9a9fc-6d0b-f90d-8416-c72b6019bca8"/>
568 <Key Name="name" Value="Tropical Bush 2"/>
569 <Key Name="assetType" Value="0" />
570 <Key Name="fileName" Value="cdd9a9fc-6d0b-f90d-8416-c72b6019bca8.j2c" />
571 </Section>
572
573 <Section Name="Winter Pine 1">
574 <Key Name="assetID" Value="10d2a01a-0818-84b9-4b96-c2eb63256519"/>
575 <Key Name="name" Value="Winter Pine 1"/>
576 <Key Name="assetType" Value="0" />
577 <Key Name="fileName" Value="10d2a01a-0818-84b9-4b96-c2eb63256519.j2c" />
578 </Section>
579
580 <Section Name="Winter Pine 2">
581 <Key Name="assetID" Value="67931331-0c02-4876-1255-28770896c6a2"/>
582 <Key Name="name" Value="Winter Pine 2"/>
583 <Key Name="assetType" Value="0" />
584 <Key Name="fileName" Value="67931331-0c02-4876-1255-28770896c6a2.j2c" />
585 </Section>
586
587 <Section Name="Winter Aspen">
588 <Key Name="assetID" Value="7c0cf89b-44b1-1ce2-dd74-07102a98ac2a"/>
589 <Key Name="name" Value="Winter Aspen"/>
590 <Key Name="assetType" Value="0" />
591 <Key Name="fileName" Value="7c0cf89b-44b1-1ce2-dd74-07102a98ac2a.j2c" />
592 </Section>
593
594 <Section Name="Grass 0">
595 <Key Name="assetID" Value="6c4727b8-ac79-ba44-3b81-f9aa887b47eb"/>
596 <Key Name="name" Value="Grass 0"/>
597 <Key Name="assetType" Value="0" />
598 <Key Name="fileName" Value="6c4727b8-ac79-ba44-3b81-f9aa887b47eb.j2c" />
599 </Section>
600
601 <Section Name="Grass 1">
602 <Key Name="assetID" Value="79504bf5-c3ec-0763-6563-d843de66d0a1"/>
603 <Key Name="name" Value="Grass 1"/>
604 <Key Name="assetType" Value="0" />
605 <Key Name="fileName" Value="79504bf5-c3ec-0763-6563-d843de66d0a1.j2c" />
606 </Section>
607
608 <Section Name="Grass 2">
609 <Key Name="assetID" Value="6c4727b8-ac79-ba44-3b81-f9aa887b47eb"/>
610 <Key Name="name" Value="Grass 2"/>
611 <Key Name="assetType" Value="0" />
612 <Key Name="fileName" Value="6c4727b8-ac79-ba44-3b81-f9aa887b47eb.j2c" />
613 </Section>
614
615 <Section Name="Grass 3">
616 <Key Name="assetID" Value="99bd60a2-3250-efc9-2e39-2fbcadefbecc"/>
617 <Key Name="name" Value="Grass 3"/>
618 <Key Name="assetType" Value="0" />
619 <Key Name="fileName" Value="99bd60a2-3250-efc9-2e39-2fbcadefbecc.j2c" />
620 </Section>
621
622 <Section Name="Grass 4">
623 <Key Name="assetID" Value="7a2b3a4a-53c2-53ac-5716-aac7d743c020"/>
624 <Key Name="name" Value="Grass 4"/>
625 <Key Name="assetType" Value="0" />
626 <Key Name="fileName" Value="7a2b3a4a-53c2-53ac-5716-aac7d743c020.j2c" />
627 </Section>
628
629 <Section Name="undergrowth_1">
630 <Key Name="assetID" Value="8f458549-173b-23ff-d4ff-bfaa5ea2371b"/>
631 <Key Name="name" Value="undergrowth_1"/>
632 <Key Name="assetType" Value="0" />
633 <Key Name="fileName" Value="8f458549-173b-23ff-d4ff-bfaa5ea2371b.j2c" />
634 </Section>
635
636 <Section Name="texture_crosshair">
637 <Key Name="assetID" Value="a85ac674-cb75-4af6-9499-df7c5aaf7a28"/>
638 <Key Name="name" Value="texture_crosshair"/>
639 <Key Name="assetType" Value="0" />
640 <Key Name="fileName" Value="a85ac674-cb75-4af6-9499-df7c5aaf7a28.j2c" />
641 </Section>
642
643 <Section Name="viewer_water">
644 <Key Name="assetID" Value="822ded49-9a6c-f61c-cb89-6df54f42cdf4"/>
645 <Key Name="name" Value="viewer_water"/>
646 <Key Name="assetType" Value="0" />
647 <Key Name="fileName" Value="822ded49-9a6c-f61c-cb89-6df54f42cdf4.j2c" />
648 </Section>
649
650 <Section Name="woodgrain_bumpmap">
651 <Key Name="assetID" Value="058c75c0-a0d5-f2f8-43f3-e9699a89c2fc"/>
652 <Key Name="name" Value="woodgrain_bumpmap"/>
653 <Key Name="assetType" Value="0" />
654 <Key Name="fileName" Value="058c75c0-a0d5-f2f8-43f3-e9699a89c2fc.j2c" />
655 </Section>
656
657 <Section Name="bark_bumpmap">
658 <Key Name="assetID" Value="6c9fa78a-1c69-2168-325b-3e03ffa348ce"/>
659 <Key Name="name" Value="bark_bumpmap"/>
660 <Key Name="assetType" Value="0" />
661 <Key Name="fileName" Value="6c9fa78a-1c69-2168-325b-3e03ffa348ce.j2c" />
662 </Section>
663
664 <Section Name="bricks_bumpmap">
665 <Key Name="assetID" Value="b8eed5f0-64b7-6e12-b67f-43fa8e773440"/>
666 <Key Name="name" Value="bricks_bumpmap"/>
667 <Key Name="assetType" Value="0" />
668 <Key Name="fileName" Value="b8eed5f0-64b7-6e12-b67f-43fa8e773440.j2c" />
669 </Section>
670
671 <Section Name="checker_bumpmap">
672 <Key Name="assetID" Value="9deab416-9c63-78d6-d558-9a156f12044c"/>
673 <Key Name="name" Value="checker_bumpmap"/>
674 <Key Name="assetType" Value="0" />
675 <Key Name="fileName" Value="9deab416-9c63-78d6-d558-9a156f12044c.j2c" />
676 </Section>
677
678 <Section Name="concrete_bumpmap">
679 <Key Name="assetID" Value="db9d39ec-a896-c287-1ced-64566217021e"/>
680 <Key Name="name" Value="concrete_bumpmap"/>
681 <Key Name="assetType" Value="0" />
682 <Key Name="fileName" Value="db9d39ec-a896-c287-1ced-64566217021e.j2c" />
683 </Section>
684
685 <Section Name="crustytile_bumpmap">
686 <Key Name="assetID" Value="f2d7b6f6-4200-1e9a-fd5b-96459e950f94"/>
687 <Key Name="name" Value="crustytile_bumpmap"/>
688 <Key Name="assetType" Value="0" />
689 <Key Name="fileName" Value="f2d7b6f6-4200-1e9a-fd5b-96459e950f94.j2c" />
690 </Section>
691
692 <Section Name="cutstone_bumpmap">
693 <Key Name="assetID" Value="d9258671-868f-7511-c321-7baef9e948a4"/>
694 <Key Name="name" Value="cutstone_bumpmap"/>
695 <Key Name="assetType" Value="0" />
696 <Key Name="fileName" Value="d9258671-868f-7511-c321-7baef9e948a4.j2c" />
697 </Section>
698
699 <Section Name="discs_bumpmap">
700 <Key Name="assetID" Value="d21e44ca-ff1c-a96e-b2ef-c0753426b7d9"/>
701 <Key Name="name" Value="discs_bumpmap"/>
702 <Key Name="assetType" Value="0" />
703 <Key Name="fileName" Value="d21e44ca-ff1c-a96e-b2ef-c0753426b7d9.j2c" />
704 </Section>
705
706 <Section Name="gravel_bumpmap">
707 <Key Name="assetID" Value="4726f13e-bd07-f2fb-feb0-bfa2ac58ab61"/>
708 <Key Name="name" Value="gravel_bumpmap"/>
709 <Key Name="assetType" Value="0" />
710 <Key Name="fileName" Value="4726f13e-bd07-f2fb-feb0-bfa2ac58ab61.j2c" />
711 </Section>
712
713 <Section Name="petridish_bumpmap">
714 <Key Name="assetID" Value="e569711a-27c2-aad4-9246-0c910239a179"/>
715 <Key Name="name" Value="petridish_bumpmap"/>
716 <Key Name="assetType" Value="0" />
717 <Key Name="fileName" Value="e569711a-27c2-aad4-9246-0c910239a179.j2c" />
718 </Section>
719
720 <Section Name="siding_bumpmap">
721 <Key Name="assetID" Value="073c9723-540c-5449-cdd4-0e87fdc159e3"/>
722 <Key Name="name" Value="siding_bumpmap"/>
723 <Key Name="assetType" Value="0" />
724 <Key Name="fileName" Value="073c9723-540c-5449-cdd4-0e87fdc159e3.j2c" />
725 </Section>
726
727 <Section Name="stonetile_bumpmap">
728 <Key Name="assetID" Value="ae874d1a-93ef-54fb-5fd3-eb0cb156afc0"/>
729 <Key Name="name" Value="stonetile_bumpmap"/>
730 <Key Name="assetType" Value="0" />
731 <Key Name="fileName" Value="ae874d1a-93ef-54fb-5fd3-eb0cb156afc0.j2c" />
732 </Section>
733
734 <Section Name="stucco_bumpmap">
735 <Key Name="assetID" Value="92e66e00-f56f-598a-7997-048aa64cde18"/>
736 <Key Name="name" Value="stucco_bumpmap"/>
737 <Key Name="assetType" Value="0" />
738 <Key Name="fileName" Value="92e66e00-f56f-598a-7997-048aa64cde18.j2c" />
739 </Section>
740
741
742 <Section Name="suction_bumpmap">
743 <Key Name="assetID" Value="83b77fc6-10b4-63ec-4de7-f40629f238c5"/>
744 <Key Name="name" Value="suction_bumpmap"/>
745 <Key Name="assetType" Value="0" />
746 <Key Name="fileName" Value="83b77fc6-10b4-63ec-4de7-f40629f238c5.j2c" />
747 </Section>
748
749 <Section Name="weave_bumpmap">
750 <Key Name="assetID" Value="735198cf-6ea0-2550-e222-21d3c6a341ae"/>
751 <Key Name="name" Value="weave_bumpmap"/>
752 <Key Name="assetType" Value="0" />
753 <Key Name="fileName" Value="735198cf-6ea0-2550-e222-21d3c6a341ae.j2c" />
754 </Section>
755
756 <!--
757 Texture expected by viewers for properly displaying stars in the night sky
758 Name derives from label in viewer code
759 -->
760 <Section Name="IMG_BLOOM1 Texture">
761 <Key Name="assetID" Value="3c59f7fe-9dc8-47f9-8aaf-a9dd1fbc3bef"/>
762 <Key Name="name" Value="IMG_BLOOM1 Texture"/>
763 <Key Name="assetType" Value="0" />
764 <Key Name="fileName" Value="IMG_BLOOM1.jp2" />
765 </Section>
766
767</Nini>
diff --git a/bin/assets/TexturesAssetSet/a6162133-724b-54df-a12f-51cd070ad6f3.j2c b/bin/assets/TexturesAssetSet/a6162133-724b-54df-a12f-51cd070ad6f3.j2c
new file mode 100644
index 0000000..9d93153
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/a6162133-724b-54df-a12f-51cd070ad6f3.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/a85ac674-cb75-4af6-9499-df7c5aaf7a28.j2c b/bin/assets/TexturesAssetSet/a85ac674-cb75-4af6-9499-df7c5aaf7a28.j2c
new file mode 100644
index 0000000..aa22257
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/a85ac674-cb75-4af6-9499-df7c5aaf7a28.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/ae874d1a-93ef-54fb-5fd3-eb0cb156afc0.j2c b/bin/assets/TexturesAssetSet/ae874d1a-93ef-54fb-5fd3-eb0cb156afc0.j2c
new file mode 100644
index 0000000..61711d2
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/ae874d1a-93ef-54fb-5fd3-eb0cb156afc0.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/b8eed5f0-64b7-6e12-b67f-43fa8e773440.j2c b/bin/assets/TexturesAssetSet/b8eed5f0-64b7-6e12-b67f-43fa8e773440.j2c
new file mode 100644
index 0000000..f1e7a96
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/b8eed5f0-64b7-6e12-b67f-43fa8e773440.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/blank.jpc b/bin/assets/TexturesAssetSet/blank.jpc
new file mode 100644
index 0000000..69ee4f1
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/blank.jpc
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/brick1_256.jp2 b/bin/assets/TexturesAssetSet/brick1_256.jp2
new file mode 100644
index 0000000..a632282
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/brick1_256.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/brick2_256.jp2 b/bin/assets/TexturesAssetSet/brick2_256.jp2
new file mode 100644
index 0000000..efe0a9e
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/brick2_256.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/brick_mono.jp2 b/bin/assets/TexturesAssetSet/brick_mono.jp2
new file mode 100644
index 0000000..b250960
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/brick_mono.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/bricks.jp2 b/bin/assets/TexturesAssetSet/bricks.jp2
new file mode 100644
index 0000000..9dfdffd
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/bricks.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/ca4e8c27-473c-eb1c-2f5d-50ee3f07d85c.j2c b/bin/assets/TexturesAssetSet/ca4e8c27-473c-eb1c-2f5d-50ee3f07d85c.j2c
new file mode 100644
index 0000000..927af80
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/ca4e8c27-473c-eb1c-2f5d-50ee3f07d85c.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/cdd9a9fc-6d0b-f90d-8416-c72b6019bca8.j2c b/bin/assets/TexturesAssetSet/cdd9a9fc-6d0b-f90d-8416-c72b6019bca8.j2c
new file mode 100644
index 0000000..d6e52c2
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/cdd9a9fc-6d0b-f90d-8416-c72b6019bca8.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/cedar.jp2 b/bin/assets/TexturesAssetSet/cedar.jp2
new file mode 100644
index 0000000..2894e3b
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/cedar.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/cement_block.jp2 b/bin/assets/TexturesAssetSet/cement_block.jp2
new file mode 100644
index 0000000..971daac
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/cement_block.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/clear.jp2 b/bin/assets/TexturesAssetSet/clear.jp2
new file mode 100644
index 0000000..e4a29fc
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/clear.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/cloud.jp2 b/bin/assets/TexturesAssetSet/cloud.jp2
new file mode 100644
index 0000000..36bec4c
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/cloud.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/cobbles.jp2 b/bin/assets/TexturesAssetSet/cobbles.jp2
new file mode 100644
index 0000000..0bcc38f
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/cobbles.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/coffee.jp2 b/bin/assets/TexturesAssetSet/coffee.jp2
new file mode 100644
index 0000000..5761e8e
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/coffee.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/creambrick.jp2 b/bin/assets/TexturesAssetSet/creambrick.jp2
new file mode 100644
index 0000000..a3c22e1
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/creambrick.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/d21e44ca-ff1c-a96e-b2ef-c0753426b7d9.j2c b/bin/assets/TexturesAssetSet/d21e44ca-ff1c-a96e-b2ef-c0753426b7d9.j2c
new file mode 100644
index 0000000..909f9f9
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/d21e44ca-ff1c-a96e-b2ef-c0753426b7d9.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/d691a01c-13b7-578d-57c0-5caef0b4e7e1.j2c b/bin/assets/TexturesAssetSet/d691a01c-13b7-578d-57c0-5caef0b4e7e1.j2c
new file mode 100644
index 0000000..493a097
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/d691a01c-13b7-578d-57c0-5caef0b4e7e1.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/d9258671-868f-7511-c321-7baef9e948a4.j2c b/bin/assets/TexturesAssetSet/d9258671-868f-7511-c321-7baef9e948a4.j2c
new file mode 100644
index 0000000..d343f63
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/d9258671-868f-7511-c321-7baef9e948a4.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/db9d39ec-a896-c287-1ced-64566217021e.j2c b/bin/assets/TexturesAssetSet/db9d39ec-a896-c287-1ced-64566217021e.j2c
new file mode 100644
index 0000000..c11984b
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/db9d39ec-a896-c287-1ced-64566217021e.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/default_alpha.jp2 b/bin/assets/TexturesAssetSet/default_alpha.jp2
new file mode 100644
index 0000000..af73c1e
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/default_alpha.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/default_avatar.jp2 b/bin/assets/TexturesAssetSet/default_avatar.jp2
new file mode 100644
index 0000000..116b860
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/default_avatar.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/default_clear.jp2 b/bin/assets/TexturesAssetSet/default_clear.jp2
new file mode 100644
index 0000000..078edd8
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/default_clear.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/default_iris.jp2 b/bin/assets/TexturesAssetSet/default_iris.jp2
new file mode 100644
index 0000000..b932a06
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/default_iris.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/default_media.jp2 b/bin/assets/TexturesAssetSet/default_media.jp2
new file mode 100644
index 0000000..77e74e3
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/default_media.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/defaultalpha.jp2 b/bin/assets/TexturesAssetSet/defaultalpha.jp2
new file mode 100644
index 0000000..af73c1e
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/defaultalpha.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/e569711a-27c2-aad4-9246-0c910239a179.j2c b/bin/assets/TexturesAssetSet/e569711a-27c2-aad4-9246-0c910239a179.j2c
new file mode 100644
index 0000000..9be14d4
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/e569711a-27c2-aad4-9246-0c910239a179.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/f2d7b6f6-4200-1e9a-fd5b-96459e950f94.j2c b/bin/assets/TexturesAssetSet/f2d7b6f6-4200-1e9a-fd5b-96459e950f94.j2c
new file mode 100644
index 0000000..cb8a0cb
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/f2d7b6f6-4200-1e9a-fd5b-96459e950f94.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/fb2ae204-3fd1-df33-594f-c9f882830e66.j2c b/bin/assets/TexturesAssetSet/fb2ae204-3fd1-df33-594f-c9f882830e66.j2c
new file mode 100644
index 0000000..2db8517
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/fb2ae204-3fd1-df33-594f-c9f882830e66.j2c
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/fe_face.jp2 b/bin/assets/TexturesAssetSet/fe_face.jp2
new file mode 100644
index 0000000..c40c505
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/fe_face.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/fe_lower.jp2 b/bin/assets/TexturesAssetSet/fe_lower.jp2
new file mode 100644
index 0000000..58f6d17
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/fe_lower.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/fe_upper.jp2 b/bin/assets/TexturesAssetSet/fe_upper.jp2
new file mode 100644
index 0000000..2f38c17
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/fe_upper.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/femalebody.jp2 b/bin/assets/TexturesAssetSet/femalebody.jp2
new file mode 100644
index 0000000..a50498f
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/femalebody.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/femalebottom.jp2 b/bin/assets/TexturesAssetSet/femalebottom.jp2
new file mode 100644
index 0000000..88908c6
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/femalebottom.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/femaleface.jp2 b/bin/assets/TexturesAssetSet/femaleface.jp2
new file mode 100644
index 0000000..7bd0cb0
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/femaleface.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/femalehair.jp2 b/bin/assets/TexturesAssetSet/femalehair.jp2
new file mode 100644
index 0000000..15a1f36
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/femalehair.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/fgrass.jp2 b/bin/assets/TexturesAssetSet/fgrass.jp2
new file mode 100644
index 0000000..fb496aa
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/fgrass.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/glasstile2.jp2 b/bin/assets/TexturesAssetSet/glasstile2.jp2
new file mode 100644
index 0000000..9f62da7
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/glasstile2.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/granite.jp2 b/bin/assets/TexturesAssetSet/granite.jp2
new file mode 100644
index 0000000..c3ef40a
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/granite.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/graniteblock.jp2 b/bin/assets/TexturesAssetSet/graniteblock.jp2
new file mode 100644
index 0000000..c7c03f9
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/graniteblock.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/grass.jp2 b/bin/assets/TexturesAssetSet/grass.jp2
new file mode 100644
index 0000000..63cdfa3
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/grass.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/grass2.jp2 b/bin/assets/TexturesAssetSet/grass2.jp2
new file mode 100644
index 0000000..74eb2b4
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/grass2.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/gravel.jp2 b/bin/assets/TexturesAssetSet/gravel.jp2
new file mode 100644
index 0000000..21ed22e
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/gravel.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/greybrick.jp2 b/bin/assets/TexturesAssetSet/greybrick.jp2
new file mode 100644
index 0000000..5f45363
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/greybrick.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/hardwood.jp2 b/bin/assets/TexturesAssetSet/hardwood.jp2
new file mode 100644
index 0000000..ff0fcce
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/hardwood.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/hg2.jp2 b/bin/assets/TexturesAssetSet/hg2.jp2
new file mode 100644
index 0000000..9a66fd3
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/hg2.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/ivy.jp2 b/bin/assets/TexturesAssetSet/ivy.jp2
new file mode 100644
index 0000000..d19d18d
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/ivy.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/le_face.jp2 b/bin/assets/TexturesAssetSet/le_face.jp2
new file mode 100644
index 0000000..9d23acf
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/le_face.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/le_lower.jp2 b/bin/assets/TexturesAssetSet/le_lower.jp2
new file mode 100644
index 0000000..17d13bd
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/le_lower.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/le_upper.jp2 b/bin/assets/TexturesAssetSet/le_upper.jp2
new file mode 100644
index 0000000..53b648a
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/le_upper.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/licenses.txt b/bin/assets/TexturesAssetSet/licenses.txt
new file mode 100644
index 0000000..f34d26f
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/licenses.txt
@@ -0,0 +1,59 @@
1These textures have been collected from various sources:
2
31. Blender Texture Disk
4
5Notice of rights
6
7This is the collection of textures and materials of the "Blender Texture Disk", a product created by the company "NaN Technologies" in 2001, and later sold in the blender.org e-shop to support Open Source Blender development.
8
9The Blender Foundation has now decided to open up this content entirely as public domain. We wish you a lot of fun with the collection!
10Ton Roosendaal
11Chairman Blender Foundation
12ton(at)blender(dot)org
13
142. Hawaiian Plant Textures
15
16http://www.vterrain.org/Hawaii/Flora/textures/index.html
17
18I am placing these texture maps into the public domain; if you want higher resolutions or have any other questions or feedback, please contact me: info@vterrain.org
19
203. Golgotha Textures
21
22Golgotha was a game under development by Crack Dot Com. When game development was abandoned, the authors generously donated their work to the public domain.
23
24
254. Some made by me, Babblefrog
26
27A few of the wood textures were created by me using Wood Workshop. These I donate to the public domain.
28
295. From the VTerrain project.
30
31 The source code and data in this distribution are Copyright (c) 2001-2005 Virtual Terrain Project.
32
33 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated data and documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
34
35 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
36
37 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
38
396. From Second Life(TM) Viewer Artwork. Copyright (C) 2008 Linden Research, Inc.
40
41Linden Research, Inc. ("Linden Lab") licenses the Second Life viewer
42artwork and other works in the files distributed with this Notice under
43the Creative Commons Attribution-Share Alike 3.0 License, available at
44http://creativecommons.org/licenses/by- sa/3.0/legalcode. For the license
45summary, see http://creativecommons.org/licenses/by-sa/3.0/.
46
47Notwithstanding the foregoing, all of Linden Lab's trademarks, including
48but not limited to the Second Life brand name and Second Life Eye-in-Hand
49logo, are subject to our trademark policy at
50http://secondlife.com/corporate/trademark/.
51
52If you distribute any copies or adaptations of the Second Life viewer
53artwork or any other works in these files, you must include this Notice
54and clearly identify any changes made to the original works. Include
55this Notice and information where copyright notices are usually included,
56for example, after your own copyright notice acknowledging your use of
57the Second Life viewer artwork, in a text file distributed with your
58program, in your application's About window, or on a credits page for
59your work.
diff --git a/bin/assets/TexturesAssetSet/mahogany.jp2 b/bin/assets/TexturesAssetSet/mahogany.jp2
new file mode 100644
index 0000000..faca335
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/mahogany.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/map1.jp2 b/bin/assets/TexturesAssetSet/map1.jp2
new file mode 100644
index 0000000..cd2fd94
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/map1.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/map_base.jp2 b/bin/assets/TexturesAssetSet/map_base.jp2
new file mode 100644
index 0000000..5ad1fd0
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/map_base.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/maple.jp2 b/bin/assets/TexturesAssetSet/maple.jp2
new file mode 100644
index 0000000..1601336
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/maple.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/moon.jp2 b/bin/assets/TexturesAssetSet/moon.jp2
new file mode 100644
index 0000000..235ea5f
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/moon.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/mosaic02.jp2 b/bin/assets/TexturesAssetSet/mosaic02.jp2
new file mode 100644
index 0000000..1f853e9
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/mosaic02.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/palm1.jp2 b/bin/assets/TexturesAssetSet/palm1.jp2
new file mode 100644
index 0000000..ddc3be4
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/palm1.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/papaya.jp2 b/bin/assets/TexturesAssetSet/papaya.jp2
new file mode 100644
index 0000000..53d037e
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/papaya.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/papaya_bark.jp2 b/bin/assets/TexturesAssetSet/papaya_bark.jp2
new file mode 100644
index 0000000..37642ce
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/papaya_bark.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/pastelbrick.jp2 b/bin/assets/TexturesAssetSet/pastelbrick.jp2
new file mode 100644
index 0000000..5d21456
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/pastelbrick.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/pine1_10m.jp2 b/bin/assets/TexturesAssetSet/pine1_10m.jp2
new file mode 100644
index 0000000..376e9ee
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/pine1_10m.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/plywood.jp2 b/bin/assets/TexturesAssetSet/plywood.jp2
new file mode 100644
index 0000000..2053675
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/plywood.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/poplar.jp2 b/bin/assets/TexturesAssetSet/poplar.jp2
new file mode 100644
index 0000000..f879078
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/poplar.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/re_face.jp2 b/bin/assets/TexturesAssetSet/re_face.jp2
new file mode 100644
index 0000000..66c41a4
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/re_face.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/re_lower.jp2 b/bin/assets/TexturesAssetSet/re_lower.jp2
new file mode 100644
index 0000000..b4e616e
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/re_lower.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/re_upper.jp2 b/bin/assets/TexturesAssetSet/re_upper.jp2
new file mode 100644
index 0000000..33b7f5d
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/re_upper.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/redtri_tile.jp2 b/bin/assets/TexturesAssetSet/redtri_tile.jp2
new file mode 100644
index 0000000..5fca48f
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/redtri_tile.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/rockbuilding.jp2 b/bin/assets/TexturesAssetSet/rockbuilding.jp2
new file mode 100644
index 0000000..463f7e3
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/rockbuilding.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/rocks.jp2 b/bin/assets/TexturesAssetSet/rocks.jp2
new file mode 100644
index 0000000..20b93a1
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/rocks.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/rockwallbig.jp2 b/bin/assets/TexturesAssetSet/rockwallbig.jp2
new file mode 100644
index 0000000..b0f1d42
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/rockwallbig.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/roof01.jp2 b/bin/assets/TexturesAssetSet/roof01.jp2
new file mode 100644
index 0000000..c1bbd62
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/roof01.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/rooftiles1.jp2 b/bin/assets/TexturesAssetSet/rooftiles1.jp2
new file mode 100644
index 0000000..5a1750b
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/rooftiles1.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/rooftiles2_peach.jp2 b/bin/assets/TexturesAssetSet/rooftiles2_peach.jp2
new file mode 100644
index 0000000..aae5daf
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/rooftiles2_peach.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/rooftiles2_roy.jp2 b/bin/assets/TexturesAssetSet/rooftiles2_roy.jp2
new file mode 100644
index 0000000..ea2c840
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/rooftiles2_roy.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/saguaro_8m.jp2 b/bin/assets/TexturesAssetSet/saguaro_8m.jp2
new file mode 100644
index 0000000..9c577b4
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/saguaro_8m.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/se_face.jp2 b/bin/assets/TexturesAssetSet/se_face.jp2
new file mode 100644
index 0000000..e785a51
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/se_face.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/se_lower.jp2 b/bin/assets/TexturesAssetSet/se_lower.jp2
new file mode 100644
index 0000000..3158008
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/se_lower.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/se_upper.jp2 b/bin/assets/TexturesAssetSet/se_upper.jp2
new file mode 100644
index 0000000..f263661
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/se_upper.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/seawater.jp2 b/bin/assets/TexturesAssetSet/seawater.jp2
new file mode 100644
index 0000000..850371c
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/seawater.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/shingle.jp2 b/bin/assets/TexturesAssetSet/shingle.jp2
new file mode 100644
index 0000000..abbb496
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/shingle.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/skins_license.txt b/bin/assets/TexturesAssetSet/skins_license.txt
new file mode 100644
index 0000000..7226d00
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/skins_license.txt
@@ -0,0 +1,5 @@
1Includes makeup-less textures also! ^_^
2
3This skin is released under a "BSD license"--which allows you to pretty much copy, mod, transfer as you wish... so you could legally make and sell your own modifications to them or even just "as-is" without any modifications. Really! No, I don't have a rabid team of lawyers waiting to DCMA-pounce you...
4
5You can download the skin PSDs from: http://eloheliot.blogspot.com/2007/12/my-psds-let-me-show-u-them.html \ No newline at end of file
diff --git a/bin/assets/TexturesAssetSet/snow1.jp2 b/bin/assets/TexturesAssetSet/snow1.jp2
new file mode 100644
index 0000000..a83b349
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/snow1.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/steel.jp2 b/bin/assets/TexturesAssetSet/steel.jp2
new file mode 100644
index 0000000..4da19a0
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/steel.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/stone1wall.jp2 b/bin/assets/TexturesAssetSet/stone1wall.jp2
new file mode 100644
index 0000000..d4db404
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/stone1wall.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/stonetile.jp2 b/bin/assets/TexturesAssetSet/stonetile.jp2
new file mode 100644
index 0000000..36d8c71
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/stonetile.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/street2.jp2 b/bin/assets/TexturesAssetSet/street2.jp2
new file mode 100644
index 0000000..fd8ffdf
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/street2.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/testpic2.jp2 b/bin/assets/TexturesAssetSet/testpic2.jp2
new file mode 100644
index 0000000..e6840e2
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/testpic2.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/thatch.jp2 b/bin/assets/TexturesAssetSet/thatch.jp2
new file mode 100644
index 0000000..c6b7e40
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/thatch.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/water1.jp2 b/bin/assets/TexturesAssetSet/water1.jp2
new file mode 100644
index 0000000..e714d4c
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/water1.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/water3.jp2 b/bin/assets/TexturesAssetSet/water3.jp2
new file mode 100644
index 0000000..be2984b
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/water3.jp2
Binary files differ
diff --git a/bin/assets/TexturesAssetSet/wood1.jp2 b/bin/assets/TexturesAssetSet/wood1.jp2
new file mode 100644
index 0000000..3758326
--- /dev/null
+++ b/bin/assets/TexturesAssetSet/wood1.jp2
Binary files differ
diff --git a/bin/avatar-texture.dat b/bin/avatar-texture.dat
new file mode 100644
index 0000000..09765be
--- /dev/null
+++ b/bin/avatar-texture.dat
Binary files differ
diff --git a/bin/common.sh b/bin/common.sh
new file mode 120000
index 0000000..8f435c6
--- /dev/null
+++ b/bin/common.sh
@@ -0,0 +1 @@
../scripts/common.sh \ No newline at end of file
diff --git a/bin/config-include/CenomeCache.ini.example b/bin/config-include/CenomeCache.ini.example
new file mode 100644
index 0000000..4340493
--- /dev/null
+++ b/bin/config-include/CenomeCache.ini.example
@@ -0,0 +1,14 @@
1[AssetCache]
2 ;;
3 ;; Options for CenomeAssetCache
4 ;;
5
6 ; Max size of the cache in bytes
7 ; 134217728 = 128 MB, 26843556 = 256 MB, etc (default: 134217728)
8 MaxSize = 134217728
9
10 ; How many assets it is possible to store in the cache (default: 4096)
11 MaxCount = 4096
12
13 ; Expiration time in minutes (default: 30)
14 ExpirationTime = 30
diff --git a/bin/config-include/FlotsamCache.ini b/bin/config-include/FlotsamCache.ini
new file mode 100644
index 0000000..cf06d6c
--- /dev/null
+++ b/bin/config-include/FlotsamCache.ini
@@ -0,0 +1,97 @@
1[AssetCache]
2 ;;
3 ;; Options for FlotsamAssetCache
4 ;;
5
6 ; cache directory can be shared by multiple instances
7 CacheDirectory = ${Paths|CachePath}/assetcache
8 ; Other examples:
9 ;CacheDirectory = /directory/writable/by/OpenSim/instance
10
11 ; Log level
12 ; 0 - (Error) Errors only
13 ; 1 - (Info) Hit Rate Stats + Level 0
14 ; 2 - (Debug) Cache Activity (Reads/Writes) + Level 1
15 ;
16 LogLevel = 0
17
18 ; How often should hit rates be displayed (given in AssetRequests)
19 ; 0 to disable
20 HitRateDisplay = 100
21
22 ; Set to false for no memory cache
23 ; assets can be requested several times in short periods
24 ; so even a small memory cache is useful
25 MemoryCacheEnabled = false
26
27 ; If a memory cache hit happens, or the asset is still in memory
28 ; due to other causes, update the timestamp on the disk file anyway.
29 ; Don't turn this on unless you share your asset cache between simulators
30 ; AND use an external process, e.g. cron job, to clean it up.
31 UpdateFileTimeOnCacheHit = false
32
33 ; Enabling this will cache negative fetches. If an asset is negative-cached
34 ; it will not be re-requested from the asset server again for a while.
35 ; Generally, this is a good thing.
36 ;
37 ; Regular expiration settings (non-sliding) mean that the asset will be
38 ; retried after the time has expired. Sliding expiration means that
39 ; the time the negative cache will keep the asset is refreshed each
40 ; time a fetch is attempted. Use sliding expiration if you have rogue
41 ; scripts hammering the asset server with requests for nonexistent
42 ; assets.
43 ;
44 ; There are two cases where negative caching may cause issues:
45 ;
46 ; 1 - If an invalid asset is repeatedly requested by a script and that asset is
47 ; subsequently created, it will not be seen until fcache clear
48 ; is used. This is a very theoretical scenario since UUID collisions
49 ; are deemed to be not occuring in practice.
50 ; This can only become an issue with sliding expiration time.
51 ;
52 ; 2 - If the asset service is clustered, an asset may not have propagated
53 ; to all cluster members when it is first attempted to fetch it.
54 ; This may theoretically occur with networked vendor systems and
55 ; would lead to an asset not found message. However, after the
56 ; expiration time has elapsed, the asset will then be fetchable.
57 ;
58 ; The defaults below are suitable for all small to medium installations
59 ; including grids.
60 NegativeCacheEnabled = true
61 NegativeCacheTimeout = 120
62 NegativeCacheSliding = false
63
64 ; Set to false for no file cache
65 FileCacheEnabled = true
66
67 ; How long {in hours} to keep assets cached in memory, .5 == 30 minutes
68 ; even a few minutes may mean many assets loaded to memory, if not all.
69 ; this is good if memory is not a problem.
70 ; if memory is a problem then a few seconds may actually save same.
71 ; see hit rates with console comand: fcache status
72 MemoryCacheTimeout = .016 ; one minute
73
74 ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes
75 ; Specify 0 if you do not want your disk cache to expire
76 FileCacheTimeout = 48
77
78 ; How often {in hours} should the disk be checked for expired files
79 ; Specify 0 to disable expiration checking
80 FileCleanupTimer = 0.0 ; disabled
81
82 ; If WAIT_ON_INPROGRESS_REQUESTS has been defined then this specifies how
83 ; long (in miliseconds) to block a request thread while trying to complete
84 ; an existing write to disk.
85 ; NOTE: THIS PARAMETER IS NOT CURRENTLY USED BY THE CACHE
86 ; WaitOnInprogressTimeout = 3000
87
88 ; Number of tiers to use for cache directories (current valid
89 ; range 1 to 3)
90 ;CacheDirectoryTiers = 1
91
92 ; Number of letters per path tier, 1 will create 16 directories
93 ; per tier, 2 - 256, 3 - 4096 and 4 - 65K
94 ;CacheDirectoryTierLength = 3
95
96 ; Warning level for cache directory size
97 ;CacheWarnAt = 30000
diff --git a/bin/config-include/FlotsamCache.ini.example b/bin/config-include/FlotsamCache.ini.example
new file mode 100644
index 0000000..4f16943
--- /dev/null
+++ b/bin/config-include/FlotsamCache.ini.example
@@ -0,0 +1,97 @@
1[AssetCache]
2 ;;
3 ;; Options for FlotsamAssetCache
4 ;;
5
6 ; cache directory can be shared by multiple instances
7 CacheDirectory = ./assetcache
8 ; Other examples:
9 ;CacheDirectory = /directory/writable/by/OpenSim/instance
10
11 ; Log level
12 ; 0 - (Error) Errors only
13 ; 1 - (Info) Hit Rate Stats + Level 0
14 ; 2 - (Debug) Cache Activity (Reads/Writes) + Level 1
15 ;
16 LogLevel = 0
17
18 ; How often should hit rates be displayed (given in AssetRequests)
19 ; 0 to disable
20 HitRateDisplay = 100
21
22 ; Set to false for no memory cache
23 ; assets can be requested several times in short periods
24 ; so even a small memory cache is useful
25 MemoryCacheEnabled = false
26
27 ; If a memory cache hit happens, or the asset is still in memory
28 ; due to other causes, update the timestamp on the disk file anyway.
29 ; Don't turn this on unless you share your asset cache between simulators
30 ; AND use an external process, e.g. cron job, to clean it up.
31 UpdateFileTimeOnCacheHit = false
32
33 ; Enabling this will cache negative fetches. If an asset is negative-cached
34 ; it will not be re-requested from the asset server again for a while.
35 ; Generally, this is a good thing.
36 ;
37 ; Regular expiration settings (non-sliding) mean that the asset will be
38 ; retried after the time has expired. Sliding expiration means that
39 ; the time the negative cache will keep the asset is refreshed each
40 ; time a fetch is attempted. Use sliding expiration if you have rogue
41 ; scripts hammering the asset server with requests for nonexistent
42 ; assets.
43 ;
44 ; There are two cases where negative caching may cause issues:
45 ;
46 ; 1 - If an invalid asset is repeatedly requested by a script and that asset is
47 ; subsequently created, it will not be seen until fcache clear
48 ; is used. This is a very theoretical scenario since UUID collisions
49 ; are deemed to be not occuring in practice.
50 ; This can only become an issue with sliding expiration time.
51 ;
52 ; 2 - If the asset service is clustered, an asset may not have propagated
53 ; to all cluster members when it is first attempted to fetch it.
54 ; This may theoretically occur with networked vendor systems and
55 ; would lead to an asset not found message. However, after the
56 ; expiration time has elapsed, the asset will then be fetchable.
57 ;
58 ; The defaults below are suitable for all small to medium installations
59 ; including grids.
60 NegativeCacheEnabled = true
61 NegativeCacheTimeout = 120
62 NegativeCacheSliding = false
63
64 ; Set to false for no file cache
65 FileCacheEnabled = true
66
67 ; How long {in hours} to keep assets cached in memory, .5 == 30 minutes
68 ; even a few minutes may mean many assets loaded to memory, if not all.
69 ; this is good if memory is not a problem.
70 ; if memory is a problem then a few seconds may actually save same.
71 ; see hit rates with console comand: fcache status
72 MemoryCacheTimeout = .016 ; one minute
73
74 ; How long {in hours} to keep assets cached on disk, .5 == 30 minutes
75 ; Specify 0 if you do not want your disk cache to expire
76 FileCacheTimeout = 48
77
78 ; How often {in hours} should the disk be checked for expired files
79 ; Specify 0 to disable expiration checking
80 FileCleanupTimer = 0.0 ; disabled
81
82 ; If WAIT_ON_INPROGRESS_REQUESTS has been defined then this specifies how
83 ; long (in miliseconds) to block a request thread while trying to complete
84 ; an existing write to disk.
85 ; NOTE: THIS PARAMETER IS NOT CURRENTLY USED BY THE CACHE
86 ; WaitOnInprogressTimeout = 3000
87
88 ; Number of tiers to use for cache directories (current valid
89 ; range 1 to 3)
90 ;CacheDirectoryTiers = 1
91
92 ; Number of letters per path tier, 1 will create 16 directories
93 ; per tier, 2 - 256, 3 - 4096 and 4 - 65K
94 ;CacheDirectoryTierLength = 3
95
96 ; Warning level for cache directory size
97 ;CacheWarnAt = 30000
diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini
new file mode 100644
index 0000000..ab8f25d
--- /dev/null
+++ b/bin/config-include/Grid.ini
@@ -0,0 +1,60 @@
1;;
2;; Please don't change this file.
3;; All optional settings are in GridCommon.ini.example,
4;; which you can copy and change.
5;;
6
7[Includes]
8 Include-Common = "config-include/GridCommon.ini"
9
10[Modules]
11 AssetServices = "RemoteAssetServicesConnector"
12 InventoryServices = "RemoteXInventoryServicesConnector"
13 GridServices = "RemoteGridServicesConnector"
14 AvatarServices = "RemoteAvatarServicesConnector"
15 NeighbourServices = "NeighbourServicesOutConnector"
16 AuthenticationServices = "RemoteAuthenticationServicesConnector"
17 AuthorizationServices = "LocalAuthorizationServicesConnector"
18 PresenceServices = "RemotePresenceServicesConnector"
19 UserAccountServices = "RemoteUserAccountServicesConnector"
20 AgentPreferencesServices= "RemoteAgentPreferencesServicesConnector"
21 GridUserServices = "RemoteGridUserServicesConnector"
22 SimulationServices = "RemoteSimulationConnectorModule"
23 EntityTransferModule = "BasicEntityTransferModule"
24 InventoryAccessModule = "BasicInventoryAccessModule"
25 LandServices = "RemoteLandServicesConnector"
26 MapImageService = "MapImageServiceModule"
27 SearchModule = "BasicSearchModule"
28 MuteListService = "RemoteMuteListServicesConnector"
29
30 LandServiceInConnector = true
31 NeighbourServiceInConnector = true
32 SimulationServiceInConnector = true
33 LibraryModule = true
34
35[SimulationDataStore]
36 LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService"
37
38[EstateDataStore]
39 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
40
41[GridService]
42 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
43 ; for the LocalGridServicesConnector which is used by the Remote one
44 StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
45 NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector"
46
47 ; Because LocalGridServicesConnector starts this service, in grid mode we need to suppress
48 ; the inappropriate console commands that it registers.
49 SuppressConsoleCommands = true
50
51[LibraryService]
52 LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
53 LibraryName = "OpenSim Library"
54 DefaultLibrary = "./inventory/Libraries.xml"
55
56[Friends]
57 Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector"
58
59[MapImageService]
60 LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector"
diff --git a/bin/config-include/GridCommon.ini b/bin/config-include/GridCommon.ini
new file mode 100644
index 0000000..26accd9
--- /dev/null
+++ b/bin/config-include/GridCommon.ini
@@ -0,0 +1,255 @@
1; This is the main configuration file for an instance of OpenSim running in grid mode
2; In particular, this one is set up for connecting to IG or MG.
3
4[DatabaseService]
5 ;
6 ; ### Choose the DB
7 ;
8
9 ; SQLite
10 ; Include-Storage = "config-include/storage/SQLiteStandalone.ini";
11
12 ; MySql
13 ; Uncomment these lines if you want to use mysql storage
14 ; Change the connection string to your db details
15 ;StorageProvider = "OpenSim.Data.MySQL.dll"
16 ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
17 ; Uncomment this line if you are using MySQL and want to use a different database for estates
18 ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database.
19 ; Most people won't need to do this so only uncomment if you know what you're doing.
20 ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
21
22 ; MSSQL
23 ; Uncomment these lines if you want to use MSSQL storage
24 ; Change the connection string to your db details
25 ; The value for server property is shown in your SQL Server Management Studio login dialog.
26 ; (This sample is the default of express edition)
27 ;StorageProvider = "OpenSim.Data.MSSQL.dll"
28 ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;"
29
30 ; PGSQL
31 ; Uncomment these lines if you want to use PGSQL storage
32 ; Change the connection string to your db details
33 ;StorageProvider = "OpenSim.Data.PGSQL.dll"
34 ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;"
35
36 StorageProvider = "${Const|DataProvider}"
37 ConnectionString = "${Const|ConnectionString}"
38
39
40[Hypergrid]
41 ; Uncomment the variables in this section only if you are in
42 ; Hypergrid configuration. Otherwise, ignore.
43
44 ;# {HomeURI} {Hypergrid} {The Home URL of this world} {}
45 ;; If this is a standalone world, this is the address of this instance.
46 ;; If this is a grided simulator, this is the address of the external robust server that
47 ;; runs the UserAgentsService.
48 ;; For example http://myworld.com:9000 or http://myworld.com:8002
49 ;; This is a default that can be overwritten in some sections.
50 HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
51
52 ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {}
53 ;; If this is a standalone world, this is the address of this instance.
54 ;; If this is a grided simulator, this is the address of the external robust server
55 ;; that runs the Gatekeeper service.
56 ;; For example http://myworld.com:9000 or http://myworld.com:8002
57 ;; This is a default that can be overwritten in some sections.
58 GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
59
60[Modules]
61 ;; Choose one cache module and the corresponding config file, if it exists.
62 ;; Copy the config .example file into your own .ini file and adapt that.
63 ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained.
64 ; I think only Windows needs caching, haven't noticed any difference under Linux, which uses spare memory for file caching anyway.
65
66 AssetCaching = "FlotsamAssetCache"
67 Include-FlotsamCache = "config-include/FlotsamCache.ini"
68
69 ;AssetCaching = "CenomeMemoryAssetCache"
70 ;Include-CenomeCache = "config-include/CenomeCache.ini"
71
72 ;AssetCaching = "GlynnTuckerAssetCache"
73
74 ;; Optionally, the port for the LLProxyLoginModule module can be changed
75 ;Setup_LLProxyLoginModule = "9090/"
76
77 ;; Authorization is not on by default, as it depends on external php
78 ;AuthorizationServices = "RemoteAuthorizationServicesConnector"
79
80[AssetService]
81 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
82 AssetLoaderArgs = "assets/AssetSets.xml"
83
84 ;
85 ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses.
86 ;
87 AssetServerURI = "${Const|BaseURL}:${Const|AssetServerPort}"
88
89[InventoryService]
90 ;
91 ; Change this to your grid-wide inventory server
92 ;
93 InventoryServerURI = "${Const|GridURL}:${Const|PrivatePort}"
94 ;MaxRetries = 0
95
96[GridInfo]
97 ;
98 ; Change this to your grid info service
99 ;
100 GridInfoURI = "${Const|GridURL}:${Const|PublicPort}"
101
102[GridService]
103 ;
104 ; Change this to your grid-wide grid server
105 ;
106 GridServerURI = "${Const|GridURL}:${Const|PrivatePort}"
107 AllowHypergridMapSearch = true
108
109 ;; Directory for map tile images of linked regions
110 MapTileDirectory = "${Paths|CachePath}/maptiles"
111
112 ; === HG ONLY ===
113 ;; Change this to the address of your Gatekeeper service
114 ;; (usually bundled with the rest of the services in one
115 ;; Robust server in port ${Const|PublicPort}, but not always)
116 GatekeeperURI="${Const|GridURL}:${Const|PublicPort}"
117
118[EstateDataStore]
119 ;
120 ; Uncomment if you want centralized estate data at robust server,
121 ; in which case the URL in [EstateService] will be used
122 ;
123 ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector"
124
125[EstateService]
126 EstateServerURI = "${Const|GridURL}:${Const|PrivatePort}"
127
128[Messaging]
129 ; === HG ONLY ===
130 ;; Change this to the address of your Gatekeeper service
131 ;; (usually bundled with the rest of the services in one
132 ;; Robust server in port ${Const|PublicPort}, but not always)
133 GatekeeperURI = "${Const|GridURL}:${Const|PublicPort}"
134
135[AvatarService]
136 ;
137 ; Change this to your grid-wide grid server
138 ;
139 AvatarServerURI = "${Const|GridURL}:${Const|PrivatePort}"
140
141[AgentPreferencesService]
142 ;
143 ; Change this to your grid-wide avatar prefs server
144 ;
145 AgentPreferencesServerURI = "${Const|GridURL}:${Const|PrivatePort}"
146
147[PresenceService]
148 ;
149 ; Change this to your grid-wide presence server
150 ;
151 PresenceServerURI = "${Const|GridURL}:${Const|PrivatePort}"
152
153[UserAccountService]
154 ;
155 ; Change this to your grid-wide user accounts server
156 ;
157 UserAccountServerURI = "${Const|GridURL}:${Const|PrivatePort}"
158
159[GridUserService]
160 ;
161 ; Change this to your grid-wide user accounts server
162 ;
163 GridUserServerURI = "${Const|GridURL}:${Const|PrivatePort}"
164
165[AuthenticationService]
166 ;
167 ; Change this to your grid-wide authentication server
168 ;
169 AuthenticationServerURI = "${Const|GridURL}:${Const|PrivatePort}"
170
171[FriendsService]
172 ;
173 ; Change this to your grid-wide friends server
174 ;
175 FriendsServerURI = "${Const|GridURL}:${Const|PrivatePort}"
176
177[HGInventoryAccessModule]
178 ;
179 ; === HG ONLY ===
180 ; Change this to your server
181 ; accessible from other grids
182 ;
183 HomeURI = "${Const|GridURL}:${Const|PublicPort}"
184 GatekeeperURI = "${Const|GridURL}:${Const|PublicPort}"
185 ;; If you want to protect your assets from being copied by foreign visitors
186 ;; set this to false. You may want to do this on sims that have licensed content.
187 ;; Default is true.
188 OutboundPermission = True
189
190 ;; Send visual reminder to local users that their inventories are unavailable while they are traveling
191 ;; and available when they return. True by default.
192 ;RestrictInventoryAccessAbroad = True
193
194 ;; Warning: advanced and unusual. Default is false.
195 ;; Enables configurations where grids share user services, including inventory,
196 ;; while separating regions' assets from users' assets. Asset transfer between
197 ;; the users' asset server and the regions' asset server is done in HG-like manner.
198 ; CheckSeparateAssets = false
199 ; RegionHGAssetServerURI = ${Const|GridURL}:${Const|PublicPort}
200
201
202[HGAssetService]
203 ;
204 ; === HG ONLY ===
205 ; Change this to your server
206 ; accessible from other grids
207 ;
208 HomeURI = "${Const|GridURL}:${Const|PublicPort}"
209
210 ;; The asset types that this grid can export to / import from other grids.
211 ;; Comma separated.
212 ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely:
213 ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText,
214 ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh
215 ;;
216 ;; Leave blank or commented if you don't want to apply any restrictions.
217 ;; A more strict, but still reasonable, policy may be to disallow the exchange
218 ;; of scripts, like so:
219 ; DisallowExport ="LSLText"
220 ; DisallowImport ="LSLBytecode"
221
222[HGFriendsModule]
223 ; User level required to be able to send friendship invitations to foreign users
224 LevelHGFriends = 0;
225
226[UserAgentService]
227 ;
228 ; === HG ONLY ===
229 ; Change this to your user agent server (HG robust)
230 ;
231 UserAgentServerURI = "${Const|GridURL}:${Const|PublicPort}"
232
233[MapImageService]
234 MapImageServerURI = "${Const|GridURL}:${Const|PrivatePort}"
235
236[AuthorizationService]
237 ; If you have regions with access restrictions
238 ; specify them here using the convention
239 ; Region_<Region_Name> = <flags>
240 ; Valid flags are:
241 ; DisallowForeigners -- HG visitors not allowed
242 ; DisallowResidents -- only Admins and Managers allowed
243 ; Example:
244 ; Region_Test_1 = "DisallowForeigners"
245
246;; Uncomment if you are using SimianGrid for grid services
247[SimianGrid]
248 ;; SimianGrid services URL
249 ;; SimianServiceURL = "http://grid.sciencesim.com/Grid/"
250
251 ;; Capability assigned by the grid administrator for the simulator
252 ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000"
253
254[MuteListService]
255 MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example
new file mode 100644
index 0000000..47771e3
--- /dev/null
+++ b/bin/config-include/GridCommon.ini.example
@@ -0,0 +1,252 @@
1; This is the main configuration file for an instance of OpenSim running in grid mode
2
3[DatabaseService]
4 ;
5 ; ### Choose the DB
6 ;
7
8 ; SQLite
9 ; Include-Storage = "config-include/storage/SQLiteStandalone.ini";
10
11 ; MySql
12 ; Uncomment these lines if you want to use mysql storage
13 ; Change the connection string to your db details
14 ;StorageProvider = "OpenSim.Data.MySQL.dll"
15 ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
16 ; Uncomment this line if you are using MySQL and want to use a different database for estates
17 ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database.
18 ; Most people won't need to do this so only uncomment if you know what you're doing.
19 ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
20
21 ; MSSQL
22 ; Uncomment these lines if you want to use MSSQL storage
23 ; Change the connection string to your db details
24 ; The value for server property is shown in your SQL Server Management Studio login dialog.
25 ; (This sample is the default of express edition)
26 ;StorageProvider = "OpenSim.Data.MSSQL.dll"
27 ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;"
28
29 ; PGSQL
30 ; Uncomment these lines if you want to use PGSQL storage
31 ; Change the connection string to your db details
32 ;StorageProvider = "OpenSim.Data.PGSQL.dll"
33 ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;"
34
35 StorageProvider = "${Const|DataProvider}"
36 ConnectionString = "${Const|ConnectionString}"
37
38[Hypergrid]
39 ; Uncomment the variables in this section only if you are in
40 ; Hypergrid configuration. Otherwise, ignore.
41
42 ;# {HomeURI} {Hypergrid} {The Home URL of this world} {}
43 ;; If this is a standalone world, this is the address of this instance.
44 ;; If this is a grided simulator, this is the address of the external robust server that
45 ;; runs the UserAgentsService.
46 ;; For example http://myworld.com:9000 or http://myworld.com:8002
47 ;; This is a default that can be overwritten in some sections.
48 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
49
50 ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {}
51 ;; If this is a standalone world, this is the address of this instance.
52 ;; If this is a grided simulator, this is the address of the external robust server
53 ;; that runs the Gatekeeper service.
54 ;; For example http://myworld.com:9000 or http://myworld.com:8002
55 ;; This is a default that can be overwritten in some sections.
56 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
57
58[Modules]
59 ;; Choose one cache module and the corresponding config file, if it exists.
60 ;; Copy the config .example file into your own .ini file and adapt that.
61 ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained.
62
63 AssetCaching = "FlotsamAssetCache"
64 Include-FlotsamCache = "config-include/FlotsamCache.ini"
65
66 ;AssetCaching = "CenomeMemoryAssetCache"
67 ;Include-CenomeCache = "config-include/CenomeCache.ini"
68
69 ;AssetCaching = "GlynnTuckerAssetCache"
70
71 ;; Optionally, the port for the LLProxyLoginModule module can be changed
72 ;Setup_LLProxyLoginModule = "9090/"
73
74 ;; Authorization is not on by default, as it depends on external php
75 ;AuthorizationServices = "RemoteAuthorizationServicesConnector"
76
77[AssetService]
78 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
79 AssetLoaderArgs = "assets/AssetSets.xml"
80
81 ;
82 ; Change this to your grid-wide asset server. Do not add a slash to the end of any of these addresses.
83 ;
84 AssetServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
85
86[InventoryService]
87 ;
88 ; Change this to your grid-wide inventory server
89 ;
90 InventoryServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
91 ;MaxRetries = 0
92
93[GridInfo]
94 ;
95 ; Change this to your grid info service
96 ;
97 GridInfoURI = "${Const|BaseURL}:${Const|PublicPort}"
98
99[GridService]
100 ;
101 ; Change this to your grid-wide grid server
102 ;
103 GridServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
104 ;AllowHypergridMapSearch = true
105
106 ;; Directory for map tile images of linked regions
107 ; MapTileDirectory = "./maptiles"
108
109 ; === HG ONLY ===
110 ;; Change this to the address of your Gatekeeper service
111 ;; (usually bundled with the rest of the services in one
112 ;; Robust server in port ${Const|PublicPort}, but not always)
113 GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}"
114
115[EstateDataStore]
116 ;
117 ; Uncomment if you want centralized estate data at robust server,
118 ; in which case the URL in [EstateService] will be used
119 ;
120 ;LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataRemoteConnector"
121
122[EstateService]
123 EstateServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
124
125[Messaging]
126 ; === HG ONLY ===
127 ;; Change this to the address of your Gatekeeper service
128 ;; (usually bundled with the rest of the services in one
129 ;; Robust server in port ${Const|PublicPort}, but not always)
130 GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
131
132[AvatarService]
133 ;
134 ; Change this to your grid-wide grid server
135 ;
136 AvatarServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
137
138[AgentPreferencesService]
139 ;
140 ; Change this to your grid-wide avatar prefs server
141 ;
142 AgentPreferencesServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
143
144[PresenceService]
145 ;
146 ; Change this to your grid-wide presence server
147 ;
148 PresenceServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
149
150[UserAccountService]
151 ;
152 ; Change this to your grid-wide user accounts server
153 ;
154 UserAccountServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
155
156[GridUserService]
157 ;
158 ; Change this to your grid-wide user accounts server
159 ;
160 GridUserServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
161
162[AuthenticationService]
163 ;
164 ; Change this to your grid-wide authentication server
165 ;
166 AuthenticationServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
167
168[FriendsService]
169 ;
170 ; Change this to your grid-wide friends server
171 ;
172 FriendsServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
173
174[HGInventoryAccessModule]
175 ;
176 ; === HG ONLY ===
177 ; Change this to your server
178 ; accessible from other grids
179 ;
180 HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
181 GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
182 ;; If you want to protect your assets from being copied by foreign visitors
183 ;; set this to false. You may want to do this on sims that have licensed content.
184 ;; Default is true.
185 ; OutboundPermission = True
186
187 ;; Send visual reminder to local users that their inventories are unavailable while they are traveling
188 ;; and available when they return. True by default.
189 ;RestrictInventoryAccessAbroad = True
190
191 ;; Warning: advanced and unusual. Default is false.
192 ;; Enables configurations where grids share user services, including inventory,
193 ;; while separating regions' assets from users' assets. Asset transfer between
194 ;; the users' asset server and the regions' asset server is done in HG-like manner.
195 ; CheckSeparateAssets = false
196 ; RegionHGAssetServerURI = ${Const|BaseURL}:${Const|PublicPort}
197
198
199[HGAssetService]
200 ;
201 ; === HG ONLY ===
202 ; Change this to your server
203 ; accessible from other grids
204 ;
205 HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
206
207 ;; The asset types that this grid can export to / import from other grids.
208 ;; Comma separated.
209 ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely:
210 ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText,
211 ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh
212 ;;
213 ;; Leave blank or commented if you don't want to apply any restrictions.
214 ;; A more strict, but still reasonable, policy may be to disallow the exchange
215 ;; of scripts, like so:
216 ; DisallowExport ="LSLText"
217 ; DisallowImport ="LSLBytecode"
218
219[HGFriendsModule]
220 ; User level required to be able to send friendship invitations to foreign users
221 ;LevelHGFriends = 0;
222
223[UserAgentService]
224 ;
225 ; === HG ONLY ===
226 ; Change this to your user agent server (HG robust)
227 ;
228 UserAgentServerURI = "${Const|BaseURL}:${Const|PublicPort}"
229
230[MapImageService]
231 MapImageServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
232
233[AuthorizationService]
234 ; If you have regions with access restrictions
235 ; specify them here using the convention
236 ; Region_<Region_Name> = <flags>
237 ; Valid flags are:
238 ; DisallowForeigners -- HG visitors not allowed
239 ; DisallowResidents -- only Admins and Managers allowed
240 ; Example:
241 ; Region_Test_1 = "DisallowForeigners"
242
243;; Uncomment if you are using SimianGrid for grid services
244[SimianGrid]
245 ;; SimianGrid services URL
246 ;; SimianServiceURL = "http://grid.sciencesim.com/Grid/"
247
248 ;; Capability assigned by the grid administrator for the simulator
249 ;; SimulatorCapability = "00000000-0000-0000-0000-000000000000"
250
251[MuteListService]
252 MuteListServerURI = "${Const|BaseURL}:${Const|PrivatePort}"
diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini
new file mode 100644
index 0000000..96cd3c4
--- /dev/null
+++ b/bin/config-include/GridHypergrid.ini
@@ -0,0 +1,86 @@
1;;
2;; Please don't change this file.
3;; All optional settings are in GridCommon.ini.example,
4;; which you can copy and change.
5;;
6
7[Includes]
8 Include-Common = "config-include/GridCommon.ini"
9
10[Startup]
11 WorldMapModule = "HGWorldMap"
12
13[Modules]
14 AssetServices = "HGAssetBroker"
15 InventoryServices = "HGInventoryBroker"
16 GridServices = "RemoteGridServicesConnector"
17 AvatarServices = "RemoteAvatarServicesConnector"
18 NeighbourServices = "NeighbourServicesOutConnector"
19 AuthenticationServices = "RemoteAuthenticationServicesConnector"
20 AuthorizationServices = "LocalAuthorizationServicesConnector"
21 PresenceServices = "RemotePresenceServicesConnector"
22 UserAccountServices = "RemoteUserAccountServicesConnector"
23 AgentPreferencesServices= "RemoteAgentPreferencesServicesConnector"
24 GridUserServices = "RemoteGridUserServicesConnector"
25 SimulationServices = "RemoteSimulationConnectorModule"
26 EntityTransferModule = "HGEntityTransferModule"
27 InventoryAccessModule = "HGInventoryAccessModule"
28 LandServices = "RemoteLandServicesConnector"
29 FriendsModule = "HGFriendsModule"
30 MapImageService = "MapImageServiceModule"
31 UserManagementModule = "HGUserManagementModule"
32 SearchModule = "BasicSearchModule"
33 MuteListService = "RemoteMuteListServicesConnector"
34
35 LandServiceInConnector = true
36 NeighbourServiceInConnector = true
37 SimulationServiceInConnector = true
38 LibraryModule = true
39
40[SimulationDataStore]
41 LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService"
42
43[EstateDataStore]
44 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
45
46[AssetService]
47 LocalGridAssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector"
48 HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector"
49
50[InventoryService]
51 LocalGridInventoryService = "OpenSim.Region.CoreModules.dll:RemoteXInventoryServicesConnector"
52
53[GridService]
54 ; RemoteGridServicesConnector instantiates a LocalGridServicesConnector,
55 ; which in turn uses this
56 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
57 StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
58
59 NetworkConnector = "OpenSim.Services.Connectors.dll:GridServicesConnector"
60
61 ; Needed to display non-default map tile images for linked regions
62 AssetService = "OpenSim.Services.Connectors.dll:AssetServicesConnector"
63
64 HypergridLinker = true
65 AllowHypergridMapSearch = true
66 SuppressConsoleCommands = true
67
68[LibraryService]
69 LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
70 LibraryName = "OpenSim Library"
71 DefaultLibrary = "./inventory/Libraries.xml"
72
73[Friends]
74 Connector = "OpenSim.Services.Connectors.dll:FriendsServicesConnector"
75
76[Messaging]
77 MessageTransferModule = HGMessageTransferModule
78
79[HGInstantMessageService]
80 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService"
81 GridService = "OpenSim.Services.Connectors.dll:GridServicesConnector"
82 PresenceService = "OpenSim.Services.Connectors.dll:PresenceServicesConnector"
83 UserAgentService = "OpenSim.Services.Connectors.dll:UserAgentServiceConnector"
84
85[MapImageService]
86 LocalServiceModule = "OpenSim.Services.Connectors.dll:MapImageServicesConnector"
diff --git a/bin/config-include/HyperSimianGrid.ini b/bin/config-include/HyperSimianGrid.ini
new file mode 100644
index 0000000..24f9813
--- /dev/null
+++ b/bin/config-include/HyperSimianGrid.ini
@@ -0,0 +1,97 @@
1;;
2;; Please don't change this file.
3;; All optional settings are in GridCommon.ini.example,
4;; which you can copy and change.
5;;
6
7;;
8;; In GridCommon.ini, these are the URLs you would use if SimianGrid is
9;; installed at http://www.mygrid.com/Grid/
10;;
11; AssetServerURI = "http://www.mygrid.com/Grid/?id="
12; InventoryServerURI = "http://www.mygrid.com/Grid/"
13; AvatarServerURI = "http://www.mygrid.com/Grid/"
14; PresenceServerURI = "http://www.mygrid.com/Grid/"
15; UserAccountServerURI = "http://www.mygrid.com/Grid/"
16; AuthenticationServerURI = "http://www.mygrid.com/Grid/"
17; FriendsServerURI = "http://www.mygrid.com/Grid/"
18; GroupsServerURI = "http://www.mygrid.com/Grid/"
19
20[Includes]
21 Include-Common = "config-include/GridCommon.ini"
22
23[Modules]
24 GridServices = "RemoteGridServicesConnector"
25 PresenceServices = "SimianPresenceServiceConnector"
26 UserAccountServices = "SimianUserAccountServiceConnector"
27 AuthenticationServices = "SimianAuthenticationServiceConnector"
28 AssetServices = "HGAssetBroker"
29 InventoryServices = "HGInventoryBroker"
30 AvatarServices = "SimianAvatarServiceConnector"
31
32 NeighbourServices = "NeighbourServicesOutConnector"
33 SimulationServices = "RemoteSimulationConnectorModule"
34 EntityTransferModule = "HGEntityTransferModule"
35 InventoryAccessModule = "HGInventoryAccessModule"
36
37 LandServiceInConnector = true
38 NeighbourServiceInConnector = true
39 SimulationServiceInConnector = true
40 LibraryModule = false
41
42 AssetCaching = "FlotsamAssetCache"
43
44[SimulationDataStore]
45 LocalServiceModule = "OpenSim.Services.Connectors.dll:SimulationDataService"
46
47[EstateDataStore]
48 LocalServiceModule = "OpenSim.Services.Connectors.dll:EstateDataService"
49
50[Friends]
51 Connector = "OpenSim.Services.Connectors.dll:SimianFriendsServiceConnector"
52
53[GridService]
54 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
55 StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
56 NetworkConnector = "OpenSim.Services.Connectors.dll:SimianGridServiceConnector"
57
58 HypergridLinker = true
59 AllowHypergridMapSearch = true
60
61[LibraryService]
62 LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
63 LibraryName = "OpenSim Library"
64 DefaultLibrary = "./inventory/Libraries.xml"
65
66[AssetService]
67 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
68 LocalGridAssetService = "OpenSim.Services.Connectors.dll:SimianAssetServiceConnector"
69 HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector"
70 AssetLoaderArgs = "assets/AssetSets.xml"
71
72[InventoryService]
73 LocalGridInventoryService = "OpenSim.Services.Connectors.dll:SimianInventoryServiceConnector"
74
75[Groups]
76 Enabled = true
77 Module = GroupsModule
78 DebugEnabled = false
79 NoticesEnabled = true
80 MessagingModule = GroupsMessagingModule
81 MessagingEnabled = true
82 ServicesConnectorModule = SimianGroupsServicesConnector
83
84[Profiles]
85 Module = "SimianProfiles"
86
87[HGInventoryAccessModule]
88 ;
89 ; === HG ONLY ===
90 ; Change this to your profile server
91 ; accessible from other grids
92 ;
93 ProfileServerURI = "http://mygridserver.com:8002/user"
94
95 ;; If you want to protect your assets from being copied by foreign visitors
96 ;; uncomment the next line. You may want to do this on sims that have licensed content.
97 ; OutboundPermission = False
diff --git a/bin/config-include/SimBalanced.ini b/bin/config-include/SimBalanced.ini
new file mode 100644
index 0000000..fbf778f
--- /dev/null
+++ b/bin/config-include/SimBalanced.ini
@@ -0,0 +1,889 @@
1;; hopefully a well balanced configuration that works well for everything.
2
3
4[Startup]
5 ; ##
6 ; ## SYSTEM
7 ; ##
8
9 ; Sets the method that OpenSim will use to fire asynchronous
10 ; events. Valid values are UnsafeQueueUserWorkItem,
11 ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread.
12 ;
13 ; SmartThreadPool is reported to work well on Mono/Linux, but
14 ; UnsafeQueueUserWorkItem has been benchmarked with better
15 ; performance on .NET/Windows
16 ;
17 ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security
18 ; privileges. However, as calling code is trusted anyway this is safe (if you set
19 ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons).
20 async_call_method = SmartThreadPool
21
22 ; Max threads to allocate on the FireAndForget thread pool
23 ; when running with the SmartThreadPool option above
24 MaxPoolThreads = 300
25
26 ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently.
27 ; This improves performance in regions with large numbers of connections (in the hundreds).
28 JobEngineEnabled = true
29
30 ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos
31 ; Increasing this number will increase memory usage.
32 MaxPrimUndos = 42
33
34 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum
35 ; This can be overridden in the region config file.
36 ClampPrimSize = true
37
38 ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative.
39 ClampNegativeZ = true
40
41 ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region.
42 ; This only applies when crossing to a region running in a different simulator.
43 ; For crossings where the regions are on the same simulator the script is always kept running.
44 AllowScriptCrossing = true
45
46 ; Main Frame time
47 ; This defines the rate of several simulation events.
48 ; Default value should meet most needs.
49 ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads.
50 ; It should not be less than the physics engine step time.
51 ; Being a integer multiple of it may reduce some jitter in reported physics FPS.
52 ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same
53 FrameTime = 0.0909
54
55 ; Send scheduled updates to objects in the scene
56 ; This must be a whole number
57 UpdateObjectsEveryNFrames = 1
58
59 ; Send position/velocity, etc. updates to agents in the scene
60 ; This must be a whole number
61 UpdateAgentsEveryNFrames = 1
62
63 ; Apply pending forces from physics calculations to an entity.
64 ; This must be a whole number
65 UpdateEntityMovementEveryNFrames = 1
66
67 ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap.
68 ; This must be a whole number
69 UpdateCoarseLocationsEveryNFrames = 50
70
71 ; Physics simulation execution or syncronization, acording to engine. Should be 1
72 ; This must be a whole number
73 UpdatePhysicsEveryNFrames = 1
74
75 ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1.
76 ; This must be a whole number
77 UpdateEventsEveryNFrames = 1
78
79 ; Send terrain updates to viewers
80 ; This must be a whole number
81 UpdateTerrainEveryNFrames = 50
82
83 ; Persitently store any objects which meet the PRIM STORAGE criteria
84 ; This must be a whole number
85 UpdateStorageEveryNFrames = 200
86
87 ; Clean up temp on rez objects.
88 ; This must be a whole number
89 UpdateTempCleaningEveryNSeconds = 180
90
91 ; ##
92 ; ## PRIM STORAGE
93 ; ##
94
95 ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to
96 ; prevent frequently changing objects from heavily loading the region data store.
97 ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep.
98 ;
99 ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds
100 MinimumTimeBeforePersistenceConsidered = 60
101 ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago
102 MaximumTimeBeforePersistenceConsidered = 600
103
104 ; ##
105 ; ## PHYSICS
106 ; ##
107
108 ; Select a mesher here.
109 ;
110 ; Meshmerizer properly handles complex prims by using triangle meshes.
111 ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way
112 ;
113 ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports
114 ; Usually this is only a box
115
116 ;meshing = Meshmerizer
117 ;meshing = ZeroMesher
118 ;; select ubODEMeshmerizer only with ubOde physics engine
119 meshing = ubODEMeshmerizer
120
121 ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit
122 ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions
123 ; edit the line ulimit -s 262144, and change this last value
124
125 ; if you use Meshmerizer and want sculpt map collisions, setting this to
126 ; to true will store decoded sculpt maps in a special folder in your bin
127 ; folder, which can reduce startup times by reducing asset requests. Some
128 ; versions of mono dont work well when reading the cache files, so set this
129 ; to false if you have compatibility problems.
130 CacheSculptMaps = true
131
132 ;; BulletSim is the default physics engine. It provides the best performance and most functionality.
133 ;; BulletSim supports varregions.
134 ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before.
135 ;; It continues to provide a workable physics implementation. It does not currently support varregions.
136 ;; basicphysics effectively does not model physics at all, making all objects phantom.
137 ;; Default is BulletSim
138 ;physics = BulletSim
139 ;physics = modified_BulletX
140 ;physics = OpenDynamicsEngine
141 ;physics = basicphysics
142 ;physics = POS
143 ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also
144 physics = ubODE
145
146 ; ##
147 ; ## SCRIPT ENGINE
148 ; ##
149
150 ;; Default script engine to use. Currently, we only have XEngine
151 DefaultScriptEngine = "XEngine"
152
153 ; Image decoding. Use CSJ2K for layer boundary decoding if true,
154 ; OpenJPEG if false
155 ; UseCSJ2K = true
156
157
158[Map]
159 ; Map tile options.
160 ; If true, then maptiles are generated using the MapImageModule below.
161 ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden
162 ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need
163 ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/
164 GenerateMaptiles = true
165
166 ;WorldMapModule = "WorldMap"
167
168 ; The module to use in order to generate map images.
169 ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can
170 ; generate better images.
171 MapImageModule = "Warp3DImageModule"
172
173 ; World map blacklist timeout in seconds
174 ;BlacklistTimeout = 600
175
176 ; Refresh (in seconds) the map tile periodically
177 MaptileRefresh = 0
178
179 ; If not generating maptiles, use this static texture asset ID
180 ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
181
182 ; Draw objects on maptile. This step might take a long time if you've got a large number of
183 ; objects, so you can turn it off here if you'd like.
184 DrawPrimOnMapTile = true
185
186 ; Use terrain texture for maptiles if true, use shaded green if false
187 TextureOnMapTile = true
188
189 ; Texture prims
190 TexturePrims = true
191
192 ; Only texture prims that have a diagonal size greater than this number
193 TexturePrimSize = 5
194
195 ; Attempt to render meshes and sculpties on the map
196 RenderMeshes = true
197
198 UseAntiAliasing = true
199
200
201[Network]
202 ; OpenSim can send multiple simultaneous requests for services such as asset
203 ; retrieval. However, some versions of mono appear to hang when there are too
204 ; many simultaneous requests, default is 30 and is currently applied only to assets
205 ;MaxRequestConcurrency = 30
206
207
208[ClientStack.LindenUDP]
209 ; The client socket receive buffer size determines how many
210 ; incoming requests we can process; the default on .NET is 8192
211 ; which is about 2 4k-sized UDP datagrams. On mono this is
212 ; whatever the underlying operating system has as default; for
213 ; example, ubuntu 8.04 or SLES11 have about 111k, which is about
214 ; 27 4k-sized UDP datagrams (on linux platforms you can [as root]
215 ; do "sysctl net.core.rmem_default" to find out what your system
216 ; uses a default socket receive buffer size.
217 ;
218 ; client_socket_rcvbuf_size allows you to specify the receive
219 ; buffer size LLUDPServer should use. NOTE: this will be limited
220 ; by the system's settings for the maximum client receive buffer
221 ; size (on linux systems you can set that with "sysctl -w
222 ; net.core.rmem_max=X")
223 ;
224 ;client_socket_rcvbuf_size = 8388608
225
226 ; Maximum outbound bytes per second for a single scene. This can be used to
227 ; throttle total outbound UDP traffic for a simulator. The default value is
228 ; 0, meaning no throttling at the scene level. The example given here is
229 ; 20 megabits
230 ;
231 ;scene_throttle_max_bps = 2500000
232
233 ; Maximum bytes per second to send to any single client. This will override
234 ; the user's viewer preference settings. The default value is 0, meaning no
235 ; aggregate throttling on clients (only per-category throttling). The
236 ; example given here is 1.5 megabits
237 ;
238 ;client_throttle_max_bps = 187500
239
240 ; Minimum bytes per second to send to any single client as a result of
241 ; adaptive throttling. Viewer preferences set to a lower number will
242 ; override the settin. The example given here ensures that adaptive
243 ; throttling will never decrease per client bandwidth below 256 kbps.
244 ;
245 ;adaptive_throttle_min_bps = 32000
246
247 ; Adaptive throttling attempts to limit network overload when multiple
248 ; clients login by starting each connection more slowly. Disabled by
249 ; default
250 ;
251 enable_adaptive_throttles = true
252
253 ; Per-client bytes per second rates for the various throttle categories.
254 ; These are default values that will be overridden by clients. These
255 ; defaults are approximately equivalent to the throttles set by the Imprudence
256 ; viewer when maximum bandwidth is set to 350kbps
257
258 ;resend_default = 6625
259 ;land_default = 9125
260 ;wind_default = 1750
261 ;cloud_default = 1750
262 ;task_default = 18500
263 ;texture_default = 18500
264 ;asset_default = 10500
265
266 ; Configures how ObjectUpdates are aggregated. These numbers
267 ; do not literally mean how many updates will be put in each
268 ; packet that goes over the wire, as packets are
269 ; automatically split on a 1400 byte boundary. These control
270 ; the balance between responsiveness of interest list updates
271 ; and total throughput. Higher numbers will ensure more full-
272 ; sized packets and faster sending of data, but more delay in
273 ; updating interest lists
274 ;
275 ;PrimUpdatesPerCallback = 100
276
277 ; TextureSendLimit determines how many packets will be put on
278 ; the outgoing queue each cycle. Like the settings above, this
279 ; is a balance between responsiveness to priority updates and
280 ; total throughput. Higher numbers will give a better
281 ; throughput at the cost of reduced responsiveness to client
282 ; priority changes or transfer aborts
283 ;
284 ;TextureSendLimit = 20
285
286 ; CannibalizeTextureRate allows bandwidth to be moved from the
287 ; UDP texture throttle to the task throttle. Since most viewers
288 ; use HTTP textures, this provides a means of using what is largely
289 ; unused bandwidth in the total throttle. The value is the proportion
290 ; of the texture rate to move to the task queue. It must be between
291 ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the
292 ; bandwidth is grabbed)
293 ;
294 ; CannibalizeTextureRate = 0.5
295
296 ; The time to wait before disconecting an unresponsive client.
297 ; The time is in seconds. The default is one minute
298 ;
299 ;AckTimeout = 60
300
301 ; The time to wait before disconecting an unresponsive paused client.
302 ; A client can be paused when the file selection dialog is open during file upload.
303 ; This gives extra time to find files via the dialog but will still disconnect if
304 ; the client crashes or loses its network connection
305 ; The time is in seconds. The default is five minutes.
306 ;
307 ;PausedAckTimeout = 300
308
309
310[Appearance]
311 ; Persist avatar baked textures
312 ; Persisting baked textures can speed up login and region border
313 ; crossings especially with large numbers of users, though it
314 ; will store potentially large numbers of textures in your asset
315 ; database
316 PersistBakedTextures = true
317
318 ; Control the delay before appearance is sent to other avatars and
319 ; saved in the avatar service. Attempts to limit the impact caused
320 ; by the very chatty dialog that sets appearance when an avatar
321 ; logs in or teleports into a region; values are in seconds
322 DelayBeforeAppearanceSave = 5
323 DelayBeforeAppearanceSend = 2
324
325 ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds.
326 ; This may help with some situations where avatars are persistently grey, though it will not help
327 ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others).
328 ResendAppearanceUpdates = true
329
330 ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar
331 ; on every login
332 ReuseTextures = true
333
334
335[Attachments]
336 ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments
337 ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit
338 ; or when multiple avatars with medium level attachments login/change outfit simultaneously.
339 ; If 0 then no throttling is performed.
340 ThrottlePer100PrimsRezzed = 0
341
342
343[Textures]
344 ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible
345 ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components
346 ; (e.g. images pulled from an external HTTP address).
347 ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture.
348 ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted.
349 ; Hence, currently considered experimental.
350 ; Default is false.
351 ReuseDynamicTextures = true
352
353 ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused
354 ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache.
355 ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem.
356 ; This setting only has an affect is ReuseDynamicTextures = true
357 ; Default is false
358 ReuseDynamicLowDataTextures = true
359
360
361[ODEPhysicsSettings]
362 ; ##
363 ; ## Physics stats settings ( most ignored by ubOde )
364 ;
365
366 ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule
367 ; (see http://opensimulator.org/wiki/Monitoring_Module for more details).
368 collect_stats = true
369
370 ; ##
371 ; ## Physics logging settings - logfiles are saved to *.DIF files
372 ; ##
373
374 ; default is false
375 ;physics_logging = true
376 ;; every n simulation iterations, the physics snapshot file is updated
377 ;physics_logging_interval = 50
378 ;; append to existing physics logfile, or overwrite existing logfiles?
379 ;physics_logging_append_existing_logfile = true
380
381 ;##
382 ;## World Settings
383 ;##
384
385 ; World Step size.
386 ; with legacy ODE this value needs to be close to 0.02s
387 ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load
388 ; you will need to test acording to you needs
389 ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS
390 world_stepsize = 0.01818
391 ; number of iterations of constrains solver, higher should improve results
392 ; up to a point where acumulated math errors eliminate the improvement
393 ; more steps may increase CPU load. No real gain in changing
394 world_solver_iterations = 10
395
396 ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim
397 ; defines spaces partition cells min and max sizes == 2^value
398 world_hashspace_level_low = -5
399 world_hashSpace_level_high = 12
400
401 meters_in_small_space = 29.9
402
403
404 ; ##
405 ; ## Contact properties. (the stuff that happens when things come in contact with each other)
406 ; ##
407
408 ; surface layer around geometries other geometries can sink into before generating a contact
409 world_contact_surface_layer = 0.001
410
411 ; Filtering collisions helps keep things stable physics wise, but sometimes
412 ; it can be overzealous. If you notice bouncing, chances are it's that.
413 filter_collisions = true
414
415 ; Non Moving Terrain Contact (avatar isn't moving)
416 nm_terraincontact_friction = 255.0
417 nm_terraincontact_bounce = 0.1
418 nm_terraincontact_erp = 0.1025
419
420 ; Moving Terrain Contact (avatar is moving)
421 m_terraincontact_friction = 75.0
422 m_terraincontact_bounce = 0.05
423 m_terrainContact_erp = 0.05025
424
425 ; Moving Avatar to object Contact
426 m_avatarobjectcontact_friction = 75.0
427 m_avatarobjectcontact_bounce = 0.1
428
429 ; Object to Object Contact and Non-Moving Avatar to object
430 objectcontact_friction = 250.0
431 objectcontact_bounce = 0.2
432
433 ; ##
434 ; ## Avatar Control
435 ; ##
436
437 ; PID Controller Settings. These affect the math that causes the avatar to reach the
438 ; desired velocity
439 ; See http://en.wikipedia.org/wiki/PID_controller
440
441 av_pid_derivative = 2200.0
442 av_pid_proportional = 900.0
443
444 ; specifies if the capsule should be tilted (=true; old compatibility mode)
445 ; or straight up-and-down (=false; better and more consistent physics behavior)
446 av_capsule_tilted = false
447
448 ; Movement. Smaller is faster.
449
450 ; speed of movement with Always Run off
451 av_movement_divisor_walk = 1.3
452
453 ; speed of movement with Always Run on
454 av_movement_divisor_run = 0.8
455
456 ; When the avatar flies, it will be moved up by this amount off the ground (in meters)
457 minimum_ground_flight_offset = 3.0
458
459 ; Plant avatar. This reduces the effect of physical contacts with the avatar.
460 ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive.
461 ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active
462 ; will lock the avatar in place
463 av_planted = false
464
465 ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment
466 av_av_collisions_off = false
467
468 ; ##
469 ; ## Object options
470 ; ##
471
472 ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep
473 body_frames_auto_disable = 20
474
475 ; used to control llMove2Target
476 body_pid_derivative = 35
477 body_pid_gain = 25
478
479 ; maximum number of contact points to generate per collision
480 contacts_per_collision = 80
481
482 ; start throttling the object updates if object comes in contact with 3 or more other objects
483 geom_contactpoints_start_throttling = 3
484
485 ; send 1 update for every x updates below when throttled
486 geom_updates_before_throttled_update = 15
487
488 ; ##
489 ; ## Sculpted Prim settings
490 ; ##
491
492 ; Do we want to mesh sculpted prim to collide like they look?
493 ; If you are seeing sculpt texture decode problems
494 ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception")
495 ; then you might want to try setting this to false.
496 mesh_sculpted_prim = true
497
498 ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies
499 mesh_lod = 32
500
501 ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies
502 mesh_physical_lod = 16
503
504 ; ##
505 ; ## additional meshing options
506 ; ##
507
508 ; Physics needs to create internal meshs (or convert the object meshs or scultps)
509 ; for all prims except simple boxes and spheres.
510
511 ; collisions of small objects againts larger ones can have a increased CPU load cost
512 ; so this are represented by a simple BOX
513 ; if all their scale dimensions are lower or equal to this option. Default is 0.1m
514 ; (ubOde only)
515 ; MinSizeToMeshmerize = 0.1
516
517
518[BulletSim]
519 ; There are two bullet physics libraries, bulletunmanaged is the default and is a
520 ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality
521 ; but the c++ one is much faster.
522 ;BulletEngine = "bulletunmanaged"
523 BulletEngine = "bulletxna"
524
525 ; BulletSim can run on its own thread independent of the simulator's heartbeat
526 ; thread. Enabling this will not let the physics engine slow down avatar movement, etc.
527 UseSeparatePhysicsThread = true
528
529 ; Terrain implementation can use either Bullet's heightField or BulletSim can build
530 ; a mesh. 0=heightField, 1=mesh
531 TerrainImplementation = 0
532 ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield
533 ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher
534 ; magnifications use lots of memory.
535 TerrainMeshMagnification = 1
536
537 ; Should avatars collide with each other?
538 AvatarToAvatarCollisionsByDefault = true
539
540 ; Default linkset implmentation
541 ; 'Constraint' uses physics constraints to hold linkset together. 'Compound'
542 ; builds a compound shape from the children shapes to create a single physical
543 ; shape. 'Compound' uses a lot less CPU time.
544 LinkImplementation = 1 ; 0=constraint, 1=compound
545
546 ; If 'true', offset a linkset's origin based on mass of linkset parts.
547 LinksetOffsetCenterOfMass = false
548
549 ; If 'true', turn scuplties into meshes
550 MeshSculptedPrim = true
551
552 ; If 'true', force simple prims (box and sphere) to be meshed
553 ; If 'false', the Bullet native special case shape is used for square rectangles
554 ; and even dimensioned spheres.
555 ForceSimplePrimMeshing = true
556
557 ; If 'true', when creating meshes, remove all triangles that have two equal vertexes.
558 ; Happens often in sculpties. If turned off, there will be some doorways
559 ; that cannot be walked through.
560 ShouldRemoveZeroWidthTriangles = true
561
562 ; If 'true', use convex hull definition in mesh asset if present.
563 ShouldUseAssetHulls = true
564
565 ; If there are thousands of physical objects, these maximums should be increased.
566 MaxCollisionsPerFrame = 2048
567 MaxUpdatesPerFrame = 8192
568
569 ; Detailed physics debug logging. Very verbose.
570 PhysicsLoggingEnabled = False
571 PhysicsLoggingDir = "."
572 VehicleLoggingEnabled = False
573
574
575[Sun]
576 ; send a Sun update every update_interval # of frames. A lower number will
577 ; make for smoother sun transition at the cost of network
578 ;update_interval = 100
579
580
581[Wind]
582 ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second
583 wind_update_rate = 150
584
585 ; The Default Wind Plugin to load
586 wind_plugin = SimpleRandomWind
587
588
589[Cloud]
590 ; update interval for the cloud cover data returned by llCloud().
591 ; default is 1000
592 cloud_update_rate = 1000
593
594
595[Trees]
596 ; active_trees allows module to change its trees in time.
597 ; some will be deleted, others created and rest may grow
598 ; default is false. You can change it with console command tree active true | false later
599 active_trees = false
600 ; the trees change execution time rate (in ms)
601 update_rate = 1000
602
603 ; allow the trees to grow.
604 ; DANGER
605 ; this option causes high network use on the order of
606 ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second
607 allowGrow = false
608
609
610[LL-Functions]
611 ; Maximum number of llListen events we allow over the entire region.
612 ; Set this to 0 to have no limit imposed
613 max_listens_per_region = 0
614
615 ; Maximum number of llListen events we allow per script
616 ; Set this to 0 to have no limit imposed.
617 max_listens_per_script = 0
618
619 ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL())
620 max_external_urls_per_simulator = 256
621
622 ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes.
623 ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate.
624 UseSimpleBoxesInGetBoundingBox = false
625
626 ; Use llCastRay V3 if true.
627 ; Implements llCastRay similar but not identical to Second Life.
628 ; See http://wiki.secondlife.com/wiki/LlCastRay .
629 ; NEW
630 ; Meshes prims for good accuracy in ray hit detection,
631 ; handling basic and tortured prims, sculpts and meshes.
632 ; Uses ellipsoid, correctly sized avatar capsules.
633 ; Handles complex terrain, multi-prim objects and seated avatars.
634 ; Implements throttling and the status codes
635 ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED,
636 ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW.
637 ; WARNING
638 ; Can be faster on some servers and scenes, but slower on others,
639 ; compared to previous version of llCastRay in OpenSimulator.
640 ; Is in most cases considerably slower than llCastRay in Second Life.
641 ; Generates geometry meshes and can therefore use much system resources.
642 UseLlCastRayV3 = true
643
644 ; Accepted calculation precision error in calculations in llCastRay V3
645 FloatToleranceInLlCastRay = 0.00001
646
647 ; Accepted distance difference between duplicate hits in llCastRay V3
648 FloatTolerance2InLlCastRay = 0.001
649
650 ; Detail level when rendering prims in llCastRay V3
651 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
652 PrimDetailLevelInLlCastRay = 1
653
654 ; Detail level when rendering sculpts in llCastRay V3
655 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
656 SculptDetailLevelInLlCastRay = 1
657
658 ; Detail level when rendering meshes in llCastRay V3
659 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
660 MeshDetailLevelInLlCastRay = 3
661
662 ; Detail level when rendering avatar capsules in llCastRay V3
663 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
664 AvatarDetailLevelInLlCastRay = 1
665
666 ; Maximum number of returned hits from llCastRay V3
667 MaxHitsInLlCastRay = 16
668
669 ; Maximum number of returned hits per prim from llCastRay V3
670 MaxHitsPerPrimInLlCastRay = 16
671
672 ; Maximum number of returned hits per object from llCastRay V3
673 MaxHitsPerObjectInLlCastRay = 16
674
675 ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true
676 DetectExitHitsInLlCastRay = false
677
678 ; Detect attachments in llCastRay V3 if true
679 DoAttachmentsInLlCastRay = false
680
681 ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3
682 ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this
683 ThrottleTimeInMsInLlCastRay = 200
684
685 ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3
686 AvailableTimeInMsPerRegionInLlCastRay = 40
687
688 ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3
689 AvailableTimeInMsPerAvatarInLlCastRay = 10
690
691 ; Required available time in ms left to perform a new llCastRay in llCastRay V3
692 RequiredAvailableTimeInMsInLlCastRay = 2
693
694 ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions
695 MaximumAvailableTimeInMsInLlCastRay = 40
696
697 ; Use cached meshes in llCastRay V3 if true
698 ; Improves performance but uses more memory
699 UseMeshCacheInLlCastRay = true
700
701
702[XEngine]
703 ; How many threads to keep alive even if nothing is happening
704 MinThreads = 2
705
706 ; How many threads to start at maximum load
707 MaxThreads = 100
708
709 ; Time a thread must be idle (in seconds) before it dies
710 IdleTimeout = 60
711
712 ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
713 Priority = "Normal"
714
715 ; Maximum number of events to queue for a script (excluding timers)
716 MaxScriptEventQueue = 3000
717
718 ; Stack size per thread created
719 ThreadStackSize = 262144
720
721 ; Set this to true to load each script into a separate
722 ; AppDomain. Setting this to false will load all script assemblies into the
723 ; current AppDomain, which will reduce the initial per-script memory overhead,
724 ; but deleted scripts stay inactive using memory.
725 ; Significantly improving script loading times.
726 ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted.
727 ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region.
728 ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited.
729 ; At this time some mono versions seem to have problems with the true option,
730 ; so default is now false until a fix is found, to simply life of less technical skilled users.
731 ;
732 ; At least on my desktop, this seems to be what soaks up 4 - 5 times the memory.
733 AppDomainLoading = false
734
735 ; Controls whether previously compiled scripts DLLs are deleted on sim restart.
736 ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled.
737 ; It should be true on first run after updating opensim binary version
738 ; after first run you can change to false.
739 ; You can also set it to false and delete the script DLLs by hand
740 ; This does not delete cached scripts state.
741 DeleteScriptsOnStartup = true
742
743 ; CompactMemOnLoad
744 ; forces calls to memory garbage collector before loading each script DLL during region startup.
745 ; Peak memory usage is reduced and region starts with a more compacted memory allocation.
746 ; But this costs a lot of time, so region load will take a lot longer.
747 ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true)
748 CompactMemOnLoad = true
749
750 ; Controls whether scripts are stopped by aborting their threads externally (abort)
751 ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op).
752 ; co-op will be more stable as aborting threads can cause instability.
753 ; abort was the default option in OpenSimulator 0.8 and before.
754 ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary.
755 ; However, the setting change will not take affect until the next time you restart the simulator.
756 ; Setting changes will not affect state information stored for scripts.
757 ScriptStopStrategy = co-op
758
759 ; Rate to poll for asynchronous command replies (ms)
760 ; currently unused
761 ;AsyncLLCommandLoopms = 50
762
763 ; Compile debug info (line numbers) into the script assemblies
764 CompileWithDebugInformation = true
765
766 ; Interval (s) between background save of script states
767 SaveInterval = 120
768
769 ; Interval (s) between maintenance runs (0 = disable)
770 MaintenanceInterval = 10
771
772 ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested
773 ; before aborting the thread (such as when an object containing scripts is taken into inventory).
774 WaitForEventCompletionOnScriptStop = 1000
775
776 ; Minimum settable timer interval. Any timer setting less than this is
777 ; rounded up to this minimum interval.
778 MinTimerInterval = 0.1
779
780 ; Sensor settings
781 SensorMaxRange = 1024.0
782 SensorMaxResults = 64
783
784
785[Groups]
786 ; Groups data is cached for this number of seconds before another request is made to the groups service
787 ; Set to 0 to disable the cache.
788 ; Default is 30 seconds
789 GroupsCacheTimeout = 30
790
791
792[PacketPool]
793 ;RecyclePackets = true
794 ;RecycleDataBlocks = true
795
796 ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets.
797 ; This reduces data churn
798 RecycleBaseUDPPackets = true
799
800
801[InterestManagement]
802 ; This section controls how state updates are prioritized for each client
803 ; Valid values are BestAvatarResponsiveness, Time, Distance,
804 ; SimpleAngularDistance, and FrontBack
805 UpdatePrioritizationScheme = BestAvatarResponsiveness
806 ReprioritizationEnabled = true
807 ReprioritizationInterval = 2000.0
808 RootReprioritizationDistance = 10.0
809 ChildReprioritizationDistance = 20.0
810
811 ; TEST OPTION KEEP AS FALSE
812 ; if true, don't send object updates if outside view range
813 ObjectsCullingByDistance = false
814
815 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region
816 ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates).
817 ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars.
818 RootTerseUpdatePeriod = 0
819
820 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region
821 ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect.
822 ChildTerseUpdatePeriod = 0
823
824 ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance
825 RootPositionUpdateTolerance = 0.05
826
827 ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance
828 RootRotationUpdateTolerance = 0.1
829
830 ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance
831 RootVelocityUpdateTolerance = 0.001
832
833
834[Statistics]
835 ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames
836 ; to include in the averaging calculations
837 NumberOfFrames=10
838
839
840[Terrain]
841 ; If 'true' each avatar is only sent terrain patches within their view distance
842 ; This also changes the region terrain loading from 'lawn mower' to ordered around
843 ; the avatar outward.
844 SendTerrainUpdatesByViewDistance = True
845
846
847[LandManagement]
848 ; When editing terrain or objects, parcel layer info is updated in the viewer.
849 ; This can be expensive for large regions. If this variable is 'true', only the
850 ; parcel layer data around the area of interest is sent. The parcel layer info
851 ; is sent for 'ParcelLayerViewDistance' around the interest point.
852 ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions
853 ; will be what it has always been (send the whole region's parcel layer info).
854 ; Other parcel updates (login, changing parcel ownership, ...) will still send
855 ; whole region.
856 LimitParcelLayerUpdateDistance = true
857 ParcelLayerViewDistance = 1024
858
859
860;; If you are using a simian grid frontend you can enable
861;; this module to upload tile images for the mapping fn
862;;
863[SimianGridMaptiles]
864 RefreshTime = 3600
865
866
867;;
868;; These are defaults that are overwritten below in [Architecture].
869;; These defaults allow OpenSim to work out of the box with
870;; zero configuration
871;;
872[AssetService]
873 ; Disable this to prevent the default asset set from being inserted into the
874 ; asset store each time the region starts
875 AssetLoaderEnabled = false
876
877
878[AutoBackupModule]
879 ;; default is module is disabled at the top level
880 AutoBackupModuleEnabled = false
881
882
883[ServiceThrottle]
884 ;; Default time interval (in ms) for the throttle service thread to wake up
885 Interval = 5000
886
887
888[Materials]
889 MaxMaterialsPerTransaction = 50
diff --git a/bin/config-include/SimDefault.ini b/bin/config-include/SimDefault.ini
new file mode 100644
index 0000000..3f2e713
--- /dev/null
+++ b/bin/config-include/SimDefault.ini
@@ -0,0 +1,884 @@
1[Startup]
2 ; ##
3 ; ## SYSTEM
4 ; ##
5
6 ; Sets the method that OpenSim will use to fire asynchronous
7 ; events. Valid values are UnsafeQueueUserWorkItem,
8 ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread.
9 ;
10 ; SmartThreadPool is reported to work well on Mono/Linux, but
11 ; UnsafeQueueUserWorkItem has been benchmarked with better
12 ; performance on .NET/Windows
13 ;
14 ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security
15 ; privileges. However, as calling code is trusted anyway this is safe (if you set
16 ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons).
17 async_call_method = SmartThreadPool
18
19 ; Max threads to allocate on the FireAndForget thread pool
20 ; when running with the SmartThreadPool option above
21 MaxPoolThreads = 300
22
23 ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently.
24 ; This improves performance in regions with large numbers of connections (in the hundreds).
25 JobEngineEnabled = true
26
27 ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos
28 ; Increasing this number will increase memory usage.
29 MaxPrimUndos = 20
30
31 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum
32 ; This can be overridden in the region config file.
33 ClampPrimSize = false
34
35 ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative.
36 ClampNegativeZ = false
37
38 ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region.
39 ; This only applies when crossing to a region running in a different simulator.
40 ; For crossings where the regions are on the same simulator the script is always kept running.
41 AllowScriptCrossing = true
42
43 ; Main Frame time
44 ; This defines the rate of several simulation events.
45 ; Default value should meet most needs.
46 ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads.
47 ; It should not be less than the physics engine step time.
48 ; Being a integer multiple of it may reduce some jitter in reported physics FPS.
49 ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same
50 FrameTime = 0.0909
51
52 ; Send scheduled updates to objects in the scene
53 ; This must be a whole number
54 UpdateObjectsEveryNFrames = 1
55
56 ; Send position/velocity, etc. updates to agents in the scene
57 ; This must be a whole number
58 UpdateAgentsEveryNFrames = 1
59
60 ; Apply pending forces from physics calculations to an entity.
61 ; This must be a whole number
62 UpdateEntityMovementEveryNFrames = 1
63
64 ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap.
65 ; This must be a whole number
66 UpdateCoarseLocationsEveryNFrames = 50
67
68 ; Physics simulation execution or syncronization, acording to engine. Should be 1
69 ; This must be a whole number
70 UpdatePhysicsEveryNFrames = 1
71
72 ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1.
73 ; This must be a whole number
74 UpdateEventsEveryNFrames = 1
75
76 ; Send terrain updates to viewers
77 ; This must be a whole number
78 UpdateTerrainEveryNFrames = 50
79
80 ; Persitently store any objects which meet the PRIM STORAGE criteria
81 ; This must be a whole number
82 UpdateStorageEveryNFrames = 200
83
84 ; Clean up temp on rez objects.
85 ; This must be a whole number
86 UpdateTempCleaningEveryNSeconds = 180
87
88 ; ##
89 ; ## PRIM STORAGE
90 ; ##
91
92 ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to
93 ; prevent frequently changing objects from heavily loading the region data store.
94 ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep.
95 ;
96 ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds
97 MinimumTimeBeforePersistenceConsidered = 60
98 ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago
99 MaximumTimeBeforePersistenceConsidered = 600
100
101 ; ##
102 ; ## PHYSICS
103 ; ##
104
105 ; Select a mesher here.
106 ;
107 ; Meshmerizer properly handles complex prims by using triangle meshes.
108 ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way
109 ;
110 ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports
111 ; Usually this is only a box
112
113 ;meshing = Meshmerizer
114 ;meshing = ZeroMesher
115 ;; select ubODEMeshmerizer only with ubOde physics engine
116 meshing = ubODEMeshmerizer
117
118 ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit
119 ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions
120 ; edit the line ulimit -s 262144, and change this last value
121
122 ; if you use Meshmerizer and want sculpt map collisions, setting this to
123 ; to true will store decoded sculpt maps in a special folder in your bin
124 ; folder, which can reduce startup times by reducing asset requests. Some
125 ; versions of mono dont work well when reading the cache files, so set this
126 ; to false if you have compatibility problems.
127 CacheSculptMaps = true
128
129 ;; BulletSim is the default physics engine. It provides the best performance and most functionality.
130 ;; BulletSim supports varregions.
131 ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before.
132 ;; It continues to provide a workable physics implementation. It does not currently support varregions.
133 ;; basicphysics effectively does not model physics at all, making all objects phantom.
134 ;; Default is BulletSim
135 ;physics = BulletSim
136 ;physics = modified_BulletX
137 ;physics = OpenDynamicsEngine
138 ;physics = basicphysics
139 ;physics = POS
140 ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also
141 physics = ubODE
142
143 ; ##
144 ; ## SCRIPT ENGINE
145 ; ##
146
147 ;; Default script engine to use. Currently, we only have XEngine
148 DefaultScriptEngine = "XEngine"
149
150 ; Image decoding. Use CSJ2K for layer boundary decoding if true,
151 ; OpenJPEG if false
152 ; UseCSJ2K = true
153
154
155[Map]
156 ; Map tile options.
157 ; If true, then maptiles are generated using the MapImageModule below.
158 ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden
159 ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need
160 ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/
161 GenerateMaptiles = true
162
163 ;WorldMapModule = "WorldMap"
164
165 ; The module to use in order to generate map images.
166 ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can
167 ; generate better images.
168 MapImageModule = "MapImageModule"
169
170 ; World map blacklist timeout in seconds
171 ;BlacklistTimeout = 600
172
173 ; Refresh (in seconds) the map tile periodically
174 MaptileRefresh = 0
175
176 ; If not generating maptiles, use this static texture asset ID
177 ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
178
179 ; Draw objects on maptile. This step might take a long time if you've got a large number of
180 ; objects, so you can turn it off here if you'd like.
181 DrawPrimOnMapTile = true
182
183 ; Use terrain texture for maptiles if true, use shaded green if false
184 TextureOnMapTile = true
185
186 ; Texture prims
187 TexturePrims = true
188
189 ; Only texture prims that have a diagonal size greater than this number
190 TexturePrimSize = 48
191
192 ; Attempt to render meshes and sculpties on the map
193 RenderMeshes = false
194
195 ;UseAntiAliasing = true
196
197
198[Network]
199 ; OpenSim can send multiple simultaneous requests for services such as asset
200 ; retrieval. However, some versions of mono appear to hang when there are too
201 ; many simultaneous requests, default is 30 and is currently applied only to assets
202 ;MaxRequestConcurrency = 30
203
204
205[ClientStack.LindenUDP]
206 ; The client socket receive buffer size determines how many
207 ; incoming requests we can process; the default on .NET is 8192
208 ; which is about 2 4k-sized UDP datagrams. On mono this is
209 ; whatever the underlying operating system has as default; for
210 ; example, ubuntu 8.04 or SLES11 have about 111k, which is about
211 ; 27 4k-sized UDP datagrams (on linux platforms you can [as root]
212 ; do "sysctl net.core.rmem_default" to find out what your system
213 ; uses a default socket receive buffer size.
214 ;
215 ; client_socket_rcvbuf_size allows you to specify the receive
216 ; buffer size LLUDPServer should use. NOTE: this will be limited
217 ; by the system's settings for the maximum client receive buffer
218 ; size (on linux systems you can set that with "sysctl -w
219 ; net.core.rmem_max=X")
220 ;
221 ;client_socket_rcvbuf_size = 8388608
222
223 ; Maximum outbound bytes per second for a single scene. This can be used to
224 ; throttle total outbound UDP traffic for a simulator. The default value is
225 ; 0, meaning no throttling at the scene level. The example given here is
226 ; 20 megabits
227 ;
228 ;scene_throttle_max_bps = 2500000
229
230 ; Maximum bytes per second to send to any single client. This will override
231 ; the user's viewer preference settings. The default value is 0, meaning no
232 ; aggregate throttling on clients (only per-category throttling). The
233 ; example given here is 1.5 megabits
234 ;
235 ;client_throttle_max_bps = 187500
236
237 ; Minimum bytes per second to send to any single client as a result of
238 ; adaptive throttling. Viewer preferences set to a lower number will
239 ; override the settin. The example given here ensures that adaptive
240 ; throttling will never decrease per client bandwidth below 256 kbps.
241 ;
242 ;adaptive_throttle_min_bps = 32000
243
244 ; Adaptive throttling attempts to limit network overload when multiple
245 ; clients login by starting each connection more slowly. Disabled by
246 ; default
247 ;
248 enable_adaptive_throttles = false
249
250 ; Per-client bytes per second rates for the various throttle categories.
251 ; These are default values that will be overridden by clients. These
252 ; defaults are approximately equivalent to the throttles set by the Imprudence
253 ; viewer when maximum bandwidth is set to 350kbps
254
255 ;resend_default = 6625
256 ;land_default = 9125
257 ;wind_default = 1750
258 ;cloud_default = 1750
259 ;task_default = 18500
260 ;texture_default = 18500
261 ;asset_default = 10500
262
263 ; Configures how ObjectUpdates are aggregated. These numbers
264 ; do not literally mean how many updates will be put in each
265 ; packet that goes over the wire, as packets are
266 ; automatically split on a 1400 byte boundary. These control
267 ; the balance between responsiveness of interest list updates
268 ; and total throughput. Higher numbers will ensure more full-
269 ; sized packets and faster sending of data, but more delay in
270 ; updating interest lists
271 ;
272 ;PrimUpdatesPerCallback = 100
273
274 ; TextureSendLimit determines how many packets will be put on
275 ; the outgoing queue each cycle. Like the settings above, this
276 ; is a balance between responsiveness to priority updates and
277 ; total throughput. Higher numbers will give a better
278 ; throughput at the cost of reduced responsiveness to client
279 ; priority changes or transfer aborts
280 ;
281 ;TextureSendLimit = 20
282
283 ; CannibalizeTextureRate allows bandwidth to be moved from the
284 ; UDP texture throttle to the task throttle. Since most viewers
285 ; use HTTP textures, this provides a means of using what is largely
286 ; unused bandwidth in the total throttle. The value is the proportion
287 ; of the texture rate to move to the task queue. It must be between
288 ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the
289 ; bandwidth is grabbed)
290 ;
291 ; CannibalizeTextureRate = 0.5
292
293 ; The time to wait before disconecting an unresponsive client.
294 ; The time is in seconds. The default is one minute
295 ;
296 ;AckTimeout = 60
297
298 ; The time to wait before disconecting an unresponsive paused client.
299 ; A client can be paused when the file selection dialog is open during file upload.
300 ; This gives extra time to find files via the dialog but will still disconnect if
301 ; the client crashes or loses its network connection
302 ; The time is in seconds. The default is five minutes.
303 ;
304 ;PausedAckTimeout = 300
305
306
307[Appearance]
308 ; Persist avatar baked textures
309 ; Persisting baked textures can speed up login and region border
310 ; crossings especially with large numbers of users, though it
311 ; will store potentially large numbers of textures in your asset
312 ; database
313 PersistBakedTextures = false
314
315 ; Control the delay before appearance is sent to other avatars and
316 ; saved in the avatar service. Attempts to limit the impact caused
317 ; by the very chatty dialog that sets appearance when an avatar
318 ; logs in or teleports into a region; values are in seconds
319 DelayBeforeAppearanceSave = 5
320 DelayBeforeAppearanceSend = 2
321
322 ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds.
323 ; This may help with some situations where avatars are persistently grey, though it will not help
324 ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others).
325 ResendAppearanceUpdates = false
326
327 ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar
328 ; on every login
329 ReuseTextures = false
330
331
332[Attachments]
333 ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments
334 ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit
335 ; or when multiple avatars with medium level attachments login/change outfit simultaneously.
336 ; If 0 then no throttling is performed.
337 ThrottlePer100PrimsRezzed = 0
338
339
340[Textures]
341 ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible
342 ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components
343 ; (e.g. images pulled from an external HTTP address).
344 ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture.
345 ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted.
346 ; Hence, currently considered experimental.
347 ; Default is false.
348 ReuseDynamicTextures = false
349
350 ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused
351 ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache.
352 ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem.
353 ; This setting only has an affect is ReuseDynamicTextures = true
354 ; Default is false
355 ReuseDynamicLowDataTextures = false
356
357
358[ODEPhysicsSettings]
359 ; ##
360 ; ## Physics stats settings ( most ignored by ubOde )
361 ;
362
363 ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule
364 ; (see http://opensimulator.org/wiki/Monitoring_Module for more details).
365 collect_stats = false
366
367 ; ##
368 ; ## Physics logging settings - logfiles are saved to *.DIF files
369 ; ##
370
371 ; default is false
372 ;physics_logging = true
373 ;; every n simulation iterations, the physics snapshot file is updated
374 ;physics_logging_interval = 50
375 ;; append to existing physics logfile, or overwrite existing logfiles?
376 ;physics_logging_append_existing_logfile = true
377
378 ;##
379 ;## World Settings
380 ;##
381
382 ; World Step size.
383 ; with legacy ODE this value needs to be close to 0.02s
384 ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load
385 ; you will need to test acording to you needs
386 ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS
387 world_stepsize = 0.01818
388 ; number of iterations of constrains solver, higher should improve results
389 ; up to a point where acumulated math errors eliminate the improvement
390 ; more steps may increase CPU load. No real gain in changing
391 world_solver_iterations = 10
392
393 ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim
394 ; defines spaces partition cells min and max sizes == 2^value
395 world_hashspace_level_low = -5
396 world_hashSpace_level_high = 12
397
398 meters_in_small_space = 29.9
399
400
401 ; ##
402 ; ## Contact properties. (the stuff that happens when things come in contact with each other)
403 ; ##
404
405 ; surface layer around geometries other geometries can sink into before generating a contact
406 world_contact_surface_layer = 0.001
407
408 ; Filtering collisions helps keep things stable physics wise, but sometimes
409 ; it can be overzealous. If you notice bouncing, chances are it's that.
410 filter_collisions = false
411
412 ; Non Moving Terrain Contact (avatar isn't moving)
413 nm_terraincontact_friction = 255.0
414 nm_terraincontact_bounce = 0.1
415 nm_terraincontact_erp = 0.1025
416
417 ; Moving Terrain Contact (avatar is moving)
418 m_terraincontact_friction = 75.0
419 m_terraincontact_bounce = 0.1
420 m_terrainContact_erp = 0.05025
421
422 ; Moving Avatar to object Contact
423 m_avatarobjectcontact_friction = 75.0
424 m_avatarobjectcontact_bounce = 0.1
425
426 ; Object to Object Contact and Non-Moving Avatar to object
427 objectcontact_friction = 250.0
428 objectcontact_bounce = 0.2
429
430 ; ##
431 ; ## Avatar Control
432 ; ##
433
434 ; PID Controller Settings. These affect the math that causes the avatar to reach the
435 ; desired velocity
436 ; See http://en.wikipedia.org/wiki/PID_controller
437
438 av_pid_derivative = 2200.0
439 av_pid_proportional = 900.0
440
441 ; specifies if the capsule should be tilted (=true; old compatibility mode)
442 ; or straight up-and-down (=false; better and more consistent physics behavior)
443 av_capsule_tilted = false
444
445 ; Movement. Smaller is faster.
446
447 ; speed of movement with Always Run off
448 av_movement_divisor_walk = 1.3
449
450 ; speed of movement with Always Run on
451 av_movement_divisor_run = 0.8
452
453 ; When the avatar flies, it will be moved up by this amount off the ground (in meters)
454 minimum_ground_flight_offset = 3.0
455
456 ; Plant avatar. This reduces the effect of physical contacts with the avatar.
457 ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive.
458 ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active
459 ; will lock the avatar in place
460 av_planted = false
461
462 ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment
463 av_av_collisions_off = false
464
465 ; ##
466 ; ## Object options
467 ; ##
468
469 ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep
470 body_frames_auto_disable = 20
471
472 ; used to control llMove2Target
473 body_pid_derivative = 35
474 body_pid_gain = 25
475
476 ; maximum number of contact points to generate per collision
477 contacts_per_collision = 80
478
479 ; start throttling the object updates if object comes in contact with 3 or more other objects
480 geom_contactpoints_start_throttling = 3
481
482 ; send 1 update for every x updates below when throttled
483 geom_updates_before_throttled_update = 15
484
485 ; ##
486 ; ## Sculpted Prim settings
487 ; ##
488
489 ; Do we want to mesh sculpted prim to collide like they look?
490 ; If you are seeing sculpt texture decode problems
491 ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception")
492 ; then you might want to try setting this to false.
493 mesh_sculpted_prim = true
494
495 ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies
496 mesh_lod = 32
497
498 ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies
499 mesh_physical_lod = 16
500
501 ; ##
502 ; ## additional meshing options
503 ; ##
504
505 ; Physics needs to create internal meshs (or convert the object meshs or scultps)
506 ; for all prims except simple boxes and spheres.
507
508 ; collisions of small objects againts larger ones can have a increased CPU load cost
509 ; so this are represented by a simple BOX
510 ; if all their scale dimensions are lower or equal to this option. Default is 0.1m
511 ; (ubOde only)
512 ; MinSizeToMeshmerize = 0.1
513
514
515[BulletSim]
516 ; There are two bullet physics libraries, bulletunmanaged is the default and is a
517 ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality
518 ; but the c++ one is much faster.
519 BulletEngine = "bulletunmanaged"
520 ; BulletEngine = "bulletxna"
521
522 ; BulletSim can run on its own thread independent of the simulator's heartbeat
523 ; thread. Enabling this will not let the physics engine slow down avatar movement, etc.
524 UseSeparatePhysicsThread = false
525
526 ; Terrain implementation can use either Bullet's heightField or BulletSim can build
527 ; a mesh. 0=heightField, 1=mesh
528 TerrainImplementation = 0
529 ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield
530 ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher
531 ; magnifications use lots of memory.
532 TerrainMeshMagnification = 2
533
534 ; Should avatars collide with each other?
535 AvatarToAvatarCollisionsByDefault = true
536
537 ; Default linkset implmentation
538 ; 'Constraint' uses physics constraints to hold linkset together. 'Compound'
539 ; builds a compound shape from the children shapes to create a single physical
540 ; shape. 'Compound' uses a lot less CPU time.
541 LinkImplementation = 1 ; 0=constraint, 1=compound
542
543 ; If 'true', offset a linkset's origin based on mass of linkset parts.
544 LinksetOffsetCenterOfMass = false
545
546 ; If 'true', turn scuplties into meshes
547 MeshSculptedPrim = true
548
549 ; If 'true', force simple prims (box and sphere) to be meshed
550 ; If 'false', the Bullet native special case shape is used for square rectangles
551 ; and even dimensioned spheres.
552 ForceSimplePrimMeshing = false
553
554 ; If 'true', when creating meshes, remove all triangles that have two equal vertexes.
555 ; Happens often in sculpties. If turned off, there will be some doorways
556 ; that cannot be walked through.
557 ShouldRemoveZeroWidthTriangles = true
558
559 ; If 'true', use convex hull definition in mesh asset if present.
560 ShouldUseAssetHulls = true
561
562 ; If there are thousands of physical objects, these maximums should be increased.
563 MaxCollisionsPerFrame = 2048
564 MaxUpdatesPerFrame = 8192
565
566 ; Detailed physics debug logging. Very verbose.
567 PhysicsLoggingEnabled = False
568 PhysicsLoggingDir = "."
569 VehicleLoggingEnabled = False
570
571
572[Sun]
573 ; send a Sun update every update_interval # of frames. A lower number will
574 ; make for smoother sun transition at the cost of network
575 ;update_interval = 100
576
577
578[Wind]
579 ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second
580 wind_update_rate = 150
581
582 ; The Default Wind Plugin to load
583 wind_plugin = SimpleRandomWind
584
585
586[Cloud]
587 ; update interval for the cloud cover data returned by llCloud().
588 ; default is 1000
589 cloud_update_rate = 1000
590
591
592[Trees]
593 ; active_trees allows module to change its trees in time.
594 ; some will be deleted, others created and rest may grow
595 ; default is false. You can change it with console command tree active true | false later
596 active_trees = false
597 ; the trees change execution time rate (in ms)
598 update_rate = 1000
599
600 ; allow the trees to grow.
601 ; DANGER
602 ; this option causes high network use on the order of
603 ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second
604 allowGrow = false
605
606
607[LL-Functions]
608 ; Maximum number of llListen events we allow over the entire region.
609 ; Set this to 0 to have no limit imposed
610 max_listens_per_region = 1000
611
612 ; Maximum number of llListen events we allow per script
613 ; Set this to 0 to have no limit imposed.
614 max_listens_per_script = 64
615
616 ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL())
617 max_external_urls_per_simulator = 100
618
619 ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes.
620 ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate.
621 UseSimpleBoxesInGetBoundingBox = false
622
623 ; Use llCastRay V3 if true.
624 ; Implements llCastRay similar but not identical to Second Life.
625 ; See http://wiki.secondlife.com/wiki/LlCastRay .
626 ; NEW
627 ; Meshes prims for good accuracy in ray hit detection,
628 ; handling basic and tortured prims, sculpts and meshes.
629 ; Uses ellipsoid, correctly sized avatar capsules.
630 ; Handles complex terrain, multi-prim objects and seated avatars.
631 ; Implements throttling and the status codes
632 ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED,
633 ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW.
634 ; WARNING
635 ; Can be faster on some servers and scenes, but slower on others,
636 ; compared to previous version of llCastRay in OpenSimulator.
637 ; Is in most cases considerably slower than llCastRay in Second Life.
638 ; Generates geometry meshes and can therefore use much system resources.
639 UseLlCastRayV3 = false
640
641 ; Accepted calculation precision error in calculations in llCastRay V3
642 FloatToleranceInLlCastRay = 0.00001
643
644 ; Accepted distance difference between duplicate hits in llCastRay V3
645 FloatTolerance2InLlCastRay = 0.001
646
647 ; Detail level when rendering prims in llCastRay V3
648 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
649 PrimDetailLevelInLlCastRay = 1
650
651 ; Detail level when rendering sculpts in llCastRay V3
652 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
653 SculptDetailLevelInLlCastRay = 1
654
655 ; Detail level when rendering meshes in llCastRay V3
656 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
657 MeshDetailLevelInLlCastRay = 3
658
659 ; Detail level when rendering avatar capsules in llCastRay V3
660 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
661 AvatarDetailLevelInLlCastRay = 1
662
663 ; Maximum number of returned hits from llCastRay V3
664 MaxHitsInLlCastRay = 16
665
666 ; Maximum number of returned hits per prim from llCastRay V3
667 MaxHitsPerPrimInLlCastRay = 16
668
669 ; Maximum number of returned hits per object from llCastRay V3
670 MaxHitsPerObjectInLlCastRay = 16
671
672 ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true
673 DetectExitHitsInLlCastRay = false
674
675 ; Detect attachments in llCastRay V3 if true
676 DoAttachmentsInLlCastRay = false
677
678 ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3
679 ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this
680 ThrottleTimeInMsInLlCastRay = 200
681
682 ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3
683 AvailableTimeInMsPerRegionInLlCastRay = 40
684
685 ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3
686 AvailableTimeInMsPerAvatarInLlCastRay = 10
687
688 ; Required available time in ms left to perform a new llCastRay in llCastRay V3
689 RequiredAvailableTimeInMsInLlCastRay = 2
690
691 ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions
692 MaximumAvailableTimeInMsInLlCastRay = 40
693
694 ; Use cached meshes in llCastRay V3 if true
695 ; Improves performance but uses more memory
696 UseMeshCacheInLlCastRay = true
697
698
699[XEngine]
700 ; How many threads to keep alive even if nothing is happening
701 MinThreads = 2
702
703 ; How many threads to start at maximum load
704 MaxThreads = 100
705
706 ; Time a thread must be idle (in seconds) before it dies
707 IdleTimeout = 60
708
709 ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
710 Priority = "BelowNormal"
711
712 ; Maximum number of events to queue for a script (excluding timers)
713 MaxScriptEventQueue = 300
714
715 ; Stack size per thread created
716 ThreadStackSize = 262144
717
718 ; Set this to true to load each script into a separate
719 ; AppDomain. Setting this to false will load all script assemblies into the
720 ; current AppDomain, which will reduce the initial per-script memory overhead,
721 ; but deleted scripts stay inactive using memory.
722 ; Significantly improving script loading times.
723 ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted.
724 ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region.
725 ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited.
726 ; At this time some mono versions seem to have problems with the true option,
727 ; so default is now false until a fix is found, to simply life of less technical skilled users.
728 AppDomainLoading = false
729
730 ; Controls whether previously compiled scripts DLLs are deleted on sim restart.
731 ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled.
732 ; It should be true on first run after updating opensim binary version
733 ; after first run you can change to false.
734 ; You can also set it to false and delete the script DLLs by hand
735 ; This does not delete cached scripts state.
736 DeleteScriptsOnStartup = true
737
738 ; CompactMemOnLoad
739 ; forces calls to memory garbage collector before loading each script DLL during region startup.
740 ; Peak memory usage is reduced and region starts with a more compacted memory allocation.
741 ; But this costs a lot of time, so region load will take a lot longer.
742 ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true)
743 ; CompactMemOnLoad = false
744
745 ; Controls whether scripts are stopped by aborting their threads externally (abort)
746 ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op).
747 ; co-op will be more stable as aborting threads can cause instability.
748 ; abort was the default option in OpenSimulator 0.8 and before.
749 ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary.
750 ; However, the setting change will not take affect until the next time you restart the simulator.
751 ; Setting changes will not affect state information stored for scripts.
752 ScriptStopStrategy = co-op
753
754 ; Rate to poll for asynchronous command replies (ms)
755 ; currently unused
756 ;AsyncLLCommandLoopms = 50
757
758 ; Compile debug info (line numbers) into the script assemblies
759 CompileWithDebugInformation = true
760
761 ; Interval (s) between background save of script states
762 SaveInterval = 120
763
764 ; Interval (s) between maintenance runs (0 = disable)
765 MaintenanceInterval = 10
766
767 ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested
768 ; before aborting the thread (such as when an object containing scripts is taken into inventory).
769 WaitForEventCompletionOnScriptStop = 1000
770
771 ; Minimum settable timer interval. Any timer setting less than this is
772 ; rounded up to this minimum interval.
773 MinTimerInterval = 0.5
774
775 ; Sensor settings
776 SensorMaxRange = 96.0
777 SensorMaxResults = 16
778
779
780[Groups]
781 ; Groups data is cached for this number of seconds before another request is made to the groups service
782 ; Set to 0 to disable the cache.
783 ; Default is 30 seconds
784 GroupsCacheTimeout = 30
785
786
787[PacketPool]
788 ;RecyclePackets = true
789 ;RecycleDataBlocks = true
790
791 ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets.
792 ; This reduces data churn
793 RecycleBaseUDPPackets = true
794
795
796[InterestManagement]
797 ; This section controls how state updates are prioritized for each client
798 ; Valid values are BestAvatarResponsiveness, Time, Distance,
799 ; SimpleAngularDistance, and FrontBack
800 UpdatePrioritizationScheme = BestAvatarResponsiveness
801 ReprioritizationEnabled = true
802 ReprioritizationInterval = 2000.0
803 RootReprioritizationDistance = 10.0
804 ChildReprioritizationDistance = 20.0
805
806 ; TEST OPTION KEEP AS FALSE
807 ; if true, don't send object updates if outside view range
808 ObjectsCullingByDistance = false
809
810 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region
811 ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates).
812 ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars.
813 RootTerseUpdatePeriod = 0
814
815 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region
816 ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect.
817 ChildTerseUpdatePeriod = 0
818
819 ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance
820 RootPositionUpdateTolerance = 0.05
821
822 ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance
823 RootRotationUpdateTolerance = 0.1
824
825 ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance
826 RootVelocityUpdateTolerance = 0.001
827
828
829[Statistics]
830 ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames
831 ; to include in the averaging calculations
832 NumberOfFrames=10
833
834
835[Terrain]
836 ; If 'true' each avatar is only sent terrain patches within their view distance
837 ; This also changes the region terrain loading from 'lawn mower' to ordered around
838 ; the avatar outward.
839 SendTerrainUpdatesByViewDistance = True
840
841
842[LandManagement]
843 ; When editing terrain or objects, parcel layer info is updated in the viewer.
844 ; This can be expensive for large regions. If this variable is 'true', only the
845 ; parcel layer data around the area of interest is sent. The parcel layer info
846 ; is sent for 'ParcelLayerViewDistance' around the interest point.
847 ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions
848 ; will be what it has always been (send the whole region's parcel layer info).
849 ; Other parcel updates (login, changing parcel ownership, ...) will still send
850 ; whole region.
851 LimitParcelLayerUpdateDistance = true
852 ParcelLayerViewDistance = 128
853
854
855;; If you are using a simian grid frontend you can enable
856;; this module to upload tile images for the mapping fn
857;;
858[SimianGridMaptiles]
859 RefreshTime = 3600
860
861
862;;
863;; These are defaults that are overwritten below in [Architecture].
864;; These defaults allow OpenSim to work out of the box with
865;; zero configuration
866;;
867[AssetService]
868 ; Disable this to prevent the default asset set from being inserted into the
869 ; asset store each time the region starts
870 AssetLoaderEnabled = true
871
872
873[AutoBackupModule]
874 ;; default is module is disabled at the top level
875 AutoBackupModuleEnabled = false
876
877
878[ServiceThrottle]
879 ;; Default time interval (in ms) for the throttle service thread to wake up
880 Interval = 5000
881
882
883[Materials]
884 MaxMaterialsPerTransaction = 50
diff --git a/bin/config-include/SimFast.ini b/bin/config-include/SimFast.ini
new file mode 100644
index 0000000..40d3cc1
--- /dev/null
+++ b/bin/config-include/SimFast.ini
@@ -0,0 +1,884 @@
1[Startup]
2 ; ##
3 ; ## SYSTEM
4 ; ##
5
6 ; Sets the method that OpenSim will use to fire asynchronous
7 ; events. Valid values are UnsafeQueueUserWorkItem,
8 ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread.
9 ;
10 ; SmartThreadPool is reported to work well on Mono/Linux, but
11 ; UnsafeQueueUserWorkItem has been benchmarked with better
12 ; performance on .NET/Windows
13 ;
14 ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security
15 ; privileges. However, as calling code is trusted anyway this is safe (if you set
16 ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons).
17 async_call_method = SmartThreadPool
18
19 ; Max threads to allocate on the FireAndForget thread pool
20 ; when running with the SmartThreadPool option above
21 MaxPoolThreads = 300
22
23 ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently.
24 ; This improves performance in regions with large numbers of connections (in the hundreds).
25 JobEngineEnabled = true
26
27 ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos
28 ; Increasing this number will increase memory usage.
29 MaxPrimUndos = 42
30
31 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum
32 ; This can be overridden in the region config file.
33 ClampPrimSize = true
34
35 ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative.
36 ClampNegativeZ = true
37
38 ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region.
39 ; This only applies when crossing to a region running in a different simulator.
40 ; For crossings where the regions are on the same simulator the script is always kept running.
41 AllowScriptCrossing = true
42
43 ; Main Frame time
44 ; This defines the rate of several simulation events.
45 ; Default value should meet most needs.
46 ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads.
47 ; It should not be less than the physics engine step time.
48 ; Being a integer multiple of it may reduce some jitter in reported physics FPS.
49 ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same
50 FrameTime = 0.0909
51
52 ; Send scheduled updates to objects in the scene
53 ; This must be a whole number
54 UpdateObjectsEveryNFrames = 1
55
56 ; Send position/velocity, etc. updates to agents in the scene
57 ; This must be a whole number
58 UpdateAgentsEveryNFrames = 1
59
60 ; Apply pending forces from physics calculations to an entity.
61 ; This must be a whole number
62 UpdateEntityMovementEveryNFrames = 1
63
64 ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap.
65 ; This must be a whole number
66 UpdateCoarseLocationsEveryNFrames = 50
67
68 ; Physics simulation execution or syncronization, acording to engine. Should be 1
69 ; This must be a whole number
70 UpdatePhysicsEveryNFrames = 1
71
72 ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1.
73 ; This must be a whole number
74 UpdateEventsEveryNFrames = 1
75
76 ; Send terrain updates to viewers
77 ; This must be a whole number
78 UpdateTerrainEveryNFrames = 50
79
80 ; Persitently store any objects which meet the PRIM STORAGE criteria
81 ; This must be a whole number
82 UpdateStorageEveryNFrames = 200
83
84 ; Clean up temp on rez objects.
85 ; This must be a whole number
86 UpdateTempCleaningEveryNSeconds = 180
87
88 ; ##
89 ; ## PRIM STORAGE
90 ; ##
91
92 ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to
93 ; prevent frequently changing objects from heavily loading the region data store.
94 ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep.
95 ;
96 ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds
97 MinimumTimeBeforePersistenceConsidered = 60
98 ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago
99 MaximumTimeBeforePersistenceConsidered = 600
100
101 ; ##
102 ; ## PHYSICS
103 ; ##
104
105 ; Select a mesher here.
106 ;
107 ; Meshmerizer properly handles complex prims by using triangle meshes.
108 ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way
109 ;
110 ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports
111 ; Usually this is only a box
112
113 ;meshing = Meshmerizer
114 ;meshing = ZeroMesher
115 ;; select ubODEMeshmerizer only with ubOde physics engine
116 meshing = ubODEMeshmerizer
117
118 ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit
119 ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions
120 ; edit the line ulimit -s 262144, and change this last value
121
122 ; if you use Meshmerizer and want sculpt map collisions, setting this to
123 ; to true will store decoded sculpt maps in a special folder in your bin
124 ; folder, which can reduce startup times by reducing asset requests. Some
125 ; versions of mono dont work well when reading the cache files, so set this
126 ; to false if you have compatibility problems.
127 CacheSculptMaps = true
128
129 ;; BulletSim is the default physics engine. It provides the best performance and most functionality.
130 ;; BulletSim supports varregions.
131 ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before.
132 ;; It continues to provide a workable physics implementation. It does not currently support varregions.
133 ;; basicphysics effectively does not model physics at all, making all objects phantom.
134 ;; Default is BulletSim
135 ;physics = BulletSim
136 ;physics = modified_BulletX
137 ;physics = OpenDynamicsEngine
138 ;physics = basicphysics
139 ;physics = POS
140 ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also
141 physics = ubODE
142
143 ; ##
144 ; ## SCRIPT ENGINE
145 ; ##
146
147 ;; Default script engine to use. Currently, we only have XEngine
148 DefaultScriptEngine = "XEngine"
149
150 ; Image decoding. Use CSJ2K for layer boundary decoding if true,
151 ; OpenJPEG if false
152 ; UseCSJ2K = true
153
154
155[Map]
156 ; Map tile options.
157 ; If true, then maptiles are generated using the MapImageModule below.
158 ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden
159 ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need
160 ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/
161 GenerateMaptiles = false
162
163 ;WorldMapModule = "WorldMap"
164
165 ; The module to use in order to generate map images.
166 ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can
167 ; generate better images.
168 MapImageModule = "Map3DImageModule"
169
170 ; World map blacklist timeout in seconds
171 ;BlacklistTimeout = 600
172
173 ; Refresh (in seconds) the map tile periodically
174 MaptileRefresh = 0
175
176 ; If not generating maptiles, use this static texture asset ID
177 MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
178
179 ; Draw objects on maptile. This step might take a long time if you've got a large number of
180 ; objects, so you can turn it off here if you'd like.
181 DrawPrimOnMapTile = false
182
183 ; Use terrain texture for maptiles if true, use shaded green if false
184 TextureOnMapTile = false
185
186 ; Texture prims
187 TexturePrims = false
188
189 ; Only texture prims that have a diagonal size greater than this number
190 TexturePrimSize = 64
191
192 ; Attempt to render meshes and sculpties on the map
193 RenderMeshes = false
194
195 UseAntiAliasing = false
196
197
198[Network]
199 ; OpenSim can send multiple simultaneous requests for services such as asset
200 ; retrieval. However, some versions of mono appear to hang when there are too
201 ; many simultaneous requests, default is 30 and is currently applied only to assets
202 ;MaxRequestConcurrency = 30
203
204
205[ClientStack.LindenUDP]
206 ; The client socket receive buffer size determines how many
207 ; incoming requests we can process; the default on .NET is 8192
208 ; which is about 2 4k-sized UDP datagrams. On mono this is
209 ; whatever the underlying operating system has as default; for
210 ; example, ubuntu 8.04 or SLES11 have about 111k, which is about
211 ; 27 4k-sized UDP datagrams (on linux platforms you can [as root]
212 ; do "sysctl net.core.rmem_default" to find out what your system
213 ; uses a default socket receive buffer size.
214 ;
215 ; client_socket_rcvbuf_size allows you to specify the receive
216 ; buffer size LLUDPServer should use. NOTE: this will be limited
217 ; by the system's settings for the maximum client receive buffer
218 ; size (on linux systems you can set that with "sysctl -w
219 ; net.core.rmem_max=X")
220 ;
221 ;client_socket_rcvbuf_size = 8388608
222
223 ; Maximum outbound bytes per second for a single scene. This can be used to
224 ; throttle total outbound UDP traffic for a simulator. The default value is
225 ; 0, meaning no throttling at the scene level. The example given here is
226 ; 20 megabits
227 ;
228 ;scene_throttle_max_bps = 2500000
229
230 ; Maximum bytes per second to send to any single client. This will override
231 ; the user's viewer preference settings. The default value is 0, meaning no
232 ; aggregate throttling on clients (only per-category throttling). The
233 ; example given here is 1.5 megabits
234 ;
235 ;client_throttle_max_bps = 187500
236
237 ; Minimum bytes per second to send to any single client as a result of
238 ; adaptive throttling. Viewer preferences set to a lower number will
239 ; override the settin. The example given here ensures that adaptive
240 ; throttling will never decrease per client bandwidth below 256 kbps.
241 ;
242 ;adaptive_throttle_min_bps = 32000
243
244 ; Adaptive throttling attempts to limit network overload when multiple
245 ; clients login by starting each connection more slowly. Disabled by
246 ; default
247 ;
248 enable_adaptive_throttles = false
249
250 ; Per-client bytes per second rates for the various throttle categories.
251 ; These are default values that will be overridden by clients. These
252 ; defaults are approximately equivalent to the throttles set by the Imprudence
253 ; viewer when maximum bandwidth is set to 350kbps
254
255 ;resend_default = 6625
256 ;land_default = 9125
257 ;wind_default = 1750
258 ;cloud_default = 1750
259 ;task_default = 18500
260 ;texture_default = 18500
261 ;asset_default = 10500
262
263 ; Configures how ObjectUpdates are aggregated. These numbers
264 ; do not literally mean how many updates will be put in each
265 ; packet that goes over the wire, as packets are
266 ; automatically split on a 1400 byte boundary. These control
267 ; the balance between responsiveness of interest list updates
268 ; and total throughput. Higher numbers will ensure more full-
269 ; sized packets and faster sending of data, but more delay in
270 ; updating interest lists
271 ;
272 ;PrimUpdatesPerCallback = 100
273
274 ; TextureSendLimit determines how many packets will be put on
275 ; the outgoing queue each cycle. Like the settings above, this
276 ; is a balance between responsiveness to priority updates and
277 ; total throughput. Higher numbers will give a better
278 ; throughput at the cost of reduced responsiveness to client
279 ; priority changes or transfer aborts
280 ;
281 ;TextureSendLimit = 20
282
283 ; CannibalizeTextureRate allows bandwidth to be moved from the
284 ; UDP texture throttle to the task throttle. Since most viewers
285 ; use HTTP textures, this provides a means of using what is largely
286 ; unused bandwidth in the total throttle. The value is the proportion
287 ; of the texture rate to move to the task queue. It must be between
288 ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the
289 ; bandwidth is grabbed)
290 ;
291 ; CannibalizeTextureRate = 0.5
292
293 ; The time to wait before disconecting an unresponsive client.
294 ; The time is in seconds. The default is one minute
295 ;
296 ;AckTimeout = 60
297
298 ; The time to wait before disconecting an unresponsive paused client.
299 ; A client can be paused when the file selection dialog is open during file upload.
300 ; This gives extra time to find files via the dialog but will still disconnect if
301 ; the client crashes or loses its network connection
302 ; The time is in seconds. The default is five minutes.
303 ;
304 ;PausedAckTimeout = 300
305
306
307[Appearance]
308 ; Persist avatar baked textures
309 ; Persisting baked textures can speed up login and region border
310 ; crossings especially with large numbers of users, though it
311 ; will store potentially large numbers of textures in your asset
312 ; database
313 PersistBakedTextures = false
314
315 ; Control the delay before appearance is sent to other avatars and
316 ; saved in the avatar service. Attempts to limit the impact caused
317 ; by the very chatty dialog that sets appearance when an avatar
318 ; logs in or teleports into a region; values are in seconds
319 DelayBeforeAppearanceSave = 5
320 DelayBeforeAppearanceSend = 2
321
322 ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds.
323 ; This may help with some situations where avatars are persistently grey, though it will not help
324 ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others).
325 ResendAppearanceUpdates = false
326
327 ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar
328 ; on every login
329 ReuseTextures = true
330
331
332[Attachments]
333 ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments
334 ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit
335 ; or when multiple avatars with medium level attachments login/change outfit simultaneously.
336 ; If 0 then no throttling is performed.
337 ThrottlePer100PrimsRezzed = 0
338
339
340[Textures]
341 ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible
342 ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components
343 ; (e.g. images pulled from an external HTTP address).
344 ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture.
345 ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted.
346 ; Hence, currently considered experimental.
347 ; Default is false.
348 ReuseDynamicTextures = true
349
350 ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused
351 ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache.
352 ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem.
353 ; This setting only has an affect is ReuseDynamicTextures = true
354 ; Default is false
355 ReuseDynamicLowDataTextures = true
356
357
358[ODEPhysicsSettings]
359 ; ##
360 ; ## Physics stats settings ( most ignored by ubOde )
361 ;
362
363 ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule
364 ; (see http://opensimulator.org/wiki/Monitoring_Module for more details).
365 collect_stats = false
366
367 ; ##
368 ; ## Physics logging settings - logfiles are saved to *.DIF files
369 ; ##
370
371 ; default is false
372 ;physics_logging = true
373 ;; every n simulation iterations, the physics snapshot file is updated
374 ;physics_logging_interval = 50
375 ;; append to existing physics logfile, or overwrite existing logfiles?
376 ;physics_logging_append_existing_logfile = true
377
378 ;##
379 ;## World Settings
380 ;##
381
382 ; World Step size.
383 ; with legacy ODE this value needs to be close to 0.02s
384 ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load
385 ; you will need to test acording to you needs
386 ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS
387 world_stepsize = 0.015
388 ; number of iterations of constrains solver, higher should improve results
389 ; up to a point where acumulated math errors eliminate the improvement
390 ; more steps may increase CPU load. No real gain in changing
391 world_solver_iterations = 10
392
393 ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim
394 ; defines spaces partition cells min and max sizes == 2^value
395 world_hashspace_level_low = -5
396 world_hashSpace_level_high = 12
397
398 meters_in_small_space = 29.9
399
400
401 ; ##
402 ; ## Contact properties. (the stuff that happens when things come in contact with each other)
403 ; ##
404
405 ; surface layer around geometries other geometries can sink into before generating a contact
406 world_contact_surface_layer = 0.001
407
408 ; Filtering collisions helps keep things stable physics wise, but sometimes
409 ; it can be overzealous. If you notice bouncing, chances are it's that.
410 filter_collisions = false
411
412 ; Non Moving Terrain Contact (avatar isn't moving)
413 nm_terraincontact_friction = 255.0
414 nm_terraincontact_bounce = 0.1
415 nm_terraincontact_erp = 0.1025
416
417 ; Moving Terrain Contact (avatar is moving)
418 m_terraincontact_friction = 75.0
419 m_terraincontact_bounce = 0.05
420 m_terrainContact_erp = 0.05025
421
422 ; Moving Avatar to object Contact
423 m_avatarobjectcontact_friction = 75.0
424 m_avatarobjectcontact_bounce = 0.1
425
426 ; Object to Object Contact and Non-Moving Avatar to object
427 objectcontact_friction = 250.0
428 objectcontact_bounce = 0.2
429
430 ; ##
431 ; ## Avatar Control
432 ; ##
433
434 ; PID Controller Settings. These affect the math that causes the avatar to reach the
435 ; desired velocity
436 ; See http://en.wikipedia.org/wiki/PID_controller
437
438 av_pid_derivative = 2200.0
439 av_pid_proportional = 900.0
440
441 ; specifies if the capsule should be tilted (=true; old compatibility mode)
442 ; or straight up-and-down (=false; better and more consistent physics behavior)
443 av_capsule_tilted = false
444
445 ; Movement. Smaller is faster.
446
447 ; speed of movement with Always Run off
448 av_movement_divisor_walk = 1.4
449
450 ; speed of movement with Always Run on
451 av_movement_divisor_run = 0.9
452
453 ; When the avatar flies, it will be moved up by this amount off the ground (in meters)
454 minimum_ground_flight_offset = 3.0
455
456 ; Plant avatar. This reduces the effect of physical contacts with the avatar.
457 ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive.
458 ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active
459 ; will lock the avatar in place
460 av_planted = true
461
462 ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment
463 av_av_collisions_off = true
464
465 ; ##
466 ; ## Object options
467 ; ##
468
469 ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep
470 body_frames_auto_disable = 20
471
472 ; used to control llMove2Target
473 body_pid_derivative = 35
474 body_pid_gain = 25
475
476 ; maximum number of contact points to generate per collision
477 contacts_per_collision = 80
478
479 ; start throttling the object updates if object comes in contact with 3 or more other objects
480 geom_contactpoints_start_throttling = 3
481
482 ; send 1 update for every x updates below when throttled
483 geom_updates_before_throttled_update = 15
484
485 ; ##
486 ; ## Sculpted Prim settings
487 ; ##
488
489 ; Do we want to mesh sculpted prim to collide like they look?
490 ; If you are seeing sculpt texture decode problems
491 ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception")
492 ; then you might want to try setting this to false.
493 mesh_sculpted_prim = false
494
495 ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies
496 mesh_lod = 32
497
498 ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies
499 mesh_physical_lod = 16
500
501 ; ##
502 ; ## additional meshing options
503 ; ##
504
505 ; Physics needs to create internal meshs (or convert the object meshs or scultps)
506 ; for all prims except simple boxes and spheres.
507
508 ; collisions of small objects againts larger ones can have a increased CPU load cost
509 ; so this are represented by a simple BOX
510 ; if all their scale dimensions are lower or equal to this option. Default is 0.1m
511 ; (ubOde only)
512 ; MinSizeToMeshmerize = 0.1
513
514
515[BulletSim]
516 ; There are two bullet physics libraries, bulletunmanaged is the default and is a
517 ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality
518 ; but the c++ one is much faster.
519 ;BulletEngine = "bulletunmanaged"
520 BulletEngine = "bulletxna"
521
522 ; BulletSim can run on its own thread independent of the simulator's heartbeat
523 ; thread. Enabling this will not let the physics engine slow down avatar movement, etc.
524 UseSeparatePhysicsThread = true
525
526 ; Terrain implementation can use either Bullet's heightField or BulletSim can build
527 ; a mesh. 0=heightField, 1=mesh
528 TerrainImplementation = 0
529 ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield
530 ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher
531 ; magnifications use lots of memory.
532 TerrainMeshMagnification = 1
533
534 ; Should avatars collide with each other?
535 AvatarToAvatarCollisionsByDefault = false
536
537 ; Default linkset implmentation
538 ; 'Constraint' uses physics constraints to hold linkset together. 'Compound'
539 ; builds a compound shape from the children shapes to create a single physical
540 ; shape. 'Compound' uses a lot less CPU time.
541 LinkImplementation = 1 ; 0=constraint, 1=compound
542
543 ; If 'true', offset a linkset's origin based on mass of linkset parts.
544 LinksetOffsetCenterOfMass = false
545
546 ; If 'true', turn scuplties into meshes
547 MeshSculptedPrim = false
548
549 ; If 'true', force simple prims (box and sphere) to be meshed
550 ; If 'false', the Bullet native special case shape is used for square rectangles
551 ; and even dimensioned spheres.
552 ForceSimplePrimMeshing = true
553
554 ; If 'true', when creating meshes, remove all triangles that have two equal vertexes.
555 ; Happens often in sculpties. If turned off, there will be some doorways
556 ; that cannot be walked through.
557 ShouldRemoveZeroWidthTriangles = true
558
559 ; If 'true', use convex hull definition in mesh asset if present.
560 ShouldUseAssetHulls = true
561
562 ; If there are thousands of physical objects, these maximums should be increased.
563 MaxCollisionsPerFrame = 2048
564 MaxUpdatesPerFrame = 8192
565
566 ; Detailed physics debug logging. Very verbose.
567 PhysicsLoggingEnabled = False
568 PhysicsLoggingDir = "."
569 VehicleLoggingEnabled = False
570
571
572[Sun]
573 ; send a Sun update every update_interval # of frames. A lower number will
574 ; make for smoother sun transition at the cost of network
575 ;update_interval = 100
576
577
578[Wind]
579 ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second
580 wind_update_rate = 150
581
582 ; The Default Wind Plugin to load
583 wind_plugin = SimpleRandomWind
584
585
586[Cloud]
587 ; update interval for the cloud cover data returned by llCloud().
588 ; default is 1000
589 cloud_update_rate = 1000
590
591
592[Trees]
593 ; active_trees allows module to change its trees in time.
594 ; some will be deleted, others created and rest may grow
595 ; default is false. You can change it with console command tree active true | false later
596 active_trees = false
597 ; the trees change execution time rate (in ms)
598 update_rate = 1000
599
600 ; allow the trees to grow.
601 ; DANGER
602 ; this option causes high network use on the order of
603 ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second
604 allowGrow = false
605
606
607[LL-Functions]
608 ; Maximum number of llListen events we allow over the entire region.
609 ; Set this to 0 to have no limit imposed
610 max_listens_per_region = 0
611
612 ; Maximum number of llListen events we allow per script
613 ; Set this to 0 to have no limit imposed.
614 max_listens_per_script = 0
615
616 ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL())
617 max_external_urls_per_simulator = 256
618
619 ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes.
620 ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate.
621 UseSimpleBoxesInGetBoundingBox = true
622
623 ; Use llCastRay V3 if true.
624 ; Implements llCastRay similar but not identical to Second Life.
625 ; See http://wiki.secondlife.com/wiki/LlCastRay .
626 ; NEW
627 ; Meshes prims for good accuracy in ray hit detection,
628 ; handling basic and tortured prims, sculpts and meshes.
629 ; Uses ellipsoid, correctly sized avatar capsules.
630 ; Handles complex terrain, multi-prim objects and seated avatars.
631 ; Implements throttling and the status codes
632 ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED,
633 ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW.
634 ; WARNING
635 ; Can be faster on some servers and scenes, but slower on others,
636 ; compared to previous version of llCastRay in OpenSimulator.
637 ; Is in most cases considerably slower than llCastRay in Second Life.
638 ; Generates geometry meshes and can therefore use much system resources.
639 UseLlCastRayV3 = true
640
641 ; Accepted calculation precision error in calculations in llCastRay V3
642 FloatToleranceInLlCastRay = 0.00001
643
644 ; Accepted distance difference between duplicate hits in llCastRay V3
645 FloatTolerance2InLlCastRay = 0.001
646
647 ; Detail level when rendering prims in llCastRay V3
648 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
649 PrimDetailLevelInLlCastRay = 1
650
651 ; Detail level when rendering sculpts in llCastRay V3
652 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
653 SculptDetailLevelInLlCastRay = 1
654
655 ; Detail level when rendering meshes in llCastRay V3
656 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
657 MeshDetailLevelInLlCastRay = 3
658
659 ; Detail level when rendering avatar capsules in llCastRay V3
660 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
661 AvatarDetailLevelInLlCastRay = 1
662
663 ; Maximum number of returned hits from llCastRay V3
664 MaxHitsInLlCastRay = 16
665
666 ; Maximum number of returned hits per prim from llCastRay V3
667 MaxHitsPerPrimInLlCastRay = 16
668
669 ; Maximum number of returned hits per object from llCastRay V3
670 MaxHitsPerObjectInLlCastRay = 16
671
672 ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true
673 DetectExitHitsInLlCastRay = false
674
675 ; Detect attachments in llCastRay V3 if true
676 DoAttachmentsInLlCastRay = false
677
678 ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3
679 ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this
680 ThrottleTimeInMsInLlCastRay = 200
681
682 ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3
683 AvailableTimeInMsPerRegionInLlCastRay = 40
684
685 ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3
686 AvailableTimeInMsPerAvatarInLlCastRay = 10
687
688 ; Required available time in ms left to perform a new llCastRay in llCastRay V3
689 RequiredAvailableTimeInMsInLlCastRay = 2
690
691 ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions
692 MaximumAvailableTimeInMsInLlCastRay = 40
693
694 ; Use cached meshes in llCastRay V3 if true
695 ; Improves performance but uses more memory
696 UseMeshCacheInLlCastRay = true
697
698
699[XEngine]
700 ; How many threads to keep alive even if nothing is happening
701 MinThreads = 2
702
703 ; How many threads to start at maximum load
704 MaxThreads = 100
705
706 ; Time a thread must be idle (in seconds) before it dies
707 IdleTimeout = 60
708
709 ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
710 Priority = "Normal"
711
712 ; Maximum number of events to queue for a script (excluding timers)
713 MaxScriptEventQueue = 3000
714
715 ; Stack size per thread created
716 ThreadStackSize = 262144
717
718 ; Set this to true to load each script into a separate
719 ; AppDomain. Setting this to false will load all script assemblies into the
720 ; current AppDomain, which will reduce the initial per-script memory overhead,
721 ; but deleted scripts stay inactive using memory.
722 ; Significantly improving script loading times.
723 ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted.
724 ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region.
725 ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited.
726 ; At this time some mono versions seem to have problems with the true option,
727 ; so default is now false until a fix is found, to simply life of less technical skilled users.
728 AppDomainLoading = false
729
730 ; Controls whether previously compiled scripts DLLs are deleted on sim restart.
731 ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled.
732 ; It should be true on first run after updating opensim binary version
733 ; after first run you can change to false.
734 ; You can also set it to false and delete the script DLLs by hand
735 ; This does not delete cached scripts state.
736 DeleteScriptsOnStartup = false
737
738 ; CompactMemOnLoad
739 ; forces calls to memory garbage collector before loading each script DLL during region startup.
740 ; Peak memory usage is reduced and region starts with a more compacted memory allocation.
741 ; But this costs a lot of time, so region load will take a lot longer.
742 ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true)
743 CompactMemOnLoad = true
744
745 ; Controls whether scripts are stopped by aborting their threads externally (abort)
746 ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op).
747 ; co-op will be more stable as aborting threads can cause instability.
748 ; abort was the default option in OpenSimulator 0.8 and before.
749 ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary.
750 ; However, the setting change will not take affect until the next time you restart the simulator.
751 ; Setting changes will not affect state information stored for scripts.
752 ScriptStopStrategy = abort
753
754 ; Rate to poll for asynchronous command replies (ms)
755 ; currently unused
756 ;AsyncLLCommandLoopms = 50
757
758 ; Compile debug info (line numbers) into the script assemblies
759 CompileWithDebugInformation = false
760
761 ; Interval (s) between background save of script states
762 SaveInterval = 120
763
764 ; Interval (s) between maintenance runs (0 = disable)
765 MaintenanceInterval = 10
766
767 ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested
768 ; before aborting the thread (such as when an object containing scripts is taken into inventory).
769 WaitForEventCompletionOnScriptStop = 1000
770
771 ; Minimum settable timer interval. Any timer setting less than this is
772 ; rounded up to this minimum interval.
773 MinTimerInterval = 0.1
774
775 ; Sensor settings
776 SensorMaxRange = 96.0
777 SensorMaxResults = 64
778
779
780[Groups]
781 ; Groups data is cached for this number of seconds before another request is made to the groups service
782 ; Set to 0 to disable the cache.
783 ; Default is 30 seconds
784 GroupsCacheTimeout = 30
785
786
787[PacketPool]
788 ;RecyclePackets = true
789 ;RecycleDataBlocks = true
790
791 ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets.
792 ; This reduces data churn
793 RecycleBaseUDPPackets = true
794
795
796[InterestManagement]
797 ; This section controls how state updates are prioritized for each client
798 ; Valid values are BestAvatarResponsiveness, Time, Distance,
799 ; SimpleAngularDistance, and FrontBack
800 UpdatePrioritizationScheme = BestAvatarResponsiveness
801 ReprioritizationEnabled = true
802 ReprioritizationInterval = 2000.0
803 RootReprioritizationDistance = 10.0
804 ChildReprioritizationDistance = 20.0
805
806 ; TEST OPTION KEEP AS FALSE
807 ; if true, don't send object updates if outside view range
808 ObjectsCullingByDistance = false
809
810 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region
811 ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates).
812 ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars.
813 RootTerseUpdatePeriod = 0
814
815 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region
816 ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect.
817 ChildTerseUpdatePeriod = 0
818
819 ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance
820 RootPositionUpdateTolerance = 0.05
821
822 ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance
823 RootRotationUpdateTolerance = 0.1
824
825 ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance
826 RootVelocityUpdateTolerance = 0.001
827
828
829[Statistics]
830 ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames
831 ; to include in the averaging calculations
832 NumberOfFrames=10
833
834
835[Terrain]
836 ; If 'true' each avatar is only sent terrain patches within their view distance
837 ; This also changes the region terrain loading from 'lawn mower' to ordered around
838 ; the avatar outward.
839 SendTerrainUpdatesByViewDistance = True
840
841
842[LandManagement]
843 ; When editing terrain or objects, parcel layer info is updated in the viewer.
844 ; This can be expensive for large regions. If this variable is 'true', only the
845 ; parcel layer data around the area of interest is sent. The parcel layer info
846 ; is sent for 'ParcelLayerViewDistance' around the interest point.
847 ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions
848 ; will be what it has always been (send the whole region's parcel layer info).
849 ; Other parcel updates (login, changing parcel ownership, ...) will still send
850 ; whole region.
851 LimitParcelLayerUpdateDistance = true
852 ParcelLayerViewDistance = 128
853
854
855;; If you are using a simian grid frontend you can enable
856;; this module to upload tile images for the mapping fn
857;;
858[SimianGridMaptiles]
859 RefreshTime = 3600
860
861
862;;
863;; These are defaults that are overwritten below in [Architecture].
864;; These defaults allow OpenSim to work out of the box with
865;; zero configuration
866;;
867[AssetService]
868 ; Disable this to prevent the default asset set from being inserted into the
869 ; asset store each time the region starts
870 AssetLoaderEnabled = false
871
872
873[AutoBackupModule]
874 ;; default is module is disabled at the top level
875 AutoBackupModuleEnabled = false
876
877
878[ServiceThrottle]
879 ;; Default time interval (in ms) for the throttle service thread to wake up
880 Interval = 5000
881
882
883[Materials]
884 MaxMaterialsPerTransaction = 50
diff --git a/bin/config-include/SimLean.ini b/bin/config-include/SimLean.ini
new file mode 100644
index 0000000..0e80320
--- /dev/null
+++ b/bin/config-include/SimLean.ini
@@ -0,0 +1,884 @@
1[Startup]
2 ; ##
3 ; ## SYSTEM
4 ; ##
5
6 ; Sets the method that OpenSim will use to fire asynchronous
7 ; events. Valid values are UnsafeQueueUserWorkItem,
8 ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread.
9 ;
10 ; SmartThreadPool is reported to work well on Mono/Linux, but
11 ; UnsafeQueueUserWorkItem has been benchmarked with better
12 ; performance on .NET/Windows
13 ;
14 ; UnsafeQueueUserWorkItem refers to the fact that the code creating the event could elevate its security
15 ; privileges. However, as calling code is trusted anyway this is safe (if you set
16 ; TrustedBinaries = true in the [XEngine] section then you already have to trust that incoming code for other reasons).
17 async_call_method = SmartThreadPool
18
19 ; Max threads to allocate on the FireAndForget thread pool
20 ; when running with the SmartThreadPool option above
21 MaxPoolThreads = 300
22
23 ; Allow certain jobs to be run consecutively in a job engine rather than always concurrently.
24 ; This improves performance in regions with large numbers of connections (in the hundreds).
25 JobEngineEnabled = false
26
27 ; Maximum number of position, rotation and scale changes for each prim that the simulator will store for later undos
28 ; Increasing this number will increase memory usage.
29 MaxPrimUndos = 10
30
31 ; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum
32 ; This can be overridden in the region config file.
33 ClampPrimSize = false
34
35 ; If a prim is loaded from an external source, clamp it to Z = 0 if Z is negative.
36 ClampNegativeZ = false
37
38 ; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region.
39 ; This only applies when crossing to a region running in a different simulator.
40 ; For crossings where the regions are on the same simulator the script is always kept running.
41 AllowScriptCrossing = true
42
43 ; Main Frame time
44 ; This defines the rate of several simulation events.
45 ; Default value should meet most needs.
46 ; It can be reduced to improve the simulation of moving objects, with possible increase of cpu and network loads.
47 ; It should not be less than the physics engine step time.
48 ; Being a integer multiple of it may reduce some jitter in reported physics FPS.
49 ; changing this value, you need to change some of the following *EveryNFrames so their actions timing remains the same
50 FrameTime = 0.0909
51
52 ; Send scheduled updates to objects in the scene
53 ; This must be a whole number
54 UpdateObjectsEveryNFrames = 1
55
56 ; Send position/velocity, etc. updates to agents in the scene
57 ; This must be a whole number
58 UpdateAgentsEveryNFrames = 1
59
60 ; Apply pending forces from physics calculations to an entity.
61 ; This must be a whole number
62 UpdateEntityMovementEveryNFrames = 1
63
64 ; Send coarse location updates to viewers. In a classic viewer, this updates the minimap.
65 ; This must be a whole number
66 UpdateCoarseLocationsEveryNFrames = 50
67
68 ; Physics simulation execution or syncronization, acording to engine. Should be 1
69 ; This must be a whole number
70 UpdatePhysicsEveryNFrames = 1
71
72 ; Send out the on frame event to modules and other listeners. This should probably never deviate from 1.
73 ; This must be a whole number
74 UpdateEventsEveryNFrames = 1
75
76 ; Send terrain updates to viewers
77 ; This must be a whole number
78 UpdateTerrainEveryNFrames = 50
79
80 ; Persitently store any objects which meet the PRIM STORAGE criteria
81 ; This must be a whole number
82 UpdateStorageEveryNFrames = 200
83
84 ; Clean up temp on rez objects.
85 ; This must be a whole number
86 UpdateTempCleaningEveryNSeconds = 180
87
88 ; ##
89 ; ## PRIM STORAGE
90 ; ##
91
92 ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to
93 ; prevent frequently changing objects from heavily loading the region data store.
94 ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep.
95 ;
96 ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds
97 MinimumTimeBeforePersistenceConsidered = 60
98 ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago
99 MaximumTimeBeforePersistenceConsidered = 600
100
101 ; ##
102 ; ## PHYSICS
103 ; ##
104
105 ; Select a mesher here.
106 ;
107 ; Meshmerizer properly handles complex prims by using triangle meshes.
108 ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way
109 ;
110 ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports
111 ; Usually this is only a box
112
113 ;meshing = Meshmerizer
114 ;meshing = ZeroMesher
115 ;; select ubODEMeshmerizer only with ubOde physics engine
116 meshing = ubODEMeshmerizer
117
118 ; ubODE and OpenDynamicsEngine does allocate a lot of memory on stack. On linux you may need to increase its limit
119 ; script opensim-ode-sh starts opensim setting that limit. You may need to increase it even more on large regions
120 ; edit the line ulimit -s 262144, and change this last value
121
122 ; if you use Meshmerizer and want sculpt map collisions, setting this to
123 ; to true will store decoded sculpt maps in a special folder in your bin
124 ; folder, which can reduce startup times by reducing asset requests. Some
125 ; versions of mono dont work well when reading the cache files, so set this
126 ; to false if you have compatibility problems.
127 CacheSculptMaps = false
128
129 ;; BulletSim is the default physics engine. It provides the best performance and most functionality.
130 ;; BulletSim supports varregions.
131 ;; OpenDynamicsEngine was the previous default physics engine in OpenSimulator 0.7.6.1 and before.
132 ;; It continues to provide a workable physics implementation. It does not currently support varregions.
133 ;; basicphysics effectively does not model physics at all, making all objects phantom.
134 ;; Default is BulletSim
135 ;physics = BulletSim
136 ;physics = modified_BulletX
137 ;physics = OpenDynamicsEngine
138 ;physics = basicphysics
139 ;physics = POS
140 ;; alternative OpenDynamicsEngine engine. ubODEMeshmerizer meshing above MUST be selected also
141 physics = ubODE
142
143 ; ##
144 ; ## SCRIPT ENGINE
145 ; ##
146
147 ;; Default script engine to use. Currently, we only have XEngine
148 DefaultScriptEngine = "XEngine"
149
150 ; Image decoding. Use CSJ2K for layer boundary decoding if true,
151 ; OpenJPEG if false
152 ; UseCSJ2K = true
153
154
155[Map]
156 ; Map tile options.
157 ; If true, then maptiles are generated using the MapImageModule below.
158 ; If false then the texture referenced by MaptileStaticUUID is used instead, which can also be overridden
159 ; in individual region config file(s). If you do not want to upload map tiles at all, then you will need
160 ; both to set this to false and comment out the [Modules] MapImageServiceModule setting in config-include/
161 GenerateMaptiles = false
162
163 ;WorldMapModule = "WorldMap"
164
165 ; The module to use in order to generate map images.
166 ; MapImageModule is the default. Warp3DImageModule is an alternative experimental module that can
167 ; generate better images.
168 MapImageModule = "Map3DImageModule"
169
170 ; World map blacklist timeout in seconds
171 ;BlacklistTimeout = 600
172
173 ; Refresh (in seconds) the map tile periodically
174 MaptileRefresh = 0
175
176 ; If not generating maptiles, use this static texture asset ID
177 ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
178
179 ; Draw objects on maptile. This step might take a long time if you've got a large number of
180 ; objects, so you can turn it off here if you'd like.
181 DrawPrimOnMapTile = false
182
183 ; Use terrain texture for maptiles if true, use shaded green if false
184 TextureOnMapTile = false
185
186 ; Texture prims
187 TexturePrims = false
188
189 ; Only texture prims that have a diagonal size greater than this number
190 TexturePrimSize = 48
191
192 ; Attempt to render meshes and sculpties on the map
193 RenderMeshes = false
194
195 UseAntiAliasing = false
196
197
198[Network]
199 ; OpenSim can send multiple simultaneous requests for services such as asset
200 ; retrieval. However, some versions of mono appear to hang when there are too
201 ; many simultaneous requests, default is 30 and is currently applied only to assets
202 ;MaxRequestConcurrency = 30
203
204
205[ClientStack.LindenUDP]
206 ; The client socket receive buffer size determines how many
207 ; incoming requests we can process; the default on .NET is 8192
208 ; which is about 2 4k-sized UDP datagrams. On mono this is
209 ; whatever the underlying operating system has as default; for
210 ; example, ubuntu 8.04 or SLES11 have about 111k, which is about
211 ; 27 4k-sized UDP datagrams (on linux platforms you can [as root]
212 ; do "sysctl net.core.rmem_default" to find out what your system
213 ; uses a default socket receive buffer size.
214 ;
215 ; client_socket_rcvbuf_size allows you to specify the receive
216 ; buffer size LLUDPServer should use. NOTE: this will be limited
217 ; by the system's settings for the maximum client receive buffer
218 ; size (on linux systems you can set that with "sysctl -w
219 ; net.core.rmem_max=X")
220 ;
221 ;client_socket_rcvbuf_size = 8388608
222
223 ; Maximum outbound bytes per second for a single scene. This can be used to
224 ; throttle total outbound UDP traffic for a simulator. The default value is
225 ; 0, meaning no throttling at the scene level. The example given here is
226 ; 20 megabits
227 ;
228 ;scene_throttle_max_bps = 2500000
229
230 ; Maximum bytes per second to send to any single client. This will override
231 ; the user's viewer preference settings. The default value is 0, meaning no
232 ; aggregate throttling on clients (only per-category throttling). The
233 ; example given here is 1.5 megabits
234 ;
235 ;client_throttle_max_bps = 187500
236
237 ; Minimum bytes per second to send to any single client as a result of
238 ; adaptive throttling. Viewer preferences set to a lower number will
239 ; override the settin. The example given here ensures that adaptive
240 ; throttling will never decrease per client bandwidth below 256 kbps.
241 ;
242 ;adaptive_throttle_min_bps = 32000
243
244 ; Adaptive throttling attempts to limit network overload when multiple
245 ; clients login by starting each connection more slowly. Disabled by
246 ; default
247 ;
248 enable_adaptive_throttles = false
249
250 ; Per-client bytes per second rates for the various throttle categories.
251 ; These are default values that will be overridden by clients. These
252 ; defaults are approximately equivalent to the throttles set by the Imprudence
253 ; viewer when maximum bandwidth is set to 350kbps
254
255 ;resend_default = 6625
256 ;land_default = 9125
257 ;wind_default = 1750
258 ;cloud_default = 1750
259 ;task_default = 18500
260 ;texture_default = 18500
261 ;asset_default = 10500
262
263 ; Configures how ObjectUpdates are aggregated. These numbers
264 ; do not literally mean how many updates will be put in each
265 ; packet that goes over the wire, as packets are
266 ; automatically split on a 1400 byte boundary. These control
267 ; the balance between responsiveness of interest list updates
268 ; and total throughput. Higher numbers will ensure more full-
269 ; sized packets and faster sending of data, but more delay in
270 ; updating interest lists
271 ;
272 ;PrimUpdatesPerCallback = 100
273
274 ; TextureSendLimit determines how many packets will be put on
275 ; the outgoing queue each cycle. Like the settings above, this
276 ; is a balance between responsiveness to priority updates and
277 ; total throughput. Higher numbers will give a better
278 ; throughput at the cost of reduced responsiveness to client
279 ; priority changes or transfer aborts
280 ;
281 ;TextureSendLimit = 20
282
283 ; CannibalizeTextureRate allows bandwidth to be moved from the
284 ; UDP texture throttle to the task throttle. Since most viewers
285 ; use HTTP textures, this provides a means of using what is largely
286 ; unused bandwidth in the total throttle. The value is the proportion
287 ; of the texture rate to move to the task queue. It must be between
288 ; 0.0 (none of the bandwidth is cannibalized) and 0.9 (90% of the
289 ; bandwidth is grabbed)
290 ;
291 ; CannibalizeTextureRate = 0.5
292
293 ; The time to wait before disconecting an unresponsive client.
294 ; The time is in seconds. The default is one minute
295 ;
296 ;AckTimeout = 60
297
298 ; The time to wait before disconecting an unresponsive paused client.
299 ; A client can be paused when the file selection dialog is open during file upload.
300 ; This gives extra time to find files via the dialog but will still disconnect if
301 ; the client crashes or loses its network connection
302 ; The time is in seconds. The default is five minutes.
303 ;
304 ;PausedAckTimeout = 300
305
306
307[Appearance]
308 ; Persist avatar baked textures
309 ; Persisting baked textures can speed up login and region border
310 ; crossings especially with large numbers of users, though it
311 ; will store potentially large numbers of textures in your asset
312 ; database
313 PersistBakedTextures = false
314
315 ; Control the delay before appearance is sent to other avatars and
316 ; saved in the avatar service. Attempts to limit the impact caused
317 ; by the very chatty dialog that sets appearance when an avatar
318 ; logs in or teleports into a region; values are in seconds
319 DelayBeforeAppearanceSave = 5
320 DelayBeforeAppearanceSend = 2
321
322 ; If true, avatar appearance information is resent to other avatars in the simulator every 60 seconds.
323 ; This may help with some situations where avatars are persistently grey, though it will not help
324 ; in other situations (e.g. appearance baking failures where the avatar only appears as a cloud to others).
325 ResendAppearanceUpdates = false
326
327 ; Turning this on responds to CachedTexture packets to possibly avoid rebaking the avatar
328 ; on every login
329 ReuseTextures = true
330
331
332[Attachments]
333 ; Controls the number of milliseconds that are slept per 100 prims rezzed in attachments
334 ; Experimental setting to control CPU spiking when avatars with many attachments login/change outfit
335 ; or when multiple avatars with medium level attachments login/change outfit simultaneously.
336 ; If 0 then no throttling is performed.
337 ThrottlePer100PrimsRezzed = 0
338
339
340[Textures]
341 ; If true, textures generated dynamically (i.e. through osSetDynamicTextureData() and similar OSSL functions) are reused where possible
342 ; Chiefly, reuse occurs if a texture has already been generated with identical data and settings, and that texture contains no dynamic components
343 ; (e.g. images pulled from an external HTTP address).
344 ; Reusing previously generated textures results in a much faster update on the viewer but may cause issues if the viewer didn't receive all resolutions of the texture.
345 ; Currently, it will also increase asset cache use since temporary dynamic textures are no longer deleted.
346 ; Hence, currently considered experimental.
347 ; Default is false.
348 ReuseDynamicTextures = false
349
350 ; If true, then textures generated dynamically that have a low data size relative to their pixel size are not reused
351 ; This is to workaround an apparent LL 3.3.4 and earlier viewer bug where such textures are not redisplayed properly when pulled from the viewer cache.
352 ; Only set this to true if you are sure that all the viewers using your simulator will not suffer from this problem.
353 ; This setting only has an affect is ReuseDynamicTextures = true
354 ; Default is false
355 ReuseDynamicLowDataTextures = false
356
357
358[ODEPhysicsSettings]
359 ; ##
360 ; ## Physics stats settings ( most ignored by ubOde )
361 ;
362
363 ; If collect_stats is enabled, then extra stat information is collected which is accessible via the MonitorModule
364 ; (see http://opensimulator.org/wiki/Monitoring_Module for more details).
365 collect_stats = false
366
367 ; ##
368 ; ## Physics logging settings - logfiles are saved to *.DIF files
369 ; ##
370
371 ; default is false
372 ;physics_logging = true
373 ;; every n simulation iterations, the physics snapshot file is updated
374 ;physics_logging_interval = 50
375 ;; append to existing physics logfile, or overwrite existing logfiles?
376 ;physics_logging_append_existing_logfile = true
377
378 ;##
379 ;## World Settings
380 ;##
381
382 ; World Step size.
383 ; with legacy ODE this value needs to be close to 0.02s
384 ; with ubOde this value can be reduced to improve simulation quality with the cost of higher cpu load
385 ; you will need to test acording to you needs
386 ; choosing a value that is a integer sub multiple of FrameRate reduces some jitter on reported physics FPS
387 world_stepsize = 0.01818
388 ; number of iterations of constrains solver, higher should improve results
389 ; up to a point where acumulated math errors eliminate the improvement
390 ; more steps may increase CPU load. No real gain in changing
391 world_solver_iterations = 10
392
393 ;Spaces level settings. Affects memory consumption vs Collider CPU time for avatar and physical prim
394 ; defines spaces partition cells min and max sizes == 2^value
395 world_hashspace_level_low = -5
396 world_hashSpace_level_high = 12
397
398 meters_in_small_space = 29.9
399
400
401 ; ##
402 ; ## Contact properties. (the stuff that happens when things come in contact with each other)
403 ; ##
404
405 ; surface layer around geometries other geometries can sink into before generating a contact
406 world_contact_surface_layer = 0.001
407
408 ; Filtering collisions helps keep things stable physics wise, but sometimes
409 ; it can be overzealous. If you notice bouncing, chances are it's that.
410 filter_collisions = false
411
412 ; Non Moving Terrain Contact (avatar isn't moving)
413 nm_terraincontact_friction = 255.0
414 nm_terraincontact_bounce = 0.1
415 nm_terraincontact_erp = 0.1025
416
417 ; Moving Terrain Contact (avatar is moving)
418 m_terraincontact_friction = 75.0
419 m_terraincontact_bounce = 0.05
420 m_terrainContact_erp = 0.05025
421
422 ; Moving Avatar to object Contact
423 m_avatarobjectcontact_friction = 75.0
424 m_avatarobjectcontact_bounce = 0.1
425
426 ; Object to Object Contact and Non-Moving Avatar to object
427 objectcontact_friction = 250.0
428 objectcontact_bounce = 0.2
429
430 ; ##
431 ; ## Avatar Control
432 ; ##
433
434 ; PID Controller Settings. These affect the math that causes the avatar to reach the
435 ; desired velocity
436 ; See http://en.wikipedia.org/wiki/PID_controller
437
438 av_pid_derivative = 2200.0
439 av_pid_proportional = 900.0
440
441 ; specifies if the capsule should be tilted (=true; old compatibility mode)
442 ; or straight up-and-down (=false; better and more consistent physics behavior)
443 av_capsule_tilted = false
444
445 ; Movement. Smaller is faster.
446
447 ; speed of movement with Always Run off
448 av_movement_divisor_walk = 1.3
449
450 ; speed of movement with Always Run on
451 av_movement_divisor_run = 0.8
452
453 ; When the avatar flies, it will be moved up by this amount off the ground (in meters)
454 minimum_ground_flight_offset = 3.0
455
456 ; Plant avatar. This reduces the effect of physical contacts with the avatar.
457 ; If you have a group of unruly and rude visitors that bump each other, turn this on to make that less attractive.
458 ; The avatar still allows a small movement based on the PID settings above. Stronger PID settings AND this active
459 ; will lock the avatar in place
460 av_planted = false
461
462 ; No Avatar Avatar Collissions. This causes avatar to be able to walk through each other as if they're ghosts but still interact with the environment
463 av_av_collisions_off = false
464
465 ; ##
466 ; ## Object options
467 ; ##
468
469 ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep
470 body_frames_auto_disable = 20
471
472 ; used to control llMove2Target
473 body_pid_derivative = 35
474 body_pid_gain = 25
475
476 ; maximum number of contact points to generate per collision
477 contacts_per_collision = 80
478
479 ; start throttling the object updates if object comes in contact with 3 or more other objects
480 geom_contactpoints_start_throttling = 3
481
482 ; send 1 update for every x updates below when throttled
483 geom_updates_before_throttled_update = 15
484
485 ; ##
486 ; ## Sculpted Prim settings
487 ; ##
488
489 ; Do we want to mesh sculpted prim to collide like they look?
490 ; If you are seeing sculpt texture decode problems
491 ; (messages such as "Decoded image with unhandled number of components: 0 shortly followed by a physcs exception")
492 ; then you might want to try setting this to false.
493 mesh_sculpted_prim = true
494
495 ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies
496 mesh_lod = 32
497
498 ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies
499 mesh_physical_lod = 16
500
501 ; ##
502 ; ## additional meshing options
503 ; ##
504
505 ; Physics needs to create internal meshs (or convert the object meshs or scultps)
506 ; for all prims except simple boxes and spheres.
507
508 ; collisions of small objects againts larger ones can have a increased CPU load cost
509 ; so this are represented by a simple BOX
510 ; if all their scale dimensions are lower or equal to this option. Default is 0.1m
511 ; (ubOde only)
512 ; MinSizeToMeshmerize = 0.1
513
514
515[BulletSim]
516 ; There are two bullet physics libraries, bulletunmanaged is the default and is a
517 ; native c++ dll bulletxna is a managed C# dll. They have comparible functionality
518 ; but the c++ one is much faster.
519 BulletEngine = "bulletunmanaged"
520 ; BulletEngine = "bulletxna"
521
522 ; BulletSim can run on its own thread independent of the simulator's heartbeat
523 ; thread. Enabling this will not let the physics engine slow down avatar movement, etc.
524 UseSeparatePhysicsThread = false
525
526 ; Terrain implementation can use either Bullet's heightField or BulletSim can build
527 ; a mesh. 0=heightField, 1=mesh
528 TerrainImplementation = 0
529 ; For mesh terrain, the detail of the created mesh. '1' gives 256x256 (heightfield
530 ; resolution). '2' gives 512x512. Etc. Cannot be larger than '4'. Higher
531 ; magnifications use lots of memory.
532 TerrainMeshMagnification = 1
533
534 ; Should avatars collide with each other?
535 AvatarToAvatarCollisionsByDefault = false
536
537 ; Default linkset implmentation
538 ; 'Constraint' uses physics constraints to hold linkset together. 'Compound'
539 ; builds a compound shape from the children shapes to create a single physical
540 ; shape. 'Compound' uses a lot less CPU time.
541 LinkImplementation = 1 ; 0=constraint, 1=compound
542
543 ; If 'true', offset a linkset's origin based on mass of linkset parts.
544 LinksetOffsetCenterOfMass = false
545
546 ; If 'true', turn scuplties into meshes
547 MeshSculptedPrim = false
548
549 ; If 'true', force simple prims (box and sphere) to be meshed
550 ; If 'false', the Bullet native special case shape is used for square rectangles
551 ; and even dimensioned spheres.
552 ForceSimplePrimMeshing = false
553
554 ; If 'true', when creating meshes, remove all triangles that have two equal vertexes.
555 ; Happens often in sculpties. If turned off, there will be some doorways
556 ; that cannot be walked through.
557 ShouldRemoveZeroWidthTriangles = true
558
559 ; If 'true', use convex hull definition in mesh asset if present.
560 ShouldUseAssetHulls = true
561
562 ; If there are thousands of physical objects, these maximums should be increased.
563 MaxCollisionsPerFrame = 2048
564 MaxUpdatesPerFrame = 8192
565
566 ; Detailed physics debug logging. Very verbose.
567 PhysicsLoggingEnabled = False
568 PhysicsLoggingDir = "."
569 VehicleLoggingEnabled = False
570
571
572[Sun]
573 ; send a Sun update every update_interval # of frames. A lower number will
574 ; make for smoother sun transition at the cost of network
575 ;update_interval = 100
576
577
578[Wind]
579 ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second
580 wind_update_rate = 150
581
582 ; The Default Wind Plugin to load
583 wind_plugin = SimpleRandomWind
584
585
586[Cloud]
587 ; update interval for the cloud cover data returned by llCloud().
588 ; default is 1000
589 cloud_update_rate = 1000
590
591
592[Trees]
593 ; active_trees allows module to change its trees in time.
594 ; some will be deleted, others created and rest may grow
595 ; default is false. You can change it with console command tree active true | false later
596 active_trees = false
597 ; the trees change execution time rate (in ms)
598 update_rate = 1000
599
600 ; allow the trees to grow.
601 ; DANGER
602 ; this option causes high network use on the order of
603 ; NumberOfTrees * NumberAvatars * 1000 / update_rate udp packets per second
604 allowGrow = false
605
606
607[LL-Functions]
608 ; Maximum number of llListen events we allow over the entire region.
609 ; Set this to 0 to have no limit imposed
610 max_listens_per_region = 1000
611
612 ; Maximum number of llListen events we allow per script
613 ; Set this to 0 to have no limit imposed.
614 max_listens_per_script = 64
615
616 ; Maximum number of external urls that scripts can set up in this simulator (e.g. via llRequestURL())
617 max_external_urls_per_simulator = 100
618
619 ; Use size boxes instead of meshed prims, sculpts and mesh when calculating bounding boxes.
620 ; Speeds up calculations but can make them inaccurate, in some cases very inaccurate.
621 UseSimpleBoxesInGetBoundingBox = true
622
623 ; Use llCastRay V3 if true.
624 ; Implements llCastRay similar but not identical to Second Life.
625 ; See http://wiki.secondlife.com/wiki/LlCastRay .
626 ; NEW
627 ; Meshes prims for good accuracy in ray hit detection,
628 ; handling basic and tortured prims, sculpts and meshes.
629 ; Uses ellipsoid, correctly sized avatar capsules.
630 ; Handles complex terrain, multi-prim objects and seated avatars.
631 ; Implements throttling and the status codes
632 ; RCERR_UNKNOWN and RCERR_CAST_TIME_EXCEEDED,
633 ; so LSL scripts need to handle these responses and RCERR_SIM_PERF_LOW.
634 ; WARNING
635 ; Can be faster on some servers and scenes, but slower on others,
636 ; compared to previous version of llCastRay in OpenSimulator.
637 ; Is in most cases considerably slower than llCastRay in Second Life.
638 ; Generates geometry meshes and can therefore use much system resources.
639 UseLlCastRayV3 = false
640
641 ; Accepted calculation precision error in calculations in llCastRay V3
642 FloatToleranceInLlCastRay = 0.00001
643
644 ; Accepted distance difference between duplicate hits in llCastRay V3
645 FloatTolerance2InLlCastRay = 0.001
646
647 ; Detail level when rendering prims in llCastRay V3
648 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
649 PrimDetailLevelInLlCastRay = 1
650
651 ; Detail level when rendering sculpts in llCastRay V3
652 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
653 SculptDetailLevelInLlCastRay = 1
654
655 ; Detail level when rendering meshes in llCastRay V3
656 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
657 MeshDetailLevelInLlCastRay = 3
658
659 ; Detail level when rendering avatar capsules in llCastRay V3
660 ; 0 = Low, 1 = Medium, 2 = High, 3 = Highest, higer level gives better accuracy but slower call
661 AvatarDetailLevelInLlCastRay = 1
662
663 ; Maximum number of returned hits from llCastRay V3
664 MaxHitsInLlCastRay = 16
665
666 ; Maximum number of returned hits per prim from llCastRay V3
667 MaxHitsPerPrimInLlCastRay = 16
668
669 ; Maximum number of returned hits per object from llCastRay V3
670 MaxHitsPerObjectInLlCastRay = 16
671
672 ; Report ray intersections with surfaces on exits from a prim as hits in llCastRay V3 if true
673 DetectExitHitsInLlCastRay = false
674
675 ; Detect attachments in llCastRay V3 if true
676 DoAttachmentsInLlCastRay = false
677
678 ; Throttle period length in ms before which all old llCastRay use is discarded in llCastRay V3
679 ; The sum of AvailableTimeInMsPerRegionInLlCastRay and all AvailableTimeInMsPerAvatarInLlCastRay should not exceed this
680 ThrottleTimeInMsInLlCastRay = 200
681
682 ; Available time in ms for llCastRay per throttle period and 65536 m2 land area in llCastRay V3
683 AvailableTimeInMsPerRegionInLlCastRay = 40
684
685 ; Available time in ms for llCastRay per throttle period and avatar when script in attachment or vehicle in llCastRay V3
686 AvailableTimeInMsPerAvatarInLlCastRay = 10
687
688 ; Required available time in ms left to perform a new llCastRay in llCastRay V3
689 RequiredAvailableTimeInMsInLlCastRay = 2
690
691 ; Maximum available time in ms possible in llCastRay V3, not to get too high values with varregions
692 MaximumAvailableTimeInMsInLlCastRay = 40
693
694 ; Use cached meshes in llCastRay V3 if true
695 ; Improves performance but uses more memory
696 UseMeshCacheInLlCastRay = true
697
698
699[XEngine]
700 ; How many threads to keep alive even if nothing is happening
701 MinThreads = 2
702
703 ; How many threads to start at maximum load
704 MaxThreads = 100
705
706 ; Time a thread must be idle (in seconds) before it dies
707 IdleTimeout = 60
708
709 ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest")
710 Priority = "BelowNormal"
711
712 ; Maximum number of events to queue for a script (excluding timers)
713 MaxScriptEventQueue = 3000
714
715 ; Stack size per thread created
716 ThreadStackSize = 132144
717
718 ; Set this to true to load each script into a separate
719 ; AppDomain. Setting this to false will load all script assemblies into the
720 ; current AppDomain, which will reduce the initial per-script memory overhead,
721 ; but deleted scripts stay inactive using memory.
722 ; Significantly improving script loading times.
723 ; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted.
724 ; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region.
725 ; This may only be a problem if regions stay alive for a long time with lots of scripts added or edited.
726 ; At this time some mono versions seem to have problems with the true option,
727 ; so default is now false until a fix is found, to simply life of less technical skilled users.
728 AppDomainLoading = false
729
730 ; Controls whether previously compiled scripts DLLs are deleted on sim restart.
731 ; If you set this to false then startup will be considerably faster since scripts won't need to be recompiled.
732 ; It should be true on first run after updating opensim binary version
733 ; after first run you can change to false.
734 ; You can also set it to false and delete the script DLLs by hand
735 ; This does not delete cached scripts state.
736 DeleteScriptsOnStartup = true
737
738 ; CompactMemOnLoad
739 ; forces calls to memory garbage collector before loading each script DLL during region startup.
740 ; Peak memory usage is reduced and region starts with a more compacted memory allocation.
741 ; But this costs a lot of time, so region load will take a lot longer.
742 ; it is more usefull if there are no previously compiled scripts DLLs (or DeleteScriptsOnStartup = true)
743 CompactMemOnLoad = true
744
745 ; Controls whether scripts are stopped by aborting their threads externally (abort)
746 ; or by co-operative checks inserted by OpenSimulator into compiled script (co-op).
747 ; co-op will be more stable as aborting threads can cause instability.
748 ; abort was the default option in OpenSimulator 0.8 and before.
749 ; If this setting is changed between co-op and abort, then existing scripts will automatically be recompiled if necessary.
750 ; However, the setting change will not take affect until the next time you restart the simulator.
751 ; Setting changes will not affect state information stored for scripts.
752 ScriptStopStrategy = abort
753
754 ; Rate to poll for asynchronous command replies (ms)
755 ; currently unused
756 ;AsyncLLCommandLoopms = 50
757
758 ; Compile debug info (line numbers) into the script assemblies
759 CompileWithDebugInformation = false
760
761 ; Interval (s) between background save of script states
762 SaveInterval = 120
763
764 ; Interval (s) between maintenance runs (0 = disable)
765 MaintenanceInterval = 10
766
767 ; Amount of time in milliseconds we will wait for an event to completely normally when a script stop is requested
768 ; before aborting the thread (such as when an object containing scripts is taken into inventory).
769 WaitForEventCompletionOnScriptStop = 1000
770
771 ; Minimum settable timer interval. Any timer setting less than this is
772 ; rounded up to this minimum interval.
773 MinTimerInterval = 0.1
774
775 ; Sensor settings
776 SensorMaxRange = 96.0
777 SensorMaxResults = 16
778
779
780[Groups]
781 ; Groups data is cached for this number of seconds before another request is made to the groups service
782 ; Set to 0 to disable the cache.
783 ; Default is 30 seconds
784 GroupsCacheTimeout = 30
785
786
787[PacketPool]
788 ;RecyclePackets = true
789 ;RecycleDataBlocks = true
790
791 ; If true, then the basic packet objects used to receive data are also recycled, not just the LLUDP packets.
792 ; This reduces data churn
793 RecycleBaseUDPPackets = true
794
795
796[InterestManagement]
797 ; This section controls how state updates are prioritized for each client
798 ; Valid values are BestAvatarResponsiveness, Time, Distance,
799 ; SimpleAngularDistance, and FrontBack
800 UpdatePrioritizationScheme = BestAvatarResponsiveness
801 ReprioritizationEnabled = true
802 ReprioritizationInterval = 2000.0
803 RootReprioritizationDistance = 10.0
804 ChildReprioritizationDistance = 20.0
805
806 ; TEST OPTION KEEP AS FALSE
807 ; if true, don't send object updates if outside view range
808 ObjectsCullingByDistance = false
809
810 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in the same region
811 ; Updates will always be sent to the avatar that the update addresses and if av velocity is effectively zero (to prevent drift due to missing updates).
812 ; n > 1 will reduce UDP traffic but will lead to laggier movement observed in other avatars.
813 RootTerseUpdatePeriod = 0
814
815 ; If n > 1, only every n UDP terse updates will be sent to observers of an avatar that are in another region
816 ; n > 1 will reduce UDP traffic but may lead to laggier movement observed in other avatars, though values up to 4 may not generate a noticeable effect.
817 ChildTerseUpdatePeriod = 0
818
819 ; Send an update to clients if the difference from the last sent avatar position is greater than this tolerance
820 RootPositionUpdateTolerance = 0.05
821
822 ; Send an update to clients if the euclidian difference from the last sent avatar rotation is greater than this tolerance
823 RootRotationUpdateTolerance = 0.1
824
825 ; Send an update to clients if the difference from the last sent avatar velocity is greater than this tolerance
826 RootVelocityUpdateTolerance = 0.001
827
828
829[Statistics]
830 ; NumberOfFrames is used in a moving average calculation, where NumberOfFrames is the number of frames
831 ; to include in the averaging calculations
832 NumberOfFrames=10
833
834
835[Terrain]
836 ; If 'true' each avatar is only sent terrain patches within their view distance
837 ; This also changes the region terrain loading from 'lawn mower' to ordered around
838 ; the avatar outward.
839 SendTerrainUpdatesByViewDistance = True
840
841
842[LandManagement]
843 ; When editing terrain or objects, parcel layer info is updated in the viewer.
844 ; This can be expensive for large regions. If this variable is 'true', only the
845 ; parcel layer data around the area of interest is sent. The parcel layer info
846 ; is sent for 'ParcelLayerViewDistance' around the interest point.
847 ; If 'ParcelLayerViewDistance' is >= 128, the operation for legacy sized regions
848 ; will be what it has always been (send the whole region's parcel layer info).
849 ; Other parcel updates (login, changing parcel ownership, ...) will still send
850 ; whole region.
851 LimitParcelLayerUpdateDistance = true
852 ParcelLayerViewDistance = 128
853
854
855;; If you are using a simian grid frontend you can enable
856;; this module to upload tile images for the mapping fn
857;;
858[SimianGridMaptiles]
859 RefreshTime = 3600
860
861
862;;
863;; These are defaults that are overwritten below in [Architecture].
864;; These defaults allow OpenSim to work out of the box with
865;; zero configuration
866;;
867[AssetService]
868 ; Disable this to prevent the default asset set from being inserted into the
869 ; asset store each time the region starts
870 AssetLoaderEnabled = true
871
872
873[AutoBackupModule]
874 ;; default is module is disabled at the top level
875 AutoBackupModuleEnabled = false
876
877
878[ServiceThrottle]
879 ;; Default time interval (in ms) for the throttle service thread to wake up
880 Interval = 5000
881
882
883[Materials]
884 MaxMaterialsPerTransaction = 50
diff --git a/bin/config-include/SimianGrid.ini b/bin/config-include/SimianGrid.ini
new file mode 100644
index 0000000..fdf7ca2
--- /dev/null
+++ b/bin/config-include/SimianGrid.ini
@@ -0,0 +1,77 @@
1;;
2;; Please don't change this file.
3;; All optional settings are in GridCommon.ini.example,
4;; which you can copy and change.
5;;
6
7;;
8;; In GridCommon.ini, these are the URLs you would use if SimianGrid is
9;; installed at http://www.mygrid.com/Grid/
10;;
11; AssetServerURI = "http://www.mygrid.com/Grid/?id="
12; InventoryServerURI = "http://www.mygrid.com/Grid/"
13; AvatarServerURI = "http://www.mygrid.com/Grid/"
14; PresenceServerURI = "http://www.mygrid.com/Grid/"
15; UserAccountServerURI = "http://www.mygrid.com/Grid/"
16; AuthenticationServerURI = "http://www.mygrid.com/Grid/"
17; FriendsServerURI = "http://www.mygrid.com/Grid/"
18; GroupsServerURI = "http://www.mygrid.com/Grid/"
19
20[Includes]
21 Include-Common = "config-include/GridCommon.ini"
22
23[Modules]
24 GridServices = "RemoteGridServicesConnector"
25 PresenceServices = "SimianPresenceServiceConnector"
26 UserAccountServices = "SimianUserAccountServiceConnector"
27 AuthenticationServices = "SimianAuthenticationServiceConnector"
28 AssetServices = "SimianAssetServiceConnector"
29 InventoryServices = "SimianInventoryServiceConnector"
30 AvatarServices = "SimianAvatarServiceConnector"
31
32 NeighbourServices = "NeighbourServicesOutConnector"
33 SimulationServices = "RemoteSimulationConnectorModule"
34 EntityTransferModule = "BasicEntityTransferModule"
35 InventoryAccessModule = "BasicInventoryAccessModule"
36
37 LandServiceInConnector = true
38 NeighbourServiceInConnector = true
39 SimulationServiceInConnector = true
40 LibraryModule = false
41
42 AssetCaching = "FlotsamAssetCache"
43
44[SimulationDataStore]
45 LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService"
46
47[EstateDataStore]
48 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
49
50[Friends]
51 Connector = "OpenSim.Services.Connectors.dll:SimianFriendsServiceConnector"
52
53[GridService]
54 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
55 StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
56 NetworkConnector = "OpenSim.Services.Connectors.dll:SimianGridServiceConnector"
57
58[LibraryService]
59 LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
60 LibraryName = "OpenSim Library"
61 DefaultLibrary = "./inventory/Libraries.xml"
62
63[AssetService]
64 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
65 AssetLoaderArgs = "assets/AssetSets.xml"
66
67[Groups]
68 Enabled = true
69 Module = GroupsModule
70 DebugEnabled = false
71 NoticesEnabled = true
72 MessagingModule = GroupsMessagingModule
73 MessagingEnabled = true
74 ServicesConnectorModule = SimianGroupsServicesConnector
75
76[Profiles]
77 Module = "SimianProfiles"
diff --git a/bin/config-include/Standalone.ini b/bin/config-include/Standalone.ini
new file mode 100644
index 0000000..127b073
--- /dev/null
+++ b/bin/config-include/Standalone.ini
@@ -0,0 +1,122 @@
1;;
2;; Please don't change this file.
3;; All optional settings are in StandaloneCommon.ini.example,
4;; which you can copy and change.
5;;
6
7[Modules]
8 AssetServices = "LocalAssetServicesConnector"
9 InventoryServices = "LocalInventoryServicesConnector"
10 NeighbourServices = "NeighbourServicesOutConnector"
11 AuthenticationServices = "LocalAuthenticationServicesConnector"
12 AuthorizationServices = "LocalAuthorizationServicesConnector"
13 GridServices = "LocalGridServicesConnector"
14 PresenceServices = "LocalPresenceServicesConnector"
15 UserProfilesServices = "LocalUserProfilesServicesConnector"
16 UserAccountServices = "LocalUserAccountServicesConnector"
17 AgentPreferencesServices= "LocalAgentPreferencesServicesConnector"
18 GridUserServices = "LocalGridUserServicesConnector"
19 SimulationServices = "LocalSimulationConnectorModule"
20 AvatarServices = "LocalAvatarServicesConnector"
21 EntityTransferModule = "BasicEntityTransferModule"
22 InventoryAccessModule = "BasicInventoryAccessModule"
23 MapImageService = "MapImageServiceModule"
24 SearchModule = "BasicSearchModule"
25 MuteListService = "LocalMuteListServicesConnector"
26
27 LibraryModule = true
28 LLLoginServiceInConnector = true
29 GridInfoServiceInConnector = true
30 MapImageServiceInConnector = true
31
32[SimulationDataStore]
33 LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService"
34
35[EstateDataStore]
36 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
37
38[AssetService]
39 LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
40
41[InventoryService]
42 LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
43
44[LibraryService]
45 LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
46 LibraryName = "OpenSim Library"
47 DefaultLibrary = "./inventory/Libraries.xml"
48
49[AvatarService]
50 LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService"
51
52[AuthenticationService]
53 LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
54
55[GridService]
56 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
57 Realm = "regions"
58 StorageProvider = "OpenSim.Data.Null.dll"
59
60[PresenceService]
61 LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService"
62 StorageProvider = "OpenSim.Data.Null.dll"
63
64[UserAccountService]
65 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
66
67 ;; These are for creating new accounts
68 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
69 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
70 GridService = "OpenSim.Services.GridService.dll:GridService"
71 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
72 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
73
74 ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud.
75 CreateDefaultAvatarEntries = true
76
77[GridUserService]
78 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService"
79
80[FriendsService]
81 LocalServiceModule = "OpenSim.Services.FriendsService.dll"
82
83[Friends]
84 Connector = "OpenSim.Services.FriendsService.dll"
85
86[AgentPreferencesService]
87 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService"
88
89[LoginService]
90 LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService"
91 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
92 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
93 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
94 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
95 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
96 GridService = "OpenSim.Services.GridService.dll:GridService"
97 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
98 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
99
100 WelcomeMessage = "Welcome, Avatar!"
101
102 ;# {DSTZone} {} {Override Daylight Saving Time rules} {* none local} "America/Los_Angeles;Pacific Standard Time"
103 ;; Viewers do not receive timezone information from the server - almost all (?) default to Pacific Standard Time
104 ;; However, they do rely on the server to tell them whether it's Daylight Saving Time or not.
105 ;; Hence, calculating DST based on a different timezone can result in a misleading viewer display and inconsistencies between grids.
106 ;; By default, this setting uses various timezone names to calculate DST with regards to the viewer's standard PST.
107 ;; Options are
108 ;; "none" no DST
109 ;; "local" use the server's only timezone to calculate DST. This is previous OpenSimulator behaviour.
110 ;; "America/Los_Angeles;Pacific Standard Time" use these timezone names to look up Daylight savings.
111 ;; 'America/Los_Angeles' is used on Linux/Mac systems whilst 'Pacific Standard Time' is used on Windows
112 DSTZone = "America/Los_Angeles;Pacific Standard Time"
113
114[MapImageService]
115 LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService"
116
117[MuteListService]
118 LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService"
119
120;; This should always be the very last thing on this file
121[Includes]
122 Include-Common = "config-include/StandaloneCommon.ini"
diff --git a/bin/config-include/StandaloneCommon.ini b/bin/config-include/StandaloneCommon.ini
new file mode 100644
index 0000000..8da7784
--- /dev/null
+++ b/bin/config-include/StandaloneCommon.ini
@@ -0,0 +1,401 @@
1; This is the main configuration file for an instance of OpenSim running in standalone mode
2
3[DatabaseService]
4 ;
5 ; ### Choose the DB
6 ;
7
8 ; SQLite
9 ; Include-Storage = "config-include/storage/SQLiteStandalone.ini";
10
11 ; MySql
12 ; Uncomment these lines if you want to use mysql storage
13 ; Change the connection string to your db details
14 ;StorageProvider = "OpenSim.Data.MySQL.dll"
15 ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
16
17 ; Uncomment this line if you are using MySQL and want to use a different database for estates.
18 ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database.
19 ; Most people won't need to do this so only uncomment if you know what you're doing.
20 ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
21
22 ; MSSQL
23 ; Uncomment these lines if you want to use MSSQL storage
24 ; Change the connection string to your db details
25 ; The value for server property is shown in your SQL Server Management Studio login dialog.
26 ; (This sample is the default of express edition)
27 ;StorageProvider = "OpenSim.Data.MSSQL.dll"
28 ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;"
29
30 ; PGSQL
31 ; Uncomment these lines if you want to use PGSQL storage
32 ; Change the connection string to your db details
33 ;StorageProvider = "OpenSim.Data.PGSQL.dll"
34 ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;"
35
36 StorageProvider = "${Const|DataProvider}"
37 ConnectionString = "${Const|ConnectionString}"
38
39[Hypergrid]
40 ; Uncomment the variables in this section only if you are in
41 ; Hypergrid configuration. Otherwise, ignore.
42
43 ;# {HomeURI} {Hypergrid} {The Home URL of this world} {}
44 ;; If this is a standalone world, this is the address of this instance.
45 ;; If this is a grided simulator, this is the address of the external robust server that
46 ;; runs the UserAgentsService.
47 ;; For example http://myworld.com:9000 or http://myworld.com:8002
48 ;; This is a default that can be overwritten in some sections.
49 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
50
51 ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {}
52 ;; If this is a standalone world, this is the address of this instance.
53 ;; If this is a grided simulator, this is the address of the external robust server
54 ;; that runs the Gatekeeper service.
55 ;; For example http://myworld.com:9000 or http://myworld.com:8002
56 ;; This is a default that can be overwritten in some sections.
57 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
58
59[Modules]
60 ;; Choose one cache module and the corresponding config file, if it exists.
61 ;; Copy the config .example file into your own .ini file and alter that
62 ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained.
63
64 AssetCaching = "FlotsamAssetCache"
65 Include-FlotsamCache = "config-include/FlotsamCache.ini"
66
67 ;AssetCaching = "CenomeMemoryAssetCache"
68 ;Include-CenomeCache = "config-include/CenomeCache.ini"
69
70 ;AssetCaching = "GlynnTuckerAssetCache"
71
72 ;; Authorization is not on by default, as it depends on external php
73 ;AuthorizationServices = "LocalAuthorizationServicesConnector"
74
75[AssetService]
76 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
77 AssetLoaderArgs = "assets/AssetSets.xml"
78
79[GridService]
80 ;; For in-memory region storage (default)
81 StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
82 ;;--- For MySql region storage (alternative)
83 ;StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData"
84
85 ;; Directory for map tile images of remote regions
86 ; MapTileDirectory = "./maptiles"
87
88 ;; Next, we can specify properties of regions, including default and fallback regions
89 ;; The syntax is: Region_<RegionName> = "<flags>"
90 ;; where <flags> can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut
91 ;;
92 ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.)
93 ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion
94 ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified
95 ;; an explicit region.
96 ;;
97 ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online
98 ;; region will be used.
99 ;;
100 ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the
101 ;; order specified. This only applies to local logins at this time, not Hypergrid connections.
102 ;;
103 ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins.
104 ;;
105 ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid.
106 ;;
107 ;; For example:
108 Region_Welcome_Area = "DefaultRegion, FallbackRegion"
109
110 ;; Allow supporting viewers to export content
111 ;; Set to false to prevent export
112 ExportSupported = true
113
114 ; === HG ONLY ===
115 ;; If you have this set under [Hypergrid], no need to set it here, leave it commented
116 ; GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}"
117
118[LibraryModule]
119 ; Set this if you want to change the name of the OpenSim Library
120 ;LibraryName = "My World's Library"
121
122[LoginService]
123 WelcomeMessage = "Welcome, Avatar!"
124 ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented
125 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
126
127 SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
128 SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}"
129 SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}"
130 SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}"
131 SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}"
132 SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}"
133
134 ;; For Viewer 2
135 MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/"
136
137 ; Url to search service
138 ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}";
139
140 ; For V3 destination guide
141 ; DestinationGuide = "${Const|BaseURL}/guide"
142
143 ; The minimum user level required for a user to be able to login. 0 by default
144 ; If you disable a particular user's account then you can set their login level below this number.
145 ; You can also change this level from the console though these changes will not be persisted.
146 ; MinLoginLevel = 0
147
148 ;; Ask co-operative viewers to use a different currency name
149 ;Currency = ""
150
151 ;; Set minimum fee to publish classified
152 ; ClassifiedFee = 0
153
154 ; Basic Login Service Dos Protection Tweaks
155 ; ;
156 ; ; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true
157 ; ; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to
158 ; ; get around this basic DOS protection.
159 ; DOSAllowXForwardedForHeader = false
160 ; ;
161 ; ; The protector adds up requests during this rolling period of time, default 10 seconds
162 ; DOSRequestTimeFrameMS = 10000
163 ; ;
164 ; ; The amount of requests in the above timeframe from the same endpoint that triggers protection
165 ; DOSMaxRequestsInTimeFrame = 5
166 ; ;
167 ; ; The amount of time that a specific endpoint is blocked. Default 2 minutes.
168 ; DOSForgiveClientAfterMS = 120000
169 ; ;
170 ; ; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0.
171
172[FreeswitchService]
173 ;; If FreeSWITCH is not being used then you don't need to set any of these parameters
174 ;;
175 ;; The IP address of your FreeSWITCH server. The common case is for this to be the same as the server running the OpenSim standalone
176 ;; This has to be set for the FreeSWITCH service to work
177 ;; This address must be reachable by viewers.
178 ;ServerAddress = 127.0.0.1
179
180 ;; The following configuration parameters are optional
181
182 ;; By default, this is the same as the ServerAddress
183 ; Realm = 127.0.0.1
184
185 ;; By default, this is the same as the ServerAddress on port 5060
186 ; SIPProxy = 127.0.0.1:5060
187
188 ;; Default is 5000ms
189 ; DefaultTimeout = 5000
190
191 ;; The dial plan context. Default is "default"
192 ; Context = default
193
194 ;; Currently unused
195 ; UserName = freeswitch
196
197 ;; Currently unused
198 ; Password = password
199
200 ;; The following parameters are for STUN = Simple Traversal of UDP through NATs
201 ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal
202 ;; stun.freeswitch.org is not guaranteed to be running so use it in
203 ;; production at your own risk
204 ; EchoServer = 127.0.0.1
205 ; EchoPort = 50505
206 ; AttemptSTUN = false
207
208[GridInfoService]
209 ; These settings are used to return information on a get_grid_info call.
210 ; Client launcher scripts and third-party clients make use of this to
211 ; autoconfigure the client and to provide a nice user experience. If you
212 ; want to facilitate that, you should configure the settings here according
213 ; to your grid or standalone setup.
214 ;
215 ; See http://opensimulator.org/wiki/GridInfo
216
217 ; login uri: for grid this is the login server URI
218 login = ${Const|BaseURL}:${Const|PublicPort}/
219
220 ; long grid name: the long name of your grid
221 gridname = "the lost continent of hippo"
222
223 ; short grid name: the short name of your grid
224 gridnick = "hippogrid"
225
226 ; login page: optional: if it exists it will be used to tell the client to use
227 ; this as splash page. May also be served from an external web server, e.g. for
228 ; information on a standalone
229 ;welcome = ${Const|BaseURL}/welcome
230
231 ; helper uri: optional: if it exists it will be used to tell the client to use
232 ; this for all economy related things
233 ;economy = ${Const|BaseURL}/economy
234
235 ; web page of grid: optional: page providing further information about your grid
236 ;about = ${Const|BaseURL}/about
237
238 ; account creation: optional: page providing further information about obtaining
239 ; a user account on your grid
240 ;register = ${Const|BaseURL}/register
241
242 ; help: optional: page providing further assistance for users of your grid
243 ;help = ${Const|BaseURL}/help
244
245 ; password help: optional: page providing password assistance for users of your grid
246 ;password = ${Const|BaseURL}/password
247
248 ; HG address of the gatekeeper, if you have one
249 ; this is the entry point for all the regions of the world
250 ; gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/
251
252 ; HG user domain, if you have one
253 ; this is the entry point for all user-related HG services
254 ; uas = ${Const|BaseURL}:${Const|PublicPort}/
255
256[MapImageService]
257 ; Set this if you want to change the default
258 ; TilesStoragePath = "maptiles"
259
260[AuthorizationService]
261 ; If you have regions with access restrictions
262 ; specify them here using the convention
263 ; Region_<Region_Name> = <flags>
264 ; Valid flags are:
265 ; DisallowForeigners -- HG visitors not allowed
266 ; DisallowResidents -- only Admins and Managers allowed
267 ; Example:
268 ; Region_Test_1 = "DisallowForeigners"
269
270;;
271;; HG configurations
272;;
273[GatekeeperService]
274 ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented
275 ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}"
276
277 ; Does this grid allow incoming links to any region in it?
278 ; If false, HG TPs happen only to the Default regions specified in [GridService] section
279 AllowTeleportsToAnyRegion = true
280
281 ;; Regular expressions for controlling which client versions are accepted/denied.
282 ;; An empty string means nothing is checked.
283 ;;
284 ;; Example 1: allow only these 3 types of clients (any version of them)
285 ;; AllowedClients = "Imprudence|Hippo|Second Life"
286 ;;
287 ;; Example 2: allow all clients except these
288 ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald"
289 ;;
290 ;; Note that these are regular expressions, so every character counts.
291 ;; Also note that this is very weak security and should not be trusted as a reliable means
292 ;; for keeping bad clients out; modified clients can fake their identifiers.
293 ;;
294 ;;
295 ;AllowedClients = ""
296 ;DeniedClients = ""
297
298 ;; Are foreign visitors allowed?
299 ;ForeignAgentsAllowed = true
300 ;;
301 ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept.
302 ;; Leave blank or commented for no exceptions.
303 ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002"
304 ;;
305 ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept
306 ;; Leave blank or commented for no exceptions.
307 ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002"
308
309[UserAgentService]
310 ;; User level required to be contacted from other grids
311 ;LevelOutsideContacts = 0
312
313 ;; Restrictions on destinations of local users.
314 ;; Are local users allowed to visit other grids?
315 ;; What user level? Use variables of this forrm:
316 ;; ForeignTripsAllowed_Level_<UserLevel> = true | false
317 ;; (the default is true)
318 ;; For example:
319 ; ForeignTripsAllowed_Level_0 = false
320 ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it
321 ;;
322 ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept
323 ;; Leave blank or commented for no exceptions.
324 ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002"
325 ;;
326 ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept.
327 ;; Leave blank or commented for no exceptions.
328 ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002"
329
330 ;; This variable controls what is exposed to profiles of local users
331 ;; as seen from outside of this grid. Leave it uncommented for exposing
332 ;; UserTitle, UserFlags and the creation date. Uncomment and change to False
333 ;; to block this info from being exposed.
334 ; ShowUserDetailsInHGProfile = True
335
336[HGInventoryService]
337 ;; If you have this set under [Hypergrid], no need to set it here, leave it commented
338 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
339
340[HGAssetService]
341 ;; If you have this set under [Hypergrid], no need to set it here, leave it commented
342 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
343
344 ;; The asset types that this grid can export to / import from other grids.
345 ;; Comma separated.
346 ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely:
347 ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText,
348 ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh
349 ;;
350 ;; Leave blank or commented if you don't want to apply any restrictions.
351 ;; A more strict, but still reasonable, policy may be to disallow the exchange
352 ;; of scripts, like so:
353 ; DisallowExport ="LSLText"
354 ; DisallowImport ="LSLBytecode"
355
356[HGInventoryAccessModule]
357 ;; If you have these set under [Hypergrid], no need to set it here, leave it commented
358 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
359 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
360
361 ;; If you want to protect your assets from being copied by foreign visitors
362 ;; uncomment the next line. You may want to do this on sims that have licensed content.
363 ;; true = allow exports, false = disallow exports. True by default.
364 ; OutboundPermission = True
365
366 ;; Send visual reminder to local users that their inventories are unavailable while they are traveling
367 ;; and available when they return. True by default.
368 ;RestrictInventoryAccessAbroad = True
369
370[HGFriendsModule]
371 ; User level required to be able to send friendship invitations to foreign users
372 ;LevelHGFriends = 0;
373
374[Messaging]
375 ; === HG ONLY ===
376 ;; If you have this set under [Hypergrid], no need to set it here, leave it commented
377 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
378
379[EntityTransfer]
380 ;; User level from which local users are allowed to HG teleport. Default 0 (all users)
381 ;LevelHGTeleport = 0
382
383 ;; Are local users restricted from taking their appearance abroad?
384 ;; Default is no restrictions
385 ;RestrictAppearanceAbroad = false
386
387 ;; If appearance is restricted, which accounts' appearances are allowed to be exported?
388 ;; Comma-separated list of account names
389 AccountForAppearance = "Test User, Astronaut Smith"
390
391[UserProfilesService]
392 ;; To use, set Enabled to true then configure for your site...
393 Enabled = false
394 LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService"
395
396 ;; Configure this for separate databse
397 ; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
398 ; Realm = UserProfiles
399
400 UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService
401 AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
diff --git a/bin/config-include/StandaloneCommon.ini.example b/bin/config-include/StandaloneCommon.ini.example
new file mode 100644
index 0000000..941a2ee
--- /dev/null
+++ b/bin/config-include/StandaloneCommon.ini.example
@@ -0,0 +1,401 @@
1; This is the main configuration file for an instance of OpenSim running in standalone mode
2
3[DatabaseService]
4 ;
5 ; ### Choose the DB
6 ;
7
8 ; SQLite
9 ;Include-Storage = "config-include/storage/SQLiteStandalone.ini";
10
11 ; MySql
12 ; Uncomment these lines if you want to use mysql storage
13 ; Change the connection string to your db details
14 ;StorageProvider = "OpenSim.Data.MySQL.dll"
15 ;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
16
17 ; Uncomment this line if you are using MySQL and want to use a different database for estates.
18 ; The usual application for this is to allow estates to be spread out across multiple simulators by share the same database.
19 ; Most people won't need to do this so only uncomment if you know what you're doing.
20 ;EstateConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
21
22 ; MSSQL
23 ; Uncomment these lines if you want to use MSSQL storage
24 ; Change the connection string to your db details
25 ; The value for server property is shown in your SQL Server Management Studio login dialog.
26 ; (This sample is the default of express edition)
27 ;StorageProvider = "OpenSim.Data.MSSQL.dll"
28 ;ConnectionString = "Server=localhost\SQLEXPRESS;Database=opensim;User Id=opensim; password=***;"
29
30 ; PGSQL
31 ; Uncomment these lines if you want to use PGSQL storage
32 ; Change the connection string to your db details
33 ;StorageProvider = "OpenSim.Data.PGSQL.dll"
34 ;ConnectionString = "Server=localhost;Database=opensim;User Id=opensim; password=***;"
35
36 StorageProvider = "${Const|DataProvider}"
37 ConnectionString = "${Const|ConnectionString}"
38
39[Hypergrid]
40 ; Uncomment the variables in this section only if you are in
41 ; Hypergrid configuration. Otherwise, ignore.
42
43 ;# {HomeURI} {Hypergrid} {The Home URL of this world} {}
44 ;; If this is a standalone world, this is the address of this instance.
45 ;; If this is a grided simulator, this is the address of the external robust server that
46 ;; runs the UserAgentsService.
47 ;; For example http://myworld.com:9000 or http://myworld.com:8002
48 ;; This is a default that can be overwritten in some sections.
49 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
50
51 ;# {GatekeeperURI} {Hypergrid} {The URL of the gatekeeper of this world} {}
52 ;; If this is a standalone world, this is the address of this instance.
53 ;; If this is a grided simulator, this is the address of the external robust server
54 ;; that runs the Gatekeeper service.
55 ;; For example http://myworld.com:9000 or http://myworld.com:8002
56 ;; This is a default that can be overwritten in some sections.
57 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
58
59[Modules]
60 ;; Choose one cache module and the corresponding config file, if it exists.
61 ;; Copy the config .example file into your own .ini file and alter that
62 ;; We recommend the use of the FlotsamAssetCache since this is most actively maintained.
63
64 AssetCaching = "FlotsamAssetCache"
65 Include-FlotsamCache = "config-include/FlotsamCache.ini"
66
67 ;AssetCaching = "CenomeMemoryAssetCache"
68 ;Include-CenomeCache = "config-include/CenomeCache.ini"
69
70 ;AssetCaching = "GlynnTuckerAssetCache"
71
72 ;; Authorization is not on by default, as it depends on external php
73 ;AuthorizationServices = "LocalAuthorizationServicesConnector"
74
75[AssetService]
76 DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll"
77 AssetLoaderArgs = "assets/AssetSets.xml"
78
79[GridService]
80 ;; For in-memory region storage (default)
81 StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
82 ;;--- For MySql region storage (alternative)
83 ;StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData"
84
85 ;; Directory for map tile images of remote regions
86 ; MapTileDirectory = "./maptiles"
87
88 ;; Next, we can specify properties of regions, including default and fallback regions
89 ;; The syntax is: Region_<RegionName> = "<flags>"
90 ;; where <flags> can be DefaultRegion, FallbackRegion, NoDirectLogin, Persistent, LockedOut
91 ;;
92 ;; DefaultRegion If a local login cannot be placed in the required region (e.g. home region does not exist, avatar is not allowed entry, etc.)
93 ;; then this region becomes the destination. Only the first online default region will be used. If no DefaultHGRegion
94 ;; is specified then this will also be used as the region for hypergrid connections that require it (commonly because they have not specified
95 ;; an explicit region.
96 ;;
97 ;; DefaultHGRegion If an avatar connecting via the hypergrid does not specify a region, then they are placed here. Only the first online
98 ;; region will be used.
99 ;;
100 ;; FallbackRegion If the DefaultRegion is not available for a local login, then any FallbackRegions are tried instead. These are tried in the
101 ;; order specified. This only applies to local logins at this time, not Hypergrid connections.
102 ;;
103 ;; NoDirectLogin A hypergrid user cannot directly connect to this region. This does not apply to local logins.
104 ;;
105 ;; Persistent When the simulator is shutdown, the region is signalled as offline but left registered on the grid.
106 ;;
107 ;; For example:
108 Region_Welcome_Area = "DefaultRegion, FallbackRegion"
109
110 ;; Allow supporting viewers to export content
111 ;; Set to false to prevent export
112 ExportSupported = true
113
114 ; === HG ONLY ===
115 ;; If you have this set under [Hypergrid], no need to set it here, leave it commented
116 ; GatekeeperURI="${Const|BaseURL}:${Const|PublicPort}"
117
118[LibraryModule]
119 ; Set this if you want to change the name of the OpenSim Library
120 ;LibraryName = "My World's Library"
121
122[LoginService]
123 WelcomeMessage = "Welcome, Avatar!"
124 ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented
125 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
126
127 SRV_HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
128 SRV_InventoryServerURI = "${Const|BaseURL}:${Const|PublicPort}"
129 SRV_AssetServerURI = "${Const|BaseURL}:${Const|PublicPort}"
130 SRV_ProfileServerURI = "${Const|BaseURL}:${Const|PublicPort}"
131 SRV_FriendsServerURI = "${Const|BaseURL}:${Const|PublicPort}"
132 SRV_IMServerURI = "${Const|BaseURL}:${Const|PublicPort}"
133
134 ;; For Viewer 2
135 MapTileURL = "${Const|BaseURL}:${Const|PublicPort}/"
136
137 ; Url to search service
138 ; SearchURL = "${Const|BaseURL}:${Const|PublicPort}";
139
140 ; For V3 destination guide
141 ; DestinationGuide = "${Const|BaseURL}/guide"
142
143 ; The minimum user level required for a user to be able to login. 0 by default
144 ; If you disable a particular user's account then you can set their login level below this number.
145 ; You can also change this level from the console though these changes will not be persisted.
146 ; MinLoginLevel = 0
147
148 ;; Ask co-operative viewers to use a different currency name
149 ;Currency = ""
150
151 ;; Set minimum fee to publish classified
152 ; ClassifiedFee = 0
153
154 ; Basic Login Service Dos Protection Tweaks
155 ; ;
156 ; ; Some Grids/Users use a transparent proxy that makes use of the X-Forwarded-For HTTP Header, If you do, set this to true
157 ; ; If you set this to true and you don't have a transparent proxy, it may allow attackers to put random things in the X-Forwarded-For header to
158 ; ; get around this basic DOS protection.
159 ; DOSAllowXForwardedForHeader = false
160 ; ;
161 ; ; The protector adds up requests during this rolling period of time, default 10 seconds
162 ; DOSRequestTimeFrameMS = 10000
163 ; ;
164 ; ; The amount of requests in the above timeframe from the same endpoint that triggers protection
165 ; DOSMaxRequestsInTimeFrame = 5
166 ; ;
167 ; ; The amount of time that a specific endpoint is blocked. Default 2 minutes.
168 ; DOSForgiveClientAfterMS = 120000
169 ; ;
170 ; ; To turn off basic dos protection, set the DOSMaxRequestsInTimeFrame to 0.
171
172[FreeswitchService]
173 ;; If FreeSWITCH is not being used then you don't need to set any of these parameters
174 ;;
175 ;; The IP address of your FreeSWITCH server. The common case is for this to be the same as the server running the OpenSim standalone
176 ;; This has to be set for the FreeSWITCH service to work
177 ;; This address must be reachable by viewers.
178 ;ServerAddress = 127.0.0.1
179
180 ;; The following configuration parameters are optional
181
182 ;; By default, this is the same as the ServerAddress
183 ; Realm = 127.0.0.1
184
185 ;; By default, this is the same as the ServerAddress on port 5060
186 ; SIPProxy = 127.0.0.1:5060
187
188 ;; Default is 5000ms
189 ; DefaultTimeout = 5000
190
191 ;; The dial plan context. Default is "default"
192 ; Context = default
193
194 ;; Currently unused
195 ; UserName = freeswitch
196
197 ;; Currently unused
198 ; Password = password
199
200 ;; The following parameters are for STUN = Simple Traversal of UDP through NATs
201 ;; See http://wiki.freeswitch.org/wiki/NAT_Traversal
202 ;; stun.freeswitch.org is not guaranteed to be running so use it in
203 ;; production at your own risk
204 ; EchoServer = 127.0.0.1
205 ; EchoPort = 50505
206 ; AttemptSTUN = false
207
208[GridInfoService]
209 ; These settings are used to return information on a get_grid_info call.
210 ; Client launcher scripts and third-party clients make use of this to
211 ; autoconfigure the client and to provide a nice user experience. If you
212 ; want to facilitate that, you should configure the settings here according
213 ; to your grid or standalone setup.
214 ;
215 ; See http://opensimulator.org/wiki/GridInfo
216
217 ; login uri: for grid this is the login server URI
218 login = ${Const|BaseURL}:${Const|PublicPort}/
219
220 ; long grid name: the long name of your grid
221 gridname = "the lost continent of hippo"
222
223 ; short grid name: the short name of your grid
224 gridnick = "hippogrid"
225
226 ; login page: optional: if it exists it will be used to tell the client to use
227 ; this as splash page. May also be served from an external web server, e.g. for
228 ; information on a standalone
229 ;welcome = ${Const|BaseURL}/welcome
230
231 ; helper uri: optional: if it exists it will be used to tell the client to use
232 ; this for all economy related things
233 ;economy = ${Const|BaseURL}/economy
234
235 ; web page of grid: optional: page providing further information about your grid
236 ;about = ${Const|BaseURL}/about
237
238 ; account creation: optional: page providing further information about obtaining
239 ; a user account on your grid
240 ;register = ${Const|BaseURL}/register
241
242 ; help: optional: page providing further assistance for users of your grid
243 ;help = ${Const|BaseURL}/help
244
245 ; password help: optional: page providing password assistance for users of your grid
246 ;password = ${Const|BaseURL}/password
247
248 ; HG address of the gatekeeper, if you have one
249 ; this is the entry point for all the regions of the world
250 ; gatekeeper = ${Const|BaseURL}:${Const|PublicPort}/
251
252 ; HG user domain, if you have one
253 ; this is the entry point for all user-related HG services
254 ; uas = ${Const|BaseURL}:${Const|PublicPort}/
255
256[MapImageService]
257 ; Set this if you want to change the default
258 ; TilesStoragePath = "maptiles"
259
260[AuthorizationService]
261 ; If you have regions with access restrictions
262 ; specify them here using the convention
263 ; Region_<Region_Name> = <flags>
264 ; Valid flags are:
265 ; DisallowForeigners -- HG visitors not allowed
266 ; DisallowResidents -- only Admins and Managers allowed
267 ; Example:
268 ; Region_Test_1 = "DisallowForeigners"
269
270;;
271;; HG configurations
272;;
273[GatekeeperService]
274 ;; If you have GatekeeperURI set under [Hypergrid], no need to set it here, leave it commented
275 ; ExternalName = "${Const|BaseURL}:${Const|PublicPort}"
276
277 ; Does this grid allow incoming links to any region in it?
278 ; If false, HG TPs happen only to the Default regions specified in [GridService] section
279 AllowTeleportsToAnyRegion = true
280
281 ;; Regular expressions for controlling which client versions are accepted/denied.
282 ;; An empty string means nothing is checked.
283 ;;
284 ;; Example 1: allow only these 3 types of clients (any version of them)
285 ;; AllowedClients = "Imprudence|Hippo|Second Life"
286 ;;
287 ;; Example 2: allow all clients except these
288 ;; DeniedClients = "Twisted|Crawler|Cryolife|FuckLife|StreetLife|GreenLife|AntiLife|KORE-Phaze|Synlyfe|Purple Second Life|SecondLi |Emerald"
289 ;;
290 ;; Note that these are regular expressions, so every character counts.
291 ;; Also note that this is very weak security and should not be trusted as a reliable means
292 ;; for keeping bad clients out; modified clients can fake their identifiers.
293 ;;
294 ;;
295 ;AllowedClients = ""
296 ;DeniedClients = ""
297
298 ;; Are foreign visitors allowed?
299 ;ForeignAgentsAllowed = true
300 ;;
301 ;; If ForeignAgentsAllowed is true, make exceptions using AllowExcept.
302 ;; Leave blank or commented for no exceptions.
303 ; AllowExcept = "http://griefer.com:8002, http://enemy.com:8002"
304 ;;
305 ;; If ForeignAgentsAllowed is false, make exceptions using DisallowExcept
306 ;; Leave blank or commented for no exceptions.
307 ; DisallowExcept = "http://myfriendgrid.com:8002, http://myboss.com:8002"
308
309[UserAgentService]
310 ;; User level required to be contacted from other grids
311 ;LevelOutsideContacts = 0
312
313 ;; Restrictions on destinations of local users.
314 ;; Are local users allowed to visit other grids?
315 ;; What user level? Use variables of this forrm:
316 ;; ForeignTripsAllowed_Level_<UserLevel> = true | false
317 ;; (the default is true)
318 ;; For example:
319 ; ForeignTripsAllowed_Level_0 = false
320 ; ForeignTripsAllowed_Level_200 = true ; true is default, no need to say it
321 ;;
322 ;; If ForeignTripsAllowed is false, make exceptions using DisallowExcept
323 ;; Leave blank or commented for no exceptions.
324 ; DisallowExcept_Level_0 = "http://myothergrid.com:8002, http://boss.com:8002"
325 ;;
326 ;; If ForeignTripsAllowed is true, make exceptions using AllowExcept.
327 ;; Leave blank or commented for no exceptions.
328 ; AllowExcept_Level_200 = "http://griefer.com:8002, http://enemy.com:8002"
329
330 ;; This variable controls what is exposed to profiles of local users
331 ;; as seen from outside of this grid. Leave it uncommented for exposing
332 ;; UserTitle, UserFlags and the creation date. Uncomment and change to False
333 ;; to block this info from being exposed.
334 ; ShowUserDetailsInHGProfile = True
335
336[HGInventoryService]
337 ;; If you have this set under [Hypergrid], no need to set it here, leave it commented
338 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
339
340[HGAssetService]
341 ;; If you have this set under [Hypergrid], no need to set it here, leave it commented
342 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
343
344 ;; The asset types that this grid can export to / import from other grids.
345 ;; Comma separated.
346 ;; Valid values are all the asset types in OpenMetaverse.AssetType, namely:
347 ;; Unknown, Texture, Sound, CallingCard, Landmark, Clothing, Object, Notecard, LSLText,
348 ;; LSLBytecode, TextureTGA, Bodypart, SoundWAV, ImageTGA, ImageJPEG, Animation, Gesture, Mesh
349 ;;
350 ;; Leave blank or commented if you don't want to apply any restrictions.
351 ;; A more strict, but still reasonable, policy may be to disallow the exchange
352 ;; of scripts, like so:
353 ; DisallowExport ="LSLText"
354 ; DisallowImport ="LSLBytecode"
355
356[HGInventoryAccessModule]
357 ;; If you have these set under [Hypergrid], no need to set it here, leave it commented
358 ; HomeURI = "${Const|BaseURL}:${Const|PublicPort}"
359 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
360
361 ;; If you want to protect your assets from being copied by foreign visitors
362 ;; uncomment the next line. You may want to do this on sims that have licensed content.
363 ;; true = allow exports, false = disallow exports. True by default.
364 ; OutboundPermission = True
365
366 ;; Send visual reminder to local users that their inventories are unavailable while they are traveling
367 ;; and available when they return. True by default.
368 ;RestrictInventoryAccessAbroad = True
369
370[HGFriendsModule]
371 ; User level required to be able to send friendship invitations to foreign users
372 ;LevelHGFriends = 0;
373
374[Messaging]
375 ; === HG ONLY ===
376 ;; If you have this set under [Hypergrid], no need to set it here, leave it commented
377 ; GatekeeperURI = "${Const|BaseURL}:${Const|PublicPort}"
378
379[EntityTransfer]
380 ;; User level from which local users are allowed to HG teleport. Default 0 (all users)
381 ;LevelHGTeleport = 0
382
383 ;; Are local users restricted from taking their appearance abroad?
384 ;; Default is no restrictions
385 ;RestrictAppearanceAbroad = false
386
387 ;; If appearance is restricted, which accounts' appearances are allowed to be exported?
388 ;; Comma-separated list of account names
389 AccountForAppearance = "Test User, Astronaut Smith"
390
391[UserProfilesService]
392 ;; To use, set Enabled to true then configure for your site...
393 Enabled = false
394 LocalServiceModule = "OpenSim.Services.UserProfilesService.dll:UserProfilesService"
395
396 ;; Configure this for separate databse
397 ; ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;Old Guids=true;"
398 ; Realm = UserProfiles
399
400 UserAccountService = OpenSim.Services.UserAccountService.dll:UserAccountService
401 AuthenticationServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
diff --git a/bin/config-include/StandaloneHypergrid.ini b/bin/config-include/StandaloneHypergrid.ini
new file mode 100644
index 0000000..fbb7f0b
--- /dev/null
+++ b/bin/config-include/StandaloneHypergrid.ini
@@ -0,0 +1,198 @@
1;;
2;; Please don't change this file.
3;; All optional settings are in StandaloneCommon.ini.example,
4;; which you can copy and change.
5;;
6
7[Startup]
8 WorldMapModule = "HGWorldMap"
9
10[Modules]
11 AssetServices = "HGAssetBroker"
12 InventoryServices = "HGInventoryBroker"
13 NeighbourServices = "NeighbourServicesOutConnector"
14 AuthenticationServices = "LocalAuthenticationServicesConnector"
15 AuthorizationServices = "LocalAuthorizationServicesConnector"
16 GridServices = "LocalGridServicesConnector"
17 PresenceServices = "LocalPresenceServicesConnector"
18 UserAccountServices = "LocalUserAccountServicesConnector"
19 AgentPreferencesServices= "LocalAgentPreferencesServicesConnector"
20 GridUserServices = "LocalGridUserServicesConnector"
21 SimulationServices = "RemoteSimulationConnectorModule"
22 AvatarServices = "LocalAvatarServicesConnector"
23 UserProfilesServices = "LocalUserProfilesServicesConnector"
24 MapImageService = "MapImageServiceModule"
25 EntityTransferModule = "HGEntityTransferModule"
26 InventoryAccessModule = "HGInventoryAccessModule"
27 FriendsModule = "HGFriendsModule"
28 UserManagementModule = "HGUserManagementModule"
29 SearchModule = "BasicSearchModule"
30 MuteListService = "LocalMuteListServicesConnector"
31
32 InventoryServiceInConnector = true
33 AssetServiceInConnector = true
34 HypergridServiceInConnector = true
35 NeighbourServiceInConnector = true
36 LibraryModule = true
37 LLLoginServiceInConnector = true
38 GridInfoServiceInConnector = true
39 AuthenticationServiceInConnector = true
40 SimulationServiceInConnector = true
41 MapImageServiceInConnector = true
42
43[Messaging]
44 MessageTransferModule = HGMessageTransferModule
45
46[SimulationDataStore]
47 LocalServiceModule = "OpenSim.Services.SimulationService.dll:SimulationDataService"
48
49[EstateDataStore]
50 LocalServiceModule = "OpenSim.Services.EstateService.dll:EstateDataService"
51
52[AssetService]
53 LocalServiceModule = "OpenSim.Services.AssetService.dll:AssetService"
54
55 ; For HGAssetBroker
56 LocalGridAssetService = "OpenSim.Services.AssetService.dll:AssetService"
57 HypergridAssetService = "OpenSim.Services.Connectors.dll:HGAssetServiceConnector"
58
59[InventoryService]
60 ; For HGInventoryBroker
61 LocalGridInventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
62
63[AvatarService]
64 LocalServiceModule = "OpenSim.Services.AvatarService.dll:AvatarService"
65
66[LibraryService]
67 LocalServiceModule = "OpenSim.Services.InventoryService.dll:LibraryService"
68 LibraryName = "OpenSim Library"
69 DefaultLibrary = "./inventory/Libraries.xml"
70
71[AuthenticationService]
72 LocalServiceModule = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
73
74[GridService]
75 ; LocalGridServicesConnector needs this
76 LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
77 Realm = "regions"
78 StorageProvider = "OpenSim.Data.Null.dll"
79
80 ; Needed to display non-default map tile images for remote regions
81 AssetService = "OpenSim.Services.AssetService.dll:AssetService"
82
83 HypergridLinker = true
84 AllowHypergridMapSearch = true
85
86[PresenceService]
87 LocalServiceModule = "OpenSim.Services.PresenceService.dll:PresenceService"
88 StorageProvider = "OpenSim.Data.Null.dll"
89
90[UserAccountService]
91 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:UserAccountService"
92
93 ;; These are for creating new accounts by the service
94 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
95 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
96 GridService = "OpenSim.Services.GridService.dll:GridService"
97 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
98 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
99
100 ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud.
101 CreateDefaultAvatarEntries = true
102
103[GridUserService]
104 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:GridUserService"
105
106[FriendsService]
107 LocalServiceModule = "OpenSim.Services.FriendsService.dll"
108
109[Friends]
110 Connector = "OpenSim.Services.FriendsService.dll"
111
112[AgentPreferencesService]
113 LocalServiceModule = "OpenSim.Services.UserAccountService.dll:AgentPreferencesService"
114
115[LoginService]
116 LocalServiceModule = "OpenSim.Services.LLLoginService.dll:LLLoginService"
117 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
118 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
119 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
120 AuthenticationService = "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService"
121 InventoryService = "OpenSim.Services.InventoryService.dll:XInventoryService"
122 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
123 GridService = "OpenSim.Services.GridService.dll:GridService"
124 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
125 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
126
127 ; This inventory service will be used to initialize the user's inventory
128 HGInventoryServicePlugin = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
129 HGInventoryServiceConstructorArg = "HGInventoryService"
130
131[MapImageService]
132 LocalServiceModule = "OpenSim.Services.MapImageService.dll:MapImageService"
133
134[GatekeeperService]
135 LocalServiceModule = "OpenSim.Services.HypergridService.dll:GatekeeperService"
136 ;; for the service
137 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
138 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
139 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
140 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
141 GridService = "OpenSim.Services.GridService.dll:GridService"
142 AuthenticationService = "OpenSim.Services.Connectors.dll:AuthenticationServicesConnector"
143 SimulationService ="OpenSim.Services.Connectors.dll:SimulationServiceConnector"
144
145[UserAgentService]
146 LocalServiceModule = "OpenSim.Services.HypergridService.dll:UserAgentService"
147 ;; for the service
148 GridUserService = "OpenSim.Services.UserAccountService.dll:GridUserService"
149 GridService = "OpenSim.Services.GridService.dll:GridService"
150 GatekeeperService = "OpenSim.Services.HypergridService.dll:GatekeeperService"
151 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
152 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
153 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
154
155 ;; This switch creates the minimum set of body parts and avatar entries for a viewer 2 to show a default "Ruth" avatar rather than a cloud.
156 CreateDefaultAvatarEntries = true
157
158;; The interface that local users get when they are in other grids
159;; This greatly restricts the inventory operations while in other grids
160[HGInventoryService]
161 ; For the InventoryServiceInConnector
162 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGSuitcaseInventoryService"
163 ;; alternatives:
164 ;; HG1.5, more permissive, not recommended, but still supported
165 ;LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInventoryService"
166 ;; HG1.0, totally permissive, not recommended, but OK for grids with 100% trust
167 ;LocalServiceModule = "OpenSim.Services.InventoryService.dll:XInventoryService"
168
169 UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
170 AvatarService = "OpenSim.Services.AvatarService.dll:AvatarService"
171
172;; The interface that local users get when they are in other grids
173;; This restricts/filters the asset operations from the outside
174[HGAssetService]
175 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGAssetService"
176 UserAccountsService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
177
178[HGFriendsService]
179 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGFriendsService"
180 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
181 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService"
182 UserAccountService = "OpenSim.Services.UserAccountService.dll:UserAccountService"
183 GridService = "OpenSim.Services.GridService.dll:GridService"
184 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
185
186[HGInstantMessageService]
187 LocalServiceModule = "OpenSim.Services.HypergridService.dll:HGInstantMessageService"
188 GridService = "OpenSim.Services.GridService.dll:GridService"
189 PresenceService = "OpenSim.Services.PresenceService.dll:PresenceService"
190 UserAgentService = "OpenSim.Services.HypergridService.dll:UserAgentService"
191 InGatekeeper = True
192
193[MuteListService]
194 LocalServiceModule = "OpenSim.Services.MuteListService.dll:MuteListService"
195
196;; This should always be the very last thing on this file
197[Includes]
198 Include-Common = "config-include/StandaloneCommon.ini"
diff --git a/bin/config-include/config_IG.ini b/bin/config-include/config_IG.ini
new file mode 100644
index 0000000..bd809bf
--- /dev/null
+++ b/bin/config-include/config_IG.ini
@@ -0,0 +1,105 @@
1; The Const section allows us to define some basic information that we
2; will use throughout our configuration. We will provide examples for
3; setting the base url of the ROBUST server and the public and private ports
4; it uses. Changing the values of the constants will set the operating
5; parameters thoughout the configuration. Other constants that may prove
6; to be useful may be added to the followin section. They may be
7; referenced anywhere in the configuration by using ${Const|Name}. One
8; such use is providing a base path for setting locations that ROBUST
9; uses to write data.
10
11; Also put grid specific stuff here.
12
13
14[Paths]
15 AssetsPath = "../../AssetFiles"
16 BackupPath = "../../backups"
17 CachePath = "../../caches"
18 ConfigPath = "../../config"
19 DbPath = "../../db"
20 LogPath = "../../logs"
21 WebPath = "../../web"
22
23[Const]
24 MOTD = "onefang needs a little coding or sysadmin work to keep IG going. Please help me find some."
25
26 GridName = "Infinite Grid"
27 ShortGridName = "IG"
28
29 ; For a grid these will usually be the externally accessible IP/DNS
30 ; name and use default public port 8002 and default private port 8003
31 ; For a standalone this will usually be the externally accessible IP/DNS
32 ; name and use default public port 9000. The private port is not used
33 ; in the configuration for a standalone.
34 BaseHostname = "http://grid.infinitegrid.org"
35 HostName = "grid.infinitegrid.org"
36 BaseURL = ${Const|BaseHostname}
37 GridURL = ${Const|BaseHostname}
38 SSLURL = "https://${Const|HostName}"
39
40 PublicPort = "8002"
41 PrivatePort = "8003"
42 PublicSSLPort = "8443"
43
44 ; The public port of the ROBUST asset server, which might be different.
45 AssetServerPort = "8003"
46
47 ; Database credentials.
48 DataProvider = "OpenSim.Data.MySQL.dll"
49 ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;"
50
51[AuthorizationService]
52 DefaultRegionAccess = "DisallowForeigners"
53 ; If you have regions with access restrictions
54 ; specify them here using the convention
55 ; Region_<Region_Name> = <flags>
56 ; Valid flags are:
57 ; DisallowForeigners -- HG visitors not allowed
58 ; DisallowResidents -- only Admins and Managers allowed
59 ; None -- No restrictions.
60
61 Region_Kellietown = "None"
62 Region_Sandbox = "None"
63 Region_Welcome = "None"
64
65[Groups]
66 AddDefaultGroup = "Infinite Grid chat|Infinite Grid support"
67 AddHGDefaultGroup_misfitzgrid.com = "Infinite Grid support"
68
69[Permissions]
70 region_owner_is_god = true
71 region_manager_is_god = true
72 parcel_owner_is_god = false
73
74[GodNames]
75 Enabled = true
76 FullNames = "Infinite BootsFang,Infinite Crush,infinite onefang,Infinite Riseon"
77 FirstNames = "Infinite,infinite"
78; Surnames = "Kryztlsk"
79
80[GridService]
81 Region_Welcome = "DefaultRegion, FallbackRegion, Persistent"
82 Region_Sandbox = "DefaultRegion, FallbackRegion, Persistent"
83 Region_Kellietown = "DefaultRegion, FallbackRegion, Persistent"
84
85[GridInfoService]
86 ; login page: optional: if it exists it will be used to tell the client to use
87 ; this as splash page
88 welcome = ${Const|BaseURL}/drupal/loginpage
89
90 ; helper uri: optional: if it exists it will be used to tell the client to use
91 ; this for all economy related things
92 ;economy = ${Const|BaseURL}/economy
93
94 ; web page of grid: optional: page providing further information about your grid
95 about = ${Const|BaseURL}/drupal/
96
97 ; account creation: optional: page providing further information about obtaining
98 ; a user account on your grid
99 register = ${Const|BaseURL}/drupal/content/How_to_join
100
101 ; help: optional: page providing further assistance for users of your grid
102 help = ${Const|BaseURL}/drupal/Tags/help
103
104 ; password help: optional: page providing password assistance for users of your grid
105 password = ${Const|BaseURL}/drupal
diff --git a/bin/config-include/config_MG.ini b/bin/config-include/config_MG.ini
new file mode 100644
index 0000000..862f7b8
--- /dev/null
+++ b/bin/config-include/config_MG.ini
@@ -0,0 +1,125 @@
1; The Const section allows us to define some basic information that we
2; will use throughout our configuration. We will provide examples for
3; setting the base url of the ROBUST server and the public and private ports
4; it uses. Changing the values of the constants will set the operating
5; parameters thoughout the configuration. Other constants that may prove
6; to be useful may be added to the followin section. They may be
7; referenced anywhere in the configuration by using ${Const|Name}. One
8; such use is providing a base path for setting locations that ROBUST
9; uses to write data.
10
11; Also put grid specific stuff here.
12
13
14[Paths]
15 AssetsPath = "../../AssetFiles"
16 BackupPath = "../../backups"
17 CachePath = "../../caches"
18 ConfigPath = "../../config"
19 DbPath = "../../db"
20 LogPath = "../../logs"
21 WebPath = "../../web"
22
23[Const]
24 MOTD = "All of the World is a Stage, and Everyone's a Critic."
25
26 GridName = "Misfitz Grid"
27 ShortGridName = "MG"
28
29 ; For a grid these will usually be the externally accessible IP/DNS
30 ; name and use default public port 8002 and default private port 8003
31 ; For a standalone this will usually be the externally accessible IP/DNS
32 ; name and use default public port 9000. The private port is not used
33 ; in the configuration for a standalone.
34 BaseHostname = "http://misfitzgrid.com"
35 HostName = "misfitzgrid.com"
36 BaseURL = ${Const|BaseHostname}
37 GridURL = ${Const|BaseHostname}
38 SSLURL = "https://${Const|HostName}"
39
40 PublicPort = "8002"
41 PrivatePort = "8003"
42 PublicSSLPort = "8443"
43
44 ; The public port of the ROBUST asset server, which might be different.
45 AssetServerPort = "8003"
46
47 ; Database credentials.
48 DataProvider = "OpenSim.Data.MySQL.dll"
49 ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;"
50
51 ; jOpenSim URL
52 jOpensimURL = "http://misfitzgrid.com/members"
53
54[AuthorizationService]
55 DefaultRegionAccess = "DisallowForeigners"
56 ; If you have regions with access restrictions
57 ; specify them here using the convention
58 ; Region_<Region_Name> = <flags>
59 ; Valid flags are:
60 ; DisallowForeigners -- HG visitors not allowed
61 ; DisallowResidents -- only Admins and Managers allowed
62 ; None -- No restrictions.
63
64 Region_Blue_Moon = "None"
65 Region_MisFitz_ = "None"
66 Region_MisFitz_Continuum = "None"
67 Region_MisFitz_Dev = "None"
68 Region_MisFitz_Getaway = "None"
69 Region_MisFitz_Hyperport = "None"
70 Region_MisFitz_Motion = "None"
71 Region_Misfitz_Nature = "None"
72 Region_MisFitz_Residents1 = "None"
73 Region_MisFitz_Residents2 = "None"
74 Region_MisFitz_Sandbox = "None"
75 Region_MisFitz_Shopping = "None"
76 Region_MisFitz_Welcome = "None"
77 Region_MisFitz_Welcome_Beta = "None"
78 Region_White_Harbor = "None"
79
80 Region_Infinite_Grid_Sandbox = "None"
81 Region_Infinite_Grid_Welcome = "None"
82 Region_Kellietown = "None"
83 Region_Life,_the_universe,_and_everything = "None"
84 Region_Naughtie_Nautical = "None"
85 Region_Play_Island = "None"
86
87[Groups]
88 ;# {SecretKey} {ServicesConnectorModule:Groups Remote Service Connector} {Secret key between sim and remote group service} {} ""
89 ;; Used for V2 in Remote only.
90 SecretKey = "Kensentm3"
91 AddDefaultGroup = "MisFitz Grid Residents"
92
93[GodNames]
94 Enabled = true
95 FullNames = "Fr0zenHawk Chillsmoke,Korgi Silvercloud,Max Zephyr"
96; Surnames = "Kryztlsk"
97
98[GridService]
99 Region_MisFitz_Welcome = "DefaultRegion, FallbackRegion"
100 Region_MisFitz_Shopping = "FallbackRegion"
101 Region_MisFitz_HyperPort = "FallbackRegion"
102 Region_MisFitz_Sandbox = "FallbackRegion"
103 Region_MisFitz_Continuum= "DefaultHGRegion"
104
105[GridInfoService]
106 ; login page: optional: if it exists it will be used to tell the client to use
107 ; this as splash page
108 welcome = ${Const|jOpensimURL}/index.php?option=com_opensim
109
110 ; helper uri: optional: if it exists it will be used to tell the client to use
111 ; this for all economy related things
112 economy = ${Const|BaseURL}/_tools/helper/
113
114 ; web page of grid: optional: page providing further information about your grid
115 ;about = ${Const|BaseURL}/about
116
117 ; account creation: optional: page providing further information about obtaining
118 ; a user account on your grid
119 ;register = ${Const|BaseURL}/register
120
121 ; help: optional: page providing further assistance for users of your grid
122 ;help = ${Const|BaseURL}/help
123
124 ; password help: optional: page providing password assistance for users of your grid
125 ;password = ${Const|BaseURL}/password
diff --git a/bin/config-include/config_localhost.ini b/bin/config-include/config_localhost.ini
new file mode 100644
index 0000000..501a1f4
--- /dev/null
+++ b/bin/config-include/config_localhost.ini
@@ -0,0 +1,49 @@
1; The Const section allows us to define some basic information that we
2; will use throughout our configuration. We will provide examples for
3; setting the base url of the ROBUST server and the public and private ports
4; it uses. Changing the values of the constants will set the operating
5; parameters thoughout the configuration. Other constants that may prove
6; to be useful may be added to the followin section. They may be
7; referenced anywhere in the configuration by using ${Const|Name}. One
8; such use is providing a base path for setting locations that ROBUST
9; uses to write data.
10
11; Also put grid specific stuff here.
12
13
14[Paths]
15 AssetsPath = "../../AssetFiles"
16 BackupPath = "../../backups"
17 CachePath = "../../caches"
18 ConfigPath = "../../config"
19 DbPath = "../../db"
20 LogPath = "../../logs"
21 WebPath = "../../web"
22
23[Const]
24 MOTD = "Welcome to your local grid."
25
26 GridName = "localhost Grid"
27 ShortGridName = "lg"
28
29 ; For a grid these will usually be the externally accessible IP/DNS
30 ; name and use default public port 8002 and default private port 8003
31 ; For a standalone this will usually be the externally accessible IP/DNS
32 ; name and use default public port 9000. The private port is not used
33 ; in the configuration for a standalone.
34 BaseHostname = "http://127.0.0.1"
35 HostName = "localhost"
36 BaseURL = ${Const|BaseHostname}
37 GridURL = ${Const|BaseHostname}
38 SSLURL = "https://${Const|HostName}"
39
40 PublicPort = "8002"
41 PrivatePort = "8003"
42 PublicSSLPort = "8443"
43
44 ; The public port of the ROBUST asset server, which might be different.
45 AssetServerPort = "8003"
46
47 ; Database credentials.
48 DataProvider = "OpenSim.Data.MySQL.dll"
49 ConnectionString = "Data Source=MYSQL_HOST;Database=MYSQL_DB;User ID=MYSQL_USER;Password=MYSQL_PASSWORD;Old Guids=true;"
diff --git a/bin/config-include/extra_MG.ini b/bin/config-include/extra_MG.ini
new file mode 100644
index 0000000..a811d54
--- /dev/null
+++ b/bin/config-include/extra_MG.ini
@@ -0,0 +1,51 @@
1[Network]
2 ;# {ExternalHostNameForLSL} {} {Hostname to use for HTTP-IN URLs. This should be reachable from the internet.} {}
3 ;; Hostname to use in llRequestURL/llRequestSecureURL
4 ;; if not defined - llRequestURL/llRequestSecureURL are disabled
5 ExternalHostNameForLSL = "server2.misfitzgrid.com"
6
7[Messaging]
8 ;# {OfflineMessageModule} {} {Module to use for offline message storage} {OfflineMessageModule "Offline Message Module V2" *}
9 ;; Module to handle offline messaging. The core module requires an external
10 ;; web service to do this. See OpenSim wiki.
11 OfflineMessageModule = OfflineMessageModule
12 ;; Or, alternatively, use this one, which works for both standalones and grids
13 ; OfflineMessageModule = "Offline Message Module V2"
14
15 ;# {OfflineMessageURL} {OfflineMessageModule:OfflineMessageModule Offline Message Module V2:Offline Message Module V2} {URL of offline messaging service} {}
16 ;; URL of web service for offline message storage. Leave it commented if your service is local to the sim.
17 ; OfflineMessageURL = ${Const|BaseURL}/Offline.php
18 OfflineMessageURL = ${Const|jOpensimURL}/components/com_opensim/interface.php
19
20[DataSnapshot]
21 ;# {index_sims} {} {Enable data snapshotting (search)?} {true false} false
22 ;; The following set of configs pertains to search.
23 ;; Set index_sims to true to enable search engines to index your
24 ;; searchable data.
25 ;; If false, no data will be exposed, DataSnapshot module will be off,
26 ;; and you can ignore the rest of these search-related configs.
27 index_sims = true
28
29 ;# {data_exposure} {index_sims:true} {How much data should be exposed?} {minimum all} minimum
30 ;; The variable data_exposure controls what the regions expose:
31 ;; minimum: exposes only things explicitly marked for search
32 ;; all: exposes everything
33 data_exposure = all
34
35 ;; [Supported, but obsolete]
36 ;# {data_services} {index_sims:true} {Data service URLs to register with?} {} http://metaverseink.com/cgi-bin/register.py
37 ; This semicolon-separated string serves to notify specific data services
38 ; about the existence of this sim. Uncomment if you want to index your
39 ; data with this and/or other search providers.
40 data_services="${Const|jOpensimURL}/components/com_opensim/registersearch.php"
41
42[Search]
43 SearchURL = ${Const|jOpensimURL}/components/com_opensim/interface.php
44
45[Profile]
46
47 ProfileServiceURL = ${Const|jOpensimURL}/components/com_opensim/interface.php
48 Module = "jOpenSimProfile"
49
50 ; Optional:
51 Debug = true
diff --git a/bin/config-include/osslEnable.ini b/bin/config-include/osslEnable.ini
new file mode 100644
index 0000000..1828da1
--- /dev/null
+++ b/bin/config-include/osslEnable.ini
@@ -0,0 +1,272 @@
1; Enable OSSL functions.
2; Including this file in a region's set of INI files, causes the OpenSimulator
3; specific functions to be enabled.
4; See http://opensimulator.org/wiki/OSSL for a description of OSSL functions and
5; refer to http://opensimulator.org/wiki/OSSL_Implemented for a list of functions.
6
7; The below file lists all the functions and specifies who has permission to
8; execute the function. Some of the functions are for maintainance or can be
9; mis-used so the permission to execute a function can be limited. Ability to
10; execute a function is based on the owner of the prim holding the script.
11
12[XEngine]
13 ; Allow the use of os* functions (some are dangerous)
14 AllowOSFunctions = true
15
16 ; Allow the user of mod* functions. This allows a script to pass messages
17 ; to a region module via the modSendCommand() function and is used by some
18 ; modules to extend the scripting language.
19 AllowMODFunctions = true
20
21 ; Allow the use of LightShare functions.
22 ; The setting enable_windlight = true must also be enabled in the [LightShare] section.
23 AllowLightShareFunctions = true
24
25 ; Threat level to allow. One of None, VeryLow, Low, Moderate, High, VeryHigh, Severe.
26 ; See http://opensimulator.org/wiki/Threat_level for more information on these levels.
27 ; This is the default level and can be overridden with the Allow_ specifications.
28 ; Blanket enabling the ossl functions is dangerous and we do not recommend setting higher
29 ; than 'Low' unless you have a high level of trust in all the users that can run scripts
30 ; in your simulator. It is safer to explicitly allow certain types of user to run
31 ; higher threat level OSSL functions, as detailed later on.
32 OSFunctionThreatLevel = Moderate
33
34 ; Some of the OSSL functions can be enabled or disabled individually.
35 ; To disable, set the value to 'false'.
36 ; To enable for everyone, set the value to 'true'.
37 ; To enable for individuals or groups, set it to a comma separated list. This checks
38 ; against the owner of the object containing the script.
39 ; The comma separated entries in the list may be one of:
40 ; "GRID_GOD" -- enable for users with UserLevel >= 200
41 ; "GOD" -- enable for users with rights to be god (local or grid)
42 ; "ACTIVE_GOD" -- enable for users that are present and with active god power
43 ; "ESTATE_MANAGER" -- enable for estate manager
44 ; "ESTATE_OWNER" -- enable for estate owner
45 ; "PARCEL_OWNER" -- enable for parcel owner
46 ; "PARCEL_GROUP_MEMBER" -- enable for any member of the parcel group
47 ; uuid -- enable for specified ID (may be avatar or group ID)
48 ; from this we can also create macros that can be include in the list as
49 ; ${XEngine|macroname} see examples below
50
51 ; parcel macros
52 ; Allowing ossl functions for anyone owning a parcel can be dangerous especially if
53 ; a region is selling or otherwise giving away parcel ownership. By default, parcel
54 ; ownership or group membership does not enable OSSL functions. Uncomment the
55 ; appropriate line below to allow parcel ownership and groups to do restricted
56 ; OSSL functions. It might be better to check the list below and edit the ones
57 ; to enable individually.
58 osslParcelO = "PARCEL_OWNER,"
59 osslParcelOG = "PARCEL_GROUP_MEMBER,PARCEL_OWNER,"
60
61 ; NPC macros
62 ; These can be mis-used so limit use to those you can trust.
63 osslNPC = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
64
65 ; The OSSL function name is prepended with "Allow_" and it checks against
66 ; the owners of the containing prim. There can also be entries beginning with
67 ; 'Creators_". The 'Creators_" parameters can only be a list of UUIDs and it is
68 ; checked against the creator of the script itself.
69
70; *************************************************
71
72; ThreatLevel None
73; Commented functions are out of Threat level control (for reference only)
74; Allow_osCheckODE = true
75; Allow_osClearInertia = true
76; Allow_osCollisionSound = true
77 Allow_osDie = true
78; Allow_osDrawEllipse = true
79; Allow_osDrawFilledEllipse = true
80; Allow_osDrawFilledPolygon = true
81; Allow_osDrawFilledRectangle = true
82; Allow_osDrawImage = true
83; Allow_osDrawLine = true
84; Allow_osDrawPolygon = true
85; Allow_osDrawRectangle = true
86; Allow_osDrawResetTransform = true
87; Allow_osDrawRotationTransform = true
88; Allow_osDrawScaleTransform = true
89; Allow_osDrawText = true
90; Allow_osDrawTranslationTransform = true
91 Allow_osFormatString = true
92; Allow_osGetCurrentSunHour = true
93 Allow_osGetAgents = true
94 Allow_osGetAvatarList = true
95; Allow_osGetDrawStringSize = true
96 Allow_osGetGender = true
97 Allow_osGetGridCustom = true
98 Allow_osGetGridHomeURI = true
99 Allow_osGetGridLoginURI = true
100 Allow_osGetGridName = true
101 Allow_osGetGridNick = true
102 Allow_osGetHealth = true
103 Allow_osGetHealRate = true
104; Allow_osGetInertiaData = true
105; Allow_osGetInventoryDesc = true
106; Allow_osGetLinkNumber = true
107; Allow_osGetMapTexture = true
108 ; The notecard functions can cause a lot of load on the region if over used.
109 ; So can any LSL loop. Pffft
110 Allow_osGetNotecard = true
111 Allow_osGetNotecardLine = true
112 Allow_osGetNumberOfNotecardLines = true
113 Allow_osMakeNotecard = true
114 Allow_osGetNPCList = true
115; Allow_osGetPhysicsEngineName = true
116 Allow_osGetPhysicsEngineType = true
117
118 Allow_osGetRegionMapTexture = true
119; Allow_osGetRegionSize = true
120 Allow_osGetRezzingObject = true
121 Allow_osGetScriptEngineName = true
122 Allow_osGetSimulatorVersion = true
123; Allow_osGetSunParam = true
124; Allow_osGetTerrainHeight = true
125 Allow_osGetWindParam = true
126; Allow_osIsNpc = true
127; Allow_osIsUUID = true
128 Allow_osKey2Name = true
129; Allow_osList2Double = true
130 Allow_osListenRegex = true
131 Allow_osLoadedCreationDate = true
132 Allow_osLoadedCreationID = true
133 Allow_osLoadedCreationTime = true
134 Allow_osMatchString = true
135; Allow_osMax = true
136; Allow_osMin = true
137 Allow_osMessageObject = true
138; Allow_osMovePen = true
139 Allow_osNpcCreate = true
140 Allow_osNpcGetOwner = true
141 Allow_osNpcGetPos = true
142 Allow_osNpcGetRot = true
143 Allow_osNpcLoadAppearance = true
144 Allow_osNpcMoveTo = true
145 Allow_osNpcMoveToTarget = true
146 Allow_osNpcPlayAnimation = true
147 Allow_osNpcRemove = true
148 Allow_osNpcSaveAppearance = true
149 Allow_osNpcSay = true
150 Allow_osNpcSetProfileAbout = true
151 Allow_osNpcSetProfileImage = true
152 Allow_osNpcSetRot = true
153 Allow_osNpcShout = true
154 Allow_osNpcSit = true
155 Allow_osNpcStand = true
156 Allow_osNpcStopAnimation = true
157 Allow_osNpcStopMoveToTarget = true
158 Allow_osNpcTouch = true
159 Allow_osNpcWhisper = true
160 Allow_osOwnerSaveAppearance = true
161 Allow_osParseJSON = true
162 Allow_osParseJSONNew = true
163 Allow_osRegexIsMatch = true
164 Allow_osReplaceString = true
165 Allow_osSetDynamicTextureData = true
166 Allow_osSetDynamicTextureDataFace = true
167 Allow_osSetDynamicTextureDataBlend = true
168 Allow_osSetDynamicTextureDataBlendFace = true
169 Allow_osSetDynamicTextureURL = true
170 Allow_osSetDynamicTextureURLBlend = true
171 Allow_osSetDynamicTextureURLBlendFace = true
172; Allow_osSetFontName = true
173; Allow_osSetFontSize = true
174; Allow_osSetInertia = true
175; Allow_osSetInertiaAsBox = true
176; Allow_osSetInertiaAsSphere = true
177; Allow_osSetInertiaAsCylinder = true
178; Allow_osSetPenCap = true
179; Allow_osSetPenColor = true
180; Allow_osSetPenSize = true
181 Allow_osSetPrimitiveParams = true
182; Allow_osVolumeDetect = true
183 Allow_osTeleportOwner = true
184 Allow_osWindActiveModelPluginName = true
185 Allow_osUnixTimeToTimestamp = true
186
187
188
189 ; ThreatLevel Nuisance
190 Allow_osSetEstateSunSettings = ESTATE_MANAGER,ESTATE_OWNER
191 Allow_osSetRegionSunSettings = ESTATE_MANAGER,ESTATE_OWNER
192 Allow_osSetSunParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
193 Allow_osSetWindParam = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
194
195 ; ThreatLevel VeryLow
196 Allow_osEjectFromGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
197 Allow_osForceBreakAllLinks = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
198 Allow_osForceBreakLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
199 Allow_osForceCreateLink = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
200 Allow_osGetLinkPrimitiveParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
201 Allow_osGetPrimitiveParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
202 Allow_osInviteToGroup = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
203 Allow_osSetParcelMediaURL = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
204 Allow_osSetParcelSIPAddress = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
205 Allow_osSetPrimFloatOnWater = true
206 Allow_osTerrainFlush = ESTATE_MANAGER,ESTATE_OWNER
207
208 ; ThreatLevel Low
209 Allow_osAvatarName2Key = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
210 Allow_osGetAvatarHomeURI = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
211
212 ; ThreatLevel Moderate
213 Allow_osDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
214 Allow_osDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
215 Allow_osGetGridGatekeeperURI = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
216 Allow_osGetNumberOfAttachments = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
217 Allow_osGetRegionStats = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
218 Allow_osGetSimulatorMemory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
219 Allow_osGetSimulatorMemoryKB = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
220 Allow_osMessageAttachments = true
221 Allow_osRequestURL = true
222 Allow_osRequestSecureURL = true
223 Allow_osSetSpeed = true
224
225 ; ThreatLevel High
226 Allow_osCauseDamage = ESTATE_MANAGER,ESTATE_OWNER
227 Allow_osCauseHealing = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
228 Allow_osSetHealth = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
229 Allow_osSetHealRate = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
230 Allow_osForceAttachToAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
231 Allow_osForceAttachToAvatarFromInventory = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
232 Allow_osForceDropAttachment = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
233 Allow_osForceDropAttachmentAt = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
234 Allow_osParcelJoin = ESTATE_MANAGER,ESTATE_OWNER
235 Allow_osParcelSetDetails = ESTATE_MANAGER,ESTATE_OWNER
236 Allow_osParcelSubdivide = ESTATE_MANAGER,ESTATE_OWNER
237 Allow_osRegionRestart = ESTATE_MANAGER,ESTATE_OWNER
238 Allow_osSetContentType = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
239 Allow_osSetParcelDetails = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
240 Allow_osSetProjectionParams = ${XEngine|osslParcelOG}ESTATE_MANAGER,ESTATE_OWNER
241 Allow_osSetRegionWaterHeight = ESTATE_MANAGER,ESTATE_OWNER
242 Allow_osSetStateEvents = false ; deprecated
243 Allow_osSetTerrainHeight = ESTATE_MANAGER,ESTATE_OWNER
244 Allow_osSetTerrainTexture = ESTATE_MANAGER,ESTATE_OWNER
245 Allow_osSetTerrainTextureHeight = ESTATE_MANAGER,ESTATE_OWNER
246
247 ; ThreatLevel VeryHigh
248 Allow_osAgentSaveAppearance = ESTATE_MANAGER,ESTATE_OWNER
249 ; Warning: The next function allows scripts to force animations on avatars without the user giving permission.
250 ; Enabling this can allow forced animations which can trigger traumatic episodes in vulnerable populations.
251 ; Similar things can be said for several of the 'force' functions. Enable with care and control.
252 ; Some of these were added as early functionality for NPCs. This has been replaced with the NPC functions.
253 Allow_osAvatarPlayAnimation = true
254 Allow_osAvatarStopAnimation = true
255 Allow_osForceAttachToOtherAvatarFromInventory = false
256 Allow_osForceDetachFromAvatar = false
257 Allow_osForceOtherSit = false
258 Allow_osRegionNotice = ESTATE_MANAGER,ESTATE_OWNER
259 Allow_osSetRot = ESTATE_OWNER, ESTATE_MANAGER
260
261 ; ThreatLevel Severe
262 Allow_osConsoleCommand = false
263 Allow_osGrantScriptPermissions = false
264 Allow_osKickAvatar = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
265 Allow_osRevokeScriptPermissions = false
266 Allow_osTeleportAgent = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
267 Allow_osTeleportObject = ${XEngine|osslParcelO}ESTATE_MANAGER,ESTATE_OWNER
268
269 ; ThreatLevel Severe with additional internal restrictions
270 Allow_osGetAgentIP = true ; always restricted to Administrators (true or false to disable)
271
272
diff --git a/bin/config-include/storage/SQLiteStandalone.ini b/bin/config-include/storage/SQLiteStandalone.ini
new file mode 100644
index 0000000..67d98ff
--- /dev/null
+++ b/bin/config-include/storage/SQLiteStandalone.ini
@@ -0,0 +1,39 @@
1; These are the initialization settings for running OpenSim Standalone with an SQLite database
2
3[DatabaseService]
4 StorageProvider = "OpenSim.Data.SQLite.dll"
5 ConnectionString = "URI=file:OpenSim.db,version=3,UseUTF16Encoding=True"
6
7[AssetService]
8 ConnectionString = "URI=file:Asset.db,version=3"
9
10; The HGAssetService section controls the connection given to the AssetService in a Hypergrid configuration.
11; This has to be separate from [AssetService] because the Hypergrid facing connector uses [HGAssetService] for its config data instead.
12; However, the internal asset service will still use the [AssetService] section.
13; Therefore, you will almost certainly want the ConnectionString in [HGAssetService] to be the same as in [AssetService]
14; so that they both access the same database.
15; This issue does not apply to normal MySQL/MSSQL configurations, since by default they use the settings in [DatabaseService] and
16; do not have separate connection strings for different services.
17[HGAssetService]
18 ConnectionString = "URI=file:Asset.db,version=3"
19
20[InventoryService]
21 ;ConnectionString = "URI=file:inventory.db,version=3"
22 ; if you have a legacy inventory store use the connection string below
23 ConnectionString = "URI=file:inventory.db,version=3,UseUTF16Encoding=True"
24
25[AvatarService]
26 ConnectionString = "URI=file:avatars.db,version=3"
27
28[AuthenticationService]
29 ConnectionString = "URI=file:auth.db,version=3"
30
31[UserAccountService]
32 ConnectionString = "URI=file:userprofiles.db,version=3"
33
34[GridUserService]
35 ConnectionString = "URI=file:griduser.db,version=3"
36
37[FriendsService]
38 ConnectionString = "URI=file:friends.db,version=3"
39
diff --git a/bin/data/LICENSE-README-IMPORTANT.txt b/bin/data/LICENSE-README-IMPORTANT.txt
new file mode 100644
index 0000000..dd8671d
--- /dev/null
+++ b/bin/data/LICENSE-README-IMPORTANT.txt
@@ -0,0 +1,5 @@
1Not all of the files in this directory are licensed under the BSD license. Some of these files come with the Second Life viewer and are considered licensed under a Creative Commons License.
2
3These files are:
4
5- avataranimations.xml (Derivative work of viewerart.ini, Creative Commons Attribution+Share-Alike v2.5 License)
diff --git a/bin/data/avataranimations.xml b/bin/data/avataranimations.xml
new file mode 100644
index 0000000..f90a457
--- /dev/null
+++ b/bin/data/avataranimations.xml
@@ -0,0 +1,142 @@
1<?xml version="1.0" encoding="iso-8859-1"?>
2<!-- Copyright(C) 2002-2007 Linden Lab, OpenSim Developers -->
3<!-- Based on viewerart.ini packaged with the viewer. -->
4<!-- This file is a derivative work of the above while it contains default animation UUIDs -->
5<!-- Licensed under a creative commons license (By-SA) http://creativecommons.org/licenses/by-sa/2.5/ -->
6<animations>
7 <animation name="AIM_L_BOW" state="">46bb4359-de38-4ed8-6a22-f1f52fe8f506</animation>
8 <animation name="AIM_R_BAZOOKA" state="">b5b4a67d-0aee-30d2-72cd-77b333e932ef</animation>
9 <animation name="AIM_R_HANDGUN" state="">3147d815-6338-b932-f011-16b56d9ac18b</animation>
10 <animation name="AIM_R_RIFLE" state="">ea633413-8006-180a-c3ba-96dd1d756720</animation>
11 <animation name="ANGRY_FINGERWAG" state="">c1bc7f36-3ba0-d844-f93c-93be945d644f</animation>
12 <animation name="ANGRY_TANTRUM" state="">11000694-3f41-adc2-606b-eee1d66f3724</animation>
13 <animation name="AWAY" state="">fd037134-85d4-f241-72c6-4f42164fedee</animation>
14 <animation name="BACKFLIP" state="">c4ca6188-9127-4f31-0158-23c4e2f93304</animation>
15 <animation name="BLOWKISS" state="">db84829b-462c-ee83-1e27-9bbee66bd624</animation>
16 <animation name="BOW" state="">82e99230-c906-1403-4d9c-3889dd98daba</animation>
17 <animation name="BRUSH" state="">349a3801-54f9-bf2c-3bd0-1ac89772af01</animation>
18 <animation name="BUSY" state="">efcf670c-2d18-8128-973a-034ebc806b67</animation>
19 <animation name="CLAP" state="">9b0c1c4e-8ac7-7969-1494-28c874c4f668</animation>
20 <animation name="COURTBOW" state="">9ba1c942-08be-e43a-fb29-16ad440efc50</animation>
21 <animation name="CROUCH" state="Crouching">201f3fdf-cb1f-dbec-201f-7333e328ae7c</animation>
22 <animation name="CROUCHWALK" state="CrouchWalking">47f5f6fb-22e5-ae44-f871-73aaaf4a6022</animation>
23 <animation name="DANCE1" state="">b68a3d7c-de9e-fc87-eec8-543d787e5b0d</animation>
24 <animation name="DANCE2" state="">928cae18-e31d-76fd-9cc9-2f55160ff818</animation>
25 <animation name="DANCE3" state="">30047778-10ea-1af7-6881-4db7a3a5a114</animation>
26 <animation name="DANCE4" state="">951469f4-c7b2-c818-9dee-ad7eea8c30b7</animation>
27 <animation name="DANCE5" state="">4bd69a1d-1114-a0b4-625f-84e0a5237155</animation>
28 <animation name="DANCE6" state="">cd28b69b-9c95-bb78-3f94-8d605ff1bb12</animation>
29 <animation name="DANCE7" state="">a54d8ee2-28bb-80a9-7f0c-7afbbe24a5d6</animation>
30 <animation name="DANCE8" state="">b0dc417c-1f11-af36-2e80-7e7489fa7cdc</animation>
31 <animation name="DEAD" state="">57abaae6-1d17-7b1b-5f98-6d11a6411276</animation>
32 <animation name="DRINK" state="">0f86e355-dd31-a61c-fdb0-3a96b9aad05f</animation>
33 <animation name="EXPRESS_AFRAID" state="">6b61c8e8-4747-0d75-12d7-e49ff207a4ca</animation>
34 <animation name="EXPRESS_AFRAID_EMOTE" state="">aa2df84d-cf8f-7218-527b-424a52de766e</animation>
35 <animation name="EXPRESS_ANGER" state="">5747a48e-073e-c331-f6f3-7c2149613d3e</animation>
36 <animation name="EXPRESS_ANGER_EMOTE" state="">1a03b575-9634-b62a-5767-3a679e81f4de</animation>
37 <animation name="EXPRESS_BORED" state="">b906c4ba-703b-1940-32a3-0c7f7d791510</animation>
38 <animation name="EXPRESS_BORED_EMOTE" state="">214aa6c1-ba6a-4578-f27c-ce7688f61d0d</animation>
39 <animation name="EXPRESS_CRY" state="">92624d3e-1068-f1aa-a5ec-8244585193ed</animation>
40 <animation name="EXPRESS_CRY_EMOTE" state="">d535471b-85bf-3b4d-a542-93bea4f59d33</animation>
41 <animation name="EXPRESS_DISDAIN" state="">d4416ff1-09d3-300f-4183-1b68a19b9fc1</animation>
42 <animation name="EXPRESS_EMBARRASED" state="">514af488-9051-044a-b3fc-d4dbf76377c6</animation>
43 <animation name="EXPRESS_EMBARRASSED_EMOTE" state="">0b8c8211-d78c-33e8-fa28-c51a9594e424</animation>
44 <animation name="EXPRESS_FROWN" state="">fee3df48-fa3d-1015-1e26-a205810e3001</animation>
45 <animation name="EXPRESS_KISS" state="">1e8d90cc-a84e-e135-884c-7c82c8b03a14</animation>
46 <animation name="EXPRESS_LAUGH" state="">18b3a4b5-b463-bd48-e4b6-71eaac76c515</animation>
47 <animation name="EXPRESS_LAUGH_EMOTE" state="">62570842-0950-96f8-341c-809e65110823</animation>
48 <animation name="EXPRESS_OPEN_MOUTH" state="">d63bc1f9-fc81-9625-a0c6-007176d82eb7</animation>
49 <animation name="EXPRESS_REPULSED" state="">36f81a92-f076-5893-dc4b-7c3795e487cf</animation>
50 <animation name="EXPRESS_REPULSED_EMOTE" state="">f76cda94-41d4-a229-2872-e0296e58afe1</animation>
51 <animation name="EXPRESS_SAD" state="">0eb702e2-cc5a-9a88-56a5-661a55c0676a</animation>
52 <animation name="EXPRESS_SAD_EMOTE" state="">eb6ebfb2-a4b3-a19c-d388-4dd5c03823f7</animation>
53 <animation name="EXPRESS_SHRUG" state="">70ea714f-3a97-d742-1b01-590a8fcd1db5</animation>
54 <animation name="EXPRESS_SHRUG_EMOTE" state="">a351b1bc-cc94-aac2-7bea-a7e6ebad15ef</animation>
55 <animation name="EXPRESS_SMILE" state="">b7c7c833-e3d3-c4e3-9fc0-131237446312</animation>
56 <animation name="EXPRESS_SURPRISE" state="">313b9881-4302-73c0-c7d0-0e7a36b6c224</animation>
57 <animation name="EXPRESS_SURPRISE_EMOTE" state="">728646d9-cc79-08b2-32d6-937f0a835c24</animation>
58 <animation name="EXPRESS_TOOTHSMILE" state="">b92ec1a5-e7ce-a76b-2b05-bcdb9311417e</animation>
59 <animation name="EXPRESS_TONGUE_OUT" state="">835965c6-7f2f-bda2-5deb-2478737f91bf</animation>
60 <animation name="EXPRESS_WINK" state="">869ecdad-a44b-671e-3266-56aef2e3ac2e</animation>
61 <animation name="EXPRESS_WINK_EMOTE" state="">da020525-4d94-59d6-23d7-81fdebf33148</animation>
62 <animation name="EXPRESS_WORRY" state="">9f496bd2-589a-709f-16cc-69bf7df1d36c</animation>
63 <animation name="EXPRESS_WORRY_EMOTE" state="">9c05e5c7-6f07-6ca4-ed5a-b230390c3950</animation>
64 <animation name="FALLDOWN" state="Falling">666307d9-a860-572d-6fd4-c3ab8865c094</animation>
65 <animation name="FEMALE_WALK" state="Walking">f5fc7433-043d-e819-8298-f519a119b688</animation>
66 <animation name="FIST_PUMP" state="">7db00ccd-f380-f3ee-439d-61968ec69c8a</animation>
67 <animation name="FLY" state="Flying">aec4610c-757f-bc4e-c092-c6e9caf18daf</animation>
68 <animation name="FLYSLOW" state="FlyingSlow">2b5a38b2-5e00-3a97-a495-4c826bc443e6</animation>
69 <animation name="HELLO" state="">9b29cd61-c45b-5689-ded2-91756b8d76a9</animation>
70 <animation name="HOLD_L_BOW" state="">8b102617-bcba-037b-86c1-b76219f90c88</animation>
71 <animation name="HOLD_R_BAZOOKA" state="">ef62d355-c815-4816-2474-b1acc21094a6</animation>
72 <animation name="HOLD_R_HANDGUN" state="">efdc1727-8b8a-c800-4077-975fc27ee2f2</animation>
73 <animation name="HOLD_R_RIFLE" state="">3d94bad0-c55b-7dcc-8763-033c59405d33</animation>
74 <animation name="HOLD_THROW_R" state="">7570c7b5-1f22-56dd-56ef-a9168241bbb6</animation>
75 <animation name="HOVER" state="Hovering">4ae8016b-31b9-03bb-c401-b1ea941db41d</animation>
76 <animation name="HOVER_DOWN" state="Hovering Down">20f063ea-8306-2562-0b07-5c853b37b31e</animation>
77 <animation name="HOVER_UP" state="Hovering Up">62c5de58-cb33-5743-3d07-9e4cd4352864</animation>
78 <animation name="IMPATIENT" state="">5ea3991f-c293-392e-6860-91dfa01278a3</animation>
79 <animation name="JUMP" state="Jumping">2305bd75-1ca9-b03b-1faa-b176b8a8c49e</animation>
80 <animation name="JUMPFORJOY" state="">709ea28e-1573-c023-8bf8-520c8bc637fa</animation>
81 <animation name="KICK_ROUNDHOUSE_R" state="">49aea43b-5ac3-8a44-b595-96100af0beda</animation>
82 <animation name="KISSMYBUTT" state="">19999406-3a3a-d58c-a2ac-d72e555dcf51</animation>
83 <animation name="LAND" state="Landing">7a17b059-12b2-41b1-570a-186368b6aa6f</animation>
84 <animation name="LAUGH_SHORT" state="">ca5b3f14-3194-7a2b-c894-aa699b718d1f</animation>
85 <animation name="MOTORCYCLE_SIT" state="">08464f78-3a8e-2944-cba5-0c94aff3af29</animation>
86 <animation name="MUSCLEBEACH" state="">315c3a41-a5f3-0ba4-27da-f893f769e69b</animation>
87 <animation name="NO_HEAD" state="">5a977ed9-7f72-44e9-4c4c-6e913df8ae74</animation>
88 <animation name="NO_UNHAPPY" state="">d83fa0e5-97ed-7eb2-e798-7bd006215cb4</animation>
89 <animation name="NYANYA" state="">f061723d-0a18-754f-66ee-29a44795a32f</animation>
90 <animation name="PEACE" state="">b312b10e-65ab-a0a4-8b3c-1326ea8e3ed9</animation>
91 <animation name="POINT_ME" state="">17c024cc-eef2-f6a0-3527-9869876d7752</animation>
92 <animation name="POINT_YOU" state="">ec952cca-61ef-aa3b-2789-4d1344f016de</animation>
93 <animation name="PREJUMP" state="PreJumping">7a4e87fe-de39-6fcb-6223-024b00893244</animation>
94 <animation name="PUNCH_L" state="">f3300ad9-3462-1d07-2044-0fef80062da0</animation>
95 <animation name="PUNCH_ONETWO" state="">eefc79be-daae-a239-8c04-890f5d23654a</animation>
96 <animation name="PUNCH_R" state="">c8e42d32-7310-6906-c903-cab5d4a34656</animation>
97 <animation name="RPS_COUNTDOWN" state="">35db4f7e-28c2-6679-cea9-3ee108f7fc7f</animation>
98 <animation name="RPS_PAPER" state="">0836b67f-7f7b-f37b-c00a-460dc1521f5a</animation>
99 <animation name="RPS_ROCK" state="">42dd95d5-0bc6-6392-f650-777304946c0f</animation>
100 <animation name="RPS_SCISSORS" state="">16803a9f-5140-e042-4d7b-d28ba247c325</animation>
101 <animation name="RUN" state="Running">05ddbff8-aaa9-92a1-2b74-8fe77a29b445</animation>
102 <animation name="SALUTE" state="">cd7668a6-7011-d7e2-ead8-fc69eff1a104</animation>
103 <animation name="SHOOT_L_BOW" state="">e04d450d-fdb5-0432-fd68-818aaf5935f8</animation>
104 <animation name="SHOUT" state="">6bd01860-4ebd-127a-bb3d-d1427e8e0c42</animation>
105 <animation name="SIT" state="Sitting">1a5fe8ac-a804-8a5d-7cbd-56bd83184568</animation>
106 <animation name="SIT_FEMALE" state="Sitting">b1709c8d-ecd3-54a1-4f28-d55ac0840782</animation>
107 <animation name="SIT_GENERIC" state="Sitting">245f3c54-f1c0-bf2e-811f-46d8eeb386e7</animation>
108 <animation name="SIT_GROUND" state="Sitting on Ground">1c7600d6-661f-b87b-efe2-d7421eb93c86</animation>
109 <animation name="SIT_GROUND_CONSTRAINED" state="Sitting on Ground">1a2bd58e-87ff-0df8-0b4c-53e047b0bb6e</animation>
110 <animation name="SIT_TO_STAND" state="">a8dee56f-2eae-9e7a-05a2-6fb92b97e21e</animation>
111 <animation name="SLEEP" state="">f2bed5f9-9d44-39af-b0cd-257b2a17fe40</animation>
112 <animation name="SMOKE_IDLE" state="">d2f2ee58-8ad1-06c9-d8d3-3827ba31567a</animation>
113 <animation name="SMOKE_INHALE" state="">6802d553-49da-0778-9f85-1599a2266526</animation>
114 <animation name="SMOKE_THROW_DOWN" state="">0a9fb970-8b44-9114-d3a9-bf69cfe804d6</animation>
115 <animation name="SNAPSHOT" state="">eae8905b-271a-99e2-4c0e-31106afd100c</animation>
116 <animation name="SOFT_LAND" state="Soft Landing">f4f00d6e-b9fe-9292-f4cb-0ae06ea58d57</animation>
117 <animation name="STAND" state="Standing">2408fe9e-df1d-1d7d-f4ff-1384fa7b350f</animation>
118 <animation name="STAND_1" state="Standing">15468e00-3400-bb66-cecc-646d7c14458e</animation>
119 <animation name="STAND_2" state="Standing">370f3a20-6ca6-9971-848c-9a01bc42ae3c</animation>
120 <animation name="STAND_3" state="Standing">42b46214-4b44-79ae-deb8-0df61424ff4b</animation>
121 <animation name="STAND_4" state="Standing">f22fed8b-a5ed-2c93-64d5-bdd8b93c889f</animation>
122 <animation name="STANDUP" state="Standing Up">3da1d753-028a-5446-24f3-9c9b856d9422</animation>
123 <animation name="STRETCH" state="">80700431-74ec-a008-14f8-77575e73693f</animation>
124 <animation name="STRIDE" state="Striding">1cb562b0-ba21-2202-efb3-30f82cdf9595</animation>
125 <animation name="SURF" state="">41426836-7437-7e89-025d-0aa4d10f1d69</animation>
126 <animation name="SWORD_STRIKE_R" state="">85428680-6bf9-3e64-b489-6f81087c24bd</animation>
127 <animation name="TALK" state="">5c682a95-6da4-a463-0bf6-0f5b7be129d1</animation>
128 <animation name="THROW_R" state="">aa134404-7dac-7aca-2cba-435f9db875ca</animation>
129 <animation name="TRYON_SHIRT" state="">83ff59fe-2346-f236-9009-4e3608af64c1</animation>
130 <animation name="TURN_180" state="">038fcec9-5ebd-8a8e-0e2e-6e71a0a1ac53</animation>
131 <animation name="TURNBACK_180" state="">6883a61a-b27b-5914-a61e-dda118a9ee2c</animation>
132 <animation name="TURNLEFT" state="Turning Left">56e0ba0d-4a9f-7f27-6117-32f2ebbf6135</animation>
133 <animation name="TURNRIGHT" state="Turning Right">2d6daa51-3192-6794-8e2e-a15f8338ec30</animation>
134 <animation name="TYPE" state="">c541c47f-e0c0-058b-ad1a-d6ae3a4584d9</animation>
135 <animation name="WALK" state="Walking">6ed24bd8-91aa-4b12-ccc7-c97c857ab4e0</animation>
136 <animation name="WHISPER" state="">7693f268-06c7-ea71-fa21-2b30d6533f8f</animation>
137 <animation name="WHISTLE" state="">b1ed7982-c68e-a982-7561-52a88a5298c0</animation>
138 <animation name="WINK_HOLLYWOOD" state="">c0c4030f-c02b-49de-24ba-2331f43fe41c</animation>
139 <animation name="YES_HAPPY" state="">b8c8b2a3-9008-1771-3bfc-90924955ab2d</animation>
140 <animation name="YES_HEAD" state="">15dd911d-be82-2856-26db-27659b142875</animation>
141 <animation name="YOGA_FLOAT" state="">42ecd00b-9947-a97c-400a-bbc9174c7aeb</animation>
142</animations>
diff --git a/bin/data/prototype.js b/bin/data/prototype.js
new file mode 100644
index 0000000..6765129
--- /dev/null
+++ b/bin/data/prototype.js
@@ -0,0 +1,4222 @@
1/* Prototype JavaScript framework, version 1.6.0.2
2 * (c) 2005-2008 Sam Stephenson
3 *
4 * Prototype is freely distributable under the terms of an MIT-style license.
5 * For details, see the Prototype web site: http://www.prototypejs.org/
6 *
7 *--------------------------------------------------------------------------*/
8
9var Prototype = {
10 Version: '1.6.0.2',
11
12 Browser: {
13 IE: !!(window.attachEvent && !window.opera),
14 Opera: !!window.opera,
15 WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
16 Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
17 MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
18 },
19
20 BrowserFeatures: {
21 XPath: !!document.evaluate,
22 ElementExtensions: !!window.HTMLElement,
23 SpecificElementExtensions:
24 document.createElement('div').__proto__ &&
25 document.createElement('div').__proto__ !==
26 document.createElement('form').__proto__
27 },
28
29 ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',
30 JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,
31
32 emptyFunction: function() { },
33 K: function(x) { return x }
34};
35
36if (Prototype.Browser.MobileSafari)
37 Prototype.BrowserFeatures.SpecificElementExtensions = false;
38
39
40/* Based on Alex Arnell's inheritance implementation. */
41var Class = {
42 create: function() {
43 var parent = null, properties = $A(arguments);
44 if (Object.isFunction(properties[0]))
45 parent = properties.shift();
46
47 function klass() {
48 this.initialize.apply(this, arguments);
49 }
50
51 Object.extend(klass, Class.Methods);
52 klass.superclass = parent;
53 klass.subclasses = [];
54
55 if (parent) {
56 var subclass = function() { };
57 subclass.prototype = parent.prototype;
58 klass.prototype = new subclass;
59 parent.subclasses.push(klass);
60 }
61
62 for (var i = 0; i < properties.length; i++)
63 klass.addMethods(properties[i]);
64
65 if (!klass.prototype.initialize)
66 klass.prototype.initialize = Prototype.emptyFunction;
67
68 klass.prototype.constructor = klass;
69
70 return klass;
71 }
72};
73
74Class.Methods = {
75 addMethods: function(source) {
76 var ancestor = this.superclass && this.superclass.prototype;
77 var properties = Object.keys(source);
78
79 if (!Object.keys({ toString: true }).length)
80 properties.push("toString", "valueOf");
81
82 for (var i = 0, length = properties.length; i < length; i++) {
83 var property = properties[i], value = source[property];
84 if (ancestor && Object.isFunction(value) &&
85 value.argumentNames().first() == "$super") {
86 var method = value, value = Object.extend((function(m) {
87 return function() { return ancestor[m].apply(this, arguments) };
88 })(property).wrap(method), {
89 valueOf: function() { return method },
90 toString: function() { return method.toString() }
91 });
92 }
93 this.prototype[property] = value;
94 }
95
96 return this;
97 }
98};
99
100var Abstract = { };
101
102Object.extend = function(destination, source) {
103 for (var property in source)
104 destination[property] = source[property];
105 return destination;
106};
107
108Object.extend(Object, {
109 inspect: function(object) {
110 try {
111 if (Object.isUndefined(object)) return 'undefined';
112 if (object === null) return 'null';
113 return object.inspect ? object.inspect() : String(object);
114 } catch (e) {
115 if (e instanceof RangeError) return '...';
116 throw e;
117 }
118 },
119
120 toJSON: function(object) {
121 var type = typeof object;
122 switch (type) {
123 case 'undefined':
124 case 'function':
125 case 'unknown': return;
126 case 'boolean': return object.toString();
127 }
128
129 if (object === null) return 'null';
130 if (object.toJSON) return object.toJSON();
131 if (Object.isElement(object)) return;
132
133 var results = [];
134 for (var property in object) {
135 var value = Object.toJSON(object[property]);
136 if (!Object.isUndefined(value))
137 results.push(property.toJSON() + ': ' + value);
138 }
139
140 return '{' + results.join(', ') + '}';
141 },
142
143 toQueryString: function(object) {
144 return $H(object).toQueryString();
145 },
146
147 toHTML: function(object) {
148 return object && object.toHTML ? object.toHTML() : String.interpret(object);
149 },
150
151 keys: function(object) {
152 var keys = [];
153 for (var property in object)
154 keys.push(property);
155 return keys;
156 },
157
158 values: function(object) {
159 var values = [];
160 for (var property in object)
161 values.push(object[property]);
162 return values;
163 },
164
165 clone: function(object) {
166 return Object.extend({ }, object);
167 },
168
169 isElement: function(object) {
170 return object && object.nodeType == 1;
171 },
172
173 isArray: function(object) {
174 return object != null && typeof object == "object" &&
175 'splice' in object && 'join' in object;
176 },
177
178 isHash: function(object) {
179 return object instanceof Hash;
180 },
181
182 isFunction: function(object) {
183 return typeof object == "function";
184 },
185
186 isString: function(object) {
187 return typeof object == "string";
188 },
189
190 isNumber: function(object) {
191 return typeof object == "number";
192 },
193
194 isUndefined: function(object) {
195 return typeof object == "undefined";
196 }
197});
198
199Object.extend(Function.prototype, {
200 argumentNames: function() {
201 var names = this.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(",").invoke("strip");
202 return names.length == 1 && !names[0] ? [] : names;
203 },
204
205 bind: function() {
206 if (arguments.length < 2 && Object.isUndefined(arguments[0])) return this;
207 var __method = this, args = $A(arguments), object = args.shift();
208 return function() {
209 return __method.apply(object, args.concat($A(arguments)));
210 }
211 },
212
213 bindAsEventListener: function() {
214 var __method = this, args = $A(arguments), object = args.shift();
215 return function(event) {
216 return __method.apply(object, [event || window.event].concat(args));
217 }
218 },
219
220 curry: function() {
221 if (!arguments.length) return this;
222 var __method = this, args = $A(arguments);
223 return function() {
224 return __method.apply(this, args.concat($A(arguments)));
225 }
226 },
227
228 delay: function() {
229 var __method = this, args = $A(arguments), timeout = args.shift() * 1000;
230 return window.setTimeout(function() {
231 return __method.apply(__method, args);
232 }, timeout);
233 },
234
235 wrap: function(wrapper) {
236 var __method = this;
237 return function() {
238 return wrapper.apply(this, [__method.bind(this)].concat($A(arguments)));
239 }
240 },
241
242 methodize: function() {
243 if (this._methodized) return this._methodized;
244 var __method = this;
245 return this._methodized = function() {
246 return __method.apply(null, [this].concat($A(arguments)));
247 };
248 }
249});
250
251Function.prototype.defer = Function.prototype.delay.curry(0.01);
252
253Date.prototype.toJSON = function() {
254 return '"' + this.getUTCFullYear() + '-' +
255 (this.getUTCMonth() + 1).toPaddedString(2) + '-' +
256 this.getUTCDate().toPaddedString(2) + 'T' +
257 this.getUTCHours().toPaddedString(2) + ':' +
258 this.getUTCMinutes().toPaddedString(2) + ':' +
259 this.getUTCSeconds().toPaddedString(2) + 'Z"';
260};
261
262var Try = {
263 these: function() {
264 var returnValue;
265
266 for (var i = 0, length = arguments.length; i < length; i++) {
267 var lambda = arguments[i];
268 try {
269 returnValue = lambda();
270 break;
271 } catch (e) { }
272 }
273
274 return returnValue;
275 }
276};
277
278RegExp.prototype.match = RegExp.prototype.test;
279
280RegExp.escape = function(str) {
281 return String(str).replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
282};
283
284/*--------------------------------------------------------------------------*/
285
286var PeriodicalExecuter = Class.create({
287 initialize: function(callback, frequency) {
288 this.callback = callback;
289 this.frequency = frequency;
290 this.currentlyExecuting = false;
291
292 this.registerCallback();
293 },
294
295 registerCallback: function() {
296 this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);
297 },
298
299 execute: function() {
300 this.callback(this);
301 },
302
303 stop: function() {
304 if (!this.timer) return;
305 clearInterval(this.timer);
306 this.timer = null;
307 },
308
309 onTimerEvent: function() {
310 if (!this.currentlyExecuting) {
311 try {
312 this.currentlyExecuting = true;
313 this.execute();
314 } finally {
315 this.currentlyExecuting = false;
316 }
317 }
318 }
319});
320Object.extend(String, {
321 interpret: function(value) {
322 return value == null ? '' : String(value);
323 },
324 specialChar: {
325 '\b': '\\b',
326 '\t': '\\t',
327 '\n': '\\n',
328 '\f': '\\f',
329 '\r': '\\r',
330 '\\': '\\\\'
331 }
332});
333
334Object.extend(String.prototype, {
335 gsub: function(pattern, replacement) {
336 var result = '', source = this, match;
337 replacement = arguments.callee.prepareReplacement(replacement);
338
339 while (source.length > 0) {
340 if (match = source.match(pattern)) {
341 result += source.slice(0, match.index);
342 result += String.interpret(replacement(match));
343 source = source.slice(match.index + match[0].length);
344 } else {
345 result += source, source = '';
346 }
347 }
348 return result;
349 },
350
351 sub: function(pattern, replacement, count) {
352 replacement = this.gsub.prepareReplacement(replacement);
353 count = Object.isUndefined(count) ? 1 : count;
354
355 return this.gsub(pattern, function(match) {
356 if (--count < 0) return match[0];
357 return replacement(match);
358 });
359 },
360
361 scan: function(pattern, iterator) {
362 this.gsub(pattern, iterator);
363 return String(this);
364 },
365
366 truncate: function(length, truncation) {
367 length = length || 30;
368 truncation = Object.isUndefined(truncation) ? '...' : truncation;
369 return this.length > length ?
370 this.slice(0, length - truncation.length) + truncation : String(this);
371 },
372
373 strip: function() {
374 return this.replace(/^\s+/, '').replace(/\s+$/, '');
375 },
376
377 stripTags: function() {
378 return this.replace(/<\/?[^>]+>/gi, '');
379 },
380
381 stripScripts: function() {
382 return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');
383 },
384
385 extractScripts: function() {
386 var matchAll = new RegExp(Prototype.ScriptFragment, 'img');
387 var matchOne = new RegExp(Prototype.ScriptFragment, 'im');
388 return (this.match(matchAll) || []).map(function(scriptTag) {
389 return (scriptTag.match(matchOne) || ['', ''])[1];
390 });
391 },
392
393 evalScripts: function() {
394 return this.extractScripts().map(function(script) { return eval(script) });
395 },
396
397 escapeHTML: function() {
398 var self = arguments.callee;
399 self.text.data = this;
400 return self.div.innerHTML;
401 },
402
403 unescapeHTML: function() {
404 var div = new Element('div');
405 div.innerHTML = this.stripTags();
406 return div.childNodes[0] ? (div.childNodes.length > 1 ?
407 $A(div.childNodes).inject('', function(memo, node) { return memo+node.nodeValue }) :
408 div.childNodes[0].nodeValue) : '';
409 },
410
411 toQueryParams: function(separator) {
412 var match = this.strip().match(/([^?#]*)(#.*)?$/);
413 if (!match) return { };
414
415 return match[1].split(separator || '&').inject({ }, function(hash, pair) {
416 if ((pair = pair.split('='))[0]) {
417 var key = decodeURIComponent(pair.shift());
418 var value = pair.length > 1 ? pair.join('=') : pair[0];
419 if (value != undefined) value = decodeURIComponent(value);
420
421 if (key in hash) {
422 if (!Object.isArray(hash[key])) hash[key] = [hash[key]];
423 hash[key].push(value);
424 }
425 else hash[key] = value;
426 }
427 return hash;
428 });
429 },
430
431 toArray: function() {
432 return this.split('');
433 },
434
435 succ: function() {
436 return this.slice(0, this.length - 1) +
437 String.fromCharCode(this.charCodeAt(this.length - 1) + 1);
438 },
439
440 times: function(count) {
441 return count < 1 ? '' : new Array(count + 1).join(this);
442 },
443
444 camelize: function() {
445 var parts = this.split('-'), len = parts.length;
446 if (len == 1) return parts[0];
447
448 var camelized = this.charAt(0) == '-'
449 ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)
450 : parts[0];
451
452 for (var i = 1; i < len; i++)
453 camelized += parts[i].charAt(0).toUpperCase() + parts[i].substring(1);
454
455 return camelized;
456 },
457
458 capitalize: function() {
459 return this.charAt(0).toUpperCase() + this.substring(1).toLowerCase();
460 },
461
462 underscore: function() {
463 return this.gsub(/::/, '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{1}_#{2}').gsub(/-/,'_').toLowerCase();
464 },
465
466 dasherize: function() {
467 return this.gsub(/_/,'-');
468 },
469
470 inspect: function(useDoubleQuotes) {
471 var escapedString = this.gsub(/[\x00-\x1f\\]/, function(match) {
472 var character = String.specialChar[match[0]];
473 return character ? character : '\\u00' + match[0].charCodeAt().toPaddedString(2, 16);
474 });
475 if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"';
476 return "'" + escapedString.replace(/'/g, '\\\'') + "'";
477 },
478
479 toJSON: function() {
480 return this.inspect(true);
481 },
482
483 unfilterJSON: function(filter) {
484 return this.sub(filter || Prototype.JSONFilter, '#{1}');
485 },
486
487 isJSON: function() {
488 var str = this;
489 if (str.blank()) return false;
490 str = this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');
491 return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);
492 },
493
494 evalJSON: function(sanitize) {
495 var json = this.unfilterJSON();
496 try {
497 if (!sanitize || json.isJSON()) return eval('(' + json + ')');
498 } catch (e) { }
499 throw new SyntaxError('Badly formed JSON string: ' + this.inspect());
500 },
501
502 include: function(pattern) {
503 return this.indexOf(pattern) > -1;
504 },
505
506 startsWith: function(pattern) {
507 return this.indexOf(pattern) === 0;
508 },
509
510 endsWith: function(pattern) {
511 var d = this.length - pattern.length;
512 return d >= 0 && this.lastIndexOf(pattern) === d;
513 },
514
515 empty: function() {
516 return this == '';
517 },
518
519 blank: function() {
520 return /^\s*$/.test(this);
521 },
522
523 interpolate: function(object, pattern) {
524 return new Template(this, pattern).evaluate(object);
525 }
526});
527
528if (Prototype.Browser.WebKit || Prototype.Browser.IE) Object.extend(String.prototype, {
529 escapeHTML: function() {
530 return this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');
531 },
532 unescapeHTML: function() {
533 return this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');
534 }
535});
536
537String.prototype.gsub.prepareReplacement = function(replacement) {
538 if (Object.isFunction(replacement)) return replacement;
539 var template = new Template(replacement);
540 return function(match) { return template.evaluate(match) };
541};
542
543String.prototype.parseQuery = String.prototype.toQueryParams;
544
545Object.extend(String.prototype.escapeHTML, {
546 div: document.createElement('div'),
547 text: document.createTextNode('')
548});
549
550with (String.prototype.escapeHTML) div.appendChild(text);
551
552var Template = Class.create({
553 initialize: function(template, pattern) {
554 this.template = template.toString();
555 this.pattern = pattern || Template.Pattern;
556 },
557
558 evaluate: function(object) {
559 if (Object.isFunction(object.toTemplateReplacements))
560 object = object.toTemplateReplacements();
561
562 return this.template.gsub(this.pattern, function(match) {
563 if (object == null) return '';
564
565 var before = match[1] || '';
566 if (before == '\\') return match[2];
567
568 var ctx = object, expr = match[3];
569 var pattern = /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;
570 match = pattern.exec(expr);
571 if (match == null) return before;
572
573 while (match != null) {
574 var comp = match[1].startsWith('[') ? match[2].gsub('\\\\]', ']') : match[1];
575 ctx = ctx[comp];
576 if (null == ctx || '' == match[3]) break;
577 expr = expr.substring('[' == match[3] ? match[1].length : match[0].length);
578 match = pattern.exec(expr);
579 }
580
581 return before + String.interpret(ctx);
582 });
583 }
584});
585Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/;
586
587var $break = { };
588
589var Enumerable = {
590 each: function(iterator, context) {
591 var index = 0;
592 iterator = iterator.bind(context);
593 try {
594 this._each(function(value) {
595 iterator(value, index++);
596 });
597 } catch (e) {
598 if (e != $break) throw e;
599 }
600 return this;
601 },
602
603 eachSlice: function(number, iterator, context) {
604 iterator = iterator ? iterator.bind(context) : Prototype.K;
605 var index = -number, slices = [], array = this.toArray();
606 while ((index += number) < array.length)
607 slices.push(array.slice(index, index+number));
608 return slices.collect(iterator, context);
609 },
610
611 all: function(iterator, context) {
612 iterator = iterator ? iterator.bind(context) : Prototype.K;
613 var result = true;
614 this.each(function(value, index) {
615 result = result && !!iterator(value, index);
616 if (!result) throw $break;
617 });
618 return result;
619 },
620
621 any: function(iterator, context) {
622 iterator = iterator ? iterator.bind(context) : Prototype.K;
623 var result = false;
624 this.each(function(value, index) {
625 if (result = !!iterator(value, index))
626 throw $break;
627 });
628 return result;
629 },
630
631 collect: function(iterator, context) {
632 iterator = iterator ? iterator.bind(context) : Prototype.K;
633 var results = [];
634 this.each(function(value, index) {
635 results.push(iterator(value, index));
636 });
637 return results;
638 },
639
640 detect: function(iterator, context) {
641 iterator = iterator.bind(context);
642 var result;
643 this.each(function(value, index) {
644 if (iterator(value, index)) {
645 result = value;
646 throw $break;
647 }
648 });
649 return result;
650 },
651
652 findAll: function(iterator, context) {
653 iterator = iterator.bind(context);
654 var results = [];
655 this.each(function(value, index) {
656 if (iterator(value, index))
657 results.push(value);
658 });
659 return results;
660 },
661
662 grep: function(filter, iterator, context) {
663 iterator = iterator ? iterator.bind(context) : Prototype.K;
664 var results = [];
665
666 if (Object.isString(filter))
667 filter = new RegExp(filter);
668
669 this.each(function(value, index) {
670 if (filter.match(value))
671 results.push(iterator(value, index));
672 });
673 return results;
674 },
675
676 include: function(object) {
677 if (Object.isFunction(this.indexOf))
678 if (this.indexOf(object) != -1) return true;
679
680 var found = false;
681 this.each(function(value) {
682 if (value == object) {
683 found = true;
684 throw $break;
685 }
686 });
687 return found;
688 },
689
690 inGroupsOf: function(number, fillWith) {
691 fillWith = Object.isUndefined(fillWith) ? null : fillWith;
692 return this.eachSlice(number, function(slice) {
693 while(slice.length < number) slice.push(fillWith);
694 return slice;
695 });
696 },
697
698 inject: function(memo, iterator, context) {
699 iterator = iterator.bind(context);
700 this.each(function(value, index) {
701 memo = iterator(memo, value, index);
702 });
703 return memo;
704 },
705
706 invoke: function(method) {
707 var args = $A(arguments).slice(1);
708 return this.map(function(value) {
709 return value[method].apply(value, args);
710 });
711 },
712
713 max: function(iterator, context) {
714 iterator = iterator ? iterator.bind(context) : Prototype.K;
715 var result;
716 this.each(function(value, index) {
717 value = iterator(value, index);
718 if (result == null || value >= result)
719 result = value;
720 });
721 return result;
722 },
723
724 min: function(iterator, context) {
725 iterator = iterator ? iterator.bind(context) : Prototype.K;
726 var result;
727 this.each(function(value, index) {
728 value = iterator(value, index);
729 if (result == null || value < result)
730 result = value;
731 });
732 return result;
733 },
734
735 partition: function(iterator, context) {
736 iterator = iterator ? iterator.bind(context) : Prototype.K;
737 var trues = [], falses = [];
738 this.each(function(value, index) {
739 (iterator(value, index) ?
740 trues : falses).push(value);
741 });
742 return [trues, falses];
743 },
744
745 pluck: function(property) {
746 var results = [];
747 this.each(function(value) {
748 results.push(value[property]);
749 });
750 return results;
751 },
752
753 reject: function(iterator, context) {
754 iterator = iterator.bind(context);
755 var results = [];
756 this.each(function(value, index) {
757 if (!iterator(value, index))
758 results.push(value);
759 });
760 return results;
761 },
762
763 sortBy: function(iterator, context) {
764 iterator = iterator.bind(context);
765 return this.map(function(value, index) {
766 return {value: value, criteria: iterator(value, index)};
767 }).sort(function(left, right) {
768 var a = left.criteria, b = right.criteria;
769 return a < b ? -1 : a > b ? 1 : 0;
770 }).pluck('value');
771 },
772
773 toArray: function() {
774 return this.map();
775 },
776
777 zip: function() {
778 var iterator = Prototype.K, args = $A(arguments);
779 if (Object.isFunction(args.last()))
780 iterator = args.pop();
781
782 var collections = [this].concat(args).map($A);
783 return this.map(function(value, index) {
784 return iterator(collections.pluck(index));
785 });
786 },
787
788 size: function() {
789 return this.toArray().length;
790 },
791
792 inspect: function() {
793 return '#<Enumerable:' + this.toArray().inspect() + '>';
794 }
795};
796
797Object.extend(Enumerable, {
798 map: Enumerable.collect,
799 find: Enumerable.detect,
800 select: Enumerable.findAll,
801 filter: Enumerable.findAll,
802 member: Enumerable.include,
803 entries: Enumerable.toArray,
804 every: Enumerable.all,
805 some: Enumerable.any
806});
807function $A(iterable) {
808 if (!iterable) return [];
809 if (iterable.toArray) return iterable.toArray();
810 var length = iterable.length || 0, results = new Array(length);
811 while (length--) results[length] = iterable[length];
812 return results;
813}
814
815if (Prototype.Browser.WebKit) {
816 $A = function(iterable) {
817 if (!iterable) return [];
818 if (!(Object.isFunction(iterable) && iterable == '[object NodeList]') &&
819 iterable.toArray) return iterable.toArray();
820 var length = iterable.length || 0, results = new Array(length);
821 while (length--) results[length] = iterable[length];
822 return results;
823 };
824}
825
826Array.from = $A;
827
828Object.extend(Array.prototype, Enumerable);
829
830if (!Array.prototype._reverse) Array.prototype._reverse = Array.prototype.reverse;
831
832Object.extend(Array.prototype, {
833 _each: function(iterator) {
834 for (var i = 0, length = this.length; i < length; i++)
835 iterator(this[i]);
836 },
837
838 clear: function() {
839 this.length = 0;
840 return this;
841 },
842
843 first: function() {
844 return this[0];
845 },
846
847 last: function() {
848 return this[this.length - 1];
849 },
850
851 compact: function() {
852 return this.select(function(value) {
853 return value != null;
854 });
855 },
856
857 flatten: function() {
858 return this.inject([], function(array, value) {
859 return array.concat(Object.isArray(value) ?
860 value.flatten() : [value]);
861 });
862 },
863
864 without: function() {
865 var values = $A(arguments);
866 return this.select(function(value) {
867 return !values.include(value);
868 });
869 },
870
871 reverse: function(inline) {
872 return (inline !== false ? this : this.toArray())._reverse();
873 },
874
875 reduce: function() {
876 return this.length > 1 ? this : this[0];
877 },
878
879 uniq: function(sorted) {
880 return this.inject([], function(array, value, index) {
881 if (0 == index || (sorted ? array.last() != value : !array.include(value)))
882 array.push(value);
883 return array;
884 });
885 },
886
887 intersect: function(array) {
888 return this.uniq().findAll(function(item) {
889 return array.detect(function(value) { return item === value });
890 });
891 },
892
893 clone: function() {
894 return [].concat(this);
895 },
896
897 size: function() {
898 return this.length;
899 },
900
901 inspect: function() {
902 return '[' + this.map(Object.inspect).join(', ') + ']';
903 },
904
905 toJSON: function() {
906 var results = [];
907 this.each(function(object) {
908 var value = Object.toJSON(object);
909 if (!Object.isUndefined(value)) results.push(value);
910 });
911 return '[' + results.join(', ') + ']';
912 }
913});
914
915// use native browser JS 1.6 implementation if available
916if (Object.isFunction(Array.prototype.forEach))
917 Array.prototype._each = Array.prototype.forEach;
918
919if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) {
920 i || (i = 0);
921 var length = this.length;
922 if (i < 0) i = length + i;
923 for (; i < length; i++)
924 if (this[i] === item) return i;
925 return -1;
926};
927
928if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf = function(item, i) {
929 i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;
930 var n = this.slice(0, i).reverse().indexOf(item);
931 return (n < 0) ? n : i - n - 1;
932};
933
934Array.prototype.toArray = Array.prototype.clone;
935
936function $w(string) {
937 if (!Object.isString(string)) return [];
938 string = string.strip();
939 return string ? string.split(/\s+/) : [];
940}
941
942if (Prototype.Browser.Opera){
943 Array.prototype.concat = function() {
944 var array = [];
945 for (var i = 0, length = this.length; i < length; i++) array.push(this[i]);
946 for (var i = 0, length = arguments.length; i < length; i++) {
947 if (Object.isArray(arguments[i])) {
948 for (var j = 0, arrayLength = arguments[i].length; j < arrayLength; j++)
949 array.push(arguments[i][j]);
950 } else {
951 array.push(arguments[i]);
952 }
953 }
954 return array;
955 };
956}
957Object.extend(Number.prototype, {
958 toColorPart: function() {
959 return this.toPaddedString(2, 16);
960 },
961
962 succ: function() {
963 return this + 1;
964 },
965
966 times: function(iterator) {
967 $R(0, this, true).each(iterator);
968 return this;
969 },
970
971 toPaddedString: function(length, radix) {
972 var string = this.toString(radix || 10);
973 return '0'.times(length - string.length) + string;
974 },
975
976 toJSON: function() {
977 return isFinite(this) ? this.toString() : 'null';
978 }
979});
980
981$w('abs round ceil floor').each(function(method){
982 Number.prototype[method] = Math[method].methodize();
983});
984function $H(object) {
985 return new Hash(object);
986};
987
988var Hash = Class.create(Enumerable, (function() {
989
990 function toQueryPair(key, value) {
991 if (Object.isUndefined(value)) return key;
992 return key + '=' + encodeURIComponent(String.interpret(value));
993 }
994
995 return {
996 initialize: function(object) {
997 this._object = Object.isHash(object) ? object.toObject() : Object.clone(object);
998 },
999
1000 _each: function(iterator) {
1001 for (var key in this._object) {
1002 var value = this._object[key], pair = [key, value];
1003 pair.key = key;
1004 pair.value = value;
1005 iterator(pair);
1006 }
1007 },
1008
1009 set: function(key, value) {
1010 return this._object[key] = value;
1011 },
1012
1013 get: function(key) {
1014 return this._object[key];
1015 },
1016
1017 unset: function(key) {
1018 var value = this._object[key];
1019 delete this._object[key];
1020 return value;
1021 },
1022
1023 toObject: function() {
1024 return Object.clone(this._object);
1025 },
1026
1027 keys: function() {
1028 return this.pluck('key');
1029 },
1030
1031 values: function() {
1032 return this.pluck('value');
1033 },
1034
1035 index: function(value) {
1036 var match = this.detect(function(pair) {
1037 return pair.value === value;
1038 });
1039 return match && match.key;
1040 },
1041
1042 merge: function(object) {
1043 return this.clone().update(object);
1044 },
1045
1046 update: function(object) {
1047 return new Hash(object).inject(this, function(result, pair) {
1048 result.set(pair.key, pair.value);
1049 return result;
1050 });
1051 },
1052
1053 toQueryString: function() {
1054 return this.map(function(pair) {
1055 var key = encodeURIComponent(pair.key), values = pair.value;
1056
1057 if (values && typeof values == 'object') {
1058 if (Object.isArray(values))
1059 return values.map(toQueryPair.curry(key)).join('&');
1060 }
1061 return toQueryPair(key, values);
1062 }).join('&');
1063 },
1064
1065 inspect: function() {
1066 return '#<Hash:{' + this.map(function(pair) {
1067 return pair.map(Object.inspect).join(': ');
1068 }).join(', ') + '}>';
1069 },
1070
1071 toJSON: function() {
1072 return Object.toJSON(this.toObject());
1073 },
1074
1075 clone: function() {
1076 return new Hash(this);
1077 }
1078 }
1079})());
1080
1081Hash.prototype.toTemplateReplacements = Hash.prototype.toObject;
1082Hash.from = $H;
1083var ObjectRange = Class.create(Enumerable, {
1084 initialize: function(start, end, exclusive) {
1085 this.start = start;
1086 this.end = end;
1087 this.exclusive = exclusive;
1088 },
1089
1090 _each: function(iterator) {
1091 var value = this.start;
1092 while (this.include(value)) {
1093 iterator(value);
1094 value = value.succ();
1095 }
1096 },
1097
1098 include: function(value) {
1099 if (value < this.start)
1100 return false;
1101 if (this.exclusive)
1102 return value < this.end;
1103 return value <= this.end;
1104 }
1105});
1106
1107var $R = function(start, end, exclusive) {
1108 return new ObjectRange(start, end, exclusive);
1109};
1110
1111var Ajax = {
1112 getTransport: function() {
1113 return Try.these(
1114 function() {return new XMLHttpRequest()},
1115 function() {return new ActiveXObject('Msxml2.XMLHTTP')},
1116 function() {return new ActiveXObject('Microsoft.XMLHTTP')}
1117 ) || false;
1118 },
1119
1120 activeRequestCount: 0
1121};
1122
1123Ajax.Responders = {
1124 responders: [],
1125
1126 _each: function(iterator) {
1127 this.responders._each(iterator);
1128 },
1129
1130 register: function(responder) {
1131 if (!this.include(responder))
1132 this.responders.push(responder);
1133 },
1134
1135 unregister: function(responder) {
1136 this.responders = this.responders.without(responder);
1137 },
1138
1139 dispatch: function(callback, request, transport, json) {
1140 this.each(function(responder) {
1141 if (Object.isFunction(responder[callback])) {
1142 try {
1143 responder[callback].apply(responder, [request, transport, json]);
1144 } catch (e) { }
1145 }
1146 });
1147 }
1148};
1149
1150Object.extend(Ajax.Responders, Enumerable);
1151
1152Ajax.Responders.register({
1153 onCreate: function() { Ajax.activeRequestCount++ },
1154 onComplete: function() { Ajax.activeRequestCount-- }
1155});
1156
1157Ajax.Base = Class.create({
1158 initialize: function(options) {
1159 this.options = {
1160 method: 'post',
1161 asynchronous: true,
1162 contentType: 'application/x-www-form-urlencoded',
1163 encoding: 'UTF-8',
1164 parameters: '',
1165 evalJSON: true,
1166 evalJS: true
1167 };
1168 Object.extend(this.options, options || { });
1169
1170 this.options.method = this.options.method.toLowerCase();
1171
1172 if (Object.isString(this.options.parameters))
1173 this.options.parameters = this.options.parameters.toQueryParams();
1174 else if (Object.isHash(this.options.parameters))
1175 this.options.parameters = this.options.parameters.toObject();
1176 }
1177});
1178
1179Ajax.Request = Class.create(Ajax.Base, {
1180 _complete: false,
1181
1182 initialize: function($super, url, options) {
1183 $super(options);
1184 this.transport = Ajax.getTransport();
1185 this.request(url);
1186 },
1187
1188 request: function(url) {
1189 this.url = url;
1190 this.method = this.options.method;
1191 var params = Object.clone(this.options.parameters);
1192
1193 if (!['get', 'post'].include(this.method)) {
1194 // simulate other verbs over post
1195 params['_method'] = this.method;
1196 this.method = 'post';
1197 }
1198
1199 this.parameters = params;
1200
1201 if (params = Object.toQueryString(params)) {
1202 // when GET, append parameters to URL
1203 if (this.method == 'get')
1204 this.url += (this.url.include('?') ? '&' : '?') + params;
1205 else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))
1206 params += '&_=';
1207 }
1208
1209 try {
1210 var response = new Ajax.Response(this);
1211 if (this.options.onCreate) this.options.onCreate(response);
1212 Ajax.Responders.dispatch('onCreate', this, response);
1213
1214 this.transport.open(this.method.toUpperCase(), this.url,
1215 this.options.asynchronous);
1216
1217 if (this.options.asynchronous) this.respondToReadyState.bind(this).defer(1);
1218
1219 this.transport.onreadystatechange = this.onStateChange.bind(this);
1220 this.setRequestHeaders();
1221
1222 this.body = this.method == 'post' ? (this.options.postBody || params) : null;
1223 this.transport.send(this.body);
1224
1225 /* Force Firefox to handle ready state 4 for synchronous requests */
1226 if (!this.options.asynchronous && this.transport.overrideMimeType)
1227 this.onStateChange();
1228
1229 }
1230 catch (e) {
1231 this.dispatchException(e);
1232 }
1233 },
1234
1235 onStateChange: function() {
1236 var readyState = this.transport.readyState;
1237 if (readyState > 1 && !((readyState == 4) && this._complete))
1238 this.respondToReadyState(this.transport.readyState);
1239 },
1240
1241 setRequestHeaders: function() {
1242 var headers = {
1243 'X-Requested-With': 'XMLHttpRequest',
1244 'X-Prototype-Version': Prototype.Version,
1245 'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
1246 };
1247
1248 if (this.method == 'post') {
1249 headers['Content-type'] = this.options.contentType +
1250 (this.options.encoding ? '; charset=' + this.options.encoding : '');
1251
1252 /* Force "Connection: close" for older Mozilla browsers to work
1253 * around a bug where XMLHttpRequest sends an incorrect
1254 * Content-length header. See Mozilla Bugzilla #246651.
1255 */
1256 if (this.transport.overrideMimeType &&
1257 (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < 2005)
1258 headers['Connection'] = 'close';
1259 }
1260
1261 // user-defined headers
1262 if (typeof this.options.requestHeaders == 'object') {
1263 var extras = this.options.requestHeaders;
1264
1265 if (Object.isFunction(extras.push))
1266 for (var i = 0, length = extras.length; i < length; i += 2)
1267 headers[extras[i]] = extras[i+1];
1268 else
1269 $H(extras).each(function(pair) { headers[pair.key] = pair.value });
1270 }
1271
1272 for (var name in headers)
1273 this.transport.setRequestHeader(name, headers[name]);
1274 },
1275
1276 success: function() {
1277 var status = this.getStatus();
1278 return !status || (status >= 200 && status < 300);
1279 },
1280
1281 getStatus: function() {
1282 try {
1283 return this.transport.status || 0;
1284 } catch (e) { return 0 }
1285 },
1286
1287 respondToReadyState: function(readyState) {
1288 var state = Ajax.Request.Events[readyState], response = new Ajax.Response(this);
1289
1290 if (state == 'Complete') {
1291 try {
1292 this._complete = true;
1293 (this.options['on' + response.status]
1294 || this.options['on' + (this.success() ? 'Success' : 'Failure')]
1295 || Prototype.emptyFunction)(response, response.headerJSON);
1296 } catch (e) {
1297 this.dispatchException(e);
1298 }
1299
1300 var contentType = response.getHeader('Content-type');
1301 if (this.options.evalJS == 'force'
1302 || (this.options.evalJS && this.isSameOrigin() && contentType
1303 && contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s*$/i)))
1304 this.evalResponse();
1305 }
1306
1307 try {
1308 (this.options['on' + state] || Prototype.emptyFunction)(response, response.headerJSON);
1309 Ajax.Responders.dispatch('on' + state, this, response, response.headerJSON);
1310 } catch (e) {
1311 this.dispatchException(e);
1312 }
1313
1314 if (state == 'Complete') {
1315 // avoid memory leak in MSIE: clean up
1316 this.transport.onreadystatechange = Prototype.emptyFunction;
1317 }
1318 },
1319
1320 isSameOrigin: function() {
1321 var m = this.url.match(/^\s*https?:\/\/[^\/]*/);
1322 return !m || (m[0] == '#{protocol}//#{domain}#{port}'.interpolate({
1323 protocol: location.protocol,
1324 domain: document.domain,
1325 port: location.port ? ':' + location.port : ''
1326 }));
1327 },
1328
1329 getHeader: function(name) {
1330 try {
1331 return this.transport.getResponseHeader(name) || null;
1332 } catch (e) { return null }
1333 },
1334
1335 evalResponse: function() {
1336 try {
1337 return eval((this.transport.responseText || '').unfilterJSON());
1338 } catch (e) {
1339 this.dispatchException(e);
1340 }
1341 },
1342
1343 dispatchException: function(exception) {
1344 (this.options.onException || Prototype.emptyFunction)(this, exception);
1345 Ajax.Responders.dispatch('onException', this, exception);
1346 }
1347});
1348
1349Ajax.Request.Events =
1350 ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];
1351
1352Ajax.Response = Class.create({
1353 initialize: function(request){
1354 this.request = request;
1355 var transport = this.transport = request.transport,
1356 readyState = this.readyState = transport.readyState;
1357
1358 if((readyState > 2 && !Prototype.Browser.IE) || readyState == 4) {
1359 this.status = this.getStatus();
1360 this.statusText = this.getStatusText();
1361 this.responseText = String.interpret(transport.responseText);
1362 this.headerJSON = this._getHeaderJSON();
1363 }
1364
1365 if(readyState == 4) {
1366 var xml = transport.responseXML;
1367 this.responseXML = Object.isUndefined(xml) ? null : xml;
1368 this.responseJSON = this._getResponseJSON();
1369 }
1370 },
1371
1372 status: 0,
1373 statusText: '',
1374
1375 getStatus: Ajax.Request.prototype.getStatus,
1376
1377 getStatusText: function() {
1378 try {
1379 return this.transport.statusText || '';
1380 } catch (e) { return '' }
1381 },
1382
1383 getHeader: Ajax.Request.prototype.getHeader,
1384
1385 getAllHeaders: function() {
1386 try {
1387 return this.getAllResponseHeaders();
1388 } catch (e) { return null }
1389 },
1390
1391 getResponseHeader: function(name) {
1392 return this.transport.getResponseHeader(name);
1393 },
1394
1395 getAllResponseHeaders: function() {
1396 return this.transport.getAllResponseHeaders();
1397 },
1398
1399 _getHeaderJSON: function() {
1400 var json = this.getHeader('X-JSON');
1401 if (!json) return null;
1402 json = decodeURIComponent(escape(json));
1403 try {
1404 return json.evalJSON(this.request.options.sanitizeJSON ||
1405 !this.request.isSameOrigin());
1406 } catch (e) {
1407 this.request.dispatchException(e);
1408 }
1409 },
1410
1411 _getResponseJSON: function() {
1412 var options = this.request.options;
1413 if (!options.evalJSON || (options.evalJSON != 'force' &&
1414 !(this.getHeader('Content-type') || '').include('application/json')) ||
1415 this.responseText.blank())
1416 return null;
1417 try {
1418 return this.responseText.evalJSON(options.sanitizeJSON ||
1419 !this.request.isSameOrigin());
1420 } catch (e) {
1421 this.request.dispatchException(e);
1422 }
1423 }
1424});
1425
1426Ajax.Updater = Class.create(Ajax.Request, {
1427 initialize: function($super, container, url, options) {
1428 this.container = {
1429 success: (container.success || container),
1430 failure: (container.failure || (container.success ? null : container))
1431 };
1432
1433 options = Object.clone(options);
1434 var onComplete = options.onComplete;
1435 options.onComplete = (function(response, json) {
1436 this.updateContent(response.responseText);
1437 if (Object.isFunction(onComplete)) onComplete(response, json);
1438 }).bind(this);
1439
1440 $super(url, options);
1441 },
1442
1443 updateContent: function(responseText) {
1444 var receiver = this.container[this.success() ? 'success' : 'failure'],
1445 options = this.options;
1446
1447 if (!options.evalScripts) responseText = responseText.stripScripts();
1448
1449 if (receiver = $(receiver)) {
1450 if (options.insertion) {
1451 if (Object.isString(options.insertion)) {
1452 var insertion = { }; insertion[options.insertion] = responseText;
1453 receiver.insert(insertion);
1454 }
1455 else options.insertion(receiver, responseText);
1456 }
1457 else receiver.update(responseText);
1458 }
1459 }
1460});
1461
1462Ajax.PeriodicalUpdater = Class.create(Ajax.Base, {
1463 initialize: function($super, container, url, options) {
1464 $super(options);
1465 this.onComplete = this.options.onComplete;
1466
1467 this.frequency = (this.options.frequency || 2);
1468 this.decay = (this.options.decay || 1);
1469
1470 this.updater = { };
1471 this.container = container;
1472 this.url = url;
1473
1474 this.start();
1475 },
1476
1477 start: function() {
1478 this.options.onComplete = this.updateComplete.bind(this);
1479 this.onTimerEvent();
1480 },
1481
1482 stop: function() {
1483 this.updater.options.onComplete = undefined;
1484 clearTimeout(this.timer);
1485 (this.onComplete || Prototype.emptyFunction).apply(this, arguments);
1486 },
1487
1488 updateComplete: function(response) {
1489 if (this.options.decay) {
1490 this.decay = (response.responseText == this.lastText ?
1491 this.decay * this.options.decay : 1);
1492
1493 this.lastText = response.responseText;
1494 }
1495 this.timer = this.onTimerEvent.bind(this).delay(this.decay * this.frequency);
1496 },
1497
1498 onTimerEvent: function() {
1499 this.updater = new Ajax.Updater(this.container, this.url, this.options);
1500 }
1501});
1502function $(element) {
1503 if (arguments.length > 1) {
1504 for (var i = 0, elements = [], length = arguments.length; i < length; i++)
1505 elements.push($(arguments[i]));
1506 return elements;
1507 }
1508 if (Object.isString(element))
1509 element = document.getElementById(element);
1510 return Element.extend(element);
1511}
1512
1513if (Prototype.BrowserFeatures.XPath) {
1514 document._getElementsByXPath = function(expression, parentElement) {
1515 var results = [];
1516 var query = document.evaluate(expression, $(parentElement) || document,
1517 null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
1518 for (var i = 0, length = query.snapshotLength; i < length; i++)
1519 results.push(Element.extend(query.snapshotItem(i)));
1520 return results;
1521 };
1522}
1523
1524/*--------------------------------------------------------------------------*/
1525
1526if (!window.Node) var Node = { };
1527
1528if (!Node.ELEMENT_NODE) {
1529 // DOM level 2 ECMAScript Language Binding
1530 Object.extend(Node, {
1531 ELEMENT_NODE: 1,
1532 ATTRIBUTE_NODE: 2,
1533 TEXT_NODE: 3,
1534 CDATA_SECTION_NODE: 4,
1535 ENTITY_REFERENCE_NODE: 5,
1536 ENTITY_NODE: 6,
1537 PROCESSING_INSTRUCTION_NODE: 7,
1538 COMMENT_NODE: 8,
1539 DOCUMENT_NODE: 9,
1540 DOCUMENT_TYPE_NODE: 10,
1541 DOCUMENT_FRAGMENT_NODE: 11,
1542 NOTATION_NODE: 12
1543 });
1544}
1545
1546(function() {
1547 var element = this.Element;
1548 this.Element = function(tagName, attributes) {
1549 attributes = attributes || { };
1550 tagName = tagName.toLowerCase();
1551 var cache = Element.cache;
1552 if (Prototype.Browser.IE && attributes.name) {
1553 tagName = '<' + tagName + ' name="' + attributes.name + '">';
1554 delete attributes.name;
1555 return Element.writeAttribute(document.createElement(tagName), attributes);
1556 }
1557 if (!cache[tagName]) cache[tagName] = Element.extend(document.createElement(tagName));
1558 return Element.writeAttribute(cache[tagName].cloneNode(false), attributes);
1559 };
1560 Object.extend(this.Element, element || { });
1561}).call(window);
1562
1563Element.cache = { };
1564
1565Element.Methods = {
1566 visible: function(element) {
1567 return $(element).style.display != 'none';
1568 },
1569
1570 toggle: function(element) {
1571 element = $(element);
1572 Element[Element.visible(element) ? 'hide' : 'show'](element);
1573 return element;
1574 },
1575
1576 hide: function(element) {
1577 $(element).style.display = 'none';
1578 return element;
1579 },
1580
1581 show: function(element) {
1582 $(element).style.display = '';
1583 return element;
1584 },
1585
1586 remove: function(element) {
1587 element = $(element);
1588 element.parentNode.removeChild(element);
1589 return element;
1590 },
1591
1592 update: function(element, content) {
1593 element = $(element);
1594 if (content && content.toElement) content = content.toElement();
1595 if (Object.isElement(content)) return element.update().insert(content);
1596 content = Object.toHTML(content);
1597 element.innerHTML = content.stripScripts();
1598 content.evalScripts.bind(content).defer();
1599 return element;
1600 },
1601
1602 replace: function(element, content) {
1603 element = $(element);
1604 if (content && content.toElement) content = content.toElement();
1605 else if (!Object.isElement(content)) {
1606 content = Object.toHTML(content);
1607 var range = element.ownerDocument.createRange();
1608 range.selectNode(element);
1609 content.evalScripts.bind(content).defer();
1610 content = range.createContextualFragment(content.stripScripts());
1611 }
1612 element.parentNode.replaceChild(content, element);
1613 return element;
1614 },
1615
1616 insert: function(element, insertions) {
1617 element = $(element);
1618
1619 if (Object.isString(insertions) || Object.isNumber(insertions) ||
1620 Object.isElement(insertions) || (insertions && (insertions.toElement || insertions.toHTML)))
1621 insertions = {bottom:insertions};
1622
1623 var content, insert, tagName, childNodes;
1624
1625 for (var position in insertions) {
1626 content = insertions[position];
1627 position = position.toLowerCase();
1628 insert = Element._insertionTranslations[position];
1629
1630 if (content && content.toElement) content = content.toElement();
1631 if (Object.isElement(content)) {
1632 insert(element, content);
1633 continue;
1634 }
1635
1636 content = Object.toHTML(content);
1637
1638 tagName = ((position == 'before' || position == 'after')
1639 ? element.parentNode : element).tagName.toUpperCase();
1640
1641 childNodes = Element._getContentFromAnonymousElement(tagName, content.stripScripts());
1642
1643 if (position == 'top' || position == 'after') childNodes.reverse();
1644 childNodes.each(insert.curry(element));
1645
1646 content.evalScripts.bind(content).defer();
1647 }
1648
1649 return element;
1650 },
1651
1652 wrap: function(element, wrapper, attributes) {
1653 element = $(element);
1654 if (Object.isElement(wrapper))
1655 $(wrapper).writeAttribute(attributes || { });
1656 else if (Object.isString(wrapper)) wrapper = new Element(wrapper, attributes);
1657 else wrapper = new Element('div', wrapper);
1658 if (element.parentNode)
1659 element.parentNode.replaceChild(wrapper, element);
1660 wrapper.appendChild(element);
1661 return wrapper;
1662 },
1663
1664 inspect: function(element) {
1665 element = $(element);
1666 var result = '<' + element.tagName.toLowerCase();
1667 $H({'id': 'id', 'className': 'class'}).each(function(pair) {
1668 var property = pair.first(), attribute = pair.last();
1669 var value = (element[property] || '').toString();
1670 if (value) result += ' ' + attribute + '=' + value.inspect(true);
1671 });
1672 return result + '>';
1673 },
1674
1675 recursivelyCollect: function(element, property) {
1676 element = $(element);
1677 var elements = [];
1678 while (element = element[property])
1679 if (element.nodeType == 1)
1680 elements.push(Element.extend(element));
1681 return elements;
1682 },
1683
1684 ancestors: function(element) {
1685 return $(element).recursivelyCollect('parentNode');
1686 },
1687
1688 descendants: function(element) {
1689 return $(element).select("*");
1690 },
1691
1692 firstDescendant: function(element) {
1693 element = $(element).firstChild;
1694 while (element && element.nodeType != 1) element = element.nextSibling;
1695 return $(element);
1696 },
1697
1698 immediateDescendants: function(element) {
1699 if (!(element = $(element).firstChild)) return [];
1700 while (element && element.nodeType != 1) element = element.nextSibling;
1701 if (element) return [element].concat($(element).nextSiblings());
1702 return [];
1703 },
1704
1705 previousSiblings: function(element) {
1706 return $(element).recursivelyCollect('previousSibling');
1707 },
1708
1709 nextSiblings: function(element) {
1710 return $(element).recursivelyCollect('nextSibling');
1711 },
1712
1713 siblings: function(element) {
1714 element = $(element);
1715 return element.previousSiblings().reverse().concat(element.nextSiblings());
1716 },
1717
1718 match: function(element, selector) {
1719 if (Object.isString(selector))
1720 selector = new Selector(selector);
1721 return selector.match($(element));
1722 },
1723
1724 up: function(element, expression, index) {
1725 element = $(element);
1726 if (arguments.length == 1) return $(element.parentNode);
1727 var ancestors = element.ancestors();
1728 return Object.isNumber(expression) ? ancestors[expression] :
1729 Selector.findElement(ancestors, expression, index);
1730 },
1731
1732 down: function(element, expression, index) {
1733 element = $(element);
1734 if (arguments.length == 1) return element.firstDescendant();
1735 return Object.isNumber(expression) ? element.descendants()[expression] :
1736 element.select(expression)[index || 0];
1737 },
1738
1739 previous: function(element, expression, index) {
1740 element = $(element);
1741 if (arguments.length == 1) return $(Selector.handlers.previousElementSibling(element));
1742 var previousSiblings = element.previousSiblings();
1743 return Object.isNumber(expression) ? previousSiblings[expression] :
1744 Selector.findElement(previousSiblings, expression, index);
1745 },
1746
1747 next: function(element, expression, index) {
1748 element = $(element);
1749 if (arguments.length == 1) return $(Selector.handlers.nextElementSibling(element));
1750 var nextSiblings = element.nextSiblings();
1751 return Object.isNumber(expression) ? nextSiblings[expression] :
1752 Selector.findElement(nextSiblings, expression, index);
1753 },
1754
1755 select: function() {
1756 var args = $A(arguments), element = $(args.shift());
1757 return Selector.findChildElements(element, args);
1758 },
1759
1760 adjacent: function() {
1761 var args = $A(arguments), element = $(args.shift());
1762 return Selector.findChildElements(element.parentNode, args).without(element);
1763 },
1764
1765 identify: function(element) {
1766 element = $(element);
1767 var id = element.readAttribute('id'), self = arguments.callee;
1768 if (id) return id;
1769 do { id = 'anonymous_element_' + self.counter++ } while ($(id));
1770 element.writeAttribute('id', id);
1771 return id;
1772 },
1773
1774 readAttribute: function(element, name) {
1775 element = $(element);
1776 if (Prototype.Browser.IE) {
1777 var t = Element._attributeTranslations.read;
1778 if (t.values[name]) return t.values[name](element, name);
1779 if (t.names[name]) name = t.names[name];
1780 if (name.include(':')) {
1781 return (!element.attributes || !element.attributes[name]) ? null :
1782 element.attributes[name].value;
1783 }
1784 }
1785 return element.getAttribute(name);
1786 },
1787
1788 writeAttribute: function(element, name, value) {
1789 element = $(element);
1790 var attributes = { }, t = Element._attributeTranslations.write;
1791
1792 if (typeof name == 'object') attributes = name;
1793 else attributes[name] = Object.isUndefined(value) ? true : value;
1794
1795 for (var attr in attributes) {
1796 name = t.names[attr] || attr;
1797 value = attributes[attr];
1798 if (t.values[attr]) name = t.values[attr](element, value);
1799 if (value === false || value === null)
1800 element.removeAttribute(name);
1801 else if (value === true)
1802 element.setAttribute(name, name);
1803 else element.setAttribute(name, value);
1804 }
1805 return element;
1806 },
1807
1808 getHeight: function(element) {
1809 return $(element).getDimensions().height;
1810 },
1811
1812 getWidth: function(element) {
1813 return $(element).getDimensions().width;
1814 },
1815
1816 classNames: function(element) {
1817 return new Element.ClassNames(element);
1818 },
1819
1820 hasClassName: function(element, className) {
1821 if (!(element = $(element))) return;
1822 var elementClassName = element.className;
1823 return (elementClassName.length > 0 && (elementClassName == className ||
1824 new RegExp("(^|\\s)" + className + "(\\s|$)").test(elementClassName)));
1825 },
1826
1827 addClassName: function(element, className) {
1828 if (!(element = $(element))) return;
1829 if (!element.hasClassName(className))
1830 element.className += (element.className ? ' ' : '') + className;
1831 return element;
1832 },
1833
1834 removeClassName: function(element, className) {
1835 if (!(element = $(element))) return;
1836 element.className = element.className.replace(
1837 new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();
1838 return element;
1839 },
1840
1841 toggleClassName: function(element, className) {
1842 if (!(element = $(element))) return;
1843 return element[element.hasClassName(className) ?
1844 'removeClassName' : 'addClassName'](className);
1845 },
1846
1847 // removes whitespace-only text node children
1848 cleanWhitespace: function(element) {
1849 element = $(element);
1850 var node = element.firstChild;
1851 while (node) {
1852 var nextNode = node.nextSibling;
1853 if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
1854 element.removeChild(node);
1855 node = nextNode;
1856 }
1857 return element;
1858 },
1859
1860 empty: function(element) {
1861 return $(element).innerHTML.blank();
1862 },
1863
1864 descendantOf: function(element, ancestor) {
1865 element = $(element), ancestor = $(ancestor);
1866 var originalAncestor = ancestor;
1867
1868 if (element.compareDocumentPosition)
1869 return (element.compareDocumentPosition(ancestor) & 8) === 8;
1870
1871 if (element.sourceIndex && !Prototype.Browser.Opera) {
1872 var e = element.sourceIndex, a = ancestor.sourceIndex,
1873 nextAncestor = ancestor.nextSibling;
1874 if (!nextAncestor) {
1875 do { ancestor = ancestor.parentNode; }
1876 while (!(nextAncestor = ancestor.nextSibling) && ancestor.parentNode);
1877 }
1878 if (nextAncestor && nextAncestor.sourceIndex)
1879 return (e > a && e < nextAncestor.sourceIndex);
1880 }
1881
1882 while (element = element.parentNode)
1883 if (element == originalAncestor) return true;
1884 return false;
1885 },
1886
1887 scrollTo: function(element) {
1888 element = $(element);
1889 var pos = element.cumulativeOffset();
1890 window.scrollTo(pos[0], pos[1]);
1891 return element;
1892 },
1893
1894 getStyle: function(element, style) {
1895 element = $(element);
1896 style = style == 'float' ? 'cssFloat' : style.camelize();
1897 var value = element.style[style];
1898 if (!value) {
1899 var css = document.defaultView.getComputedStyle(element, null);
1900 value = css ? css[style] : null;
1901 }
1902 if (style == 'opacity') return value ? parseFloat(value) : 1.0;
1903 return value == 'auto' ? null : value;
1904 },
1905
1906 getOpacity: function(element) {
1907 return $(element).getStyle('opacity');
1908 },
1909
1910 setStyle: function(element, styles) {
1911 element = $(element);
1912 var elementStyle = element.style, match;
1913 if (Object.isString(styles)) {
1914 element.style.cssText += ';' + styles;
1915 return styles.include('opacity') ?
1916 element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : element;
1917 }
1918 for (var property in styles)
1919 if (property == 'opacity') element.setOpacity(styles[property]);
1920 else
1921 elementStyle[(property == 'float' || property == 'cssFloat') ?
1922 (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : 'styleFloat') :
1923 property] = styles[property];
1924
1925 return element;
1926 },
1927
1928 setOpacity: function(element, value) {
1929 element = $(element);
1930 element.style.opacity = (value == 1 || value === '') ? '' :
1931 (value < 0.00001) ? 0 : value;
1932 return element;
1933 },
1934
1935 getDimensions: function(element) {
1936 element = $(element);
1937 var display = $(element).getStyle('display');
1938 if (display != 'none' && display != null) // Safari bug
1939 return {width: element.offsetWidth, height: element.offsetHeight};
1940
1941 // All *Width and *Height properties give 0 on elements with display none,
1942 // so enable the element temporarily
1943 var els = element.style;
1944 var originalVisibility = els.visibility;
1945 var originalPosition = els.position;
1946 var originalDisplay = els.display;
1947 els.visibility = 'hidden';
1948 els.position = 'absolute';
1949 els.display = 'block';
1950 var originalWidth = element.clientWidth;
1951 var originalHeight = element.clientHeight;
1952 els.display = originalDisplay;
1953 els.position = originalPosition;
1954 els.visibility = originalVisibility;
1955 return {width: originalWidth, height: originalHeight};
1956 },
1957
1958 makePositioned: function(element) {
1959 element = $(element);
1960 var pos = Element.getStyle(element, 'position');
1961 if (pos == 'static' || !pos) {
1962 element._madePositioned = true;
1963 element.style.position = 'relative';
1964 // Opera returns the offset relative to the positioning context, when an
1965 // element is position relative but top and left have not been defined
1966 if (window.opera) {
1967 element.style.top = 0;
1968 element.style.left = 0;
1969 }
1970 }
1971 return element;
1972 },
1973
1974 undoPositioned: function(element) {
1975 element = $(element);
1976 if (element._madePositioned) {
1977 element._madePositioned = undefined;
1978 element.style.position =
1979 element.style.top =
1980 element.style.left =
1981 element.style.bottom =
1982 element.style.right = '';
1983 }
1984 return element;
1985 },
1986
1987 makeClipping: function(element) {
1988 element = $(element);
1989 if (element._overflow) return element;
1990 element._overflow = Element.getStyle(element, 'overflow') || 'auto';
1991 if (element._overflow !== 'hidden')
1992 element.style.overflow = 'hidden';
1993 return element;
1994 },
1995
1996 undoClipping: function(element) {
1997 element = $(element);
1998 if (!element._overflow) return element;
1999 element.style.overflow = element._overflow == 'auto' ? '' : element._overflow;
2000 element._overflow = null;
2001 return element;
2002 },
2003
2004 cumulativeOffset: function(element) {
2005 var valueT = 0, valueL = 0;
2006 do {
2007 valueT += element.offsetTop || 0;
2008 valueL += element.offsetLeft || 0;
2009 element = element.offsetParent;
2010 } while (element);
2011 return Element._returnOffset(valueL, valueT);
2012 },
2013
2014 positionedOffset: function(element) {
2015 var valueT = 0, valueL = 0;
2016 do {
2017 valueT += element.offsetTop || 0;
2018 valueL += element.offsetLeft || 0;
2019 element = element.offsetParent;
2020 if (element) {
2021 if (element.tagName == 'BODY') break;
2022 var p = Element.getStyle(element, 'position');
2023 if (p !== 'static') break;
2024 }
2025 } while (element);
2026 return Element._returnOffset(valueL, valueT);
2027 },
2028
2029 absolutize: function(element) {
2030 element = $(element);
2031 if (element.getStyle('position') == 'absolute') return;
2032 // Position.prepare(); // To be done manually by Scripty when it needs it.
2033
2034 var offsets = element.positionedOffset();
2035 var top = offsets[1];
2036 var left = offsets[0];
2037 var width = element.clientWidth;
2038 var height = element.clientHeight;
2039
2040 element._originalLeft = left - parseFloat(element.style.left || 0);
2041 element._originalTop = top - parseFloat(element.style.top || 0);
2042 element._originalWidth = element.style.width;
2043 element._originalHeight = element.style.height;
2044
2045 element.style.position = 'absolute';
2046 element.style.top = top + 'px';
2047 element.style.left = left + 'px';
2048 element.style.width = width + 'px';
2049 element.style.height = height + 'px';
2050 return element;
2051 },
2052
2053 relativize: function(element) {
2054 element = $(element);
2055 if (element.getStyle('position') == 'relative') return;
2056 // Position.prepare(); // To be done manually by Scripty when it needs it.
2057
2058 element.style.position = 'relative';
2059 var top = parseFloat(element.style.top || 0) - (element._originalTop || 0);
2060 var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0);
2061
2062 element.style.top = top + 'px';
2063 element.style.left = left + 'px';
2064 element.style.height = element._originalHeight;
2065 element.style.width = element._originalWidth;
2066 return element;
2067 },
2068
2069 cumulativeScrollOffset: function(element) {
2070 var valueT = 0, valueL = 0;
2071 do {
2072 valueT += element.scrollTop || 0;
2073 valueL += element.scrollLeft || 0;
2074 element = element.parentNode;
2075 } while (element);
2076 return Element._returnOffset(valueL, valueT);
2077 },
2078
2079 getOffsetParent: function(element) {
2080 if (element.offsetParent) return $(element.offsetParent);
2081 if (element == document.body) return $(element);
2082
2083 while ((element = element.parentNode) && element != document.body)
2084 if (Element.getStyle(element, 'position') != 'static')
2085 return $(element);
2086
2087 return $(document.body);
2088 },
2089
2090 viewportOffset: function(forElement) {
2091 var valueT = 0, valueL = 0;
2092
2093 var element = forElement;
2094 do {
2095 valueT += element.offsetTop || 0;
2096 valueL += element.offsetLeft || 0;
2097
2098 // Safari fix
2099 if (element.offsetParent == document.body &&
2100 Element.getStyle(element, 'position') == 'absolute') break;
2101
2102 } while (element = element.offsetParent);
2103
2104 element = forElement;
2105 do {
2106 if (!Prototype.Browser.Opera || element.tagName == 'BODY') {
2107 valueT -= element.scrollTop || 0;
2108 valueL -= element.scrollLeft || 0;
2109 }
2110 } while (element = element.parentNode);
2111
2112 return Element._returnOffset(valueL, valueT);
2113 },
2114
2115 clonePosition: function(element, source) {
2116 var options = Object.extend({
2117 setLeft: true,
2118 setTop: true,
2119 setWidth: true,
2120 setHeight: true,
2121 offsetTop: 0,
2122 offsetLeft: 0
2123 }, arguments[2] || { });
2124
2125 // find page position of source
2126 source = $(source);
2127 var p = source.viewportOffset();
2128
2129 // find coordinate system to use
2130 element = $(element);
2131 var delta = [0, 0];
2132 var parent = null;
2133 // delta [0,0] will do fine with position: fixed elements,
2134 // position:absolute needs offsetParent deltas
2135 if (Element.getStyle(element, 'position') == 'absolute') {
2136 parent = element.getOffsetParent();
2137 delta = parent.viewportOffset();
2138 }
2139
2140 // correct by body offsets (fixes Safari)
2141 if (parent == document.body) {
2142 delta[0] -= document.body.offsetLeft;
2143 delta[1] -= document.body.offsetTop;
2144 }
2145
2146 // set position
2147 if (options.setLeft) element.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px';
2148 if (options.setTop) element.style.top = (p[1] - delta[1] + options.offsetTop) + 'px';
2149 if (options.setWidth) element.style.width = source.offsetWidth + 'px';
2150 if (options.setHeight) element.style.height = source.offsetHeight + 'px';
2151 return element;
2152 }
2153};
2154
2155Element.Methods.identify.counter = 1;
2156
2157Object.extend(Element.Methods, {
2158 getElementsBySelector: Element.Methods.select,
2159 childElements: Element.Methods.immediateDescendants
2160});
2161
2162Element._attributeTranslations = {
2163 write: {
2164 names: {
2165 className: 'class',
2166 htmlFor: 'for'
2167 },
2168 values: { }
2169 }
2170};
2171
2172if (Prototype.Browser.Opera) {
2173 Element.Methods.getStyle = Element.Methods.getStyle.wrap(
2174 function(proceed, element, style) {
2175 switch (style) {
2176 case 'left': case 'top': case 'right': case 'bottom':
2177 if (proceed(element, 'position') === 'static') return null;
2178 case 'height': case 'width':
2179 // returns '0px' for hidden elements; we want it to return null
2180 if (!Element.visible(element)) return null;
2181
2182 // returns the border-box dimensions rather than the content-box
2183 // dimensions, so we subtract padding and borders from the value
2184 var dim = parseInt(proceed(element, style), 10);
2185
2186 if (dim !== element['offset' + style.capitalize()])
2187 return dim + 'px';
2188
2189 var properties;
2190 if (style === 'height') {
2191 properties = ['border-top-width', 'padding-top',
2192 'padding-bottom', 'border-bottom-width'];
2193 }
2194 else {
2195 properties = ['border-left-width', 'padding-left',
2196 'padding-right', 'border-right-width'];
2197 }
2198 return properties.inject(dim, function(memo, property) {
2199 var val = proceed(element, property);
2200 return val === null ? memo : memo - parseInt(val, 10);
2201 }) + 'px';
2202 default: return proceed(element, style);
2203 }
2204 }
2205 );
2206
2207 Element.Methods.readAttribute = Element.Methods.readAttribute.wrap(
2208 function(proceed, element, attribute) {
2209 if (attribute === 'title') return element.title;
2210 return proceed(element, attribute);
2211 }
2212 );
2213}
2214
2215else if (Prototype.Browser.IE) {
2216 // IE doesn't report offsets correctly for static elements, so we change them
2217 // to "relative" to get the values, then change them back.
2218 Element.Methods.getOffsetParent = Element.Methods.getOffsetParent.wrap(
2219 function(proceed, element) {
2220 element = $(element);
2221 var position = element.getStyle('position');
2222 if (position !== 'static') return proceed(element);
2223 element.setStyle({ position: 'relative' });
2224 var value = proceed(element);
2225 element.setStyle({ position: position });
2226 return value;
2227 }
2228 );
2229
2230 $w('positionedOffset viewportOffset').each(function(method) {
2231 Element.Methods[method] = Element.Methods[method].wrap(
2232 function(proceed, element) {
2233 element = $(element);
2234 var position = element.getStyle('position');
2235 if (position !== 'static') return proceed(element);
2236 // Trigger hasLayout on the offset parent so that IE6 reports
2237 // accurate offsetTop and offsetLeft values for position: fixed.
2238 var offsetParent = element.getOffsetParent();
2239 if (offsetParent && offsetParent.getStyle('position') === 'fixed')
2240 offsetParent.setStyle({ zoom: 1 });
2241 element.setStyle({ position: 'relative' });
2242 var value = proceed(element);
2243 element.setStyle({ position: position });
2244 return value;
2245 }
2246 );
2247 });
2248
2249 Element.Methods.getStyle = function(element, style) {
2250 element = $(element);
2251 style = (style == 'float' || style == 'cssFloat') ? 'styleFloat' : style.camelize();
2252 var value = element.style[style];
2253 if (!value && element.currentStyle) value = element.currentStyle[style];
2254
2255 if (style == 'opacity') {
2256 if (value = (element.getStyle('filter') || '').match(/alpha\(opacity=(.*)\)/))
2257 if (value[1]) return parseFloat(value[1]) / 100;
2258 return 1.0;
2259 }
2260
2261 if (value == 'auto') {
2262 if ((style == 'width' || style == 'height') && (element.getStyle('display') != 'none'))
2263 return element['offset' + style.capitalize()] + 'px';
2264 return null;
2265 }
2266 return value;
2267 };
2268
2269 Element.Methods.setOpacity = function(element, value) {
2270 function stripAlpha(filter){
2271 return filter.replace(/alpha\([^\)]*\)/gi,'');
2272 }
2273 element = $(element);
2274 var currentStyle = element.currentStyle;
2275 if ((currentStyle && !currentStyle.hasLayout) ||
2276 (!currentStyle && element.style.zoom == 'normal'))
2277 element.style.zoom = 1;
2278
2279 var filter = element.getStyle('filter'), style = element.style;
2280 if (value == 1 || value === '') {
2281 (filter = stripAlpha(filter)) ?
2282 style.filter = filter : style.removeAttribute('filter');
2283 return element;
2284 } else if (value < 0.00001) value = 0;
2285 style.filter = stripAlpha(filter) +
2286 'alpha(opacity=' + (value * 100) + ')';
2287 return element;
2288 };
2289
2290 Element._attributeTranslations = {
2291 read: {
2292 names: {
2293 'class': 'className',
2294 'for': 'htmlFor'
2295 },
2296 values: {
2297 _getAttr: function(element, attribute) {
2298 return element.getAttribute(attribute, 2);
2299 },
2300 _getAttrNode: function(element, attribute) {
2301 var node = element.getAttributeNode(attribute);
2302 return node ? node.value : "";
2303 },
2304 _getEv: function(element, attribute) {
2305 attribute = element.getAttribute(attribute);
2306 return attribute ? attribute.toString().slice(23, -2) : null;
2307 },
2308 _flag: function(element, attribute) {
2309 return $(element).hasAttribute(attribute) ? attribute : null;
2310 },
2311 style: function(element) {
2312 return element.style.cssText.toLowerCase();
2313 },
2314 title: function(element) {
2315 return element.title;
2316 }
2317 }
2318 }
2319 };
2320
2321 Element._attributeTranslations.write = {
2322 names: Object.extend({
2323 cellpadding: 'cellPadding',
2324 cellspacing: 'cellSpacing'
2325 }, Element._attributeTranslations.read.names),
2326 values: {
2327 checked: function(element, value) {
2328 element.checked = !!value;
2329 },
2330
2331 style: function(element, value) {
2332 element.style.cssText = value ? value : '';
2333 }
2334 }
2335 };
2336
2337 Element._attributeTranslations.has = {};
2338
2339 $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +
2340 'encType maxLength readOnly longDesc').each(function(attr) {
2341 Element._attributeTranslations.write.names[attr.toLowerCase()] = attr;
2342 Element._attributeTranslations.has[attr.toLowerCase()] = attr;
2343 });
2344
2345 (function(v) {
2346 Object.extend(v, {
2347 href: v._getAttr,
2348 src: v._getAttr,
2349 type: v._getAttr,
2350 action: v._getAttrNode,
2351 disabled: v._flag,
2352 checked: v._flag,
2353 readonly: v._flag,
2354 multiple: v._flag,
2355 onload: v._getEv,
2356 onunload: v._getEv,
2357 onclick: v._getEv,
2358 ondblclick: v._getEv,
2359 onmousedown: v._getEv,
2360 onmouseup: v._getEv,
2361 onmouseover: v._getEv,
2362 onmousemove: v._getEv,
2363 onmouseout: v._getEv,
2364 onfocus: v._getEv,
2365 onblur: v._getEv,
2366 onkeypress: v._getEv,
2367 onkeydown: v._getEv,
2368 onkeyup: v._getEv,
2369 onsubmit: v._getEv,
2370 onreset: v._getEv,
2371 onselect: v._getEv,
2372 onchange: v._getEv
2373 });
2374 })(Element._attributeTranslations.read.values);
2375}
2376
2377else if (Prototype.Browser.Gecko && /rv:1\.8\.0/.test(navigator.userAgent)) {
2378 Element.Methods.setOpacity = function(element, value) {
2379 element = $(element);
2380 element.style.opacity = (value == 1) ? 0.999999 :
2381 (value === '') ? '' : (value < 0.00001) ? 0 : value;
2382 return element;
2383 };
2384}
2385
2386else if (Prototype.Browser.WebKit) {
2387 Element.Methods.setOpacity = function(element, value) {
2388 element = $(element);
2389 element.style.opacity = (value == 1 || value === '') ? '' :
2390 (value < 0.00001) ? 0 : value;
2391
2392 if (value == 1)
2393 if(element.tagName == 'IMG' && element.width) {
2394 element.width++; element.width--;
2395 } else try {
2396 var n = document.createTextNode(' ');
2397 element.appendChild(n);
2398 element.removeChild(n);
2399 } catch (e) { }
2400
2401 return element;
2402 };
2403
2404 // Safari returns margins on body which is incorrect if the child is absolutely
2405 // positioned. For performance reasons, redefine Element#cumulativeOffset for
2406 // KHTML/WebKit only.
2407 Element.Methods.cumulativeOffset = function(element) {
2408 var valueT = 0, valueL = 0;
2409 do {
2410 valueT += element.offsetTop || 0;
2411 valueL += element.offsetLeft || 0;
2412 if (element.offsetParent == document.body)
2413 if (Element.getStyle(element, 'position') == 'absolute') break;
2414
2415 element = element.offsetParent;
2416 } while (element);
2417
2418 return Element._returnOffset(valueL, valueT);
2419 };
2420}
2421
2422if (Prototype.Browser.IE || Prototype.Browser.Opera) {
2423 // IE and Opera are missing .innerHTML support for TABLE-related and SELECT elements
2424 Element.Methods.update = function(element, content) {
2425 element = $(element);
2426
2427 if (content && content.toElement) content = content.toElement();
2428 if (Object.isElement(content)) return element.update().insert(content);
2429
2430 content = Object.toHTML(content);
2431 var tagName = element.tagName.toUpperCase();
2432
2433 if (tagName in Element._insertionTranslations.tags) {
2434 $A(element.childNodes).each(function(node) { element.removeChild(node) });
2435 Element._getContentFromAnonymousElement(tagName, content.stripScripts())
2436 .each(function(node) { element.appendChild(node) });
2437 }
2438 else element.innerHTML = content.stripScripts();
2439
2440 content.evalScripts.bind(content).defer();
2441 return element;
2442 };
2443}
2444
2445if ('outerHTML' in document.createElement('div')) {
2446 Element.Methods.replace = function(element, content) {
2447 element = $(element);
2448
2449 if (content && content.toElement) content = content.toElement();
2450 if (Object.isElement(content)) {
2451 element.parentNode.replaceChild(content, element);
2452 return element;
2453 }
2454
2455 content = Object.toHTML(content);
2456 var parent = element.parentNode, tagName = parent.tagName.toUpperCase();
2457
2458 if (Element._insertionTranslations.tags[tagName]) {
2459 var nextSibling = element.next();
2460 var fragments = Element._getContentFromAnonymousElement(tagName, content.stripScripts());
2461 parent.removeChild(element);
2462 if (nextSibling)
2463 fragments.each(function(node) { parent.insertBefore(node, nextSibling) });
2464 else
2465 fragments.each(function(node) { parent.appendChild(node) });
2466 }
2467 else element.outerHTML = content.stripScripts();
2468
2469 content.evalScripts.bind(content).defer();
2470 return element;
2471 };
2472}
2473
2474Element._returnOffset = function(l, t) {
2475 var result = [l, t];
2476 result.left = l;
2477 result.top = t;
2478 return result;
2479};
2480
2481Element._getContentFromAnonymousElement = function(tagName, html) {
2482 var div = new Element('div'), t = Element._insertionTranslations.tags[tagName];
2483 if (t) {
2484 div.innerHTML = t[0] + html + t[1];
2485 t[2].times(function() { div = div.firstChild });
2486 } else div.innerHTML = html;
2487 return $A(div.childNodes);
2488};
2489
2490Element._insertionTranslations = {
2491 before: function(element, node) {
2492 element.parentNode.insertBefore(node, element);
2493 },
2494 top: function(element, node) {
2495 element.insertBefore(node, element.firstChild);
2496 },
2497 bottom: function(element, node) {
2498 element.appendChild(node);
2499 },
2500 after: function(element, node) {
2501 element.parentNode.insertBefore(node, element.nextSibling);
2502 },
2503 tags: {
2504 TABLE: ['<table>', '</table>', 1],
2505 TBODY: ['<table><tbody>', '</tbody></table>', 2],
2506 TR: ['<table><tbody><tr>', '</tr></tbody></table>', 3],
2507 TD: ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4],
2508 SELECT: ['<select>', '</select>', 1]
2509 }
2510};
2511
2512(function() {
2513 Object.extend(this.tags, {
2514 THEAD: this.tags.TBODY,
2515 TFOOT: this.tags.TBODY,
2516 TH: this.tags.TD
2517 });
2518}).call(Element._insertionTranslations);
2519
2520Element.Methods.Simulated = {
2521 hasAttribute: function(element, attribute) {
2522 attribute = Element._attributeTranslations.has[attribute] || attribute;
2523 var node = $(element).getAttributeNode(attribute);
2524 return node && node.specified;
2525 }
2526};
2527
2528Element.Methods.ByTag = { };
2529
2530Object.extend(Element, Element.Methods);
2531
2532if (!Prototype.BrowserFeatures.ElementExtensions &&
2533 document.createElement('div').__proto__) {
2534 window.HTMLElement = { };
2535 window.HTMLElement.prototype = document.createElement('div').__proto__;
2536 Prototype.BrowserFeatures.ElementExtensions = true;
2537}
2538
2539Element.extend = (function() {
2540 if (Prototype.BrowserFeatures.SpecificElementExtensions)
2541 return Prototype.K;
2542
2543 var Methods = { }, ByTag = Element.Methods.ByTag;
2544
2545 var extend = Object.extend(function(element) {
2546 if (!element || element._extendedByPrototype ||
2547 element.nodeType != 1 || element == window) return element;
2548
2549 var methods = Object.clone(Methods),
2550 tagName = element.tagName, property, value;
2551
2552 // extend methods for specific tags
2553 if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);
2554
2555 for (property in methods) {
2556 value = methods[property];
2557 if (Object.isFunction(value) && !(property in element))
2558 element[property] = value.methodize();
2559 }
2560
2561 element._extendedByPrototype = Prototype.emptyFunction;
2562 return element;
2563
2564 }, {
2565 refresh: function() {
2566 // extend methods for all tags (Safari doesn't need this)
2567 if (!Prototype.BrowserFeatures.ElementExtensions) {
2568 Object.extend(Methods, Element.Methods);
2569 Object.extend(Methods, Element.Methods.Simulated);
2570 }
2571 }
2572 });
2573
2574 extend.refresh();
2575 return extend;
2576})();
2577
2578Element.hasAttribute = function(element, attribute) {
2579 if (element.hasAttribute) return element.hasAttribute(attribute);
2580 return Element.Methods.Simulated.hasAttribute(element, attribute);
2581};
2582
2583Element.addMethods = function(methods) {
2584 var F = Prototype.BrowserFeatures, T = Element.Methods.ByTag;
2585
2586 if (!methods) {
2587 Object.extend(Form, Form.Methods);
2588 Object.extend(Form.Element, Form.Element.Methods);
2589 Object.extend(Element.Methods.ByTag, {
2590 "FORM": Object.clone(Form.Methods),
2591 "INPUT": Object.clone(Form.Element.Methods),
2592 "SELECT": Object.clone(Form.Element.Methods),
2593 "TEXTAREA": Object.clone(Form.Element.Methods)
2594 });
2595 }
2596
2597 if (arguments.length == 2) {
2598 var tagName = methods;
2599 methods = arguments[1];
2600 }
2601
2602 if (!tagName) Object.extend(Element.Methods, methods || { });
2603 else {
2604 if (Object.isArray(tagName)) tagName.each(extend);
2605 else extend(tagName);
2606 }
2607
2608 function extend(tagName) {
2609 tagName = tagName.toUpperCase();
2610 if (!Element.Methods.ByTag[tagName])
2611 Element.Methods.ByTag[tagName] = { };
2612 Object.extend(Element.Methods.ByTag[tagName], methods);
2613 }
2614
2615 function copy(methods, destination, onlyIfAbsent) {
2616 onlyIfAbsent = onlyIfAbsent || false;
2617 for (var property in methods) {
2618 var value = methods[property];
2619 if (!Object.isFunction(value)) continue;
2620 if (!onlyIfAbsent || !(property in destination))
2621 destination[property] = value.methodize();
2622 }
2623 }
2624
2625 function findDOMClass(tagName) {
2626 var klass;
2627 var trans = {
2628 "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",
2629 "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": "DList",
2630 "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": "Heading",
2631 "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",
2632 "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", "CAPTION":
2633 "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":
2634 "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", "TR":
2635 "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":
2636 "FrameSet", "IFRAME": "IFrame"
2637 };
2638 if (trans[tagName]) klass = 'HTML' + trans[tagName] + 'Element';
2639 if (window[klass]) return window[klass];
2640 klass = 'HTML' + tagName + 'Element';
2641 if (window[klass]) return window[klass];
2642 klass = 'HTML' + tagName.capitalize() + 'Element';
2643 if (window[klass]) return window[klass];
2644
2645 window[klass] = { };
2646 window[klass].prototype = document.createElement(tagName).__proto__;
2647 return window[klass];
2648 }
2649
2650 if (F.ElementExtensions) {
2651 copy(Element.Methods, HTMLElement.prototype);
2652 copy(Element.Methods.Simulated, HTMLElement.prototype, true);
2653 }
2654
2655 if (F.SpecificElementExtensions) {
2656 for (var tag in Element.Methods.ByTag) {
2657 var klass = findDOMClass(tag);
2658 if (Object.isUndefined(klass)) continue;
2659 copy(T[tag], klass.prototype);
2660 }
2661 }
2662
2663 Object.extend(Element, Element.Methods);
2664 delete Element.ByTag;
2665
2666 if (Element.extend.refresh) Element.extend.refresh();
2667 Element.cache = { };
2668};
2669
2670document.viewport = {
2671 getDimensions: function() {
2672 var dimensions = { };
2673 var B = Prototype.Browser;
2674 $w('width height').each(function(d) {
2675 var D = d.capitalize();
2676 dimensions[d] = (B.WebKit && !document.evaluate) ? self['inner' + D] :
2677 (B.Opera) ? document.body['client' + D] : document.documentElement['client' + D];
2678 });
2679 return dimensions;
2680 },
2681
2682 getWidth: function() {
2683 return this.getDimensions().width;
2684 },
2685
2686 getHeight: function() {
2687 return this.getDimensions().height;
2688 },
2689
2690 getScrollOffsets: function() {
2691 return Element._returnOffset(
2692 window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
2693 window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop);
2694 }
2695};
2696/* Portions of the Selector class are derived from Jack Slocum’s DomQuery,
2697 * part of YUI-Ext version 0.40, distributed under the terms of an MIT-style
2698 * license. Please see http://www.yui-ext.com/ for more information. */
2699
2700var Selector = Class.create({
2701 initialize: function(expression) {
2702 this.expression = expression.strip();
2703 this.compileMatcher();
2704 },
2705
2706 shouldUseXPath: function() {
2707 if (!Prototype.BrowserFeatures.XPath) return false;
2708
2709 var e = this.expression;
2710
2711 // Safari 3 chokes on :*-of-type and :empty
2712 if (Prototype.Browser.WebKit &&
2713 (e.include("-of-type") || e.include(":empty")))
2714 return false;
2715
2716 // XPath can't do namespaced attributes, nor can it read
2717 // the "checked" property from DOM nodes
2718 if ((/(\[[\w-]*?:|:checked)/).test(this.expression))
2719 return false;
2720
2721 return true;
2722 },
2723
2724 compileMatcher: function() {
2725 if (this.shouldUseXPath())
2726 return this.compileXPathMatcher();
2727
2728 var e = this.expression, ps = Selector.patterns, h = Selector.handlers,
2729 c = Selector.criteria, le, p, m;
2730
2731 if (Selector._cache[e]) {
2732 this.matcher = Selector._cache[e];
2733 return;
2734 }
2735
2736 this.matcher = ["this.matcher = function(root) {",
2737 "var r = root, h = Selector.handlers, c = false, n;"];
2738
2739 while (e && le != e && (/\S/).test(e)) {
2740 le = e;
2741 for (var i in ps) {
2742 p = ps[i];
2743 if (m = e.match(p)) {
2744 this.matcher.push(Object.isFunction(c[i]) ? c[i](m) :
2745 new Template(c[i]).evaluate(m));
2746 e = e.replace(m[0], '');
2747 break;
2748 }
2749 }
2750 }
2751
2752 this.matcher.push("return h.unique(n);\n}");
2753 eval(this.matcher.join('\n'));
2754 Selector._cache[this.expression] = this.matcher;
2755 },
2756
2757 compileXPathMatcher: function() {
2758 var e = this.expression, ps = Selector.patterns,
2759 x = Selector.xpath, le, m;
2760
2761 if (Selector._cache[e]) {
2762 this.xpath = Selector._cache[e]; return;
2763 }
2764
2765 this.matcher = ['.//*'];
2766 while (e && le != e && (/\S/).test(e)) {
2767 le = e;
2768 for (var i in ps) {
2769 if (m = e.match(ps[i])) {
2770 this.matcher.push(Object.isFunction(x[i]) ? x[i](m) :
2771 new Template(x[i]).evaluate(m));
2772 e = e.replace(m[0], '');
2773 break;
2774 }
2775 }
2776 }
2777
2778 this.xpath = this.matcher.join('');
2779 Selector._cache[this.expression] = this.xpath;
2780 },
2781
2782 findElements: function(root) {
2783 root = root || document;
2784 if (this.xpath) return document._getElementsByXPath(this.xpath, root);
2785 return this.matcher(root);
2786 },
2787
2788 match: function(element) {
2789 this.tokens = [];
2790
2791 var e = this.expression, ps = Selector.patterns, as = Selector.assertions;
2792 var le, p, m;
2793
2794 while (e && le !== e && (/\S/).test(e)) {
2795 le = e;
2796 for (var i in ps) {
2797 p = ps[i];
2798 if (m = e.match(p)) {
2799 // use the Selector.assertions methods unless the selector
2800 // is too complex.
2801 if (as[i]) {
2802 this.tokens.push([i, Object.clone(m)]);
2803 e = e.replace(m[0], '');
2804 } else {
2805 // reluctantly do a document-wide search
2806 // and look for a match in the array
2807 return this.findElements(document).include(element);
2808 }
2809 }
2810 }
2811 }
2812
2813 var match = true, name, matches;
2814 for (var i = 0, token; token = this.tokens[i]; i++) {
2815 name = token[0], matches = token[1];
2816 if (!Selector.assertions[name](element, matches)) {
2817 match = false; break;
2818 }
2819 }
2820
2821 return match;
2822 },
2823
2824 toString: function() {
2825 return this.expression;
2826 },
2827
2828 inspect: function() {
2829 return "#<Selector:" + this.expression.inspect() + ">";
2830 }
2831});
2832
2833Object.extend(Selector, {
2834 _cache: { },
2835
2836 xpath: {
2837 descendant: "//*",
2838 child: "/*",
2839 adjacent: "/following-sibling::*[1]",
2840 laterSibling: '/following-sibling::*',
2841 tagName: function(m) {
2842 if (m[1] == '*') return '';
2843 return "[local-name()='" + m[1].toLowerCase() +
2844 "' or local-name()='" + m[1].toUpperCase() + "']";
2845 },
2846 className: "[contains(concat(' ', @class, ' '), ' #{1} ')]",
2847 id: "[@id='#{1}']",
2848 attrPresence: function(m) {
2849 m[1] = m[1].toLowerCase();
2850 return new Template("[@#{1}]").evaluate(m);
2851 },
2852 attr: function(m) {
2853 m[1] = m[1].toLowerCase();
2854 m[3] = m[5] || m[6];
2855 return new Template(Selector.xpath.operators[m[2]]).evaluate(m);
2856 },
2857 pseudo: function(m) {
2858 var h = Selector.xpath.pseudos[m[1]];
2859 if (!h) return '';
2860 if (Object.isFunction(h)) return h(m);
2861 return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);
2862 },
2863 operators: {
2864 '=': "[@#{1}='#{3}']",
2865 '!=': "[@#{1}!='#{3}']",
2866 '^=': "[starts-with(@#{1}, '#{3}')]",
2867 '$=': "[substring(@#{1}, (string-length(@#{1}) - string-length('#{3}') + 1))='#{3}']",
2868 '*=': "[contains(@#{1}, '#{3}')]",
2869 '~=': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",
2870 '|=': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"
2871 },
2872 pseudos: {
2873 'first-child': '[not(preceding-sibling::*)]',
2874 'last-child': '[not(following-sibling::*)]',
2875 'only-child': '[not(preceding-sibling::* or following-sibling::*)]',
2876 'empty': "[count(*) = 0 and (count(text()) = 0 or translate(text(), ' \t\r\n', '') = '')]",
2877 'checked': "[@checked]",
2878 'disabled': "[@disabled]",
2879 'enabled': "[not(@disabled)]",
2880 'not': function(m) {
2881 var e = m[6], p = Selector.patterns,
2882 x = Selector.xpath, le, v;
2883
2884 var exclusion = [];
2885 while (e && le != e && (/\S/).test(e)) {
2886 le = e;
2887 for (var i in p) {
2888 if (m = e.match(p[i])) {
2889 v = Object.isFunction(x[i]) ? x[i](m) : new Template(x[i]).evaluate(m);
2890 exclusion.push("(" + v.substring(1, v.length - 1) + ")");
2891 e = e.replace(m[0], '');
2892 break;
2893 }
2894 }
2895 }
2896 return "[not(" + exclusion.join(" and ") + ")]";
2897 },
2898 'nth-child': function(m) {
2899 return Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);
2900 },
2901 'nth-last-child': function(m) {
2902 return Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);
2903 },
2904 'nth-of-type': function(m) {
2905 return Selector.xpath.pseudos.nth("position() ", m);
2906 },
2907 'nth-last-of-type': function(m) {
2908 return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", m);
2909 },
2910 'first-of-type': function(m) {
2911 m[6] = "1"; return Selector.xpath.pseudos['nth-of-type'](m);
2912 },
2913 'last-of-type': function(m) {
2914 m[6] = "1"; return Selector.xpath.pseudos['nth-last-of-type'](m);
2915 },
2916 'only-of-type': function(m) {
2917 var p = Selector.xpath.pseudos; return p['first-of-type'](m) + p['last-of-type'](m);
2918 },
2919 nth: function(fragment, m) {
2920 var mm, formula = m[6], predicate;
2921 if (formula == 'even') formula = '2n+0';
2922 if (formula == 'odd') formula = '2n+1';
2923 if (mm = formula.match(/^(\d+)$/)) // digit only
2924 return '[' + fragment + "= " + mm[1] + ']';
2925 if (mm = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
2926 if (mm[1] == "-") mm[1] = -1;
2927 var a = mm[1] ? Number(mm[1]) : 1;
2928 var b = mm[2] ? Number(mm[2]) : 0;
2929 predicate = "[((#{fragment} - #{b}) mod #{a} = 0) and " +
2930 "((#{fragment} - #{b}) div #{a} >= 0)]";
2931 return new Template(predicate).evaluate({
2932 fragment: fragment, a: a, b: b });
2933 }
2934 }
2935 }
2936 },
2937
2938 criteria: {
2939 tagName: 'n = h.tagName(n, r, "#{1}", c); c = false;',
2940 className: 'n = h.className(n, r, "#{1}", c); c = false;',
2941 id: 'n = h.id(n, r, "#{1}", c); c = false;',
2942 attrPresence: 'n = h.attrPresence(n, r, "#{1}", c); c = false;',
2943 attr: function(m) {
2944 m[3] = (m[5] || m[6]);
2945 return new Template('n = h.attr(n, r, "#{1}", "#{3}", "#{2}", c); c = false;').evaluate(m);
2946 },
2947 pseudo: function(m) {
2948 if (m[6]) m[6] = m[6].replace(/"/g, '\\"');
2949 return new Template('n = h.pseudo(n, "#{1}", "#{6}", r, c); c = false;').evaluate(m);
2950 },
2951 descendant: 'c = "descendant";',
2952 child: 'c = "child";',
2953 adjacent: 'c = "adjacent";',
2954 laterSibling: 'c = "laterSibling";'
2955 },
2956
2957 patterns: {
2958 // combinators must be listed first
2959 // (and descendant needs to be last combinator)
2960 laterSibling: /^\s*~\s*/,
2961 child: /^\s*>\s*/,
2962 adjacent: /^\s*\+\s*/,
2963 descendant: /^\s/,
2964
2965 // selectors follow
2966 tagName: /^\s*(\*|[\w\-]+)(\b|$)?/,
2967 id: /^#([\w\-\*]+)(\b|$)/,
2968 className: /^\.([\w\-\*]+)(\b|$)/,
2969 pseudo:
2970/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis)abled|not)(\((.*?)\))?(\b|$|(?=\s|[:+~>]))/,
2971 attrPresence: /^\[([\w]+)\]/,
2972 attr: /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/
2973 },
2974
2975 // for Selector.match and Element#match
2976 assertions: {
2977 tagName: function(element, matches) {
2978 return matches[1].toUpperCase() == element.tagName.toUpperCase();
2979 },
2980
2981 className: function(element, matches) {
2982 return Element.hasClassName(element, matches[1]);
2983 },
2984
2985 id: function(element, matches) {
2986 return element.id === matches[1];
2987 },
2988
2989 attrPresence: function(element, matches) {
2990 return Element.hasAttribute(element, matches[1]);
2991 },
2992
2993 attr: function(element, matches) {
2994 var nodeValue = Element.readAttribute(element, matches[1]);
2995 return nodeValue && Selector.operators[matches[2]](nodeValue, matches[5] || matches[6]);
2996 }
2997 },
2998
2999 handlers: {
3000 // UTILITY FUNCTIONS
3001 // joins two collections
3002 concat: function(a, b) {
3003 for (var i = 0, node; node = b[i]; i++)
3004 a.push(node);
3005 return a;
3006 },
3007
3008 // marks an array of nodes for counting
3009 mark: function(nodes) {
3010 var _true = Prototype.emptyFunction;
3011 for (var i = 0, node; node = nodes[i]; i++)
3012 node._countedByPrototype = _true;
3013 return nodes;
3014 },
3015
3016 unmark: function(nodes) {
3017 for (var i = 0, node; node = nodes[i]; i++)
3018 node._countedByPrototype = undefined;
3019 return nodes;
3020 },
3021
3022 // mark each child node with its position (for nth calls)
3023 // "ofType" flag indicates whether we're indexing for nth-of-type
3024 // rather than nth-child
3025 index: function(parentNode, reverse, ofType) {
3026 parentNode._countedByPrototype = Prototype.emptyFunction;
3027 if (reverse) {
3028 for (var nodes = parentNode.childNodes, i = nodes.length - 1, j = 1; i >= 0; i--) {
3029 var node = nodes[i];
3030 if (node.nodeType == 1 && (!ofType || node._countedByPrototype)) node.nodeIndex = j++;
3031 }
3032 } else {
3033 for (var i = 0, j = 1, nodes = parentNode.childNodes; node = nodes[i]; i++)
3034 if (node.nodeType == 1 && (!ofType || node._countedByPrototype)) node.nodeIndex = j++;
3035 }
3036 },
3037
3038 // filters out duplicates and extends all nodes
3039 unique: function(nodes) {
3040 if (nodes.length == 0) return nodes;
3041 var results = [], n;
3042 for (var i = 0, l = nodes.length; i < l; i++)
3043 if (!(n = nodes[i])._countedByPrototype) {
3044 n._countedByPrototype = Prototype.emptyFunction;
3045 results.push(Element.extend(n));
3046 }
3047 return Selector.handlers.unmark(results);
3048 },
3049
3050 // COMBINATOR FUNCTIONS
3051 descendant: function(nodes) {
3052 var h = Selector.handlers;
3053 for (var i = 0, results = [], node; node = nodes[i]; i++)
3054 h.concat(results, node.getElementsByTagName('*'));
3055 return results;
3056 },
3057
3058 child: function(nodes) {
3059 var h = Selector.handlers;
3060 for (var i = 0, results = [], node; node = nodes[i]; i++) {
3061 for (var j = 0, child; child = node.childNodes[j]; j++)
3062 if (child.nodeType == 1 && child.tagName != '!') results.push(child);
3063 }
3064 return results;
3065 },
3066
3067 adjacent: function(nodes) {
3068 for (var i = 0, results = [], node; node = nodes[i]; i++) {
3069 var next = this.nextElementSibling(node);
3070 if (next) results.push(next);
3071 }
3072 return results;
3073 },
3074
3075 laterSibling: function(nodes) {
3076 var h = Selector.handlers;
3077 for (var i = 0, results = [], node; node = nodes[i]; i++)
3078 h.concat(results, Element.nextSiblings(node));
3079 return results;
3080 },
3081
3082 nextElementSibling: function(node) {
3083 while (node = node.nextSibling)
3084 if (node.nodeType == 1) return node;
3085 return null;
3086 },
3087
3088 previousElementSibling: function(node) {
3089 while (node = node.previousSibling)
3090 if (node.nodeType == 1) return node;
3091 return null;
3092 },
3093
3094 // TOKEN FUNCTIONS
3095 tagName: function(nodes, root, tagName, combinator) {
3096 var uTagName = tagName.toUpperCase();
3097 var results = [], h = Selector.handlers;
3098 if (nodes) {
3099 if (combinator) {
3100 // fastlane for ordinary descendant combinators
3101 if (combinator == "descendant") {
3102 for (var i = 0, node; node = nodes[i]; i++)
3103 h.concat(results, node.getElementsByTagName(tagName));
3104 return results;
3105 } else nodes = this[combinator](nodes);
3106 if (tagName == "*") return nodes;
3107 }
3108 for (var i = 0, node; node = nodes[i]; i++)
3109 if (node.tagName.toUpperCase() === uTagName) results.push(node);
3110 return results;
3111 } else return root.getElementsByTagName(tagName);
3112 },
3113
3114 id: function(nodes, root, id, combinator) {
3115 var targetNode = $(id), h = Selector.handlers;
3116 if (!targetNode) return [];
3117 if (!nodes && root == document) return [targetNode];
3118 if (nodes) {
3119 if (combinator) {
3120 if (combinator == 'child') {
3121 for (var i = 0, node; node = nodes[i]; i++)
3122 if (targetNode.parentNode == node) return [targetNode];
3123 } else if (combinator == 'descendant') {
3124 for (var i = 0, node; node = nodes[i]; i++)
3125 if (Element.descendantOf(targetNode, node)) return [targetNode];
3126 } else if (combinator == 'adjacent') {
3127 for (var i = 0, node; node = nodes[i]; i++)
3128 if (Selector.handlers.previousElementSibling(targetNode) == node)
3129 return [targetNode];
3130 } else nodes = h[combinator](nodes);
3131 }
3132 for (var i = 0, node; node = nodes[i]; i++)
3133 if (node == targetNode) return [targetNode];
3134 return [];
3135 }
3136 return (targetNode && Element.descendantOf(targetNode, root)) ? [targetNode] : [];
3137 },
3138
3139 className: function(nodes, root, className, combinator) {
3140 if (nodes && combinator) nodes = this[combinator](nodes);
3141 return Selector.handlers.byClassName(nodes, root, className);
3142 },
3143
3144 byClassName: function(nodes, root, className) {
3145 if (!nodes) nodes = Selector.handlers.descendant([root]);
3146 var needle = ' ' + className + ' ';
3147 for (var i = 0, results = [], node, nodeClassName; node = nodes[i]; i++) {
3148 nodeClassName = node.className;
3149 if (nodeClassName.length == 0) continue;
3150 if (nodeClassName == className || (' ' + nodeClassName + ' ').include(needle))
3151 results.push(node);
3152 }
3153 return results;
3154 },
3155
3156 attrPresence: function(nodes, root, attr, combinator) {
3157 if (!nodes) nodes = root.getElementsByTagName("*");
3158 if (nodes && combinator) nodes = this[combinator](nodes);
3159 var results = [];
3160 for (var i = 0, node; node = nodes[i]; i++)
3161 if (Element.hasAttribute(node, attr)) results.push(node);
3162 return results;
3163 },
3164
3165 attr: function(nodes, root, attr, value, operator, combinator) {
3166 if (!nodes) nodes = root.getElementsByTagName("*");
3167 if (nodes && combinator) nodes = this[combinator](nodes);
3168 var handler = Selector.operators[operator], results = [];
3169 for (var i = 0, node; node = nodes[i]; i++) {
3170 var nodeValue = Element.readAttribute(node, attr);
3171 if (nodeValue === null) continue;
3172 if (handler(nodeValue, value)) results.push(node);
3173 }
3174 return results;
3175 },
3176
3177 pseudo: function(nodes, name, value, root, combinator) {
3178 if (nodes && combinator) nodes = this[combinator](nodes);
3179 if (!nodes) nodes = root.getElementsByTagName("*");
3180 return Selector.pseudos[name](nodes, value, root);
3181 }
3182 },
3183
3184 pseudos: {
3185 'first-child': function(nodes, value, root) {
3186 for (var i = 0, results = [], node; node = nodes[i]; i++) {
3187 if (Selector.handlers.previousElementSibling(node)) continue;
3188 results.push(node);
3189 }
3190 return results;
3191 },
3192 'last-child': function(nodes, value, root) {
3193 for (var i = 0, results = [], node; node = nodes[i]; i++) {
3194 if (Selector.handlers.nextElementSibling(node)) continue;
3195 results.push(node);
3196 }
3197 return results;
3198 },
3199 'only-child': function(nodes, value, root) {
3200 var h = Selector.handlers;
3201 for (var i = 0, results = [], node; node = nodes[i]; i++)
3202 if (!h.previousElementSibling(node) && !h.nextElementSibling(node))
3203 results.push(node);
3204 return results;
3205 },
3206 'nth-child': function(nodes, formula, root) {
3207 return Selector.pseudos.nth(nodes, formula, root);
3208 },
3209 'nth-last-child': function(nodes, formula, root) {
3210 return Selector.pseudos.nth(nodes, formula, root, true);
3211 },
3212 'nth-of-type': function(nodes, formula, root) {
3213 return Selector.pseudos.nth(nodes, formula, root, false, true);
3214 },
3215 'nth-last-of-type': function(nodes, formula, root) {
3216 return Selector.pseudos.nth(nodes, formula, root, true, true);
3217 },
3218 'first-of-type': function(nodes, formula, root) {
3219 return Selector.pseudos.nth(nodes, "1", root, false, true);
3220 },
3221 'last-of-type': function(nodes, formula, root) {
3222 return Selector.pseudos.nth(nodes, "1", root, true, true);
3223 },
3224 'only-of-type': function(nodes, formula, root) {
3225 var p = Selector.pseudos;
3226 return p['last-of-type'](p['first-of-type'](nodes, formula, root), formula, root);
3227 },
3228
3229 // handles the an+b logic
3230 getIndices: function(a, b, total) {
3231 if (a == 0) return b > 0 ? [b] : [];
3232 return $R(1, total).inject([], function(memo, i) {
3233 if (0 == (i - b) % a && (i - b) / a >= 0) memo.push(i);
3234 return memo;
3235 });
3236 },
3237
3238 // handles nth(-last)-child, nth(-last)-of-type, and (first|last)-of-type
3239 nth: function(nodes, formula, root, reverse, ofType) {
3240 if (nodes.length == 0) return [];
3241 if (formula == 'even') formula = '2n+0';
3242 if (formula == 'odd') formula = '2n+1';
3243 var h = Selector.handlers, results = [], indexed = [], m;
3244 h.mark(nodes);
3245 for (var i = 0, node; node = nodes[i]; i++) {
3246 if (!node.parentNode._countedByPrototype) {
3247 h.index(node.parentNode, reverse, ofType);
3248 indexed.push(node.parentNode);
3249 }
3250 }
3251 if (formula.match(/^\d+$/)) { // just a number
3252 formula = Number(formula);
3253 for (var i = 0, node; node = nodes[i]; i++)
3254 if (node.nodeIndex == formula) results.push(node);
3255 } else if (m = formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b
3256 if (m[1] == "-") m[1] = -1;
3257 var a = m[1] ? Number(m[1]) : 1;
3258 var b = m[2] ? Number(m[2]) : 0;
3259 var indices = Selector.pseudos.getIndices(a, b, nodes.length);
3260 for (var i = 0, node, l = indices.length; node = nodes[i]; i++) {
3261 for (var j = 0; j < l; j++)
3262 if (node.nodeIndex == indices[j]) results.push(node);
3263 }
3264 }
3265 h.unmark(nodes);
3266 h.unmark(indexed);
3267 return results;
3268 },
3269
3270 'empty': function(nodes, value, root) {
3271 for (var i = 0, results = [], node; node = nodes[i]; i++) {
3272 // IE treats comments as element nodes
3273 if (node.tagName == '!' || (node.firstChild && !node.innerHTML.match(/^\s*$/))) continue;
3274 results.push(node);
3275 }
3276 return results;
3277 },
3278
3279 'not': function(nodes, selector, root) {
3280 var h = Selector.handlers, selectorType, m;
3281 var exclusions = new Selector(selector).findElements(root);
3282 h.mark(exclusions);
3283 for (var i = 0, results = [], node; node = nodes[i]; i++)
3284 if (!node._countedByPrototype) results.push(node);
3285 h.unmark(exclusions);
3286 return results;
3287 },
3288
3289 'enabled': function(nodes, value, root) {
3290 for (var i = 0, results = [], node; node = nodes[i]; i++)
3291 if (!node.disabled) results.push(node);
3292 return results;
3293 },
3294
3295 'disabled': function(nodes, value, root) {
3296 for (var i = 0, results = [], node; node = nodes[i]; i++)
3297 if (node.disabled) results.push(node);
3298 return results;
3299 },
3300
3301 'checked': function(nodes, value, root) {
3302 for (var i = 0, results = [], node; node = nodes[i]; i++)
3303 if (node.checked) results.push(node);
3304 return results;
3305 }
3306 },
3307
3308 operators: {
3309 '=': function(nv, v) { return nv == v; },
3310 '!=': function(nv, v) { return nv != v; },
3311 '^=': function(nv, v) { return nv.startsWith(v); },
3312 '$=': function(nv, v) { return nv.endsWith(v); },
3313 '*=': function(nv, v) { return nv.include(v); },
3314 '~=': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + ' '); },
3315 '|=': function(nv, v) { return ('-' + nv.toUpperCase() + '-').include('-' + v.toUpperCase() + '-'); }
3316 },
3317
3318 split: function(expression) {
3319 var expressions = [];
3320 expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) {
3321 expressions.push(m[1].strip());
3322 });
3323 return expressions;
3324 },
3325
3326 matchElements: function(elements, expression) {
3327 var matches = $$(expression), h = Selector.handlers;
3328 h.mark(matches);
3329 for (var i = 0, results = [], element; element = elements[i]; i++)
3330 if (element._countedByPrototype) results.push(element);
3331 h.unmark(matches);
3332 return results;
3333 },
3334
3335 findElement: function(elements, expression, index) {
3336 if (Object.isNumber(expression)) {
3337 index = expression; expression = false;
3338 }
3339 return Selector.matchElements(elements, expression || '*')[index || 0];
3340 },
3341
3342 findChildElements: function(element, expressions) {
3343 expressions = Selector.split(expressions.join(','));
3344 var results = [], h = Selector.handlers;
3345 for (var i = 0, l = expressions.length, selector; i < l; i++) {
3346 selector = new Selector(expressions[i].strip());
3347 h.concat(results, selector.findElements(element));
3348 }
3349 return (l > 1) ? h.unique(results) : results;
3350 }
3351});
3352
3353if (Prototype.Browser.IE) {
3354 Object.extend(Selector.handlers, {
3355 // IE returns comment nodes on getElementsByTagName("*").
3356 // Filter them out.
3357 concat: function(a, b) {
3358 for (var i = 0, node; node = b[i]; i++)
3359 if (node.tagName !== "!") a.push(node);
3360 return a;
3361 },
3362
3363 // IE improperly serializes _countedByPrototype in (inner|outer)HTML.
3364 unmark: function(nodes) {
3365 for (var i = 0, node; node = nodes[i]; i++)
3366 node.removeAttribute('_countedByPrototype');
3367 return nodes;
3368 }
3369 });
3370}
3371
3372function $$() {
3373 return Selector.findChildElements(document, $A(arguments));
3374}
3375var Form = {
3376 reset: function(form) {
3377 $(form).reset();
3378 return form;
3379 },
3380
3381 serializeElements: function(elements, options) {
3382 if (typeof options != 'object') options = { hash: !!options };
3383 else if (Object.isUndefined(options.hash)) options.hash = true;
3384 var key, value, submitted = false, submit = options.submit;
3385
3386 var data = elements.inject({ }, function(result, element) {
3387 if (!element.disabled && element.name) {
3388 key = element.name; value = $(element).getValue();
3389 if (value != null && (element.type != 'submit' || (!submitted &&
3390 submit !== false && (!submit || key == submit) && (submitted = true)))) {
3391 if (key in result) {
3392 // a key is already present; construct an array of values
3393 if (!Object.isArray(result[key])) result[key] = [result[key]];
3394 result[key].push(value);
3395 }
3396 else result[key] = value;
3397 }
3398 }
3399 return result;
3400 });
3401
3402 return options.hash ? data : Object.toQueryString(data);
3403 }
3404};
3405
3406
3407Form.Methods = {
3408 serialize: function(form, options) {
3409 return Form.serializeElements(Form.getElements(form), options);
3410 },
3411
3412 getElements: function(form) {
3413 return $A($(form).getElementsByTagName('*')).inject([],
3414 function(elements, child) {
3415 if (Form.Element.Serializers[child.tagName.toLowerCase()])
3416 elements.push(Element.extend(child));
3417 return elements;
3418 }
3419 );
3420 },
3421
3422 getInputs: function(form, typeName, name) {
3423 form = $(form);
3424 var inputs = form.getElementsByTagName('input');
3425
3426 if (!typeName && !name) return $A(inputs).map(Element.extend);
3427
3428 for (var i = 0, matchingInputs = [], length = inputs.length; i < length; i++) {
3429 var input = inputs[i];
3430 if ((typeName && input.type != typeName) || (name && input.name != name))
3431 continue;
3432 matchingInputs.push(Element.extend(input));
3433 }
3434
3435 return matchingInputs;
3436 },
3437
3438 disable: function(form) {
3439 form = $(form);
3440 Form.getElements(form).invoke('disable');
3441 return form;
3442 },
3443
3444 enable: function(form) {
3445 form = $(form);
3446 Form.getElements(form).invoke('enable');
3447 return form;
3448 },
3449
3450 findFirstElement: function(form) {
3451 var elements = $(form).getElements().findAll(function(element) {
3452 return 'hidden' != element.type && !element.disabled;
3453 });
3454 var firstByIndex = elements.findAll(function(element) {
3455 return element.hasAttribute('tabIndex') && element.tabIndex >= 0;
3456 }).sortBy(function(element) { return element.tabIndex }).first();
3457
3458 return firstByIndex ? firstByIndex : elements.find(function(element) {
3459 return ['input', 'select', 'textarea'].include(element.tagName.toLowerCase());
3460 });
3461 },
3462
3463 focusFirstElement: function(form) {
3464 form = $(form);
3465 form.findFirstElement().activate();
3466 return form;
3467 },
3468
3469 request: function(form, options) {
3470 form = $(form), options = Object.clone(options || { });
3471
3472 var params = options.parameters, action = form.readAttribute('action') || '';
3473 if (action.blank()) action = window.location.href;
3474 options.parameters = form.serialize(true);
3475
3476 if (params) {
3477 if (Object.isString(params)) params = params.toQueryParams();
3478 Object.extend(options.parameters, params);
3479 }
3480
3481 if (form.hasAttribute('method') && !options.method)
3482 options.method = form.method;
3483
3484 return new Ajax.Request(action, options);
3485 }
3486};
3487
3488/*--------------------------------------------------------------------------*/
3489
3490Form.Element = {
3491 focus: function(element) {
3492 $(element).focus();
3493 return element;
3494 },
3495
3496 select: function(element) {
3497 $(element).select();
3498 return element;
3499 }
3500};
3501
3502Form.Element.Methods = {
3503 serialize: function(element) {
3504 element = $(element);
3505 if (!element.disabled && element.name) {
3506 var value = element.getValue();
3507 if (value != undefined) {
3508 var pair = { };
3509 pair[element.name] = value;
3510 return Object.toQueryString(pair);
3511 }
3512 }
3513 return '';
3514 },
3515
3516 getValue: function(element) {
3517 element = $(element);
3518 var method = element.tagName.toLowerCase();
3519 return Form.Element.Serializers[method](element);
3520 },
3521
3522 setValue: function(element, value) {
3523 element = $(element);
3524 var method = element.tagName.toLowerCase();
3525 Form.Element.Serializers[method](element, value);
3526 return element;
3527 },
3528
3529 clear: function(element) {
3530 $(element).value = '';
3531 return element;
3532 },
3533
3534 present: function(element) {
3535 return $(element).value != '';
3536 },
3537
3538 activate: function(element) {
3539 element = $(element);
3540 try {
3541 element.focus();
3542 if (element.select && (element.tagName.toLowerCase() != 'input' ||
3543 !['button', 'reset', 'submit'].include(element.type)))
3544 element.select();
3545 } catch (e) { }
3546 return element;
3547 },
3548
3549 disable: function(element) {
3550 element = $(element);
3551 element.blur();
3552 element.disabled = true;
3553 return element;
3554 },
3555
3556 enable: function(element) {
3557 element = $(element);
3558 element.disabled = false;
3559 return element;
3560 }
3561};
3562
3563/*--------------------------------------------------------------------------*/
3564
3565var Field = Form.Element;
3566var $F = Form.Element.Methods.getValue;
3567
3568/*--------------------------------------------------------------------------*/
3569
3570Form.Element.Serializers = {
3571 input: function(element, value) {
3572 switch (element.type.toLowerCase()) {
3573 case 'checkbox':
3574 case 'radio':
3575 return Form.Element.Serializers.inputSelector(element, value);
3576 default:
3577 return Form.Element.Serializers.textarea(element, value);
3578 }
3579 },
3580
3581 inputSelector: function(element, value) {
3582 if (Object.isUndefined(value)) return element.checked ? element.value : null;
3583 else element.checked = !!value;
3584 },
3585
3586 textarea: function(element, value) {
3587 if (Object.isUndefined(value)) return element.value;
3588 else element.value = value;
3589 },
3590
3591 select: function(element, index) {
3592 if (Object.isUndefined(index))
3593 return this[element.type == 'select-one' ?
3594 'selectOne' : 'selectMany'](element);
3595 else {
3596 var opt, value, single = !Object.isArray(index);
3597 for (var i = 0, length = element.length; i < length; i++) {
3598 opt = element.options[i];
3599 value = this.optionValue(opt);
3600 if (single) {
3601 if (value == index) {
3602 opt.selected = true;
3603 return;
3604 }
3605 }
3606 else opt.selected = index.include(value);
3607 }
3608 }
3609 },
3610
3611 selectOne: function(element) {
3612 var index = element.selectedIndex;
3613 return index >= 0 ? this.optionValue(element.options[index]) : null;
3614 },
3615
3616 selectMany: function(element) {
3617 var values, length = element.length;
3618 if (!length) return null;
3619
3620 for (var i = 0, values = []; i < length; i++) {
3621 var opt = element.options[i];
3622 if (opt.selected) values.push(this.optionValue(opt));
3623 }
3624 return values;
3625 },
3626
3627 optionValue: function(opt) {
3628 // extend element because hasAttribute may not be native
3629 return Element.extend(opt).hasAttribute('value') ? opt.value : opt.text;
3630 }
3631};
3632
3633/*--------------------------------------------------------------------------*/
3634
3635Abstract.TimedObserver = Class.create(PeriodicalExecuter, {
3636 initialize: function($super, element, frequency, callback) {
3637 $super(callback, frequency);
3638 this.element = $(element);
3639 this.lastValue = this.getValue();
3640 },
3641
3642 execute: function() {
3643 var value = this.getValue();
3644 if (Object.isString(this.lastValue) && Object.isString(value) ?
3645 this.lastValue != value : String(this.lastValue) != String(value)) {
3646 this.callback(this.element, value);
3647 this.lastValue = value;
3648 }
3649 }
3650});
3651
3652Form.Element.Observer = Class.create(Abstract.TimedObserver, {
3653 getValue: function() {
3654 return Form.Element.getValue(this.element);
3655 }
3656});
3657
3658Form.Observer = Class.create(Abstract.TimedObserver, {
3659 getValue: function() {
3660 return Form.serialize(this.element);
3661 }
3662});
3663
3664/*--------------------------------------------------------------------------*/
3665
3666Abstract.EventObserver = Class.create({
3667 initialize: function(element, callback) {
3668 this.element = $(element);
3669 this.callback = callback;
3670
3671 this.lastValue = this.getValue();
3672 if (this.element.tagName.toLowerCase() == 'form')
3673 this.registerFormCallbacks();
3674 else
3675 this.registerCallback(this.element);
3676 },
3677
3678 onElementEvent: function() {
3679 var value = this.getValue();
3680 if (this.lastValue != value) {
3681 this.callback(this.element, value);
3682 this.lastValue = value;
3683 }
3684 },
3685
3686 registerFormCallbacks: function() {
3687 Form.getElements(this.element).each(this.registerCallback, this);
3688 },
3689
3690 registerCallback: function(element) {
3691 if (element.type) {
3692 switch (element.type.toLowerCase()) {
3693 case 'checkbox':
3694 case 'radio':
3695 Event.observe(element, 'click', this.onElementEvent.bind(this));
3696 break;
3697 default:
3698 Event.observe(element, 'change', this.onElementEvent.bind(this));
3699 break;
3700 }
3701 }
3702 }
3703});
3704
3705Form.Element.EventObserver = Class.create(Abstract.EventObserver, {
3706 getValue: function() {
3707 return Form.Element.getValue(this.element);
3708 }
3709});
3710
3711Form.EventObserver = Class.create(Abstract.EventObserver, {
3712 getValue: function() {
3713 return Form.serialize(this.element);
3714 }
3715});
3716if (!window.Event) var Event = { };
3717
3718Object.extend(Event, {
3719 KEY_BACKSPACE: 8,
3720 KEY_TAB: 9,
3721 KEY_RETURN: 13,
3722 KEY_ESC: 27,
3723 KEY_LEFT: 37,
3724 KEY_UP: 38,
3725 KEY_RIGHT: 39,
3726 KEY_DOWN: 40,
3727 KEY_DELETE: 46,
3728 KEY_HOME: 36,
3729 KEY_END: 35,
3730 KEY_PAGEUP: 33,
3731 KEY_PAGEDOWN: 34,
3732 KEY_INSERT: 45,
3733
3734 cache: { },
3735
3736 relatedTarget: function(event) {
3737 var element;
3738 switch(event.type) {
3739 case 'mouseover': element = event.fromElement; break;
3740 case 'mouseout': element = event.toElement; break;
3741 default: return null;
3742 }
3743 return Element.extend(element);
3744 }
3745});
3746
3747Event.Methods = (function() {
3748 var isButton;
3749
3750 if (Prototype.Browser.IE) {
3751 var buttonMap = { 0: 1, 1: 4, 2: 2 };
3752 isButton = function(event, code) {
3753 return event.button == buttonMap[code];
3754 };
3755
3756 } else if (Prototype.Browser.WebKit) {
3757 isButton = function(event, code) {
3758 switch (code) {
3759 case 0: return event.which == 1 && !event.metaKey;
3760 case 1: return event.which == 1 && event.metaKey;
3761 default: return false;
3762 }
3763 };
3764
3765 } else {
3766 isButton = function(event, code) {
3767 return event.which ? (event.which === code + 1) : (event.button === code);
3768 };
3769 }
3770
3771 return {
3772 isLeftClick: function(event) { return isButton(event, 0) },
3773 isMiddleClick: function(event) { return isButton(event, 1) },
3774 isRightClick: function(event) { return isButton(event, 2) },
3775
3776 element: function(event) {
3777 var node = Event.extend(event).target;
3778 return Element.extend(node.nodeType == Node.TEXT_NODE ? node.parentNode : node);
3779 },
3780
3781 findElement: function(event, expression) {
3782 var element = Event.element(event);
3783 if (!expression) return element;
3784 var elements = [element].concat(element.ancestors());
3785 return Selector.findElement(elements, expression, 0);
3786 },
3787
3788 pointer: function(event) {
3789 return {
3790 x: event.pageX || (event.clientX +
3791 (document.documentElement.scrollLeft || document.body.scrollLeft)),
3792 y: event.pageY || (event.clientY +
3793 (document.documentElement.scrollTop || document.body.scrollTop))
3794 };
3795 },
3796
3797 pointerX: function(event) { return Event.pointer(event).x },
3798 pointerY: function(event) { return Event.pointer(event).y },
3799
3800 stop: function(event) {
3801 Event.extend(event);
3802 event.preventDefault();
3803 event.stopPropagation();
3804 event.stopped = true;
3805 }
3806 };
3807})();
3808
3809Event.extend = (function() {
3810 var methods = Object.keys(Event.Methods).inject({ }, function(m, name) {
3811 m[name] = Event.Methods[name].methodize();
3812 return m;
3813 });
3814
3815 if (Prototype.Browser.IE) {
3816 Object.extend(methods, {
3817 stopPropagation: function() { this.cancelBubble = true },
3818 preventDefault: function() { this.returnValue = false },
3819 inspect: function() { return "[object Event]" }
3820 });
3821
3822 return function(event) {
3823 if (!event) return false;
3824 if (event._extendedByPrototype) return event;
3825
3826 event._extendedByPrototype = Prototype.emptyFunction;
3827 var pointer = Event.pointer(event);
3828 Object.extend(event, {
3829 target: event.srcElement,
3830 relatedTarget: Event.relatedTarget(event),
3831 pageX: pointer.x,
3832 pageY: pointer.y
3833 });
3834 return Object.extend(event, methods);
3835 };
3836
3837 } else {
3838 Event.prototype = Event.prototype || document.createEvent("HTMLEvents").__proto__;
3839 Object.extend(Event.prototype, methods);
3840 return Prototype.K;
3841 }
3842})();
3843
3844Object.extend(Event, (function() {
3845 var cache = Event.cache;
3846
3847 function getEventID(element) {
3848 if (element._prototypeEventID) return element._prototypeEventID[0];
3849 arguments.callee.id = arguments.callee.id || 1;
3850 return element._prototypeEventID = [++arguments.callee.id];
3851 }
3852
3853 function getDOMEventName(eventName) {
3854 if (eventName && eventName.include(':')) return "dataavailable";
3855 return eventName;
3856 }
3857
3858 function getCacheForID(id) {
3859 return cache[id] = cache[id] || { };
3860 }
3861
3862 function getWrappersForEventName(id, eventName) {
3863 var c = getCacheForID(id);
3864 return c[eventName] = c[eventName] || [];
3865 }
3866
3867 function createWrapper(element, eventName, handler) {
3868 var id = getEventID(element);
3869 var c = getWrappersForEventName(id, eventName);
3870 if (c.pluck("handler").include(handler)) return false;
3871
3872 var wrapper = function(event) {
3873 if (!Event || !Event.extend ||
3874 (event.eventName && event.eventName != eventName))
3875 return false;
3876
3877 Event.extend(event);
3878 handler.call(element, event);
3879 };
3880
3881 wrapper.handler = handler;
3882 c.push(wrapper);
3883 return wrapper;
3884 }
3885
3886 function findWrapper(id, eventName, handler) {
3887 var c = getWrappersForEventName(id, eventName);
3888 return c.find(function(wrapper) { return wrapper.handler == handler });
3889 }
3890
3891 function destroyWrapper(id, eventName, handler) {
3892 var c = getCacheForID(id);
3893 if (!c[eventName]) return false;
3894 c[eventName] = c[eventName].without(findWrapper(id, eventName, handler));
3895 }
3896
3897 function destroyCache() {
3898 for (var id in cache)
3899 for (var eventName in cache[id])
3900 cache[id][eventName] = null;
3901 }
3902
3903 if (window.attachEvent) {
3904 window.attachEvent("onunload", destroyCache);
3905 }
3906
3907 return {
3908 observe: function(element, eventName, handler) {
3909 element = $(element);
3910 var name = getDOMEventName(eventName);
3911
3912 var wrapper = createWrapper(element, eventName, handler);
3913 if (!wrapper) return element;
3914
3915 if (element.addEventListener) {
3916 element.addEventListener(name, wrapper, false);
3917 } else {
3918 element.attachEvent("on" + name, wrapper);
3919 }
3920
3921 return element;
3922 },
3923
3924 stopObserving: function(element, eventName, handler) {
3925 element = $(element);
3926 var id = getEventID(element), name = getDOMEventName(eventName);
3927
3928 if (!handler && eventName) {
3929 getWrappersForEventName(id, eventName).each(function(wrapper) {
3930 element.stopObserving(eventName, wrapper.handler);
3931 });
3932 return element;
3933
3934 } else if (!eventName) {
3935 Object.keys(getCacheForID(id)).each(function(eventName) {
3936 element.stopObserving(eventName);
3937 });
3938 return element;
3939 }
3940
3941 var wrapper = findWrapper(id, eventName, handler);
3942 if (!wrapper) return element;
3943
3944 if (element.removeEventListener) {
3945 element.removeEventListener(name, wrapper, false);
3946 } else {
3947 element.detachEvent("on" + name, wrapper);
3948 }
3949
3950 destroyWrapper(id, eventName, handler);
3951
3952 return element;
3953 },
3954
3955 fire: function(element, eventName, memo) {
3956 element = $(element);
3957 if (element == document && document.createEvent && !element.dispatchEvent)
3958 element = document.documentElement;
3959
3960 var event;
3961 if (document.createEvent) {
3962 event = document.createEvent("HTMLEvents");
3963 event.initEvent("dataavailable", true, true);
3964 } else {
3965 event = document.createEventObject();
3966 event.eventType = "ondataavailable";
3967 }
3968
3969 event.eventName = eventName;
3970 event.memo = memo || { };
3971
3972 if (document.createEvent) {
3973 element.dispatchEvent(event);
3974 } else {
3975 element.fireEvent(event.eventType, event);
3976 }
3977
3978 return Event.extend(event);
3979 }
3980 };
3981})());
3982
3983Object.extend(Event, Event.Methods);
3984
3985Element.addMethods({
3986 fire: Event.fire,
3987 observe: Event.observe,
3988 stopObserving: Event.stopObserving
3989});
3990
3991Object.extend(document, {
3992 fire: Element.Methods.fire.methodize(),
3993 observe: Element.Methods.observe.methodize(),
3994 stopObserving: Element.Methods.stopObserving.methodize(),
3995 loaded: false
3996});
3997
3998(function() {
3999 /* Support for the DOMContentLoaded event is based on work by Dan Webb,
4000 Matthias Miller, Dean Edwards and John Resig. */
4001
4002 var timer;
4003
4004 function fireContentLoadedEvent() {
4005 if (document.loaded) return;
4006 if (timer) window.clearInterval(timer);
4007 document.fire("dom:loaded");
4008 document.loaded = true;
4009 }
4010
4011 if (document.addEventListener) {
4012 if (Prototype.Browser.WebKit) {
4013 timer = window.setInterval(function() {
4014 if (/loaded|complete/.test(document.readyState))
4015 fireContentLoadedEvent();
4016 }, 0);
4017
4018 Event.observe(window, "load", fireContentLoadedEvent);
4019
4020 } else {
4021 document.addEventListener("DOMContentLoaded",
4022 fireContentLoadedEvent, false);
4023 }
4024
4025 } else {
4026 document.write("<script id=__onDOMContentLoaded defer src=//:><\/script>");
4027 $("__onDOMContentLoaded").onreadystatechange = function() {
4028 if (this.readyState == "complete") {
4029 this.onreadystatechange = null;
4030 fireContentLoadedEvent();
4031 }
4032 };
4033 }
4034})();
4035/*------------------------------- DEPRECATED -------------------------------*/
4036
4037Hash.toQueryString = Object.toQueryString;
4038
4039var Toggle = { display: Element.toggle };
4040
4041Element.Methods.childOf = Element.Methods.descendantOf;
4042
4043var Insertion = {
4044 Before: function(element, content) {
4045 return Element.insert(element, {before:content});
4046 },
4047
4048 Top: function(element, content) {
4049 return Element.insert(element, {top:content});
4050 },
4051
4052 Bottom: function(element, content) {
4053 return Element.insert(element, {bottom:content});
4054 },
4055
4056 After: function(element, content) {
4057 return Element.insert(element, {after:content});
4058 }
4059};
4060
4061var $continue = new Error('"throw $continue" is deprecated, use "return" instead');
4062
4063// This should be moved to script.aculo.us; notice the deprecated methods
4064// further below, that map to the newer Element methods.
4065var Position = {
4066 // set to true if needed, warning: firefox performance problems
4067 // NOT neeeded for page scrolling, only if draggable contained in
4068 // scrollable elements
4069 includeScrollOffsets: false,
4070
4071 // must be called before calling withinIncludingScrolloffset, every time the
4072 // page is scrolled
4073 prepare: function() {
4074 this.deltaX = window.pageXOffset
4075 || document.documentElement.scrollLeft
4076 || document.body.scrollLeft
4077 || 0;
4078 this.deltaY = window.pageYOffset
4079 || document.documentElement.scrollTop
4080 || document.body.scrollTop
4081 || 0;
4082 },
4083
4084 // caches x/y coordinate pair to use with overlap
4085 within: function(element, x, y) {
4086 if (this.includeScrollOffsets)
4087 return this.withinIncludingScrolloffsets(element, x, y);
4088 this.xcomp = x;
4089 this.ycomp = y;
4090 this.offset = Element.cumulativeOffset(element);
4091
4092 return (y >= this.offset[1] &&
4093 y < this.offset[1] + element.offsetHeight &&
4094 x >= this.offset[0] &&
4095 x < this.offset[0] + element.offsetWidth);
4096 },
4097
4098 withinIncludingScrolloffsets: function(element, x, y) {
4099 var offsetcache = Element.cumulativeScrollOffset(element);
4100
4101 this.xcomp = x + offsetcache[0] - this.deltaX;
4102 this.ycomp = y + offsetcache[1] - this.deltaY;
4103 this.offset = Element.cumulativeOffset(element);
4104
4105 return (this.ycomp >= this.offset[1] &&
4106 this.ycomp < this.offset[1] + element.offsetHeight &&
4107 this.xcomp >= this.offset[0] &&
4108 this.xcomp < this.offset[0] + element.offsetWidth);
4109 },
4110
4111 // within must be called directly before
4112 overlap: function(mode, element) {
4113 if (!mode) return 0;
4114 if (mode == 'vertical')
4115 return ((this.offset[1] + element.offsetHeight) - this.ycomp) /
4116 element.offsetHeight;
4117 if (mode == 'horizontal')
4118 return ((this.offset[0] + element.offsetWidth) - this.xcomp) /
4119 element.offsetWidth;
4120 },
4121
4122 // Deprecation layer -- use newer Element methods now (1.5.2).
4123
4124 cumulativeOffset: Element.Methods.cumulativeOffset,
4125
4126 positionedOffset: Element.Methods.positionedOffset,
4127
4128 absolutize: function(element) {
4129 Position.prepare();
4130 return Element.absolutize(element);
4131 },
4132
4133 relativize: function(element) {
4134 Position.prepare();
4135 return Element.relativize(element);
4136 },
4137
4138 realOffset: Element.Methods.cumulativeScrollOffset,
4139
4140 offsetParent: Element.Methods.getOffsetParent,
4141
4142 page: Element.Methods.viewportOffset,
4143
4144 clone: function(source, target, options) {
4145 options = options || { };
4146 return Element.clonePosition(target, source, options);
4147 }
4148};
4149
4150/*--------------------------------------------------------------------------*/
4151
4152if (!document.getElementsByClassName) document.getElementsByClassName = function(instanceMethods){
4153 function iter(name) {
4154 return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' " + name + " ')]";
4155 }
4156
4157 instanceMethods.getElementsByClassName = Prototype.BrowserFeatures.XPath ?
4158 function(element, className) {
4159 className = className.toString().strip();
4160 var cond = /\s/.test(className) ? $w(className).map(iter).join('') : iter(className);
4161 return cond ? document._getElementsByXPath('.//*' + cond, element) : [];
4162 } : function(element, className) {
4163 className = className.toString().strip();
4164 var elements = [], classNames = (/\s/.test(className) ? $w(className) : null);
4165 if (!classNames && !className) return elements;
4166
4167 var nodes = $(element).getElementsByTagName('*');
4168 className = ' ' + className + ' ';
4169
4170 for (var i = 0, child, cn; child = nodes[i]; i++) {
4171 if (child.className && (cn = ' ' + child.className + ' ') && (cn.include(className) ||
4172 (classNames && classNames.all(function(name) {
4173 return !name.toString().blank() && cn.include(' ' + name + ' ');
4174 }))))
4175 elements.push(Element.extend(child));
4176 }
4177 return elements;
4178 };
4179
4180 return function(className, parentElement) {
4181 return $(parentElement || document.body).getElementsByClassName(className);
4182 };
4183}(Element.Methods);
4184
4185/*--------------------------------------------------------------------------*/
4186
4187Element.ClassNames = Class.create();
4188Element.ClassNames.prototype = {
4189 initialize: function(element) {
4190 this.element = $(element);
4191 },
4192
4193 _each: function(iterator) {
4194 this.element.className.split(/\s+/).select(function(name) {
4195 return name.length > 0;
4196 })._each(iterator);
4197 },
4198
4199 set: function(className) {
4200 this.element.className = className;
4201 },
4202
4203 add: function(classNameToAdd) {
4204 if (this.include(classNameToAdd)) return;
4205 this.set($A(this).concat(classNameToAdd).join(' '));
4206 },
4207
4208 remove: function(classNameToRemove) {
4209 if (!this.include(classNameToRemove)) return;
4210 this.set($A(this).without(classNameToRemove).join(' '));
4211 },
4212
4213 toString: function() {
4214 return $A(this).join(' ');
4215 }
4216};
4217
4218Object.extend(Element.ClassNames.prototype, Enumerable);
4219
4220/*--------------------------------------------------------------------------*/
4221
4222Element.addMethods(); \ No newline at end of file
diff --git a/bin/data/sim.css b/bin/data/sim.css
new file mode 100644
index 0000000..e584a1a
--- /dev/null
+++ b/bin/data/sim.css
@@ -0,0 +1,85 @@
1body {
2 font-family: Veranda,Arial,Helvetica,sans-serif;
3 font-size: 12px;
4 background: #4A5F6D;
5 color: #EEEAD6;
6 padding: 0px;
7 margin: 0px;
8}
9.footer {
10 font-family: Veranda,Arial,Helvetica,sans-serif;
11 font-size: 10px;
12}
13td {
14 font-family: Veranda,Arial,Helvetica,sans-serif;
15 font-size: 12px;
16 padding: 4px;
17 margin: 4px;
18}
19blockquote {
20 font-family: Veranda,Arial,Helvetica,sans-serif;
21 font-style: italic;
22 font-size: 12px;
23}
24pre {
25 padding: 5px;
26 background-color: #8080B0;
27 color: #000000;
28 margin-left: 20px;
29 font-size: 11px;
30}
31:link {
32 color: #ffffff;
33}
34:visited {
35 color: #d0d0d0;
36}
37.SimSectionHeader {
38 font-size: 120%;
39}
40div.SimSectionContainer {
41 padding: 10px 0px 0px 20px;
42}
43/* SimStats ===================================== */
44#SimSimStats div {
45 margin-left: 20px;
46 background: #3A4F5D;
47}
48#SimSimStats table td {
49 text-align: right;
50 padding: 0px 0px 0px 5px;
51 margin: 0px 0px 0px 0px;
52}
53/* Region Stats ===================================== */
54#SimRegionStats div {
55 margin-left: 20px;
56 background: #3A4F5D;
57}
58#SimRegionStats table {
59 border: 1px;
60 border-style: solid;
61}
62#SimRegionStats table td {
63 text-align: right;
64 padding: 0px 0px 0px 5px;
65 margin: 0px 0px 0px 0px;
66}
67/* Session Stats ===================================== */
68#SimSessionStats div {
69 margin-left: 20px;
70 background: #3A4F5D;
71}
72#SimSessionStats table td {
73 text-align: right;
74 padding: 0px 0px 0px 5px;
75 margin: 0px 0px 0px 0px;
76}
77/* LogFile ===================================== */
78#SimLogFile div {
79 margin-left: 20px;
80}
81#SimLogFile table td {
82 text-align: right;
83 padding: 0px 0px 0px 5px;
84 margin: 0px 0px 0px 0px;
85}
diff --git a/bin/data/sim.html b/bin/data/sim.html
new file mode 100644
index 0000000..82d4789
--- /dev/null
+++ b/bin/data/sim.html
@@ -0,0 +1,291 @@
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<title>Simulator statistics</title>
6<link rel="stylesheet" href="sim.css" type="text/css"/>
7<!-- <script type="text/javascript" src="jquery.js"></script> -->
8<!-- <script type="text/javascript" src="https://code.jquery.com/jquery-1.9.0.min.js"></script> -->
9<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
10<!-- <script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/libs/jQuery/jquery-1.9.0.min.js"></script> -->
11<noscript>
12<p color="red">
13Your browser does not support Javascript. This won't work for you.
14</p>
15</noscript>
16<script type="text/javascript">
17$(document).ready(function() {
18 // Major divisions in the content accordioning
19 $('.SimSection').show('slow');
20 $('.SimSectionHeader').click(function() {
21 $(this).next().slideToggle('slow');
22 return false;
23 });
24
25 // Start the timed functions
26 TimerDataStuff();
27});
28
29// One of the sections is viewer statistics. Poll for the data.
30var statTimerHandle;
31var graphFPS;
32var lastFPS = 10;
33var xxThru = 0;
34function TimerDataStuff() {
35 statTimerHandle = setInterval('TimerStatDisplay()', 5000);
36}
37
38// called by timer to fetch and display statistic information
39var doingStatDisplay = false;
40function TimerStatDisplay() {
41 if (doingStatDisplay) return;
42 doingStatDisplay = true;
43 if ($('#SimSimStats').is(':visible')) {
44 DisplaySimStats();
45 }
46 if ($('#SimRegionStats').is(':visible')) {
47 DisplayPerRegionStats();
48 }
49 if ($('#SimSessionStats').is(':visible')) {
50 DisplaySessionStats();
51 }
52 if ($('#SimLogFile').is(':visible')) {
53 DisplayLogFile();
54 }
55 doingStatDisplay = false;
56}
57
58var simName = "127.0.0.1";
59var simPort = "9000";
60function DisplaySimStats() {
61 var statURL = "http://" + simName + ":" + simPort + "/SStats/?json=1";
62 $.ajax({
63 type: "GET",
64 url: statURL,
65 dataType: 'json',
66 timeout: 1000,
67 success: function(data, status) {
68 if (status == 'success') {
69 DisplaySimStatDetails(data);
70 }
71 },
72 error: function(xmlHTTPRequest, errorType) {
73 // DebugLog('Failed fetch');
74 }
75 });
76}
77
78function DisplayPerRegionStats() {
79 var statURL = "http://" + simName + ":" + simPort + "/SStats/simstatsajax.html?json=1";
80 $.ajax({
81 type: "GET",
82 url: statURL,
83 dataType: 'json',
84 timeout: 1000,
85 success: function(data, status) {
86 if (status == 'success') {
87 DisplayRegionStatDetails(data);
88 }
89 },
90 error: function(xmlHTTPRequest, errorType) {
91 // DebugLog('Failed fetch');
92 }
93 });
94};
95
96function DisplayLogFile() {
97 var statURL = "http://" + simName + ":" + simPort + "/SStats/activelogajax.html?json=1";
98 $.ajax({
99 type: "GET",
100 url: statURL,
101 dataType: 'json',
102 timeout: 1000,
103 success: function(data, status) {
104 if (status == 'success') {
105 DisplayLogFileDetails(data);
106 }
107 },
108 error: function(xmlHTTPRequest, errorType) {
109 // DebugLog('Failed fetch');
110 }
111 });
112};
113
114function DisplaySessionStats() {
115 var statURL = "http://" + simName + ":" + simPort + "/SStats/activeconnectionsajax.html?json=1";
116 $.ajax({
117 type: "GET",
118 url: statURL,
119 dataType: 'json',
120 timeout: 1000,
121 success: function(data, status) {
122 if (status == 'success') {
123 DisplaySessionStatsDetails(data);
124 }
125 },
126 error: function(xmlHTTPRequest, errorType) {
127 // DebugLog('Failed fetch');
128 }
129 });
130};
131
132function DisplaySimStatDetails(data) {
133 var simInfo = new StringBuffer();
134 simInfo.append('<table id="RegionStatsTable">');
135 simInfo.append('<tr>');
136 simInfo.append('<th>Total Users</th>');
137 simInfo.append('<th>Total Sessions</th>');
138 simInfo.append('<th>Avg client FPS</th>');
139 simInfo.append('<th>Avg client Mem</th>');
140 simInfo.append('<th>Avg ping time</th>');
141 simInfo.append('<th>KB out</th>');
142 simInfo.append('<th>KB in</th>');
143 simInfo.append('</tr>');
144 simInfo.append('<tr>');
145 simInfo.append('<td>' + data.totalUsers + '</td>');
146 simInfo.append('<td>' + data.totalSessions + '</td>');
147 simInfo.append('<td>' + data.averageClientFPS + '</td>');
148 simInfo.append('<td>' + data.averageClientMem + '</td>');
149 simInfo.append('<td>' + data.averagePingTime + '</td>');
150 simInfo.append('<td>' + data.totalKBOut + '</td>');
151 simInfo.append('<td>' + data.totalKBIn + '</td>');
152 simInfo.append('</tr>');
153 simInfo.append('</table>');
154 $('#SimSimStats').empty();
155 $('#SimSimStats').append(simInfo.toString());
156}
157
158function DisplayRegionStatDetails(data) {
159 var regionInfo = new StringBuffer();
160 regionInfo.append('<table id="RegionStatsTable">');
161 regionInfo.append('<tr>');
162 regionInfo.append('<th>Region</th>');
163 regionInfo.append('<th>Agents</th>');
164 regionInfo.append('<th>Child</th>');
165 regionInfo.append('<th>FPS</th>');
166 regionInfo.append('<th>Frame Time</th>');
167 regionInfo.append('<th>Phys Time</th>');
168 regionInfo.append('<th>Prims</th>');
169 regionInfo.append('</tr>');
170 for (region in data) {
171 regionInfo.append('<tr>');
172 regionInfo.append('<td>' + data[region].region + '</td>');
173 regionInfo.append('<td>' + data[region].rootAgents + '</td>');
174 regionInfo.append('<td>' + data[region].childAgents + '</td>');
175 regionInfo.append('<td>' + data[region].simFPS + '</td>');
176 regionInfo.append('<td>' + data[region].totalFrameTime + '</td>');
177 regionInfo.append('<td>' + data[region].physicsFrameTime + '</td>');
178 regionInfo.append('<td>' + data[region].totalPrims + '</td>');
179 regionInfo.append('</tr>');
180 }
181 regionInfo.append('</table>');
182 $('#SimRegionStats').empty();
183 $('#SimRegionStats').append(regionInfo.toString());
184}
185
186function DisplayLogFileDetails(data) {
187 var logInfo = new StringBuffer();
188 var logPattern = /^(.+),\d\d\d .* \[(.+)\]: (.+)$/;
189 for (logLine in data['logLines']) {
190 logInfo.append('<div>');
191 var logPieces = logPattern.exec(data['logLines'][logLine]);
192 if (logPieces) {
193 logInfo.append(logPieces[1] + ' [' + logPieces[2]
194 + '] ' + logPieces[3]);
195 }
196 else {
197 logInfo.append(data['logLines'][logLine]);
198 }
199
200 logInfo.append('</div>');
201 }
202 $('#SimLogFile').empty();
203 $('#SimLogFile').append(logInfo.toString());
204}
205
206function DisplaySessionStatsDetails(data) {
207 var userInfo = new StringBuffer();
208 userInfo.append('<table>');
209 userInfo.append('<tr>');
210 userInfo.append('<th>region</th>');
211 userInfo.append('<th>user</th>');
212 userInfo.append('<th></th>');
213 userInfo.append('<th>position</th>');
214 userInfo.append('</tr>');
215 for (region in data) {
216 for (user in data[region]) {
217 if (user != 'queues') {
218 userInfo.append('<tr>');
219 userInfo.append('<td>' + region + '</td>');
220 userInfo.append('<td>' + data[region][user].Name + '</td>');
221 if (data[region][user].isRoot == 'true') {
222 userInfo.append('<td>root</td>');
223 }
224 else {
225 userInfo.append('<td>child</td>');
226 }
227 userInfo.append('<td>' + data[region][user].position + '</td>');
228 userInfo.append('</tr>');
229 }
230 }
231 }
232 userInfo.append('</table>');
233 $('#SimSessionStats').empty();
234 $('#SimSessionStats').append(userInfo.toString());
235}
236
237function DebugLog(msg) {
238 $("#DEBUG").append('<div>' + msg + '</div>');
239 $("#DEBUG").show();
240}
241
242function StringBuffer() {
243 this.__strings__ = new Array;
244}
245StringBuffer.prototype.append = function(str) {
246 this.__strings__.push(str);
247}
248StringBuffer.prototype.toString = function() {
249 return this.__strings__.join("");
250}
251
252</script>
253</head>
254<body id="SimBody">
255<div id="SimHeader"></div>
256<div id="SimContent">
257
258<!-- ============================================== -->
259<div class="SimSectionContainer">
260<a class="SimSectionHeader" href="#">Simulator Stats</a>
261<div id="SimSimStats" class="SimSection">
262</div> <!-- SimSimStats -->
263</div> <!-- SimSectionContainer -->
264
265<!-- ============================================== -->
266<div class="SimSectionContainer">
267<a class="SimSectionHeader" href="#">Region Stats</a>
268<div id="SimRegionStats" class="SimSection">
269</div> <!-- SimRegionStats -->
270</div> <!-- SimSectionContainer -->
271
272<!-- ============================================== -->
273<div class="SimSectionContainer">
274<a class="SimSectionHeader" href="#">Sessions</a>
275<div id="SimSessionStats" class="SimSection">
276</div> <!-- SimSessionStats -->
277</div> <!-- SimSectionContainer -->
278
279<!-- ============================================== -->
280<div class="SimSectionContainer">
281<a class="SimSectionHeader" href="#">Log File</a>
282<div id="SimLogFile" class="SimSection">
283</div> <!-- SimLogFile -->
284</div> <!-- SimSectionContainer -->
285
286<!-- ============================================== -->
287</div> <!-- SimContent -->
288<div id="DEBUG"></div>
289<div id="SimFooter"></div>
290</body>
291</html>
diff --git a/bin/data/updater.js b/bin/data/updater.js
new file mode 100644
index 0000000..20201f8
--- /dev/null
+++ b/bin/data/updater.js
@@ -0,0 +1,20 @@
1var updater = Class.create({
2 initialize: function(divToUpdate, interval, file) {
3 this.divToUpdate = divToUpdate;
4 this.interval = interval;
5 this.file = file;
6 new PeriodicalExecuter(this.getUpdate.bind(this), this.interval);
7 },
8
9 getUpdate: function() {
10 var oOptions = {
11 method: "POST",
12 parameters: "intervalPeriod="+this.interval,
13 asynchronous: true,
14 onComplete: function (oXHR, Json) {
15 $(this.divToUpdate).innerHTML = oXHR.responseText;
16 }
17 };
18 var oRequest = new Ajax.Updater(this.divToUpdate, this.file, oOptions);
19 }
20}); \ No newline at end of file
diff --git a/bin/defaultstripe.png b/bin/defaultstripe.png
new file mode 100644
index 0000000..9db19c8
--- /dev/null
+++ b/bin/defaultstripe.png
Binary files differ
diff --git a/bin/enter_uuid.xml b/bin/enter_uuid.xml
new file mode 100644
index 0000000..84475ad
--- /dev/null
+++ b/bin/enter_uuid.xml
@@ -0,0 +1,7 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater can_close="true" can_drag_on_left="false" can_minimize="false" can_resize="false" height="100" name="enter_uuid" title="ID Required" width="390">
3 <text bottom="-30" left="10">Enter UUID</text>
4 <line_editor bottom="-60" left="10" width="370" name="new_owner" height="20"/>
5 <button bottom="-90" width="80" height="20" left="300" label="OK" name="ok" />
6 <button bottom="-90" width="80" height="20" left="210" label="Cancel" name="cancel" />
7</floater>
diff --git a/bin/excuses b/bin/excuses
new file mode 100644
index 0000000..d831e06
--- /dev/null
+++ b/bin/excuses
@@ -0,0 +1,460 @@
1clock speed
2solar flares
3electromagnetic radiation from satellite debris
4static from nylon underwear
5static from plastic slide rules
6global warming
7poor power conditioning
8static buildup
9doppler effect
10hardware stress fractures
11magnetic interference from money/credit cards
12dry joints on cable plug
13we're waiting for [the phone company] to fix that line
14sounds like a Windows problem, try calling Microsoft support
15temporary routing anomaly
16somebody was calculating pi on the server
17fat electrons in the lines
18excess surge protection
19floating point processor overflow
20divide-by-zero error
21POSIX compliance problem
22monitor resolution too high
23improperly oriented keyboard
24network packets travelling uphill (use a carrier pigeon)
25Decreasing electron flux
26first Saturday after first full moon in Winter
27radiosity depletion
28CPU radiator broken
29It works the way the Wang did, what's the problem
30positron router malfunction
31cellular telephone interference
32techtonic stress
33piezo-electric interference
34(l)user error
35working as designed
36dynamic software linking table corrupted
37heavy gravity fluctuation, move computer to floor rapidly
38secretary plugged hairdryer into UPS
39terrorist activities
40not enough memory, go get system upgrade
41interrupt configuration error
42spaghetti cable cause packet failure
43boss forgot system password
44bank holiday - system operating credits not recharged
45virus attack, luser responsible
46waste water tank overflowed onto computer
47Complete Transient Lockout
48bad ether in the cables
49Bogon emissions
50Change in Earth's rotational speed
51Cosmic ray particles crashed through the hard disk platter
52Smell from unhygienic janitorial staff wrecked the tape heads
53Little hamster in running wheel had coronary; waiting for replacement to be Fedexed from Wyoming
54Evil dogs hypnotised the night shift
55Plumber mistook routing panel for decorative wall fixture
56Electricians made popcorn in the power supply
57Groundskeepers stole the root password
58high pressure system failure
59failed trials, system needs redesigned
60system has been recalled
61not approved by the FCC
62need to wrap system in aluminum foil to fix problem
63not properly grounded, please bury computer
64CPU needs recalibration
65system needs to be rebooted
66bit bucket overflow
67descramble code needed from software company
68only available on a need to know basis
69knot in cables caused data stream to become twisted and kinked
70nesting roaches shorted out the ether cable
71The file system is full of it
72Satan did it
73Daemons did it
74You're out of memory
75There isn't any problem
76Unoptimized hard drive
77Typo in the code
78Yes, yes, its called a design limitation
79Look, buddy: Windows 3.1 IS A General Protection Fault.
80That's a great computer you have there; have you considered how it would work as a BSD machine?
81Please excuse me, I have to circuit an AC line through my head to get this database working.
82Yeah, yo mama dresses you funny and you need a mouse to delete files.
83Support staff hung over, send aspirin and come back LATER.
84Someone is standing on the ethernet cable, causing a kink in the cable
85Windows 95 undocumented "feature"
86Runt packets
87Password is too complex to decrypt
88Boss' kid fucked up the machine
89Electromagnetic energy loss
90Budget cuts
91Mouse chewed through power cable
92Stale file handle (next time use Tupperware(tm)!)
93Feature not yet implemented
94Internet outage
95Pentium FDIV bug
96Vendor no longer supports the product
97Small animal kamikaze attack on power supplies
98The vendor put the bug there.
99SIMM crosstalk.
100IRQ dropout
101Collapsed Backbone
102Power company testing new voltage spike (creation) equipment
103operators on strike due to broken coffee machine
104backup tape overwritten with copy of system manager's favourite CD
105UPS interrupted the server's power
106The electrician didn't know what the yellow cable was so he yanked the ethernet out.
107The keyboard isn't plugged in
108The air conditioning water supply pipe ruptured over the machine room
109The electricity substation in the car park blew up.
110The rolling stones concert down the road caused a brown out
111The salesman drove over the CPU board.
112The monitor is plugged into the serial port
113Root nameservers are out of sync
114electro-magnetic pulses from French above ground nuke testing.
115your keyboard's space bar is generating spurious keycodes.
116the real ttys became pseudo ttys and vice-versa.
117the printer thinks its a router.
118the router thinks its a printer.
119evil hackers from Serbia.
120we just switched to FDDI.
121halon system went off and killed the operators.
122because Bill Gates is a Jehovah's witness and so nothing can work on St. Swithin's day.
123user to computer ratio too high.
124user to computer ration too low.
125we just switched to Sprint.
126it has Intel Inside
127Sticky bits on disk.
128Power Company having EMP problems with their reactor
129The ring needs another token
130new management
131telnet: Unable to connect to remote host: Connection refused
132SCSI Chain overterminated
133It's not plugged in.
134because of network lag due to too many people playing deathmatch
135You put the disk in upside down.
136Daemons loose in system.
137User was distributing pornography on server; system seized by FBI.
138BNC (brain not connected)
139UBNC (user brain not connected)
140LBNC (luser brain not connected)
141disks spinning backwards - toggle the hemisphere jumper.
142new guy cross-connected phone lines with ac power bus.
143had to use hammer to free stuck disk drive heads.
144Too few computrons available.
145Flat tire on station wagon with tapes. ("Never underestimate the bandwidth of a station wagon full of tapes hurling down the highway" Andrew S. Tannenbaum)
146Communications satellite used by the military for star wars.
147Party-bug in the Aloha protocol.
148Insert coin for new game
149Dew on the telephone lines.
150Arcserve crashed the server again.
151Some one needed the powerstrip, so they pulled the switch plug.
152My pony-tail hit the on/off switch on the power strip.
153Big to little endian conversion error
154You can tune a file system, but you can't tune a fish (from most tunefs man pages)
155Dumb terminal
156Zombie processes haunting the computer
157Incorrect time synchronization
158Defunct processes
159Stubborn processes
160non-redundant fan failure
161monitor VLF leakage
162bugs in the RAID
163no "any" key on keyboard
164root rot
165Backbone Scoliosis
166/pub/lunch
167excessive collisions &amp; not enough packet ambulances
168le0: no carrier: transceiver cable problem?
169broadcast packets on wrong frequency
170popper unable to process jumbo kernel
171NOTICE: alloc: /dev/null: filesystem full
172pseudo-user on a pseudo-terminal
173Recursive traversal of loopback mount points
174Backbone adjustment
175OS swapped to disk
176vapors from evaporating sticky-note adhesives
177sticktion
178short leg on process table
179multicasts on broken packets
180ether leak
181Atilla the Hub
182endothermal recalibration
183filesystem not big enough for Jumbo Kernel Patch
184loop found in loop in redundant loopback
185system consumed all the paper for paging
186permission denied
187Reformatting Page. Wait...
188..disk or the processor is on fire.
189SCSI's too wide.
190Proprietary Information.
191Just type 'mv * /dev/null'.
192runaway cat on system.
193Did you pay the new Support Fee?
194We only support a 1200 bps connection.
195We only support a 28000 bps connection.
196Me no internet, only janitor, me just wax floors.
197I'm sorry a pentium won't do, you need an SGI to connect with us.
198Post-it Note Sludge leaked into the monitor.
199the curls in your keyboard cord are losing electricity.
200The monitor needs another box of pixels.
201RPC_PMAP_FAILURE
202kernel panic: write-only-memory (/dev/wom0) capacity exceeded.
203Write-only-memory subsystem too slow for this machine. Contact your local dealer.
204Just pick up the phone and give modem connect sounds. "Well you said we should get more lines so we don't have voice lines."
205Quantum dynamics are affecting the transistors
206Police are examining all internet packets in the search for a narco-net-trafficker
207We are currently trying a new concept of using a live mouse. Unfortunately, one has yet to survive being hooked up to the computer.....please bear with us.
208Your mail is being routed through Germany ... and they're censoring us.
209Only people with names beginning with 'A' are getting mail this week (a la Microsoft)
210We didn't pay the Internet bill and it's been cut off.
211Lightning strikes.
212Of course it doesn't work. We've performed a software upgrade.
213Change your language to Finnish.
214Fluorescent lights are generating negative ions. If turning them off doesn't work, take them out and put tin foil on the ends.
215High nuclear activity in your area.
216What office are you in? Oh, that one. Did you know that your building was built over the universities first nuclear research site? And wow, aren't you the lucky one, your office is right over where the core is buried!
217The MGs ran out of gas.
218The UPS doesn't have a battery backup.
219Recursivity. Call back if it happens again.
220Someone thought The Big Red Button was a light switch.
221The mainframe needs to rest. It's getting old, you know.
222I'm not sure. Try calling the Internet's head office -- it's in the book.
223The lines are all busy (busied out, that is -- why let them in to begin with?).
224Jan 9 16:41:27 huber su: 'su root' succeeded for .... on /dev/pts/1
225It's those computer people in X {city of world}. They keep stuffing things up.
226A star wars satellite accidently blew up the WAN.
227Fatal error right in front of screen
228That function is not currently supported, but Bill Gates assures us it will be featured in the next upgrade.
229wrong polarity of neutron flow
230Lusers learning curve appears to be fractal
231We had to turn off that service to comply with the CDA Bill.
232Ionization from the air-conditioning
233TCP/IP UDP alarm threshold is set too low.
234Someone is broadcasting pygmy packets and the router doesn't know how to deal with them.
235The new frame relay network hasn't bedded down the software loop transmitter yet.
236Fanout dropping voltage too much, try cutting some of those little traces
237Plate voltage too low on demodulator tube
238You did wha... oh _dear_....
239CPU needs bearings repacked
240Too many little pins on CPU confusing it, bend back and forth until 10-20% are neatly removed. Do _not_ leave metal bits visible!
241_Rosin_ core solder? But...
242Software uses US measurements, but the OS is in metric...
243The computer fleetly, mouse and all.
244Your cat tried to eat the mouse.
245The Borg tried to assimilate your system. Resistance is futile.
246It must have been the lightning storm we had (yesterday) (last week) (last month)
247Due to Federal Budget problems we have been forced to cut back on the number of users able to access the system at one time. (namely none allowed....)
248Too much radiation coming from the soil.
249Unfortunately we have run out of bits/bytes/whatever. Don't worry, the next supply will be coming next week.
250Program load too heavy for processor to lift.
251Processes running slowly due to weak power supply
252Our ISP is having {switching,routing,SMDS,frame relay} problems
253We've run out of licenses
254Interference from lunar radiation
255Standing room only on the bus.
256You need to install an RTFM interface.
257That would be because the software doesn't work.
258That's easy to fix, but I can't be bothered.
259Someone's tie is caught in the printer, and if anything else gets printed, he'll be in it too.
260We're upgrading /dev/null
261The Usenet news is out of date
262Our POP server was kidnapped by a weasel.
263It's stuck in the Web.
264Your modem doesn't speak English.
265The mouse escaped.
266All of the packets are empty.
267The UPS is on strike.
268Neutrino overload on the nameserver
269Melting hard drives
270Someone has messed up the kernel pointers
271The kernel license has expired
272Netscape has crashed
273The cord jumped over and hit the power switch.
274It was OK before you touched it.
275Bit rot
276U.S. Postal Service
277Your Flux Capacitor has gone bad.
278The Dilithium Crystals need to be rotated.
279The static electricity routing is acting up...
280Traceroute says that there is a routing problem in the backbone. It's not our problem.
281The co-locator cannot verify the frame-relay gateway to the ISDN server.
282High altitude condensation from U.S.A.F prototype aircraft has contaminated the primary subnet mask. Turn off your computer for 9 days to avoid damaging it.
283Lawn mower blade in your fan need sharpening
284Electrons on a bender
285Telecommunications is upgrading.
286Telecommunications is downgrading.
287Telecommunications is downshifting.
288Hard drive sleeping. Let it wake up on it's own...
289Interference between the keyboard and the chair.
290The CPU has shifted, and become decentralized.
291Due to the CDA, we no longer have a root account.
292We ran out of dial tone and we're and waiting for the phone company to deliver another bottle.
293You must've hit the wrong any key.
294PCMCIA slave driver
295The Token fell out of the ring. Call us when you find it.
296The hardware bus needs a new token.
297Too many interrupts
298Not enough interrupts
299The data on your hard drive is out of balance.
300Digital Manipulator exceeding velocity parameters
301appears to be a Slow/Narrow SCSI-0 Interface problem
302microelectronic Riemannian curved-space fault in write-only file system
303fractal radiation jamming the backbone
304routing problems on the neural net
305IRQ-problems with the Un-Interruptible-Power-Supply
306CPU-angle has to be adjusted because of vibrations coming from the nearby road
307emissions from GSM-phones
308CD-ROM server needs recalibration
309firewall needs cooling
310asynchronous inode failure
311transient bus protocol violation
312incompatible bit-registration operators
313your process is not ISO 9000 compliant
314You need to upgrade your VESA local bus to a MasterCard local bus.
315The recent proliferation of Nuclear Testing
316Elves on strike. (Why do they call EMAG Elf Magic)
317Internet exceeded Luser level, please wait until a luser logs off before attempting to log back on.
318Your EMAIL is now being delivered by the USPS.
319Your computer hasn't been returning all the bits it gets from the Internet.
320You've been infected by the Telescoping Hubble virus.
321Scheduled global CPU outage
322Your Pentium has a heating problem - try cooling it with ice cold water.(Do not turn off your computer, you do not want to cool down the Pentium Chip while he isn't working, do you?)
323Your processor has processed too many instructions. Turn it off immediately, do not type any commands!!
324Your packets were eaten by the terminator
325Your processor does not develop enough heat.
326We need a licensed electrician to replace the light bulbs in the computer room.
327The POP server is out of Coke
328Fiber optics caused gas main leak
329Server depressed, needs Prozac
330quantum decoherence
331those damn raccoons!
332suboptimal routing experience
333A plumber is needed, the network drain is clogged
33450% of the manual is in .pdf readme files
335the AA battery in the wallclock sends magnetic interference
336the xy axis in the trackball is coordinated with the summer solstice
337the butane lighter causes the pincushioning
338old inkjet cartridges emanate barium-based fumes
339manager in the cable duct
340We'll fix that in the next (upgrade, update, patch release, service pack).
341HTTPD Error 666 : BOFH was here
342HTTPD Error 4004 : very old Intel cpu - insufficient processing power
343The ATM board has run out of 10 pound notes. We are having a whip round to refill it, care to contribute ?
344Network failure - call NBC
345Having to manually track the satellite.
346Your/our computer(s) had suffered a memory leak, and we are waiting for them to be topped up.
347The rubber band broke
348We're on Token Ring, and it looks like the token got loose.
349Stray Alpha Particles from memory packaging caused Hard Memory Error on Server.
350paradigm shift...without a clutch
351PEBKAC (Problem Exists Between Keyboard And Chair)
352The cables are not the same length.
353Second-system effect.
354Chewing gum on /dev/sd3c
355Boredom in the Kernel.
356the daemons! the daemons! the terrible daemons!
357I'd love to help you -- it's just that the Boss won't let me near the computer.
358struck by the Good Times virus
359YOU HAVE AN I/O ERROR -&gt; Incompetent Operator error
360Your parity check is overdrawn and you're out of cache.
361Communist revolutionaries taking over the server room and demanding all the computers in the building or they shoot the sysadmin. Poor misguided fools.
362Plasma conduit breach
363Out of cards on drive D:
364Sand fleas eating the Internet cables
365parallel processors running perpendicular today
366ATM cell has no roaming feature turned on, notebooks can't connect
367Webmasters kidnapped by evil cult.
368Failure to adjust for daylight savings time.
369Virus transmitted from computer to sysadmins.
370Virus due to computers having unsafe sex.
371Incorrectly configured static routes on the corerouters.
372Forced to support NT servers; sysadmins quit.
373Suspicious pointer corrupted virtual machine
374It's the InterNIC's fault.
375Root name servers corrupted.
376Budget cuts forced us to sell all the power cords for the servers.
377Someone hooked the twisted pair wires into the answering machine.
378Operators killed by year 2000 bug bite.
379We've picked COBOL as the language of choice.
380Operators killed when huge stack of backup tapes fell over.
381Robotic tape changer mistook operator's tie for a backup tape.
382Someone was smoking in the computer room and set off the halon systems.
383Your processor has taken a ride to Heaven's Gate on the UFO behind Hale-Bopp's comet.
384it's an ID-10-T error
385Dyslexics retyping hosts file on servers
386The Internet is being scanned for viruses.
387Your computer's union contract is set to expire at midnight.
388Bad user karma.
389/dev/clue was linked to /dev/null
390Increased sunspot activity.
391We already sent around a notice about that.
392It's union rules. There's nothing we can do about it. Sorry.
393Interference from the Van Allen Belt.
394Jupiter is aligned with Mars.
395Redundant ACLs.
396Mail server hit by UniSpammer.
397T-1's congested due to porn traffic to the news server.
398Data for intranet got routed through the extranet and landed on the internet.
399We are a 100% Microsoft Shop.
400We are Microsoft. What you are experiencing is not a problem; it is an undocumented feature.
401Sales staff sold a product we don't offer.
402Secretary sent chain letter to all 5000 employees.
403Sysadmin didn't hear pager go off due to loud music from bar-room speakers.
404Sysadmin accidentally destroyed pager with a large hammer.
405Sysadmins unavailable because they are in a meeting talking about why they are unavailable so much.
406Bad cafeteria food landed all the sysadmins in the hospital.
407Route flapping at the NAP.
408Computers under water due to SYN flooding.
409The vulcan-death-grip ping has been applied.
410Electrical conduits in machine room are melting.
411Traffic jam on the Information Superhighway.
412Radial Telemetry Infiltration
413Cow-tippers tipped a cow onto the server.
414tachyon emissions overloading the system
415Maintenance window broken
416We're out of slots on the server
417Computer room being moved. Our systems are down for the weekend.
418Sysadmins busy fighting SPAM.
419Repeated reboots of the system failed to solve problem
420Feature was not beta tested
421Domain controller not responding
422Someone else stole your IP address, call the Internet detectives!
423It's not RFC-822 compliant.
424operation failed because: there is no message for this error (#1014)
425stop bit received
426internet is needed to catch the etherbunny
427network down, IP packets delivered via UPS
428Firmware update in the coffee machine
429Temporal anomaly
430Mouse has out-of-cheese-error
431Borg implants are failing
432Borg nanites have infested the server
433error: one bad user found in front of screen
434Please state the nature of the technical emergency
435Internet shut down due to maintenance
436Daemon escaped from pentagram
437crop circles in the corn shell
438sticky bit has come loose
439Hot Java has gone cold
440Cache miss - please take better aim next time
441Hash table has woodworm
442Trojan horse ran out of hay
443Zombie processes detected, machine is haunted.
444overflow error in /dev/null
445Browser's cookie is corrupted -- someone's been nibbling on it.
446Mailer-daemon is busy burning your message in hell.
447According to Microsoft, it's by design
448vi needs to be upgraded to vii
449greenpeace free'd the mallocs
450Terrorists crashed an airplane into the server room, have to remove /bin/laden. (rm -rf /bin/laden)
451astropneumatic oscillations in the water-cooling
452Somebody ran the operating system through a spelling checker.
453Rhythmic variations in the voltage reaching the power supply.
454Keyboard Actuator Failure. Order and Replace.
455Packet held up at customs.
456Propagation delay.
457High line impedance.
458Someone set us up the bomb.
459Power surges on the Underground.
460I'm saying stuff based upon the The Bastard Operator From Hell Stories written by Simon Paul Travaglia. Datamation magazine owns the Electronic Rights to the orgional works of the BOFH. \ No newline at end of file
diff --git a/bin/http_404.html.example b/bin/http_404.html.example
new file mode 100644
index 0000000..a3216f3
--- /dev/null
+++ b/bin/http_404.html.example
@@ -0,0 +1 @@
<HTML><HEAD><TITLE>404 Page not found</TITLE><BODY><BR /><H1>Ooops!</H1><P>The page you requested has been obsconded with by knomes. Find hippos quick!</P></BODY></HTML> \ No newline at end of file
diff --git a/bin/http_500.html.example b/bin/http_500.html.example
new file mode 100644
index 0000000..6b5402d
--- /dev/null
+++ b/bin/http_500.html.example
@@ -0,0 +1 @@
<HTML><HEAD><TITLE>500 Internal Server Error</TITLE><BODY><BR /><H1>Ooops!</H1><P>The server you requested is overun by knomes! Find hippos quick!</P></BODY></HTML> \ No newline at end of file
diff --git a/bin/http_loginform.html.example b/bin/http_loginform.html.example
new file mode 100644
index 0000000..54f8f09
--- /dev/null
+++ b/bin/http_loginform.html.example
@@ -0,0 +1,61 @@
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5<meta http-equiv="cache-control" content="no-cache">
6<meta http-equiv="Pragma" content="no-cache">
7<title>OpenSim Login</title>
8<body><br />
9<div id="login_box">
10
11<form action="/go.cgi" method="GET" id="login-form">
12
13<div id="message">[$errors]</div>
14<fieldset id="firstname">
15<legend>First Name:</legend>
16<input type="text" id="firstname_input" size="15" maxlength="100" name="username" value="[$firstname]" />
17</fieldset>
18<fieldset id="lastname">
19<legend>Last Name:</legend>
20<input type="text" size="15" maxlength="100" name="lastname" value="[$lastname]" />
21</fieldset>
22<fieldset id="password">
23<legend>Password:</legend>
24<table cellspacing="0" cellpadding="0" border="0">
25<tr>
26<td colspan="2"><input type="password" size="15" maxlength="100" name="password" value="[$password]" /></td>
27</tr>
28<tr>
29<td valign="middle"><input type="checkbox" name="remember_password" id="remember_password" [$remember_password] style="margin-left:0px;"/></td>
30<td><label for="remember_password">Remember password</label></td>
31</tr>
32</table>
33</fieldset>
34<input type="hidden" name="show_login_form" value="FALSE" />
35<input type="hidden" name="method" value="login" />
36<input type="hidden" id="grid" name="grid" value="[$grid]" />
37<input type="hidden" id="region" name="region" value="[$region]" />
38<input type="hidden" id="location" name="location" value="[$location]" />
39<input type="hidden" id="channel" name="channel" value="[$channel]" />
40<input type="hidden" id="version" name="version" value="[$version]" />
41<input type="hidden" id="lang" name="lang" value="[$lang]" />
42<div id="submitbtn">
43<input class="input_over" type="submit" value="Connect" />
44</div>
45<div id="connecting" style="visibility:hidden"> Connecting...</div>
46
47<div id="helplinks"><!---
48<a href="#new account link" target="_blank">Create new account</a> |
49<a href="#forgot password link" target="_blank">Forgot password?</a>
50---></div>
51
52
53<div id="channelinfo"> [$channel] | [$version]=[$lang]</div>
54</form>
55<script language="JavaScript">
56document.getElementById('firstname_input').focus();
57</script>
58</div>
59</div>
60</body>
61</html>
diff --git a/bin/inventory/AnimationsLibrary/AnimationsLibraryFolders.xml b/bin/inventory/AnimationsLibrary/AnimationsLibraryFolders.xml
new file mode 100644
index 0000000..e064c5b
--- /dev/null
+++ b/bin/inventory/AnimationsLibrary/AnimationsLibraryFolders.xml
@@ -0,0 +1,17 @@
1<Nini>
2<!--
3 <Section Name="Example Library">
4 <Key Name="folderID" Value="12345678-1234-1234-1234-1234567890ab"/>
5 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
6 <Key Name="name" Value="Example Library"/>
7 <Key Name="type" Value="0"/>
8 </Section>
9 -->
10
11 <Section Name="Animations Library">
12 <Key Name="folderID" Value="f0908f10-b9bf-11dc-95ff-0800200c9a66"/>
13 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
14 <Key Name="name" Value="Animations Library"/>
15 <Key Name="type" Value="20"/>
16 </Section>
17</Nini>
diff --git a/bin/inventory/AnimationsLibrary/AnimationsLibraryItems.xml b/bin/inventory/AnimationsLibrary/AnimationsLibraryItems.xml
new file mode 100644
index 0000000..255bb3e
--- /dev/null
+++ b/bin/inventory/AnimationsLibrary/AnimationsLibraryItems.xml
@@ -0,0 +1,134 @@
1<!--
2 In Keys,
3 name is the name of the item.
4 description is the description of the item.
5 assetID is the ID of the asset data that is referenced by the item.
6 folderID is the ID of the folder containing this item.
7 inventoryID is the ID for the item. It must be unique.
8 assetType is the asset type of the item. See the OpenMetaverse.AssetType enum in libopenmetaverse
9 inventoryType is the inventory type of the item. See the OpenMetaverse.InventoryType enum in libopenmetaverse
10-->
11
12<Nini>
13 <Section Name="place_marker">
14 <Key Name="folderID" Value="f0908f10-b9bf-11dc-95ff-0800200c9a66"/>
15 <Key Name="assetID" Value="8ceccb12-5aee-3584-e4a5-66973a844296" />
16 <Key Name="inventoryID" Value="95b4febe-0385-e1b7-e70d-71325d2beea9" />
17 <Key Name="name" Value="place_marker" />
18 <Key Name="description" Value="simple part-body standing, use low-priority to allow others - contributed by Mo Hax" />
19 <Key Name="assetType" Value="20" />
20 <Key Name="inventoryType" Value="19" />
21 </Section>
22 <Section Name="tpose2">
23 <Key Name="folderID" Value="f0908f10-b9bf-11dc-95ff-0800200c9a66"/>
24 <Key Name="assetID" Value="01645eeb-8c51-60dc-58cc-b9512f05afc0" />
25 <Key Name="inventoryID" Value="43534bdd-d00c-a9d1-874f-b83543352d54" />
26 <Key Name="name" Value="tpose2" />
27 <Key Name="description" Value="a tpose more suitable for posing stands - contributed by Mo Hax" />
28 <Key Name="assetType" Value="20" />
29 <Key Name="inventoryType" Value="19" />
30 </Section>
31 <Section Name="bouncy_ball_left">
32 <Key Name="folderID" Value="f0908f10-b9bf-11dc-95ff-0800200c9a66"/>
33 <Key Name="assetID" Value="53339f20-1811-f774-0768-0989f5e57df2" />
34 <Key Name="inventoryID" Value="6d108351-1e10-e4f2-fe37-8e59ea890835" />
35 <Key Name="name" Value="bouncy_ball_left" />
36 <Key Name="description" Value="turn left on bouncy ball, grasping - contributed by Mo Hax" />
37 <Key Name="assetType" Value="20" />
38 <Key Name="inventoryType" Value="19" />
39 </Section>
40 <Section Name="tpose">
41 <Key Name="folderID" Value="f0908f10-b9bf-11dc-95ff-0800200c9a66"/>
42 <Key Name="assetID" Value="9e06424c-0178-82eb-ff21-6c0e4e5a7e6d" />
43 <Key Name="inventoryID" Value="10f8fdbb-466d-df61-cfc6-cb75b43d141c" />
44 <Key Name="name" Value="tpose" />
45 <Key Name="description" Value="the standard tpose (all must start with this in frame 1) - contributed by Mo Hax" />
46 <Key Name="assetType" Value="20" />
47 <Key Name="inventoryType" Value="19" />
48 </Section>
49 <Section Name="handshake">
50 <Key Name="folderID" Value="f0908f10-b9bf-11dc-95ff-0800200c9a66"/>
51 <Key Name="assetID" Value="ddc2400f-ecdb-b00e-aee7-442ff99d5fb7" />
52 <Key Name="inventoryID" Value="94a2e1bf-e31f-1cb6-de62-37527283cdc6" />
53 <Key Name="name" Value="handshake" />
54 <Key Name="description" Value="a simple right-handed, double-pump handshake, (30x30fps) - contributed by Mo Hax" />
55 <Key Name="assetType" Value="20" />
56 <Key Name="inventoryType" Value="19" />
57 </Section>
58 <Section Name="give_and_handshake">
59 <Key Name="folderID" Value="f0908f10-b9bf-11dc-95ff-0800200c9a66"/>
60 <Key Name="assetID" Value="b22af34d-740a-286f-f20a-e0818d91735e" />
61 <Key Name="inventoryID" Value="914021af-b614-a940-6f3b-6c76a102eb4e" />
62 <Key Name="name" Value="give_and_handshake" />
63 <Key Name="description" Value="same as handshake, but gives something with left hand first (30x30fps) - contributed by Mo Hax" />
64 <Key Name="assetType" Value="20" />
65 <Key Name="inventoryType" Value="19" />
66 </Section>
67 <Section Name="bouncy_ball_walk">
68 <Key Name="folderID" Value="f0908f10-b9bf-11dc-95ff-0800200c9a66"/>
69 <Key Name="assetID" Value="be7b9b16-5c88-2862-2d20-ec4b939d6a8e" />
70 <Key Name="inventoryID" Value="6f3642e6-de37-7ad2-8fa2-6e1310a76e84" />
71 <Key Name="name" Value="bouncy_ball_walk" />
72 <Key Name="description" Value="move foward on bouncy ball, walk speed, grasping - contributed by Mo Hax" />
73 <Key Name="assetType" Value="20" />
74 <Key Name="inventoryType" Value="19" />
75 </Section>
76 <Section Name="bouncy_ball_run">
77 <Key Name="folderID" Value="f0908f10-b9bf-11dc-95ff-0800200c9a66"/>
78 <Key Name="assetID" Value="9f2e3814-fc16-0b90-eeb8-5cf8a37fa3bd" />
79 <Key Name="inventoryID" Value="f2e62518-0285-80c0-3530-abc6fe15ccf6" />
80 <Key Name="name" Value="bouncy_ball_run" />
81 <Key Name="description" Value="move foward on bouncy ball, run speed, grasping - contributed by Mo Hax" />
82 <Key Name="assetType" Value="20" />
83 <Key Name="inventoryType" Value="19" />
84 </Section>
85 <Section Name="windsurf_left">
86 <Key Name="folderID" Value="f0908f10-b9bf-11dc-95ff-0800200c9a66"/>
87 <Key Name="assetID" Value="a0e08d1b-1f4b-5bae-8942-25ea578c80f6" />
88 <Key Name="inventoryID" Value="42e422aa-4620-14b5-c7c0-ead9ccfd2df5" />
89 <Key Name="name" Value="windsurf_left" />
90 <Key Name="description" Value="static, full body, pose of windsurfer, left foot forward - contributed by Mo Hax" />
91 <Key Name="assetType" Value="20" />
92 <Key Name="inventoryType" Value="19" />
93 </Section>
94 <Section Name="bouncy_ball_super">
95 <Key Name="folderID" Value="f0908f10-b9bf-11dc-95ff-0800200c9a66"/>
96 <Key Name="assetID" Value="8293c1a1-b7c8-26d8-b1e7-0512509112a5" />
97 <Key Name="inventoryID" Value="6a2746a9-957d-b587-adce-7025bde55926" />
98 <Key Name="name" Value="bouncy_ball_super" />
99 <Key Name="description" Value="super bounce on bouncy ball, matrix-like, grasping - contributed by Mo Hax" />
100 <Key Name="assetType" Value="20" />
101 <Key Name="inventoryType" Value="19" />
102 </Section>
103 <Section Name="bouncy_ball_right">
104 <Key Name="folderID" Value="f0908f10-b9bf-11dc-95ff-0800200c9a66"/>
105 <Key Name="assetID" Value="2e349029-118a-995e-a7bf-d4fa32c1e9aa" />
106 <Key Name="inventoryID" Value="854dd926-bbbf-d2f7-e9bf-6877bc5916e4" />
107 <Key Name="name" Value="bouncy_ball_right" />
108 <Key Name="description" Value="turn right on bouncy ball, grasping - contributed by Mo Hax" />
109 <Key Name="assetType" Value="20" />
110 <Key Name="inventoryType" Value="19" />
111 </Section>
112 <Section Name="autograph_right">
113 <Key Name="folderID" Value="f0908f10-b9bf-11dc-95ff-0800200c9a66"/>
114 <Key Name="assetID" Value="626d9b8f-124f-f571-fc84-002bf28b9395" />
115 <Key Name="inventoryID" Value="c8048a47-90a2-4d07-123f-d81e758d3054" />
116 <Key Name="name" Value="autograph_right" />
117 <Key Name="description" Value="part-body, right-handed signing autograph with left give - contributed by Mo Hax" />
118 <Key Name="assetType" Value="20" />
119 <Key Name="inventoryType" Value="19" />
120 </Section>
121
122<!--
123 <Section Name="Example Library Item">
124 <Key Name="inventoryID" Value="30000000-0000-2222-4444-000000000001" />
125 <Key Name="assetID" Value="30000000-0000-2222-3333-000000000001" />
126 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
127 <Key Name="description" Value="Example Library Item" />
128 <Key Name="name" Value="Example Library Item" />
129 <Key Name="assetType" Value="7" />
130 <Key Name="inventoryType" Value="7" />
131 </Section>
132-->
133
134</Nini>
diff --git a/bin/inventory/BodyPartsLibrary/BodyPartsLibraryFolders.xml b/bin/inventory/BodyPartsLibrary/BodyPartsLibraryFolders.xml
new file mode 100644
index 0000000..213a4ab
--- /dev/null
+++ b/bin/inventory/BodyPartsLibrary/BodyPartsLibraryFolders.xml
@@ -0,0 +1,17 @@
1<Nini>
2<!--
3 <Section Name="Example Library">
4 <Key Name="folderID" Value="12345678-1234-1234-1234-1234567890ab"/>
5 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
6 <Key Name="name" Value="Example Library"/>
7 <Key Name="type" Value="0"/>
8 </Section>
9 -->
10
11 <Section Name="BodyParts Library">
12 <Key Name="folderID" Value="d499e5e0-b9bf-11dc-95ff-0800200c9a66"/>
13 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
14 <Key Name="name" Value="BodyParts Library"/>
15 <Key Name="type" Value="13"/>
16 </Section>
17</Nini>
diff --git a/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml b/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml
new file mode 100644
index 0000000..164a4a7
--- /dev/null
+++ b/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml
@@ -0,0 +1,107 @@
1<Nini>
2
3<!--
4 In Keys,
5 name is the name of the item.
6 description is the description of the item.
7 assetID is the ID of the asset data that is referenced by the item.
8 folderID is the ID of the folder containing this item.
9 inventoryID is the ID for the item. It must be unique.
10 assetType is the asset type of the item. See the OpenMetaverse.AssetType enum in libopenmetaverse
11 inventoryType is the inventory type of the item. See the OpenMetaverse.InventoryType enum in libopenmetaverse
12 flags are only required for wearables. See OpenMetaverse.WearableType enum in libopenmetaverse.
13-->
14
15 <Section Name="Hair">
16 <Key Name="inventoryID" Value="d342e6c1-b9d2-11dc-95ff-0800200c9a66" />
17 <Key Name="assetID" Value="d342e6c0-b9d2-11dc-95ff-0800200c9a66" />
18 <Key Name="folderID" Value="d499e5e0-b9bf-11dc-95ff-0800200c9a66"/>
19 <Key Name="description" Value="Hair" />
20 <Key Name="name" Value="Hair" />
21 <Key Name="assetType" Value="13" />
22 <Key Name="inventoryType" Value="18" />
23 <Key Name="flags" Value="2" />
24 </Section>
25
26 <Section Name="Skin">
27 <Key Name="inventoryID" Value="77c41e39-38f9-f75a-024e-585989bfabc9" />
28 <Key Name="assetID" Value="77c41e39-38f9-f75a-024e-585989bbabbb" />
29 <Key Name="folderID" Value="d499e5e0-b9bf-11dc-95ff-0800200c9a66"/>
30 <Key Name="description" Value="Skin" />
31 <Key Name="name" Value="Skin" />
32 <Key Name="assetType" Value="13" />
33 <Key Name="inventoryType" Value="18" />
34 <Key Name="flags" Value="1" />
35 </Section>
36
37<!--
38 <Section Name="Jim Skin">
39 <Key Name="inventoryID" Value="5c86b031-b9cc-11dc-95ff-0800200c9a66" />
40 <Key Name="assetID" Value="77c41e39-38f9-f75a-024e-585989bbabbc" />
41 <Key Name="folderID" Value="d499e5e0-b9bf-11dc-95ff-0800200c9a66"/>
42 <Key Name="description" Value="Jim Skin" />
43 <Key Name="name" Value="Jim Skin" />
44 <Key Name="assetType" Value="13" />
45 <Key Name="inventoryType" Value="13" />
46 <Key Name="flags" Value="1" />
47 </Section>
48
49 <Section Name="Little Goblin Skin">
50 <Key Name="inventoryID" Value="5c86b032-b9cc-11dc-95ff-0800200c9a66" />
51 <Key Name="assetID" Value="77c41e39-38f9-f75a-024e-585989bbabbd" />
52 <Key Name="folderID" Value="d499e5e0-b9bf-11dc-95ff-0800200c9a66"/>
53 <Key Name="description" Value="Little Goblin Skin" />
54 <Key Name="name" Value="Little Goblin Skin" />
55 <Key Name="assetType" Value="13" />
56 <Key Name="inventoryType" Value="13" />
57 <Key Name="flags" Value="1" />
58 </Section>
59-->
60
61 <Section Name="Shape">
62 <Key Name="inventoryID" Value="66c41e39-38f9-f75a-024e-585989bfaba9" />
63 <Key Name="assetID" Value="66c41e39-38f9-f75a-024e-585989bfab73" />
64 <Key Name="folderID" Value="d499e5e0-b9bf-11dc-95ff-0800200c9a66"/>
65 <Key Name="description" Value="Shape" />
66 <Key Name="name" Value="Shape" />
67 <Key Name="assetType" Value="13" />
68 <Key Name="inventoryType" Value="18" />
69 <Key Name="flags" Value="0" />
70 </Section>
71
72 <Section Name="Eyes">
73 <Key Name="inventoryID" Value="cdc31054-eed8-4021-994f-4e0c6e861b50" />
74 <Key Name="assetID" Value="4bb6fa4d-1cd2-498a-a84c-95c1a0e745a7" />
75 <Key Name="folderID" Value="d499e5e0-b9bf-11dc-95ff-0800200c9a66"/>
76 <Key Name="description" Value="Default Eyes" />
77 <Key Name="name" Value="Default Eyes" />
78 <Key Name="assetType" Value="13" />
79 <Key Name="inventoryType" Value="18" />
80 <Key Name="flags" Value="3" />
81 </Section>
82
83<!--
84 <Section Name="Jim Shape">
85 <Key Name="inventoryID" Value="5c86b034-b9cc-11dc-95ff-0800200c9a66" />
86 <Key Name="assetID" Value="66c41e39-38f9-f75a-024e-585989bfab74" />
87 <Key Name="folderID" Value="d499e5e0-b9bf-11dc-95ff-0800200c9a66"/>
88 <Key Name="description" Value="Jim Shape" />
89 <Key Name="name" Value="Jim Shape" />
90 <Key Name="assetType" Value="13" />
91 <Key Name="inventoryType" Value="13" />
92 <Key Name="flags" Value="0" />
93 </Section>
94
95 <Section Name="Little Goblin Shape">
96 <Key Name="inventoryID" Value="5c86b035-b9cc-11dc-95ff-0800200c9a66" />
97 <Key Name="assetID" Value="66c41e39-38f9-f75a-024e-585989bfab75" />
98 <Key Name="folderID" Value="d499e5e0-b9bf-11dc-95ff-0800200c9a66"/>
99 <Key Name="description" Value="Little Goblin Shape" />
100 <Key Name="name" Value="Little Goblin Shape" />
101 <Key Name="assetType" Value="13" />
102 <Key Name="inventoryType" Value="13" />
103 <Key Name="flags" Value="0" />
104 </Section>
105 -->
106
107</Nini>
diff --git a/bin/inventory/ClothingLibrary/ClothingLibraryFolders.xml b/bin/inventory/ClothingLibrary/ClothingLibraryFolders.xml
new file mode 100644
index 0000000..488c395
--- /dev/null
+++ b/bin/inventory/ClothingLibrary/ClothingLibraryFolders.xml
@@ -0,0 +1,17 @@
1<Nini>
2<!--
3 <Section Name="Example Library">
4 <Key Name="folderID" Value="12345678-1234-1234-1234-1234567890ab"/>
5 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
6 <Key Name="name" Value="Example Library"/>
7 <Key Name="type" Value="0"/>
8 </Section>
9 -->
10
11 <Section Name="Clothing Library">
12 <Key Name="folderID" Value="b75056e0-b9bf-11dc-95ff-0800200c9a66"/>
13 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
14 <Key Name="name" Value="Clothing Library"/>
15 <Key Name="type" Value="5"/>
16 </Section>
17</Nini>
diff --git a/bin/inventory/ClothingLibrary/ClothingLibraryItems.xml b/bin/inventory/ClothingLibrary/ClothingLibraryItems.xml
new file mode 100644
index 0000000..46f8c99
--- /dev/null
+++ b/bin/inventory/ClothingLibrary/ClothingLibraryItems.xml
@@ -0,0 +1,37 @@
1<Nini>
2
3<!--
4 In Keys,
5 name is the name of the item.
6 description is the description of the item.
7 assetID is the ID of the asset data that is referenced by the item.
8 folderID is the ID of the folder containing this item.
9 inventoryID is the ID for the item. It must be unique.
10 assetType is the asset type of the item. See the OpenMetaverse.AssetType enum in libopenmetaverse
11 inventoryType is the inventory type of the item. See the OpenMetaverse.InventoryType enum in libopenmetaverse
12 flags are only required for wearables. See OpenMetaverse.WearableType enum in libopenmetaverse.
13-->
14
15 <Section Name="Shirt">
16 <Key Name="inventoryID" Value="77c41e39-38f9-f75a-0000-585989bf0000" />
17 <Key Name="assetID" Value="00000000-38f9-1111-024e-222222111110" />
18 <Key Name="folderID" Value="b75056e0-b9bf-11dc-95ff-0800200c9a66"/>
19 <Key Name="description" Value="Shirt" />
20 <Key Name="name" Value="Shirt" />
21 <Key Name="assetType" Value="5" />
22 <Key Name="inventoryType" Value="18" />
23 <Key Name="flags" Value="4" />
24 </Section>
25
26 <Section Name="Pants">
27 <Key Name="inventoryID" Value="77c41e39-38f9-f75a-0000-5859892f1111" />
28 <Key Name="assetID" Value="00000000-38f9-1111-024e-222222111120" />
29 <Key Name="folderID" Value="b75056e0-b9bf-11dc-95ff-0800200c9a66"/>
30 <Key Name="description" Value="Pants" />
31 <Key Name="name" Value="Pants" />
32 <Key Name="assetType" Value="5" />
33 <Key Name="inventoryType" Value="18" />
34 <Key Name="flags" Value="5" />
35 </Section>
36
37</Nini>
diff --git a/bin/inventory/GesturesLibrary/GesturesLibraryFolders.xml b/bin/inventory/GesturesLibrary/GesturesLibraryFolders.xml
new file mode 100644
index 0000000..2ae7cec
--- /dev/null
+++ b/bin/inventory/GesturesLibrary/GesturesLibraryFolders.xml
@@ -0,0 +1,17 @@
1<Nini>
2<!--
3 <Section Name="Example Library">
4 <Key Name="folderID" Value="12345678-1234-1234-1234-1234567890ab"/>
5 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
6 <Key Name="name" Value="Example Library"/>
7 <Key Name="type" Value="0"/>
8 </Section>
9 -->
10
11 <Section Name="Gestures Library">
12 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
13 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
14 <Key Name="name" Value="Gestures Library"/>
15 <Key Name="type" Value="21"/>
16 </Section>
17</Nini>
diff --git a/bin/inventory/GesturesLibrary/GesturesLibraryItems.xml b/bin/inventory/GesturesLibrary/GesturesLibraryItems.xml
new file mode 100644
index 0000000..8443eaf
--- /dev/null
+++ b/bin/inventory/GesturesLibrary/GesturesLibraryItems.xml
@@ -0,0 +1,174 @@
1<!--
2 In Keys,
3 name is the name of the item.
4 description is the description of the item.
5 assetID is the ID of the asset data that is referenced by the item.
6 folderID is the ID of the folder containing this item.
7 inventoryID is the ID for the item. It must be unique.
8 assetType is the asset type of the item. See the OpenMetaverse.AssetType enum in libopenmetaverse
9 inventoryType is the inventory type of the item. See the OpenMetaverse.InventoryType enum in libopenmetaverse
10 flags are only required for wearables. See OpenMetaverse.WearableType enum in libopenmetaverse.
11-->
12
13<Nini>
14 <Section Name="can we move along?">
15 <Key Name="inventoryID" Value="9ffe3767-74fa-4c64-a046-18ccf50b9eac"/>
16 <Key Name="assetID" Value="5954170e-e6bc-44f6-96a9-2c02a382165a"/>
17 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
18 <Key Name="description" Value="2008-10-03 14:10:00 gesture" />
19 <Key Name="name" Value="can we move along?" />
20 <Key Name="assetType" Value="21"/>
21 <Key Name="inventoryType" Value="20"/>
22 </Section>
23
24 <Section Name="me!">
25 <Key Name="inventoryID" Value="4c141851-1bef-4c00-9058-8c4d97ab48fe"/>
26 <Key Name="assetID" Value="652475bc-ffb7-4a18-b6bb-7731ddeb6a51"/>
27 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
28 <Key Name="description" Value="2008-10-03 14:17:16 gesture" />
29 <Key Name="name" Value="me!" />
30 <Key Name="assetType" Value="21"/>
31 <Key Name="inventoryType" Value="20"/>
32 </Section>
33
34 <Section Name="clap">
35 <Key Name="inventoryID" Value="a5a30fdb-613f-44fa-8bc2-7806e4da67f6"/>
36 <Key Name="assetID" Value="712e81fd-a215-498c-ab1a-caf1f5bf950d"/>
37 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
38 <Key Name="description" Value="2008-10-03 14:29:00 gesture" />
39 <Key Name="name" Value="clap" />
40 <Key Name="assetType" Value="21"/>
41 <Key Name="inventoryType" Value="20"/>
42 </Section>
43
44 <Section Name="no">
45 <Key Name="inventoryID" Value="514b3ca6-1571-4f58-a24e-f58eb5cb8460"/>
46 <Key Name="assetID" Value="6c123970-0f5a-448e-920a-07bae9aadf4c"/>
47 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
48 <Key Name="description" Value="2008-10-03 14:10:03 gesture" />
49 <Key Name="name" Value="no" />
50 <Key Name="assetType" Value="21"/>
51 <Key Name="inventoryType" Value="20"/>
52 </Section>
53
54 <Section Name="suprised">
55 <Key Name="inventoryID" Value="120fb1f3-112b-4bc4-a7d3-a784ecc360af"/>
56 <Key Name="assetID" Value="dbaf104b-cba8-4df7-b5d3-0cb57d0d63b2"/>
57 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
58 <Key Name="description" Value="2008-10-03 14:17:13 gesture" />
59 <Key Name="name" Value="suprised" />
60 <Key Name="assetType" Value="21"/>
61 <Key Name="inventoryType" Value="20"/>
62 </Section>
63
64 <Section Name="dance2">
65 <Key Name="inventoryID" Value="1ca0e368-5a11-4da1-8503-925a55e7c45f"/>
66 <Key Name="assetID" Value="3bd1792a-6756-4ee0-a54e-3ae6493c2036"/>
67 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
68 <Key Name="description" Value="2008-10-03 14:33:04 gesture" />
69 <Key Name="name" Value="dance2" />
70 <Key Name="assetType" Value="21"/>
71 <Key Name="inventoryType" Value="20"/>
72 </Section>
73
74 <Section Name="definitely YES">
75 <Key Name="inventoryID" Value="022fa770-abb1-4266-963a-4ece4747b748"/>
76 <Key Name="assetID" Value="392c292f-3d27-45ff-9437-c79c06699237"/>
77 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
78 <Key Name="description" Value="2008-10-03 14:09:55 gesture" />
79 <Key Name="name" Value="definitely YES" />
80 <Key Name="assetType" Value="21"/>
81 <Key Name="inventoryType" Value="20"/>
82 </Section>
83
84 <Section Name="Wave">
85 <Key Name="inventoryID" Value="6406a7c6-a690-44be-a444-ba723e50c17d"/>
86 <Key Name="assetID" Value="cce0e317-2c49-411e-8716-f9ce3007c715"/>
87 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
88 <Key Name="description" Value="2008-10-03 14:01:58 gesture" />
89 <Key Name="name" Value="Wave" />
90 <Key Name="assetType" Value="21"/>
91 <Key Name="inventoryType" Value="20"/>
92 </Section>
93
94 <Section Name="take it outside">
95 <Key Name="inventoryID" Value="1488b988-c300-4c2e-b48a-3b8eacb93659"/>
96 <Key Name="assetID" Value="d082bd28-f655-43b7-a0eb-cb80db03753e"/>
97 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
98 <Key Name="description" Value="2008-10-03 14:09:45 gesture" />
99 <Key Name="name" Value="take it outside" />
100 <Key Name="assetType" Value="21"/>
101 <Key Name="inventoryType" Value="20"/>
102 </Section>
103
104 <Section Name="whoohoo!">
105 <Key Name="inventoryID" Value="18c1a2fc-17f6-4af4-a519-827b272feaac"/>
106 <Key Name="assetID" Value="7f7384c0-848c-4bf0-8e83-50879981e1a4"/>
107 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
108 <Key Name="description" Value="2008-10-03 14:10:06 gesture" />
109 <Key Name="name" Value="whoohoo!" />
110 <Key Name="assetType" Value="21"/>
111 <Key Name="inventoryType" Value="20"/>
112 </Section>
113
114 <Section Name="raise hand">
115 <Key Name="inventoryID" Value="5c0afacd-bbd0-4f66-a516-4ac4e380853c"/>
116 <Key Name="assetID" Value="2d0819cf-452b-4db8-b7ac-cda443bc89e7"/>
117 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
118 <Key Name="description" Value="2008-10-03 14:03:01 gesture" />
119 <Key Name="name" Value="raise hand" />
120 <Key Name="assetType" Value="21"/>
121 <Key Name="inventoryType" Value="20"/>
122 </Section>
123
124 <Section Name="LOL">
125 <Key Name="inventoryID" Value="407f6a99-1a12-43c6-bec1-8fad974c8f42"/>
126 <Key Name="assetID" Value="d545ac78-09cc-4811-8700-8df1a37d7f56"/>
127 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
128 <Key Name="description" Value="2008-10-03 14:09:57 gesture" />
129 <Key Name="name" Value="LOL" />
130 <Key Name="assetType" Value="21"/>
131 <Key Name="inventoryType" Value="20"/>
132 </Section>
133
134 <Section Name="dance1">
135 <Key Name="inventoryID" Value="59cce8ab-5c0c-49be-aa3b-036f05fbd7f4"/>
136 <Key Name="assetID" Value="9cc5bb24-bacf-44f9-a1d0-d409e6ccfa6c"/>
137 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
138 <Key Name="description" Value="2008-10-03 14:32:33 gesture" />
139 <Key Name="name" Value="dance1" />
140 <Key Name="assetType" Value="21"/>
141 <Key Name="inventoryType" Value="20"/>
142 </Section>
143
144 <Section Name="wink!">
145 <Key Name="inventoryID" Value="ba33e8ab-b816-4ead-9302-c8475deb1845"/>
146 <Key Name="assetID" Value="67d47cd0-9634-4c99-97db-ddce9bda467c"/>
147 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
148 <Key Name="description" Value="2008-10-03 14:17:09 gesture" />
149 <Key Name="name" Value="wink!" />
150 <Key Name="assetType" Value="21"/>
151 <Key Name="inventoryType" Value="20"/>
152 </Section>
153
154 <Section Name="not sure">
155 <Key Name="inventoryID" Value="02da80eb-cad0-4cd1-9ff7-d3d3dd150fbc"/>
156 <Key Name="assetID" Value="9bc46cd2-95cb-456d-9070-a4439e42af9e"/>
157 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
158 <Key Name="description" Value="2008-10-03 14:10:09 gesture" />
159 <Key Name="name" Value="not sure" />
160 <Key Name="assetType" Value="21"/>
161 <Key Name="inventoryType" Value="20"/>
162 </Section>
163
164 <Section Name="dance3">
165 <Key Name="inventoryID" Value="05e53736-dacb-4935-a1e9-d9897b35b962"/>
166 <Key Name="assetID" Value="fd9ad83a-4921-4b6e-8b8e-558556d9f503"/>
167 <Key Name="folderID" Value="8e1e3a30-b9bf-11dc-95ff-0800200c9a66"/>
168 <Key Name="description" Value="2008-10-03 14:33:41 gesture" />
169 <Key Name="name" Value="dance3" />
170 <Key Name="assetType" Value="21"/>
171 <Key Name="inventoryType" Value="20"/>
172 </Section>
173
174</Nini>
diff --git a/bin/inventory/LandmarksLibrary/LandmarksLibraryFolders.xml b/bin/inventory/LandmarksLibrary/LandmarksLibraryFolders.xml
new file mode 100644
index 0000000..eb1b595
--- /dev/null
+++ b/bin/inventory/LandmarksLibrary/LandmarksLibraryFolders.xml
@@ -0,0 +1,17 @@
1<Nini>
2<!--
3 <Section Name="Example Library">
4 <Key Name="folderID" Value="12345678-1234-1234-1234-1234567890ab"/>
5 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
6 <Key Name="name" Value="Example Library"/>
7 <Key Name="type" Value="0"/>
8 </Section>
9 -->
10
11 <Section Name="Landmarks Library">
12 <Key Name="folderID" Value="6bcd48e0-b9bf-11dc-95ff-0800200c9a66"/>
13 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
14 <Key Name="name" Value="Landmarks Library"/>
15 <Key Name="type" Value="3"/>
16 </Section>
17</Nini>
diff --git a/bin/inventory/LandmarksLibrary/LandmarksLibraryItems.xml b/bin/inventory/LandmarksLibrary/LandmarksLibraryItems.xml
new file mode 100644
index 0000000..907c83c
--- /dev/null
+++ b/bin/inventory/LandmarksLibrary/LandmarksLibraryItems.xml
@@ -0,0 +1,27 @@
1<!--
2 In Keys,
3 name is the name of the item.
4 description is the description of the item.
5 assetID is the ID of the asset data that is referenced by the item.
6 folderID is the ID of the folder containing this item.
7 inventoryID is the ID for the item. It must be unique.
8 assetType is the asset type of the item. See the OpenMetaverse.AssetType enum in libopenmetaverse
9 inventoryType is the inventory type of the item. See the OpenMetaverse.InventoryType enum in libopenmetaverse
10 flags are only required for wearables. See OpenMetaverse.WearableType enum in libopenmetaverse.
11-->
12
13<Nini>
14
15<!--
16 <Section Name="Example Library Item">
17 <Key Name="inventoryID" Value="30000000-0000-2222-4444-000000000001" />
18 <Key Name="assetID" Value="30000000-0000-2222-3333-000000000001" />
19 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
20 <Key Name="description" Value="Example Library Item" />
21 <Key Name="name" Value="Example Library Item" />
22 <Key Name="assetType" Value="7" />
23 <Key Name="inventoryType" Value="7" />
24 </Section>
25-->
26
27</Nini>
diff --git a/bin/inventory/Libraries.xml b/bin/inventory/Libraries.xml
new file mode 100644
index 0000000..d9592a4
--- /dev/null
+++ b/bin/inventory/Libraries.xml
@@ -0,0 +1,86 @@
1<Nini>
2 <Section Name="OpenSim Standard Library">
3 <Key Name="foldersFile" Value="OpenSimLibrary/OpenSimLibraryFolders.xml"/>
4 <Key Name="itemsFile" Value="OpenSimLibrary/OpenSimLibrary.xml"/>
5 </Section>
6
7<!-- Additional libraries can be added as shown below. These folders and items can appear underneath
8 the hardcoded root library folder ("OpenSim Library")
9
10 You can also add folders and items to the folders of libraries defined in this file -->
11<!--
12 <Section Name="My Site Library">
13 <Key Name="foldersFile" Value="MySiteLibrary/MySiteLibraryFolders.xml"/>
14 <Key Name="itemsFile" Value="MySiteLibrary/MySiteLibraryItems.xml"/>
15 </Section>
16-->
17
18<!-- comment the following to stop from loading the subfolders on login -->
19
20 <!---->
21 <Section Name="Animations Library">
22 <Key Name="foldersFile" Value="AnimationsLibrary/AnimationsLibraryFolders.xml"/>
23 <Key Name="itemsFile" Value="AnimationsLibrary/AnimationsLibraryItems.xml"/>
24 </Section>
25 <!---->
26 <!---->
27 <Section Name="BodyParts Library">
28 <Key Name="foldersFile" Value="BodyPartsLibrary/BodyPartsLibraryFolders.xml"/>
29 <Key Name="itemsFile" Value="BodyPartsLibrary/BodyPartsLibraryItems.xml"/>
30 </Section>
31 <!---->
32 <!---->
33 <Section Name="Clothing Library">
34 <Key Name="foldersFile" Value="ClothingLibrary/ClothingLibraryFolders.xml"/>
35 <Key Name="itemsFile" Value="ClothingLibrary/ClothingLibraryItems.xml"/>
36 </Section>
37 <!---->
38 <!---->
39 <Section Name="Gestures Library">
40 <Key Name="foldersFile" Value="GesturesLibrary/GesturesLibraryFolders.xml"/>
41 <Key Name="itemsFile" Value="GesturesLibrary/GesturesLibraryItems.xml"/>
42 </Section>
43 <!---->
44 <!---->
45 <Section Name="Landmarks Library">
46 <Key Name="foldersFile" Value="LandmarksLibrary/LandmarksLibraryFolders.xml"/>
47 <Key Name="itemsFile" Value="LandmarksLibrary/LandmarksLibraryItems.xml"/>
48 </Section>
49 <!---->
50 <!---->
51 <Section Name="Notecards Library">
52 <Key Name="foldersFile" Value="NotecardsLibrary/NotecardsLibraryFolders.xml"/>
53 <Key Name="itemsFile" Value="NotecardsLibrary/NotecardsLibraryItems.xml"/>
54 </Section>
55 <!---->
56 <!---->
57 <Section Name="Objects Library">
58 <Key Name="foldersFile" Value="ObjectsLibrary/ObjectsLibraryFolders.xml"/>
59 <Key Name="itemsFile" Value="ObjectsLibrary/ObjectsLibraryItems.xml"/>
60 </Section>
61 <!---->
62 <!---->
63 <Section Name="Photos Library">
64 <Key Name="foldersFile" Value="PhotosLibrary/PhotosLibraryFolders.xml"/>
65 <Key Name="itemsFile" Value="PhotosLibrary/PhotosLibraryItems.xml"/>
66 </Section>
67 <!---->
68 <!---->
69 <Section Name="Scripts Library">
70 <Key Name="foldersFile" Value="ScriptsLibrary/ScriptsLibraryFolders.xml"/>
71 <Key Name="itemsFile" Value="ScriptsLibrary/ScriptsLibraryItems.xml"/>
72 </Section>
73 <!---->
74 <!---->
75 <Section Name="Sounds Library">
76 <Key Name="foldersFile" Value="SoundsLibrary/SoundsLibraryFolders.xml"/>
77 <Key Name="itemsFile" Value="SoundsLibrary/SoundsLibraryItems.xml"/>
78 </Section>
79 <!---->
80 <!---->
81 <Section Name="Textures Library">
82 <Key Name="foldersFile" Value="TexturesLibrary/TexturesLibraryFolders.xml"/>
83 <Key Name="itemsFile" Value="TexturesLibrary/TexturesLibraryItems.xml"/>
84 </Section>
85 <!---->
86</Nini>
diff --git a/bin/inventory/NotecardsLibrary/NotecardsLibraryFolders.xml b/bin/inventory/NotecardsLibrary/NotecardsLibraryFolders.xml
new file mode 100644
index 0000000..fb5dc89
--- /dev/null
+++ b/bin/inventory/NotecardsLibrary/NotecardsLibraryFolders.xml
@@ -0,0 +1,17 @@
1<Nini>
2<!--
3 <Section Name="Example Library">
4 <Key Name="folderID" Value="12345678-1234-1234-1234-1234567890ab"/>
5 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
6 <Key Name="name" Value="Example Library"/>
7 <Key Name="type" Value="0"/>
8 </Section>
9 -->
10
11 <Section Name="Notecards Library">
12 <Key Name="folderID" Value="33cbd240-b9bf-11dc-95ff-0800200c9a66"/>
13 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
14 <Key Name="name" Value="Notecards Library"/>
15 <Key Name="type" Value="7"/>
16 </Section>
17</Nini>
diff --git a/bin/inventory/NotecardsLibrary/NotecardsLibraryItems.xml b/bin/inventory/NotecardsLibrary/NotecardsLibraryItems.xml
new file mode 100644
index 0000000..53dc253
--- /dev/null
+++ b/bin/inventory/NotecardsLibrary/NotecardsLibraryItems.xml
@@ -0,0 +1,47 @@
1<!--
2 In Keys,
3 name is the name of the item.
4 description is the description of the item.
5 assetID is the ID of the asset data that is referenced by the item.
6 folderID is the ID of the folder containing this item.
7 inventoryID is the ID for the item. It must be unique.
8 assetType is the asset type of the item. See the OpenMetaverse.AssetType enum in libopenmetaverse
9 inventoryType is the inventory type of the item. See the OpenMetaverse.InventoryType enum in libopenmetaverse
10 flags are only required for wearables. See OpenMetaverse.WearableType enum in libopenmetaverse.
11-->
12
13<Nini>
14
15<!--
16 <Section Name="Example Library Item">
17 <Key Name="inventoryID" Value="30000000-0000-2222-4444-000000000001" />
18 <Key Name="assetID" Value="30000000-0000-2222-3333-000000000001" />
19 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
20 <Key Name="description" Value="Example Library Item" />
21 <Key Name="name" Value="Example Library Item" />
22 <Key Name="assetType" Value="7" />
23 <Key Name="inventoryType" Value="7" />
24 </Section>
25-->
26
27 <Section Name="Welcome notecard">
28 <Key Name="inventoryID" Value="00000000-0000-2222-4444-000000000001" />
29 <Key Name="assetID" Value="00000000-0000-2222-3333-000000000001" />
30 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba000"/> <!-- Yes this is root, but notecards should live here -->
31 <Key Name="description" Value="Welcome" />
32 <Key Name="name" Value="Welcome" />
33 <Key Name="assetType" Value="7" />
34 <Key Name="inventoryType" Value="7" />
35 </Section>
36
37 <Section Name="Example notecard">
38 <Key Name="inventoryID" Value="a170ffc0-b9c7-11dc-95ff-0800200c9a66" />
39 <Key Name="assetID" Value="8d1ada50-b9c7-11dc-95ff-0800200c9a66" />
40 <Key Name="folderID" Value="33cbd240-b9bf-11dc-95ff-0800200c9a66"/>
41 <Key Name="description" Value="Example notecard" />
42 <Key Name="name" Value="Example notecard" />
43 <Key Name="assetType" Value="7" />
44 <Key Name="inventoryType" Value="7" />
45 </Section>
46
47</Nini>
diff --git a/bin/inventory/ObjectsLibrary/ObjectsLibraryFolders.xml b/bin/inventory/ObjectsLibrary/ObjectsLibraryFolders.xml
new file mode 100644
index 0000000..4136e5c
--- /dev/null
+++ b/bin/inventory/ObjectsLibrary/ObjectsLibraryFolders.xml
@@ -0,0 +1,17 @@
1<Nini>
2<!--
3 <Section Name="Example Library">
4 <Key Name="folderID" Value="12345678-1234-1234-1234-1234567890ab"/>
5 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
6 <Key Name="name" Value="Example Library"/>
7 <Key Name="type" Value="0"/>
8 </Section>
9 -->
10
11 <Section Name="Objects Library">
12 <Key Name="folderID" Value="1576c6b0-b9bf-11dc-95ff-0800200c9a66"/>
13 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
14 <Key Name="name" Value="Objects Library"/>
15 <Key Name="type" Value="6"/>
16 </Section>
17</Nini>
diff --git a/bin/inventory/ObjectsLibrary/ObjectsLibraryItems.xml b/bin/inventory/ObjectsLibrary/ObjectsLibraryItems.xml
new file mode 100644
index 0000000..907c83c
--- /dev/null
+++ b/bin/inventory/ObjectsLibrary/ObjectsLibraryItems.xml
@@ -0,0 +1,27 @@
1<!--
2 In Keys,
3 name is the name of the item.
4 description is the description of the item.
5 assetID is the ID of the asset data that is referenced by the item.
6 folderID is the ID of the folder containing this item.
7 inventoryID is the ID for the item. It must be unique.
8 assetType is the asset type of the item. See the OpenMetaverse.AssetType enum in libopenmetaverse
9 inventoryType is the inventory type of the item. See the OpenMetaverse.InventoryType enum in libopenmetaverse
10 flags are only required for wearables. See OpenMetaverse.WearableType enum in libopenmetaverse.
11-->
12
13<Nini>
14
15<!--
16 <Section Name="Example Library Item">
17 <Key Name="inventoryID" Value="30000000-0000-2222-4444-000000000001" />
18 <Key Name="assetID" Value="30000000-0000-2222-3333-000000000001" />
19 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
20 <Key Name="description" Value="Example Library Item" />
21 <Key Name="name" Value="Example Library Item" />
22 <Key Name="assetType" Value="7" />
23 <Key Name="inventoryType" Value="7" />
24 </Section>
25-->
26
27</Nini>
diff --git a/bin/inventory/OpenSimLibrary/OpenSimLibrary.xml b/bin/inventory/OpenSimLibrary/OpenSimLibrary.xml
new file mode 100644
index 0000000..bef59d8
--- /dev/null
+++ b/bin/inventory/OpenSimLibrary/OpenSimLibrary.xml
@@ -0,0 +1,16 @@
1<Nini>
2 <!-- the root Opensim Library folder ID is 00000112-000f-0000-0000-000100bba000 -->
3
4<!--
5 <Section Name="Example Library Item">
6 <Key Name="inventoryID" Value="30000000-0000-2222-4444-000000000001" />
7 <Key Name="assetID" Value="30000000-0000-2222-3333-000000000001" />
8 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
9 <Key Name="description" Value="Example Library Item" />
10 <Key Name="name" Value="Example Library Item" />
11 <Key Name="assetType" Value="7" />
12 <Key Name="inventoryType" Value="7" />
13 </Section>
14-->
15
16</Nini>
diff --git a/bin/inventory/OpenSimLibrary/OpenSimLibraryFolders.xml b/bin/inventory/OpenSimLibrary/OpenSimLibraryFolders.xml
new file mode 100644
index 0000000..41fce01
--- /dev/null
+++ b/bin/inventory/OpenSimLibrary/OpenSimLibraryFolders.xml
@@ -0,0 +1,14 @@
1<Nini>
2 <!-- The root library inventory folder is hardcoded as 00000112-000f-0000-0000-000100bba000 -->
3 <!-- Refer to the other folders under inventory, prefference is not to add entries here -->
4
5<!--
6 <Section Name="Example Library">
7 <Key Name="folderID" Value="12345678-1234-1234-1234-1234567890ab"/>
8 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
9 <Key Name="name" Value="Example Library"/>
10 <Key Name="type" Value="0"/>
11 </Section>
12 -->
13
14</Nini>
diff --git a/bin/inventory/PhotosLibrary/PhotosLibraryFolders.xml b/bin/inventory/PhotosLibrary/PhotosLibraryFolders.xml
new file mode 100644
index 0000000..5e42c6d
--- /dev/null
+++ b/bin/inventory/PhotosLibrary/PhotosLibraryFolders.xml
@@ -0,0 +1,17 @@
1<Nini>
2<!--
3 <Section Name="Example Library">
4 <Key Name="folderID" Value="12345678-1234-1234-1234-1234567890ab"/>
5 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
6 <Key Name="name" Value="Example Library"/>
7 <Key Name="type" Value="0"/>
8 </Section>
9 -->
10
11 <Section Name="Photos Library">
12 <Key Name="folderID" Value="cf7e2db0-b9be-11dc-95ff-0800200c9a66"/>
13 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
14 <Key Name="name" Value="Photos Library"/>
15 <Key Name="type" Value="15"/>
16 </Section>
17</Nini>
diff --git a/bin/inventory/PhotosLibrary/PhotosLibraryItems.xml b/bin/inventory/PhotosLibrary/PhotosLibraryItems.xml
new file mode 100644
index 0000000..907c83c
--- /dev/null
+++ b/bin/inventory/PhotosLibrary/PhotosLibraryItems.xml
@@ -0,0 +1,27 @@
1<!--
2 In Keys,
3 name is the name of the item.
4 description is the description of the item.
5 assetID is the ID of the asset data that is referenced by the item.
6 folderID is the ID of the folder containing this item.
7 inventoryID is the ID for the item. It must be unique.
8 assetType is the asset type of the item. See the OpenMetaverse.AssetType enum in libopenmetaverse
9 inventoryType is the inventory type of the item. See the OpenMetaverse.InventoryType enum in libopenmetaverse
10 flags are only required for wearables. See OpenMetaverse.WearableType enum in libopenmetaverse.
11-->
12
13<Nini>
14
15<!--
16 <Section Name="Example Library Item">
17 <Key Name="inventoryID" Value="30000000-0000-2222-4444-000000000001" />
18 <Key Name="assetID" Value="30000000-0000-2222-3333-000000000001" />
19 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
20 <Key Name="description" Value="Example Library Item" />
21 <Key Name="name" Value="Example Library Item" />
22 <Key Name="assetType" Value="7" />
23 <Key Name="inventoryType" Value="7" />
24 </Section>
25-->
26
27</Nini>
diff --git a/bin/inventory/README.txt b/bin/inventory/README.txt
new file mode 100644
index 0000000..ecd81d1
--- /dev/null
+++ b/bin/inventory/README.txt
@@ -0,0 +1,21 @@
1README
2
3Folders and items which will appear in the standard common library for all
4avatars can be configured here. The root folder (currently called OpenSim
5Library) is hardcoded, but you can add your own configuration of folders and
6items directly beneath this, in addition to (or instead of) the contents of the
7default OpenSim library.
8
9To add a new library, edit Libraries.xml. The entry in here needs to point to
10two further xml files, one which details your library inventory folders and another
11which details your library inventory items. Each inventory item will need to be
12associated with an asset. Assets are configured separately in the bin/assets
13directory.
14
15If you are running in grid mode, any library you add must be present in both
16your grid servers installation and in
17every region installation, otherwise library items will fail in the regions
18where the inventory configuration is not present. The reasons for this are historical
19and will probably be lifted in a future revision.
20
21Files in the attic directory are currently unused.
diff --git a/bin/inventory/ScriptsLibrary/ScriptsLibraryFolders.xml b/bin/inventory/ScriptsLibrary/ScriptsLibraryFolders.xml
new file mode 100644
index 0000000..a9f2a7a
--- /dev/null
+++ b/bin/inventory/ScriptsLibrary/ScriptsLibraryFolders.xml
@@ -0,0 +1,62 @@
1<Nini>
2<!--
3 <Section Name="Example Library">
4 <Key Name="folderID" Value="12345678-1234-1234-1234-1234567890ab"/>
5 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
6 <Key Name="name" Value="Example Library"/>
7 <Key Name="type" Value="0"/>
8 </Section>
9 -->
10
11 <Section Name="Scripts Library">
12 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba002"/>
13 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
14 <Key Name="name" Value="Scripts Library"/>
15 <Key Name="type" Value="10"/>
16 </Section>
17
18 <!-- Subfolders under "Scripts Library" -->
19
20 <Section Name="A">
21 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
22 <Key Name="parentFolderID" Value="30000112-000f-0000-0000-000100bba002"/>
23 <Key Name="name" Value="A"/>
24 <Key Name="type" Value="10"/>
25 </Section>
26 <Section Name="B">
27 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba004"/>
28 <Key Name="parentFolderID" Value="30000112-000f-0000-0000-000100bba002"/>
29 <Key Name="name" Value="B"/>
30 <Key Name="type" Value="10"/>
31 </Section>
32 <Section Name="R">
33 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba017"/>
34 <Key Name="parentFolderID" Value="30000112-000f-0000-0000-000100bba002"/>
35 <Key Name="name" Value="R"/>
36 <Key Name="type" Value="10"/>
37 </Section>
38 <Section Name="S">
39 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba018"/>
40 <Key Name="parentFolderID" Value="30000112-000f-0000-0000-000100bba002"/>
41 <Key Name="name" Value="S"/>
42 <Key Name="type" Value="10"/>
43 </Section>
44 <Section Name="OpenSim Specific Scripts">
45 <Key Name="folderID" Value="284858c8-9391-6bf1-ddf5-b936f73de853"/>
46 <Key Name="parentFolderID" Value="30000112-000f-0000-0000-000100bba002"/>
47 <Key Name="name" Value="OpenSim Specific Scripts"/>
48 <Key Name="type" Value="10"/>
49 </Section>
50 <Section Name=".Kan-ED Scripts">
51 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
52 <Key Name="parentFolderID" Value="30000112-000f-0000-0000-000100bba002"/>
53 <Key Name="name" Value=".Kan-ED Scripts"/>
54 <Key Name="type" Value="10"/>
55 </Section>
56 <Section Name=".Other testing scripts">
57 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba025"/>
58 <Key Name="parentFolderID" Value="30000112-000f-0000-0000-000100bba002"/>
59 <Key Name="name" Value=".Other testing scripts"/>
60 <Key Name="type" Value="10"/>
61 </Section>
62</Nini>
diff --git a/bin/inventory/ScriptsLibrary/ScriptsLibraryItems.xml b/bin/inventory/ScriptsLibrary/ScriptsLibraryItems.xml
new file mode 100644
index 0000000..42ad0062
--- /dev/null
+++ b/bin/inventory/ScriptsLibrary/ScriptsLibraryItems.xml
@@ -0,0 +1,436 @@
1<!--
2 In Keys,
3 name is the name of the item.
4 description is the description of the item.
5 assetID is the ID of the asset data that is referenced by the item.
6 folderID is the ID of the folder containing this item.
7 inventoryID is the ID for the item. It must be unique.
8 assetType is the asset type of the item. See the OpenMetaverse.AssetType enum in libopenmetaverse
9 inventoryType is the inventory type of the item. See the OpenMetaverse.InventoryType enum in libopenmetaverse
10 flags are only required for wearables. See OpenMetaverse.WearableType enum in libopenmetaverse.
11-->
12
13<Nini>
14
15<!--
16 <Section Name="Example Library Item">
17 <Key Name="inventoryID" Value="30000000-0000-2222-4444-000000000001" />
18 <Key Name="assetID" Value="30000000-0000-2222-3333-000000000001" />
19 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
20 <Key Name="description" Value="Example Library Item" />
21 <Key Name="name" Value="Example Library Item" />
22 <Key Name="assetType" Value="7" />
23 <Key Name="inventoryType" Value="7" />
24 <Key Name="currentPermissions" Value="2147483647" />
25 <Key Name="nextPermissions" Value="2147483647" />
26 <Key Name="everyonePermissions" Value="2147483647" />
27 <Key Name="basePermissions" Value="2147483647" />
28 </Section>
29-->
30
31<!-- A == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/> -->
32 <Section Name="llAbs">
33 <Key Name="inventoryID" Value="3b055e3e-b19d-11dc-8314-0800200c9a66" />
34 <Key Name="assetID" Value="3b055e3f-b19d-11dc-8314-0800200c9a66" />
35 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
36 <Key Name="description" Value="llA" />
37 <Key Name="name" Value="llAbs" />
38 <Key Name="assetType" Value="10" />
39 <Key Name="inventoryType" Value="10" />
40 </Section>
41
42 <Section Name="llAcos">
43 <Key Name="inventoryID" Value="6519bf38-b19f-11dc-8314-0800200c9a66" />
44 <Key Name="assetID" Value="6519bf39-b19f-11dc-8314-0800200c9a66" />
45 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
46 <Key Name="description" Value="llA" />
47 <Key Name="name" Value="llAcos" />
48 <Key Name="assetType" Value="10" />
49 <Key Name="inventoryType" Value="10" />
50 </Section>
51
52 <Section Name="llAddToLandBanList">
53 <Key Name="inventoryID" Value="7ceba3f0-b1a0-11dc-8314-0800200c9a66" />
54 <Key Name="assetID" Value="7ceba3f1-b1a0-11dc-8314-0800200c9a66" />
55 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
56 <Key Name="description" Value="llA" />
57 <Key Name="name" Value="llAddToLandBanList" />
58 <Key Name="assetType" Value="10" />
59 <Key Name="inventoryType" Value="10" />
60 </Section>
61
62 <Section Name="llAddToLandPassList">
63 <Key Name="inventoryID" Value="609047e6-b390-11dc-8314-0800200c9a66" />
64 <Key Name="assetID" Value="609047e7-b390-11dc-8314-0800200c9a66" />
65 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
66 <Key Name="description" Value="llA" />
67 <Key Name="name" Value="llAddToLandPassList" />
68 <Key Name="assetType" Value="10" />
69 <Key Name="inventoryType" Value="10" />
70 </Section>
71
72 <Section Name="llAdjustSoundVolume">
73 <Key Name="inventoryID" Value="56df4bcc-b393-11dc-8314-0800200c9a66" />
74 <Key Name="assetID" Value="56df4bcd-b393-11dc-8314-0800200c9a66" />
75 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
76 <Key Name="description" Value="llA" />
77 <Key Name="name" Value="llAdjustSoundVolume" />
78 <Key Name="assetType" Value="10" />
79 <Key Name="inventoryType" Value="10" />
80 </Section>
81
82 <Section Name="llAllowInventoryDrop">
83 <Key Name="inventoryID" Value="54d6962c-b394-11dc-8314-0800200c9a66" />
84 <Key Name="assetID" Value="54d6962d-b394-11dc-8314-0800200c9a66" />
85 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
86 <Key Name="description" Value="llA" />
87 <Key Name="name" Value="llAllowInventoryDrop" />
88 <Key Name="assetType" Value="10" />
89 <Key Name="inventoryType" Value="10" />
90 </Section>
91
92 <Section Name="llAngleBetween">
93 <Key Name="inventoryID" Value="6b341608-b34e-11dc-8314-0800200c9a66" />
94 <Key Name="assetID" Value="6b341609-b34e-11dc-8314-0800200c9a66" />
95 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
96 <Key Name="description" Value="llA" />
97 <Key Name="name" Value="llAngleBetween" />
98 <Key Name="assetType" Value="10" />
99 <Key Name="inventoryType" Value="10" />
100 </Section>
101
102 <Section Name="llAsin">
103 <Key Name="inventoryID" Value="7e7422ec-b425-11dc-8314-0800200c9a66" />
104 <Key Name="assetID" Value="7e7422ed-b425-11dc-8314-0800200c9a66" />
105 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
106 <Key Name="description" Value="llA" />
107 <Key Name="name" Value="llAsin" />
108 <Key Name="assetType" Value="10" />
109 <Key Name="inventoryType" Value="10" />
110 </Section>
111
112 <Section Name="llAtan2">
113 <Key Name="inventoryID" Value="7e7422ee-b425-11dc-8314-0800200c9a66" />
114 <Key Name="assetID" Value="7e7422ef-b425-11dc-8314-0800200c9a66" />
115 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
116 <Key Name="description" Value="llA" />
117 <Key Name="name" Value="llAtan2" />
118 <Key Name="assetType" Value="10" />
119 <Key Name="inventoryType" Value="10" />
120 </Section>
121
122 <Section Name="llApplyImpulse">
123 <Key Name="inventoryID" Value="714ec678-b419-11dc-8314-0800200c9a66" />
124 <Key Name="assetID" Value="714ec679-b419-11dc-8314-0800200c9a66" />
125 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
126 <Key Name="description" Value="llA" />
127 <Key Name="name" Value="llApplyImpulse" />
128 <Key Name="assetType" Value="10" />
129 <Key Name="inventoryType" Value="10" />
130 </Section>
131
132 <Section Name="llAvatarOnSitTarget">
133 <Key Name="inventoryID" Value="579fc820-b426-11dc-8314-0800200c9a66" />
134 <Key Name="assetID" Value="579fc821-b426-11dc-8314-0800200c9a66" />
135 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
136 <Key Name="description" Value="llA" />
137 <Key Name="name" Value="llAvatarOnSitTarget" />
138 <Key Name="assetType" Value="10" />
139 <Key Name="inventoryType" Value="10" />
140 </Section>
141
142<!-- B == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba004"/> -->
143 <Section Name="llBase64ToString">
144 <Key Name="inventoryID" Value="1d4c71d8-b428-11dc-8314-0800200c9a66" />
145 <Key Name="assetID" Value="1d4c71d9-b428-11dc-8314-0800200c9a66" />
146 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba004"/>
147 <Key Name="description" Value="llB" />
148 <Key Name="name" Value="llBase64ToString" />
149 <Key Name="assetType" Value="10" />
150 <Key Name="inventoryType" Value="10" />
151 </Section>
152
153<!-- C == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba005"/> -->
154<!-- D == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba006"/> -->
155<!-- E == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba007"/> -->
156<!-- F == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba008"/> -->
157<!-- G == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba009"/> -->
158<!-- H == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba010"/> -->
159<!-- I == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba011"/> -->
160<!-- K == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba012"/> -->
161<!-- L == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba013"/> -->
162<!-- M == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba014"/> -->
163<!-- O == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba015"/> -->
164<!-- P == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba016"/> -->
165<!-- R == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba017"/> -->
166
167 <Section Name="llRemoveFromLandBanList">
168 <Key Name="inventoryID" Value="299b2100-b392-11dc-8314-0800200c9a66" />
169 <Key Name="assetID" Value="299b2101-b392-11dc-8314-0800200c9a66" />
170 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba017"/>
171 <Key Name="description" Value="llR" />
172 <Key Name="name" Value="llRemoveFromLandBanList" />
173 <Key Name="assetType" Value="10" />
174 <Key Name="inventoryType" Value="10" />
175 </Section>
176
177 <Section Name="llRemoveFromLandPassList">
178 <Key Name="inventoryID" Value="299b2102-b392-11dc-8314-0800200c9a66" />
179 <Key Name="assetID" Value="299b2103-b392-11dc-8314-0800200c9a66" />
180 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba017"/>
181 <Key Name="description" Value="llR" />
182 <Key Name="name" Value="llRemoveFromLandPassList" />
183 <Key Name="assetType" Value="10" />
184 <Key Name="inventoryType" Value="10" />
185 </Section>
186
187 <Section Name="llResetLandBanList">
188 <Key Name="inventoryID" Value="366ac8e6-b391-11dc-8314-0800200c9a66" />
189 <Key Name="assetID" Value="366ac8e7-b391-11dc-8314-0800200c9a66" />
190 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba017"/>
191 <Key Name="description" Value="llR" />
192 <Key Name="name" Value="llResetLandBanList" />
193 <Key Name="assetType" Value="10" />
194 <Key Name="inventoryType" Value="10" />
195 </Section>
196
197 <Section Name="llResetLandPassList">
198 <Key Name="inventoryID" Value="366ac8e8-b391-11dc-8314-0800200c9a66" />
199 <Key Name="assetID" Value="366ac8e9-b391-11dc-8314-0800200c9a66" />
200 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba017"/>
201 <Key Name="description" Value="llR" />
202 <Key Name="name" Value="llResetLandPassList" />
203 <Key Name="assetType" Value="10" />
204 <Key Name="inventoryType" Value="10" />
205 </Section>
206
207<!-- S == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba018"/> -->
208 <Section Name="llSay">
209 <Key Name="inventoryID" Value="3af51d20-b38f-11dc-8314-0800200c9a66" />
210 <Key Name="assetID" Value="366ac8e9-b391-11dc-8314-0800200c9a66" />
211 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba018"/>
212 <Key Name="description" Value="llS" />
213 <Key Name="name" Value="llSay" />
214 <Key Name="assetType" Value="10" />
215 <Key Name="inventoryType" Value="10" />
216 </Section>
217
218 <Section Name="llSetParcelMusicURL">
219 <Key Name="inventoryID" Value="3603a4f9-b360-11dc-8314-0800200c9a66" />
220 <Key Name="assetID" Value="3603a4f8-b360-11dc-8314-0800200c9a66" />
221 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba018"/>
222 <Key Name="description" Value="llS" />
223 <Key Name="name" Value="llSetParcelMusicURL" />
224 <Key Name="assetType" Value="10" />
225 <Key Name="inventoryType" Value="10" />
226 </Section>
227
228 <Section Name="llSetRot">
229 <Key Name="inventoryID" Value="220baef8-b376-11dc-8314-0800200c9a66" />
230 <Key Name="assetID" Value="220baef9-b376-11dc-8314-0800200c9a66" />
231 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba018"/>
232 <Key Name="description" Value="llS" />
233 <Key Name="name" Value="llSetRot" />
234 <Key Name="assetType" Value="10" />
235 <Key Name="inventoryType" Value="10" />
236 </Section>
237
238<!-- T == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba019"/> -->
239<!-- U == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba020"/> -->
240<!-- V == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba021"/> -->
241<!-- W == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba022"/> -->
242<!-- X == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba023"/> -->
243<!-- .Kan-ED Scripts == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/> -->
244 <Section Name="Kan-Ed Test1">
245 <Key Name="inventoryID" Value="42b6ac70-d21f-11dd-ad8b-0800200c9a66" />
246 <Key Name="assetID" Value="42b6ac70-d21f-11dd-ad8b-0800200c9a66" />
247 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
248 <Key Name="description" Value="Kan-Ed Test1" />
249 <Key Name="name" Value="Kan-Ed Test1" />
250 <Key Name="assetType" Value="10" />
251 <Key Name="inventoryType" Value="10" />
252 </Section>
253
254 <Section Name="Kan-Ed Test2">
255 <Key Name="inventoryID" Value="42b6ac71-d21f-11dd-ad8b-0800200c9a66" />
256 <Key Name="assetID" Value="42b6ac71-d21f-11dd-ad8b-0800200c9a66" />
257 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
258 <Key Name="description" Value="Kan-Ed Test2" />
259 <Key Name="name" Value="Kan-Ed Test2" />
260 <Key Name="assetType" Value="10" />
261 <Key Name="inventoryType" Value="10" />
262 </Section>
263
264 <Section Name="Kan-Ed Test3">
265 <Key Name="inventoryID" Value="42b6ac72-d21f-11dd-ad8b-0800200c9a66" />
266 <Key Name="assetID" Value="42b6ac72-d21f-11dd-ad8b-0800200c9a66" />
267 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
268 <Key Name="description" Value="Kan-Ed Test3" />
269 <Key Name="name" Value="Kan-Ed Test3" />
270 <Key Name="assetType" Value="10" />
271 <Key Name="inventoryType" Value="10" />
272 </Section>
273
274 <Section Name="Kan-Ed Test4">
275 <Key Name="inventoryID" Value="42b6ac73-d21f-11dd-ad8b-0800200c9a66" />
276 <Key Name="assetID" Value="42b6ac73-d21f-11dd-ad8b-0800200c9a66" />
277 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
278 <Key Name="description" Value="Kan-Ed Test4" />
279 <Key Name="name" Value="Kan-Ed Test4" />
280 <Key Name="assetType" Value="10" />
281 <Key Name="inventoryType" Value="10" />
282 </Section>
283
284 <Section Name="Kan-Ed Test5">
285 <Key Name="inventoryID" Value="42b6ac74-d21f-11dd-ad8b-0800200c9a66" />
286 <Key Name="assetID" Value="42b6ac74-d21f-11dd-ad8b-0800200c9a66" />
287 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
288 <Key Name="description" Value="Kan-Ed Test5" />
289 <Key Name="name" Value="Kan-Ed Test5" />
290 <Key Name="assetType" Value="10" />
291 <Key Name="inventoryType" Value="10" />
292 </Section>
293
294 <Section Name="Kan-Ed Test6">
295 <Key Name="inventoryID" Value="42b6ac75-d21f-11dd-ad8b-0800200c9a66" />
296 <Key Name="assetID" Value="42b6ac75-d21f-11dd-ad8b-0800200c9a66" />
297 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
298 <Key Name="description" Value="Kan-Ed Test6" />
299 <Key Name="name" Value="Kan-Ed Test6" />
300 <Key Name="assetType" Value="10" />
301 <Key Name="inventoryType" Value="10" />
302 </Section>
303
304 <Section Name="Kan-Ed Test7">
305 <Key Name="inventoryID" Value="42b6ac76-d21f-11dd-ad8b-0800200c9a66" />
306 <Key Name="assetID" Value="42b6ac76-d21f-11dd-ad8b-0800200c9a66" />
307 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
308 <Key Name="description" Value="Kan-Ed Test7" />
309 <Key Name="name" Value="Kan-Ed Test7" />
310 <Key Name="assetType" Value="10" />
311 <Key Name="inventoryType" Value="10" />
312 </Section>
313
314 <Section Name="Kan-Ed Test8">
315 <Key Name="inventoryID" Value="42b6ac77-d21f-11dd-ad8b-0800200c9a66" />
316 <Key Name="assetID" Value="42b6ac77-d21f-11dd-ad8b-0800200c9a66" />
317 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
318 <Key Name="description" Value="Kan-Ed Test8" />
319 <Key Name="name" Value="Kan-Ed Test8" />
320 <Key Name="assetType" Value="10" />
321 <Key Name="inventoryType" Value="10" />
322 </Section>
323
324 <Section Name="Kan-Ed Test9">
325 <Key Name="inventoryID" Value="42b6ac78-d21f-11dd-ad8b-0800200c9a66" />
326 <Key Name="assetID" Value="42b6ac78-d21f-11dd-ad8b-0800200c9a66" />
327 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
328 <Key Name="description" Value="Kan-Ed Test9" />
329 <Key Name="name" Value="Kan-Ed Test9" />
330 <Key Name="assetType" Value="10" />
331 <Key Name="inventoryType" Value="10" />
332 </Section>
333
334 <Section Name="Kan-Ed Test10">
335 <Key Name="inventoryID" Value="42b6ac79-d21f-11dd-ad8b-0800200c9a66" />
336 <Key Name="assetID" Value="42b6ac79-d21f-11dd-ad8b-0800200c9a66" />
337 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
338 <Key Name="description" Value="Kan-Ed Test10" />
339 <Key Name="name" Value="Kan-Ed Test10" />
340 <Key Name="assetType" Value="10" />
341 <Key Name="inventoryType" Value="10" />
342 </Section>
343
344 <Section Name="Kan-Ed Test11">
345 <Key Name="inventoryID" Value="42b6ac7a-d21f-11dd-ad8b-0800200c9a66" />
346 <Key Name="assetID" Value="42b6ac7a-d21f-11dd-ad8b-0800200c9a66" />
347 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
348 <Key Name="description" Value="Kan-Ed Test11" />
349 <Key Name="name" Value="Kan-Ed Test11" />
350 <Key Name="assetType" Value="10" />
351 <Key Name="inventoryType" Value="10" />
352 </Section>
353
354 <Section Name="Kan-Ed Test12">
355 <Key Name="inventoryID" Value="42b6ac7b-d21f-11dd-ad8b-0800200c9a66" />
356 <Key Name="assetID" Value="42b6ac7b-d21f-11dd-ad8b-0800200c9a66" />
357 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
358 <Key Name="description" Value="Kan-Ed Test12" />
359 <Key Name="name" Value="Kan-Ed Test12" />
360 <Key Name="assetType" Value="10" />
361 <Key Name="inventoryType" Value="10" />
362 </Section>
363
364 <Section Name="Kan-Ed Test13">
365 <Key Name="inventoryID" Value="42b6ac7c-d21f-11dd-ad8b-0800200c9a66" />
366 <Key Name="assetID" Value="42b6ac7c-d21f-11dd-ad8b-0800200c9a66" />
367 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
368 <Key Name="description" Value="Kan-Ed Test13" />
369 <Key Name="name" Value="Kan-Ed Test13" />
370 <Key Name="assetType" Value="10" />
371 <Key Name="inventoryType" Value="10" />
372 </Section>
373
374 <Section Name="Kan-Ed Test14">
375 <Key Name="inventoryID" Value="42b6ac7d-d21f-11dd-ad8b-0800200c9a66" />
376 <Key Name="assetID" Value="42b6ac7d-d21f-11dd-ad8b-0800200c9a66" />
377 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
378 <Key Name="description" Value="Kan-Ed Test14" />
379 <Key Name="name" Value="Kan-Ed Test14" />
380 <Key Name="assetType" Value="10" />
381 <Key Name="inventoryType" Value="10" />
382 </Section>
383
384 <Section Name="Kan-Ed Test15">
385 <Key Name="inventoryID" Value="42b6ac7e-d21f-11dd-ad8b-0800200c9a66" />
386 <Key Name="assetID" Value="42b6ac7e-d21f-11dd-ad8b-0800200c9a66" />
387 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
388 <Key Name="description" Value="Kan-Ed Test15" />
389 <Key Name="name" Value="Kan-Ed Test15" />
390 <Key Name="assetType" Value="10" />
391 <Key Name="inventoryType" Value="10" />
392 </Section>
393
394 <Section Name="Kan-Ed Test16">
395 <Key Name="inventoryID" Value="42b6ac7f-d21f-11dd-ad8b-0800200c9a66" />
396 <Key Name="assetID" Value="42b6ac7f-d21f-11dd-ad8b-0800200c9a66" />
397 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba024"/>
398 <Key Name="description" Value="Kan-Ed Test16" />
399 <Key Name="name" Value="Kan-Ed Test16" />
400 <Key Name="assetType" Value="10" />
401 <Key Name="inventoryType" Value="10" />
402 </Section>
403
404<!-- .Other testing scripts == <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba025"/> -->
405<!-- OpenSim Specific Scripts == <Key Name="folderID" Value="284858c8-9391-6bf1-ddf5-b936f73de853"/> -->
406
407 <Section Name="osTextBoard">
408 <Key Name="inventoryID" Value="2ddcb059-20c5-d169-4c42-673f16d3284b" />
409 <Key Name="assetID" Value="2ddcb059-20c5-d169-4c42-673f16d3284b" />
410 <Key Name="folderID" Value="284858c8-9391-6bf1-ddf5-b936f73de853"/>
411 <Key Name="description" Value="A dynamic text board - contributed by Neas Bade" />
412 <Key Name="name" Value="osTextBoard" />
413 <Key Name="assetType" Value="10" />
414 <Key Name="inventoryType" Value="10" />
415 </Section>
416
417 <Section Name="osWeatherMap">
418 <Key Name="inventoryID" Value="d63ad3ec-b687-6c38-410d-31ba3e50ce4d" />
419 <Key Name="assetID" Value="d63ad3ec-b687-6c38-410d-31ba3e50ce4d" />
420 <Key Name="folderID" Value="284858c8-9391-6bf1-ddf5-b936f73de853" />
421 <Key Name="description" Value="A cycling US Weather Map - contributed by Neas Bade" />
422 <Key Name="name" Value="osWeatherMap" />
423 <Key Name="assetType" Value="10" />
424 <Key Name="inventoryType" Value="10" />
425 </Section>
426
427 <Section Name="GrafittiBoard">
428 <Key Name="inventoryID" Value="81305ee4-8caa-9e0a-69a4-76ed57df0c8f" />
429 <Key Name="assetID" Value="81305ee4-8caa-9e0a-69a4-76ed57df0c8f" />
430 <Key Name="folderID" Value="284858c8-9391-6bf1-ddf5-b936f73de853" />
431 <Key Name="description" Value="A text board that records what you say - contributed by Justin Clark-Casey" />
432 <Key Name="name" Value="GrafittiBoard" />
433 <Key Name="assetType" Value="10" />
434 <Key Name="inventoryType" Value="10" />
435 </Section>
436</Nini>
diff --git a/bin/inventory/SoundsLibrary/SoundsLibraryFolders.xml b/bin/inventory/SoundsLibrary/SoundsLibraryFolders.xml
new file mode 100644
index 0000000..3404667
--- /dev/null
+++ b/bin/inventory/SoundsLibrary/SoundsLibraryFolders.xml
@@ -0,0 +1,17 @@
1<Nini>
2<!--
3 <Section Name="Example Library">
4 <Key Name="folderID" Value="12345678-1234-1234-1234-1234567890ab"/>
5 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
6 <Key Name="name" Value="Example Library"/>
7 <Key Name="type" Value="0"/>
8 </Section>
9 -->
10
11 <Section Name="Sounds Library">
12 <Key Name="folderID" Value="c1284980-b9be-11dc-95ff-0800200c9a66"/>
13 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
14 <Key Name="name" Value="Sounds Library"/>
15 <Key Name="type" Value="1"/>
16 </Section>
17</Nini>
diff --git a/bin/inventory/SoundsLibrary/SoundsLibraryItems.xml b/bin/inventory/SoundsLibrary/SoundsLibraryItems.xml
new file mode 100644
index 0000000..907c83c
--- /dev/null
+++ b/bin/inventory/SoundsLibrary/SoundsLibraryItems.xml
@@ -0,0 +1,27 @@
1<!--
2 In Keys,
3 name is the name of the item.
4 description is the description of the item.
5 assetID is the ID of the asset data that is referenced by the item.
6 folderID is the ID of the folder containing this item.
7 inventoryID is the ID for the item. It must be unique.
8 assetType is the asset type of the item. See the OpenMetaverse.AssetType enum in libopenmetaverse
9 inventoryType is the inventory type of the item. See the OpenMetaverse.InventoryType enum in libopenmetaverse
10 flags are only required for wearables. See OpenMetaverse.WearableType enum in libopenmetaverse.
11-->
12
13<Nini>
14
15<!--
16 <Section Name="Example Library Item">
17 <Key Name="inventoryID" Value="30000000-0000-2222-4444-000000000001" />
18 <Key Name="assetID" Value="30000000-0000-2222-3333-000000000001" />
19 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
20 <Key Name="description" Value="Example Library Item" />
21 <Key Name="name" Value="Example Library Item" />
22 <Key Name="assetType" Value="7" />
23 <Key Name="inventoryType" Value="7" />
24 </Section>
25-->
26
27</Nini>
diff --git a/bin/inventory/TexturesLibrary/TexturesLibraryFolders.xml b/bin/inventory/TexturesLibrary/TexturesLibraryFolders.xml
new file mode 100644
index 0000000..33b4f5f
--- /dev/null
+++ b/bin/inventory/TexturesLibrary/TexturesLibraryFolders.xml
@@ -0,0 +1,17 @@
1<Nini>
2<!--
3 <Section Name="Example Library">
4 <Key Name="folderID" Value="12345678-1234-1234-1234-1234567890ab"/>
5 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
6 <Key Name="name" Value="Example Library"/>
7 <Key Name="type" Value="0"/>
8 </Section>
9 -->
10
11 <Section Name="Texture Library">
12 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
13 <Key Name="parentFolderID" Value="00000112-000f-0000-0000-000100bba000"/>
14 <Key Name="name" Value="Texture Library"/>
15 <Key Name="type" Value="0"/>
16 </Section>
17</Nini>
diff --git a/bin/inventory/TexturesLibrary/TexturesLibraryItems.xml b/bin/inventory/TexturesLibrary/TexturesLibraryItems.xml
new file mode 100644
index 0000000..adab5d8
--- /dev/null
+++ b/bin/inventory/TexturesLibrary/TexturesLibraryItems.xml
@@ -0,0 +1,586 @@
1<!--
2 In Keys,
3 name is the name of the item.
4 description is the description of the item.
5 assetID is the ID of the asset data that is referenced by the item.
6 folderID is the ID of the folder containing this item.
7 inventoryID is the ID for the item. It must be unique.
8 assetType is the asset type of the item. See the OpenMetaverse.AssetType enum in libopenmetaverse
9 inventoryType is the inventory type of the item. See the OpenMetaverse.InventoryType enum in libopenmetaverse
10 flags are only required for wearables. See OpenMetaverse.WearableType enum in libopenmetaverse.
11-->
12
13<Nini>
14
15<!--
16 <Section Name="Example Library Item">
17 <Key Name="inventoryID" Value="30000000-0000-2222-4444-000000000001" />
18 <Key Name="assetID" Value="30000000-0000-2222-3333-000000000001" />
19 <Key Name="folderID" Value="30000112-000f-0000-0000-000100bba003"/>
20 <Key Name="description" Value="Example Library Item" />
21 <Key Name="name" Value="Example Library Item" />
22 <Key Name="assetType" Value="7" />
23 <Key Name="inventoryType" Value="7" />
24 </Section>
25-->
26
27<Section Name="4-tile2 Texture">
28 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001000" />
29 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001000" />
30 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
31 <Key Name="description" Value="4-tile2 texture" />
32 <Key Name="name" Value="4-tile2" />
33 <Key Name="assetType" Value="0" />
34 <Key Name="inventoryType" Value="0" />
35 </Section>
36
37 <Section Name="4-tile3 Texture">
38 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001001" />
39 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001001" />
40 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
41 <Key Name="description" Value="4-tile3 texture" />
42 <Key Name="name" Value="4-tile3" />
43 <Key Name="assetType" Value="0" />
44 <Key Name="inventoryType" Value="0" />
45 </Section>
46
47 <Section Name="brick1_256 Texture">
48 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001002" />
49 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001002" />
50 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
51 <Key Name="description" Value="brick1_256 texture" />
52 <Key Name="name" Value="brick1_256" />
53 <Key Name="assetType" Value="0" />
54 <Key Name="inventoryType" Value="0" />
55 </Section>
56
57 <Section Name="brick2_256 Texture">
58 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001003" />
59 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001003" />
60 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
61 <Key Name="description" Value="brick2_256 texture" />
62 <Key Name="name" Value="brick2_256" />
63 <Key Name="assetType" Value="0" />
64 <Key Name="inventoryType" Value="0" />
65 </Section>
66
67 <Section Name="brick_mono Texture">
68 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001004" />
69 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001004" />
70 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
71 <Key Name="description" Value="brick_mono texture" />
72 <Key Name="name" Value="brick_mono" />
73 <Key Name="assetType" Value="0" />
74 <Key Name="inventoryType" Value="0" />
75 </Section>
76
77 <Section Name="cedar Texture">
78 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001005" />
79 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001005" />
80 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
81 <Key Name="description" Value="cedar texture" />
82 <Key Name="name" Value="cedar" />
83 <Key Name="assetType" Value="0" />
84 <Key Name="inventoryType" Value="0" />
85 </Section>
86
87 <Section Name="cement_block Texture">
88 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001006" />
89 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001006" />
90 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
91 <Key Name="description" Value="cement_block texture" />
92 <Key Name="name" Value="cement_block" />
93 <Key Name="assetType" Value="0" />
94 <Key Name="inventoryType" Value="0" />
95 </Section>
96
97 <Section Name="clear Texture">
98 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001007" />
99 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001007" />
100 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
101 <Key Name="description" Value="clear texture" />
102 <Key Name="name" Value="clear" />
103 <Key Name="assetType" Value="0" />
104 <Key Name="inventoryType" Value="0" />
105 </Section>
106
107 <Section Name="cobbles Texture">
108 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001008" />
109 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001008" />
110 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
111 <Key Name="description" Value="cobbles texture" />
112 <Key Name="name" Value="cobbles" />
113 <Key Name="assetType" Value="0" />
114 <Key Name="inventoryType" Value="0" />
115 </Section>
116
117 <Section Name="creambrick Texture">
118 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001009" />
119 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001009" />
120 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
121 <Key Name="description" Value="creambrick texture" />
122 <Key Name="name" Value="creambrick" />
123 <Key Name="assetType" Value="0" />
124 <Key Name="inventoryType" Value="0" />
125 </Section>
126
127 <Section Name="fgrass Texture">
128 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001010" />
129 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001010" />
130 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
131 <Key Name="description" Value="fgrass texture" />
132 <Key Name="name" Value="fgrass" />
133 <Key Name="assetType" Value="0" />
134 <Key Name="inventoryType" Value="0" />
135 </Section>
136
137 <Section Name="glasstile2 Texture">
138 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001011" />
139 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001011" />
140 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
141 <Key Name="description" Value="glasstile2 texture" />
142 <Key Name="name" Value="glasstile2" />
143 <Key Name="assetType" Value="0" />
144 <Key Name="inventoryType" Value="0" />
145 </Section>
146
147 <Section Name="graniteblock Texture">
148 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001012" />
149 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001012" />
150 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
151 <Key Name="description" Value="graniteblock texture" />
152 <Key Name="name" Value="graniteblock" />
153 <Key Name="assetType" Value="0" />
154 <Key Name="inventoryType" Value="0" />
155 </Section>
156
157 <Section Name="grass Texture">
158 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001013" />
159 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001013" />
160 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
161 <Key Name="description" Value="grass texture" />
162 <Key Name="name" Value="grass" />
163 <Key Name="assetType" Value="0" />
164 <Key Name="inventoryType" Value="0" />
165 </Section>
166
167 <Section Name="gravel Texture">
168 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001014" />
169 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001014" />
170 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
171 <Key Name="description" Value="gravel texture" />
172 <Key Name="name" Value="gravel" />
173 <Key Name="assetType" Value="0" />
174 <Key Name="inventoryType" Value="0" />
175 </Section>
176
177 <Section Name="greybrick Texture">
178 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001015" />
179 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001015" />
180 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
181 <Key Name="description" Value="greybrick texture" />
182 <Key Name="name" Value="greybrick" />
183 <Key Name="assetType" Value="0" />
184 <Key Name="inventoryType" Value="0" />
185 </Section>
186
187 <Section Name="ivy Texture">
188 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001016" />
189 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001016" />
190 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
191 <Key Name="description" Value="ivy texture" />
192 <Key Name="name" Value="ivy" />
193 <Key Name="assetType" Value="0" />
194 <Key Name="inventoryType" Value="0" />
195 </Section>
196
197 <Section Name="mahogany Texture">
198 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001017" />
199 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001017" />
200 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
201 <Key Name="description" Value="mahogany texture" />
202 <Key Name="name" Value="mahogany" />
203 <Key Name="assetType" Value="0" />
204 <Key Name="inventoryType" Value="0" />
205 </Section>
206
207 <Section Name="maple Texture">
208 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001018" />
209 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001018" />
210 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
211 <Key Name="description" Value="maple texture" />
212 <Key Name="name" Value="maple" />
213 <Key Name="assetType" Value="0" />
214 <Key Name="inventoryType" Value="0" />
215 </Section>
216
217 <Section Name="mosaic02 Texture">
218 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001019" />
219 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001019" />
220 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
221 <Key Name="description" Value="mosaic02 texture" />
222 <Key Name="name" Value="mosaic02" />
223 <Key Name="assetType" Value="0" />
224 <Key Name="inventoryType" Value="0" />
225 </Section>
226
227 <Section Name="palm1 Texture">
228 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001020" />
229 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001020" />
230 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
231 <Key Name="description" Value="palm1 texture" />
232 <Key Name="name" Value="palm1" />
233 <Key Name="assetType" Value="0" />
234 <Key Name="inventoryType" Value="0" />
235 </Section>
236
237 <Section Name="papaya Texture">
238 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001021" />
239 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001021" />
240 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
241 <Key Name="description" Value="papaya texture" />
242 <Key Name="name" Value="papaya" />
243 <Key Name="assetType" Value="0" />
244 <Key Name="inventoryType" Value="0" />
245 </Section>
246
247 <Section Name="papaya_bark Texture">
248 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001022" />
249 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001022" />
250 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
251 <Key Name="description" Value="papaya_bark texture" />
252 <Key Name="name" Value="papaya_bark" />
253 <Key Name="assetType" Value="0" />
254 <Key Name="inventoryType" Value="0" />
255 </Section>
256
257 <Section Name="pastelbrick Texture">
258 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001023" />
259 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001023" />
260 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
261 <Key Name="description" Value="pastelbrick texture" />
262 <Key Name="name" Value="pastelbrick" />
263 <Key Name="assetType" Value="0" />
264 <Key Name="inventoryType" Value="0" />
265 </Section>
266
267 <Section Name="pine1_10m Texture">
268 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001024" />
269 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001024" />
270 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
271 <Key Name="description" Value="pine1_10m texture" />
272 <Key Name="name" Value="pine1_10m" />
273 <Key Name="assetType" Value="0" />
274 <Key Name="inventoryType" Value="0" />
275 </Section>
276
277 <Section Name="poplar Texture">
278 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001025" />
279 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001025" />
280 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
281 <Key Name="description" Value="poplar texture" />
282 <Key Name="name" Value="poplar" />
283 <Key Name="assetType" Value="0" />
284 <Key Name="inventoryType" Value="0" />
285 </Section>
286
287 <Section Name="redtri_tile Texture">
288 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001026" />
289 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001026" />
290 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
291 <Key Name="description" Value="redtri_tile texture" />
292 <Key Name="name" Value="redtri_tile" />
293 <Key Name="assetType" Value="0" />
294 <Key Name="inventoryType" Value="0" />
295 </Section>
296
297 <Section Name="rockbuilding Texture">
298 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001027" />
299 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001027" />
300 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
301 <Key Name="description" Value="rockbuilding texture" />
302 <Key Name="name" Value="rockbuilding" />
303 <Key Name="assetType" Value="0" />
304 <Key Name="inventoryType" Value="0" />
305 </Section>
306
307 <Section Name="rockwallbig Texture">
308 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001028" />
309 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001028" />
310 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
311 <Key Name="description" Value="rockwallbig texture" />
312 <Key Name="name" Value="rockwallbig" />
313 <Key Name="assetType" Value="0" />
314 <Key Name="inventoryType" Value="0" />
315 </Section>
316
317 <Section Name="roof01 Texture">
318 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001029" />
319 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001029" />
320 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
321 <Key Name="description" Value="roof01 texture" />
322 <Key Name="name" Value="roof01" />
323 <Key Name="assetType" Value="0" />
324 <Key Name="inventoryType" Value="0" />
325 </Section>
326
327 <Section Name="rooftiles1 Texture">
328 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001030" />
329 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001030" />
330 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
331 <Key Name="description" Value="rooftiles1 texture" />
332 <Key Name="name" Value="rooftiles1" />
333 <Key Name="assetType" Value="0" />
334 <Key Name="inventoryType" Value="0" />
335 </Section>
336
337 <Section Name="rooftiles2_peach Texture">
338 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001031" />
339 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001031" />
340 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
341 <Key Name="description" Value="rooftiles2_peach texture" />
342 <Key Name="name" Value="rooftiles2_peach" />
343 <Key Name="assetType" Value="0" />
344 <Key Name="inventoryType" Value="0" />
345 </Section>
346
347 <Section Name="rooftiles2_roy Texture">
348 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001032" />
349 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001032" />
350 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
351 <Key Name="description" Value="rooftiles2_roy texture" />
352 <Key Name="name" Value="rooftiles2_roy" />
353 <Key Name="assetType" Value="0" />
354 <Key Name="inventoryType" Value="0" />
355 </Section>
356
357 <Section Name="saguaro_8m Texture">
358 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001033" />
359 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001033" />
360 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
361 <Key Name="description" Value="saguaro_8m texture" />
362 <Key Name="name" Value="saguaro_8m" />
363 <Key Name="assetType" Value="0" />
364 <Key Name="inventoryType" Value="0" />
365 </Section>
366
367 <Section Name="seawater Texture">
368 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001034" />
369 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001034" />
370 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
371 <Key Name="description" Value="seawater texture" />
372 <Key Name="name" Value="seawater" />
373 <Key Name="assetType" Value="0" />
374 <Key Name="inventoryType" Value="0" />
375 </Section>
376
377 <Section Name="snow1 Texture">
378 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001035" />
379 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001035" />
380 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
381 <Key Name="description" Value="snow1 texture" />
382 <Key Name="name" Value="snow1" />
383 <Key Name="assetType" Value="0" />
384 <Key Name="inventoryType" Value="0" />
385 </Section>
386
387 <Section Name="steel Texture">
388 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001036" />
389 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001036" />
390 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
391 <Key Name="description" Value="steel texture" />
392 <Key Name="name" Value="steel" />
393 <Key Name="assetType" Value="0" />
394 <Key Name="inventoryType" Value="0" />
395 </Section>
396
397 <Section Name="stone1wall Texture">
398 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001037" />
399 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001037" />
400 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
401 <Key Name="description" Value="stone1wall texture" />
402 <Key Name="name" Value="stone1wall" />
403 <Key Name="assetType" Value="0" />
404 <Key Name="inventoryType" Value="0" />
405 </Section>
406
407 <Section Name="stonetile Texture">
408 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001038" />
409 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001038" />
410 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
411 <Key Name="description" Value="stonetile texture" />
412 <Key Name="name" Value="stonetile" />
413 <Key Name="assetType" Value="0" />
414 <Key Name="inventoryType" Value="0" />
415 </Section>
416
417 <Section Name="street2 Texture">
418 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001039" />
419 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001039" />
420 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
421 <Key Name="description" Value="street2 texture" />
422 <Key Name="name" Value="street2" />
423 <Key Name="assetType" Value="0" />
424 <Key Name="inventoryType" Value="0" />
425 </Section>
426
427 <Section Name="thatch Texture">
428 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001040" />
429 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001040" />
430 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
431 <Key Name="description" Value="thatch texture" />
432 <Key Name="name" Value="thatch" />
433 <Key Name="assetType" Value="0" />
434 <Key Name="inventoryType" Value="0" />
435 </Section>
436
437 <Section Name="water1 Texture">
438 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001041" />
439 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001041" />
440 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
441 <Key Name="description" Value="water1 texture" />
442 <Key Name="name" Value="water1" />
443 <Key Name="assetType" Value="0" />
444 <Key Name="inventoryType" Value="0" />
445 </Section>
446
447 <Section Name="water3 Texture">
448 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001042" />
449 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001042" />
450 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
451 <Key Name="description" Value="water3 texture" />
452 <Key Name="name" Value="water3" />
453 <Key Name="assetType" Value="0" />
454 <Key Name="inventoryType" Value="0" />
455 </Section>
456
457 <Section Name="wood1 Texture">
458 <Key Name="inventoryID" Value="00000000-0000-2222-4444-100000001043" />
459 <Key Name="assetID" Value="00000000-0000-2222-3333-100000001043" />
460 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
461 <Key Name="description" Value="wood1 texture" />
462 <Key Name="name" Value="wood1" />
463 <Key Name="assetType" Value="0" />
464 <Key Name="inventoryType" Value="0" />
465 </Section>
466
467 <Section Name="bricks Texture">
468 <Key Name="inventoryID" Value="00000000-0000-2222-9999-000000000001"/>
469 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000001"/>
470 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
471 <Key Name="description" Value="bricks texture" />
472 <Key Name="name" Value="bricks" />
473 <Key Name="assetType" Value="0" />
474 <Key Name="inventoryType" Value="0" />
475 </Section>
476
477 <Section Name="granite Texture">
478 <Key Name="inventoryID" Value="00000000-0000-2222-9999-000000000004"/>
479 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000004"/>
480 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
481 <Key Name="description" Value="granite texture" />
482 <Key Name="name" Value="granite" />
483 <Key Name="assetType" Value="0" />
484 <Key Name="inventoryType" Value="0" />
485 </Section>
486
487 <Section Name="hardwood Texture">
488 <Key Name="inventoryID" Value="00000000-0000-2222-9999-000000000005"/>
489 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000005"/>
490 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
491 <Key Name="description" Value="hardwood texture" />
492 <Key Name="name" Value="hardwood" />
493 <Key Name="assetType" Value="0" />
494 <Key Name="inventoryType" Value="0" />
495 </Section>
496
497 <Section Name="rocks Texture">
498 <Key Name="inventoryID" Value="00000000-0000-2222-9999-000000000003"/>
499 <Key Name="assetID" Value="00000000-0000-1111-9999-000000000003"/>
500 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
501 <Key Name="description" Value="rocks texture" />
502 <Key Name="name" Value="rocks" />
503 <Key Name="assetType" Value="0" />
504 <Key Name="inventoryType" Value="0" />
505 </Section>
506
507 <Section Name="Terrain Dirt">
508 <Key Name="inventoryID" Value="00000000-0000-2222-9999-000000000006"/>
509 <Key Name="assetID" Value="b8d3965a-ad78-bf43-699b-bff8eca6c975"/>
510 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
511 <Key Name="description" Value="" />
512 <Key Name="name" Value="Terrain Dirt" />
513 <Key Name="assetType" Value="0" />
514 <Key Name="inventoryType" Value="0" />
515 </Section>
516
517 <Section Name="Terrain Grass">
518 <Key Name="inventoryID" Value="00000000-0000-2222-9999-000000000007"/>
519 <Key Name="assetID" Value="abb783e6-3e93-26c0-248a-247666855da3"/>
520 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
521 <Key Name="description" Value="" />
522 <Key Name="name" Value="Terrain Grass" />
523 <Key Name="assetType" Value="0" />
524 <Key Name="inventoryType" Value="0" />
525 </Section>
526
527 <Section Name="Terrain Mountain">
528 <Key Name="inventoryID" Value="00000000-0000-2222-9999-000000000008"/>
529 <Key Name="assetID" Value="179cdabd-398a-9b6b-1391-4dc333ba321f"/>
530 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
531 <Key Name="description" Value="" />
532 <Key Name="name" Value="Terrain Mountain" />
533 <Key Name="assetType" Value="0" />
534 <Key Name="inventoryType" Value="0" />
535 </Section>
536
537 <Section Name="Terrain Rock">
538 <Key Name="inventoryID" Value="00000000-0000-2222-9999-000000000009"/>
539 <Key Name="assetID" Value="beb169c7-11ea-fff2-efe5-0f24dc881df2"/>
540 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
541 <Key Name="description" Value="" />
542 <Key Name="name" Value="Terrain Rock" />
543 <Key Name="assetType" Value="0" />
544 <Key Name="inventoryType" Value="0" />
545 </Section>
546
547 <Section Name="Blank Texture">
548 <Key Name="inventoryID" Value="00000000-0000-2222-9999-000000000010"/>
549 <Key Name="assetID" Value="5748decc-f629-461c-9a36-a35a221fe21f"/>
550 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
551 <Key Name="description" Value="" />
552 <Key Name="name" Value="Blank Texture" />
553 <Key Name="assetType" Value="0" />
554 <Key Name="inventoryType" Value="0" />
555 </Section>
556
557 <Section Name="Default Media Texture">
558 <Key Name="inventoryID" Value="00000000-0000-2222-9999-000000000011"/>
559 <Key Name="assetID" Value="8b5fec65-8d8d-9dc5-cda8-8fdf2716e361"/>
560 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
561 <Key Name="description" Value="" />
562 <Key Name="name" Value="Default Media Texture" />
563 <Key Name="assetType" Value="0" />
564 <Key Name="inventoryType" Value="0" />
565 </Section>
566
567 <Section Name="Default Transparent Texture">
568 <Key Name="inventoryID" Value="00000000-0000-2222-9999-000000000012"/>
569 <Key Name="assetID" Value="8dcd4a48-2d37-4909-9f78-f7a9eb4ef903"/>
570 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
571 <Key Name="description" Value="" />
572 <Key Name="name" Value="Default Transparent Texture" />
573 <Key Name="assetType" Value="0" />
574 <Key Name="inventoryType" Value="0" />
575 </Section>
576
577 <Section Name="Default Iris Texture">
578 <Key Name="inventoryID" Value="00000000-0000-2222-9999-000000000013"/>
579 <Key Name="assetID" Value="6522e74d-1660-4e7f-b601-6f48c1659a77"/>
580 <Key Name="folderID" Value="00000112-000f-0000-0000-000100bba001"/>
581 <Key Name="description" Value=""/>
582 <Key Name="name" Value="Default Iris Texture" />
583 <Key Name="assetType" Value="0" />
584 <Key Name="inventoryType" Value="0" />
585 </Section>
586</Nini>
diff --git a/bin/lib32/BulletSim.dll b/bin/lib32/BulletSim.dll
new file mode 100755
index 0000000..c7138a4
--- /dev/null
+++ b/bin/lib32/BulletSim.dll
Binary files differ
diff --git a/bin/lib32/libBulletSim.dylib b/bin/lib32/libBulletSim.dylib
new file mode 100755
index 0000000..e4508e6
--- /dev/null
+++ b/bin/lib32/libBulletSim.dylib
Binary files differ
diff --git a/bin/lib32/libBulletSim.so b/bin/lib32/libBulletSim.so
new file mode 100755
index 0000000..4fb7e3e
--- /dev/null
+++ b/bin/lib32/libBulletSim.so
Binary files differ
diff --git a/bin/lib32/libode.dylib b/bin/lib32/libode.dylib
new file mode 100755
index 0000000..49e205e
--- /dev/null
+++ b/bin/lib32/libode.dylib
Binary files differ
diff --git a/bin/lib32/libode.so b/bin/lib32/libode.so
new file mode 100755
index 0000000..35cb027
--- /dev/null
+++ b/bin/lib32/libode.so
Binary files differ
diff --git a/bin/lib32/libopenjpeg-dotnet.so b/bin/lib32/libopenjpeg-dotnet.so
new file mode 100755
index 0000000..193eca4
--- /dev/null
+++ b/bin/lib32/libopenjpeg-dotnet.so
Binary files differ
diff --git a/bin/lib32/libsqlite3.txt b/bin/lib32/libsqlite3.txt
new file mode 100644
index 0000000..8ef66bd
--- /dev/null
+++ b/bin/lib32/libsqlite3.txt
@@ -0,0 +1 @@
libsqlite version: 3.7.5
diff --git a/bin/lib32/libsqlite3_32.so b/bin/lib32/libsqlite3_32.so
new file mode 100755
index 0000000..171ffcd
--- /dev/null
+++ b/bin/lib32/libsqlite3_32.so
Binary files differ
diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll
new file mode 100755
index 0000000..cb4d1a0
--- /dev/null
+++ b/bin/lib32/ode.dll
Binary files differ
diff --git a/bin/lib32/sqlite3.dll b/bin/lib32/sqlite3.dll
new file mode 100755
index 0000000..f29dc62
--- /dev/null
+++ b/bin/lib32/sqlite3.dll
Binary files differ
diff --git a/bin/lib64/BulletSim.dll b/bin/lib64/BulletSim.dll
new file mode 100755
index 0000000..58fe6b6
--- /dev/null
+++ b/bin/lib64/BulletSim.dll
Binary files differ
diff --git a/bin/lib64/libBulletSim.dylib b/bin/lib64/libBulletSim.dylib
new file mode 100755
index 0000000..e4508e6
--- /dev/null
+++ b/bin/lib64/libBulletSim.dylib
Binary files differ
diff --git a/bin/lib64/libBulletSim.so b/bin/lib64/libBulletSim.so
new file mode 100755
index 0000000..2bf1159
--- /dev/null
+++ b/bin/lib64/libBulletSim.so
Binary files differ
diff --git a/bin/lib64/libode-x86_64.so b/bin/lib64/libode-x86_64.so
new file mode 100755
index 0000000..663ff5d
--- /dev/null
+++ b/bin/lib64/libode-x86_64.so
Binary files differ
diff --git a/bin/lib64/libode.dylib b/bin/lib64/libode.dylib
new file mode 100755
index 0000000..49e205e
--- /dev/null
+++ b/bin/lib64/libode.dylib
Binary files differ
diff --git a/bin/lib64/libopenjpeg-dotnet-x86_64.so b/bin/lib64/libopenjpeg-dotnet-x86_64.so
new file mode 100755
index 0000000..7a9bdfc
--- /dev/null
+++ b/bin/lib64/libopenjpeg-dotnet-x86_64.so
Binary files differ
diff --git a/bin/lib64/libopenjpeg-dotnet.dylib b/bin/lib64/libopenjpeg-dotnet.dylib
new file mode 100755
index 0000000..91f7264
--- /dev/null
+++ b/bin/lib64/libopenjpeg-dotnet.dylib
Binary files differ
diff --git a/bin/lib64/libsqlite3.dylib b/bin/lib64/libsqlite3.dylib
new file mode 100755
index 0000000..94dcca8
--- /dev/null
+++ b/bin/lib64/libsqlite3.dylib
Binary files differ
diff --git a/bin/lib64/libsqlite3_64.so b/bin/lib64/libsqlite3_64.so
new file mode 100755
index 0000000..2646a9c
--- /dev/null
+++ b/bin/lib64/libsqlite3_64.so
Binary files differ
diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll
new file mode 100755
index 0000000..050ee46
--- /dev/null
+++ b/bin/lib64/ode.dll
Binary files differ
diff --git a/bin/lib64/sqlite3.dll b/bin/lib64/sqlite3.dll
new file mode 100755
index 0000000..815c4d3
--- /dev/null
+++ b/bin/lib64/sqlite3.dll
Binary files differ
diff --git a/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-i686.so b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-i686.so
new file mode 100644
index 0000000..193eca4
--- /dev/null
+++ b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-i686.so
Binary files differ
diff --git a/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-x86_64.so b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-x86_64.so
new file mode 100644
index 0000000..7a9bdfc
--- /dev/null
+++ b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1-x86_64.so
Binary files differ
diff --git a/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib
new file mode 100644
index 0000000..91f7264
--- /dev/null
+++ b/bin/libopenjpeg-dotnet-2-1.5.0-dotnet-1.dylib
Binary files differ
diff --git a/bin/log4net.dll b/bin/log4net.dll
new file mode 100755
index 0000000..ffc57e1
--- /dev/null
+++ b/bin/log4net.dll
Binary files differ
diff --git a/bin/nunit.framework.dll b/bin/nunit.framework.dll
new file mode 100755
index 0000000..875e098
--- /dev/null
+++ b/bin/nunit.framework.dll
Binary files differ
diff --git a/bin/openjpeg-dotnet-x86_64.dll b/bin/openjpeg-dotnet-x86_64.dll
new file mode 100755
index 0000000..9e8cd21
--- /dev/null
+++ b/bin/openjpeg-dotnet-x86_64.dll
Binary files differ
diff --git a/bin/openjpeg-dotnet.dll b/bin/openjpeg-dotnet.dll
new file mode 100755
index 0000000..6377b8d
--- /dev/null
+++ b/bin/openjpeg-dotnet.dll
Binary files differ
diff --git a/bin/openmetaverse_data/avatar_lad.xml b/bin/openmetaverse_data/avatar_lad.xml
new file mode 100644
index 0000000..3bd7ba7
--- /dev/null
+++ b/bin/openmetaverse_data/avatar_lad.xml
@@ -0,0 +1,12308 @@
1<?xml version="1.0" encoding="US-ASCII" standalone="yes"?>
2<linden_avatar
3 version="1.0" wearable_definition_version="22">
4 <!-- The wearable_definition_version is checked during asset upload. -->
5 <!-- If you increment it, check indra/lib/python/indra/assetutil.py. -->
6 <skeleton
7 file_name="avatar_skeleton.xml">
8 <attachment_point
9 id="1"
10 group="6"
11 pie_slice="2"
12 name="Chest"
13 joint="mChest"
14 position="0.15 0 -0.1"
15 rotation="0 90 90"
16 visible_in_first_person="true" />
17
18 <attachment_point
19 id="2"
20 group="2"
21 pie_slice="2"
22 name="Skull"
23 joint="mHead"
24 position="0 0 0.15"
25 rotation="0 0 90"
26 visible_in_first_person="false" />
27
28 <attachment_point
29 id="3"
30 group="3"
31 pie_slice="3"
32 name="Left Shoulder"
33 joint="mCollarLeft"
34 position="0 0 0.08"
35 rotation="0 0 0"
36 visible_in_first_person="true" />
37
38 <attachment_point
39 id="4"
40 group="1"
41 pie_slice="1"
42 name="Right Shoulder"
43 joint="mCollarRight"
44 position="0 0 0.08"
45 rotation="0 0 0"
46 visible_in_first_person="true"/>
47
48 <attachment_point
49 id="5"
50 group="4"
51 name="Left Hand"
52 joint="mWristLeft"
53 position="0 0.08 -0.02"
54 rotation="0 0 0"
55 visible_in_first_person="true"
56 max_attachment_offset="1.5" />
57
58 <attachment_point
59 id="6"
60 group="0"
61 name="Right Hand"
62 joint="mWristRight"
63 position="0 -0.08 -0.02"
64 rotation="0 0 0"
65 visible_in_first_person="true"
66 max_attachment_offset="1.5" />
67
68 <attachment_point
69 id="7"
70 group="5"
71 pie_slice="6"
72 name="Left Foot"
73 joint="mFootLeft"
74 position="0 0.0 0.0"
75 rotation="0 0 0"
76 visible_in_first_person="true"/>
77
78 <attachment_point
79 id="8"
80 group="7"
81 pie_slice="6"
82 name="Right Foot"
83 joint="mFootRight"
84 position="0 0.0 0.0"
85 rotation="0 0 0"
86 visible_in_first_person="true"/>
87
88 <attachment_point
89 id="9"
90 group="6"
91 pie_slice="7"
92 name="Spine"
93 joint="mChest"
94 position="-0.15 0 -0.1"
95 rotation="0 -90 90"
96 visible_in_first_person="true" />
97
98 <attachment_point
99 id="10"
100 group="6"
101 pie_slice="6"
102 name="Pelvis"
103 joint="mPelvis"
104 position="0 0 -0.15"
105 rotation="0 0 0"
106 visible_in_first_person="true" />
107
108 <attachment_point
109 id="11"
110 group="2"
111 pie_slice="6"
112 name="Mouth"
113 joint="mHead"
114 position="0.12 0 0.001"
115 rotation="0 0 0"
116 visible_in_first_person="false"/>
117
118 <attachment_point
119 id="12"
120 group="2"
121 pie_slice="7"
122 name="Chin"
123 joint="mHead"
124 position="0.12 0 -0.04"
125 rotation="0 0 0"
126 visible_in_first_person="false" />
127
128 <attachment_point
129 id="13"
130 group="2"
131 pie_slice="4"
132 name="Left Ear"
133 joint="mHead"
134 position="0.015 0.08 0.017"
135 rotation="0 0 0"
136 visible_in_first_person="false" />
137
138 <attachment_point
139 id="14"
140 group="2"
141 pie_slice="0"
142 name="Right Ear"
143 joint="mHead"
144 position="0.015 -0.08 0.017"
145 rotation="0 0 0"
146 visible_in_first_person="false" />
147
148 <attachment_point
149 id="15"
150 group="2"
151 pie_slice="3"
152 name="Left Eyeball"
153 joint="mEyeLeft"
154 position="0 0 0"
155 rotation="0 0 0"
156 visible_in_first_person="false"/>
157
158 <attachment_point
159 id="16"
160 group="2"
161 pie_slice="1"
162 name="Right Eyeball"
163 joint="mEyeRight"
164 position="0 0 0"
165 rotation="0 0 0"
166 visible_in_first_person="false" />
167
168 <attachment_point
169 id="17"
170 group="2"
171 pie_slice="5"
172 name="Nose"
173 joint="mHead"
174 position="0.1 0 0.05"
175 rotation="0 0 0"
176 visible_in_first_person="false"/>
177
178 <attachment_point
179 id="18"
180 group="1"
181 pie_slice="0"
182 name="R Upper Arm"
183 joint="mShoulderRight"
184 position="0.01 -0.13 0.01"
185 rotation="0 0 0"
186 visible_in_first_person="true" />
187
188 <attachment_point
189 id="19"
190 group="1"
191 pie_slice="7"
192 name="R Forearm"
193 joint="mElbowRight"
194 position="0 -0.12 0"
195 rotation="0 0 0"
196 visible_in_first_person="true"/>
197
198 <attachment_point
199 id="20"
200 group="3"
201 pie_slice="4"
202 name="L Upper Arm"
203 joint="mShoulderLeft"
204 position="0.01 0.15 -0.01"
205 rotation="0 0 0"
206 visible_in_first_person="true" />
207
208 <attachment_point
209 id="21"
210 group="3"
211 pie_slice="5"
212 name="L Forearm"
213 joint="mElbowLeft"
214 position="0 0.113 0"
215 rotation="0 0 0"
216 visible_in_first_person="true" />
217
218 <attachment_point
219 id="22"
220 group="7"
221 pie_slice="1"
222 name="Right Hip"
223 joint="mHipRight"
224 position="0 0 0"
225 rotation="0 0 0"
226 visible_in_first_person="true" />
227
228 <attachment_point
229 id="23"
230 group="7"
231 pie_slice="0"
232 name="R Upper Leg"
233 joint="mHipRight"
234 position="-0.017 0.041 -0.310"
235 rotation="0 0 0"
236 visible_in_first_person="true" />
237
238 <attachment_point
239 id="24"
240 group="7"
241 pie_slice="7"
242 name="R Lower Leg"
243 joint="mKneeRight"
244 position="-0.044 -0.007 -0.262"
245 rotation="0 0 0"
246 visible_in_first_person="true" />
247
248 <attachment_point
249 id="25"
250 group="5"
251 pie_slice="3"
252 name="Left Hip"
253 joint="mHipLeft"
254 position="0 0 0"
255 rotation="0 0 0"
256 visible_in_first_person="true" />
257
258 <attachment_point
259 id="26"
260 group="5"
261 pie_slice="4"
262 name="L Upper Leg"
263 joint="mHipLeft"
264 position="-0.019 -0.034 -0.310"
265 rotation="0 0 0"
266 visible_in_first_person="true"/>
267
268 <attachment_point
269 id="27"
270 group="5"
271 pie_slice="5"
272 name="L Lower Leg"
273 joint="mKneeLeft"
274 position="-0.044 -0.007 -0.261"
275 rotation="0 0 0"
276 visible_in_first_person="true" />
277
278 <attachment_point
279 id="28"
280 group="6"
281 pie_slice="5"
282 name="Stomach"
283 joint="mPelvis"
284 position="0.092 0.0 0.088"
285 rotation="0 0 0"
286 visible_in_first_person="true" />
287
288 <attachment_point
289 id="29"
290 group="6"
291 pie_slice="3"
292 name="Left Pec"
293 joint="mTorso"
294 position="0.104 0.082 0.247"
295 rotation="0 0 0"
296 visible_in_first_person="true" />
297
298 <attachment_point
299 id="30"
300 group="6"
301 pie_slice="1"
302 name="Right Pec"
303 joint="mTorso"
304 position="0.104 -0.082 0.247"
305 rotation="0 0 0"
306 visible_in_first_person="true" />
307
308 <attachment_point
309 id="31"
310 group="8"
311 name="Center 2"
312 joint="mScreen"
313 position="0 0 0"
314 rotation="0 0 0"
315 hud="true"
316 max_attachment_offset="2.0"
317 visible_in_first_person="true" />
318
319 <attachment_point
320 id="32"
321 group="8"
322 name="Top Right"
323 joint="mScreen"
324 position="0 -0.5 0.5"
325 rotation="0 0 0"
326 hud="true"
327 max_attachment_offset="2.0"
328 visible_in_first_person="true" />
329
330 <attachment_point
331 id="33"
332 group="8"
333 name="Top"
334 joint="mScreen"
335 position="0 0 0.5"
336 rotation="0 0 0"
337 hud="true"
338 max_attachment_offset="2.0"
339 visible_in_first_person="true" />
340
341 <attachment_point
342 id="34"
343 group="8"
344 name="Top Left"
345 joint="mScreen"
346 position="0 0.5 0.5"
347 rotation="0 0 0"
348 hud="true"
349 max_attachment_offset="2.0"
350 visible_in_first_person="true" />
351
352 <attachment_point
353 id="35"
354 group="8"
355 name="Center"
356 joint="mScreen"
357 position="0 0 0"
358 rotation="0 0 0"
359 hud="true"
360 max_attachment_offset="2.0"
361 visible_in_first_person="true" />
362
363 <attachment_point
364 id="36"
365 group="8"
366 name="Bottom Left"
367 joint="mScreen"
368 position="0 0.5 -0.5"
369 rotation="0 0 0"
370 hud="true"
371 max_attachment_offset="2.0"
372 visible_in_first_person="true" />
373
374 <attachment_point
375 id="37"
376 group="8"
377 name="Bottom"
378 joint="mScreen"
379 position="0 0 -0.5"
380 rotation="0 0 0"
381 hud="true"
382 max_attachment_offset="2.0"
383 visible_in_first_person="true" />
384
385 <attachment_point
386 id="38"
387 group="8"
388 name="Bottom Right"
389 joint="mScreen"
390 position="0 -0.5 -0.5"
391 rotation="0 0 0"
392 hud="true"
393 max_attachment_offset="2.0"
394 visible_in_first_person="true" />
395
396
397 <param
398 id="32"
399 group="1"
400 wearable="shape"
401 name="Male_Skeleton"
402 label_min="Female"
403 label_max="Male"
404 value_min="0"
405 value_max="1">
406 <param_skeleton>
407 <bone
408 name="mNeck"
409 scale="0 0 .2" />
410
411 <bone
412 name="mCollarLeft"
413 scale="0 .4 0" />
414
415 <bone
416 name="mCollarRight"
417 scale="0 .4 0" />
418
419 <bone
420 name="mShoulderLeft"
421 scale="0 .35 0" />
422
423 <bone
424 name="mShoulderRight"
425 scale="0 .35 0" />
426
427 <bone
428 name="mElbowLeft"
429 scale="0 .1 0" />
430
431 <bone
432 name="mElbowRight"
433 scale="0 .1 0" />
434
435 <bone
436 name="mChest"
437 scale=".05 .05 .05" />
438
439 <bone
440 name="mTorso"
441 scale="0 0 .05" />
442
443 <bone
444 name="mPelvis"
445 scale="0 0 0" />
446
447 <bone
448 name="mHipLeft"
449 scale=".05 .05 0" />
450
451 <bone
452 name="mHipRight"
453 scale=".05 .05 0" />
454
455 <bone
456 name="mKneeLeft"
457 scale=".05 .05 .1" />
458
459 <bone
460 name="mKneeRight"
461 scale=".05 .05 .1" />
462 </param_skeleton>
463 </param>
464
465 <param
466 id="33"
467 group="0"
468 name="Height"
469 label="Height"
470 wearable="shape"
471 edit_group="shape_body"
472 edit_group_order="1"
473 label_min="Short"
474 label_max="Tall"
475 show_simple="true"
476 value_min="-2.3"
477 value_max="2"
478 camera_distance="2.2">
479 <param_skeleton>
480 <bone
481 name="mNeck"
482 scale="0 0 .02" />
483
484 <bone
485 name="mCollarLeft"
486 scale="0 0 0" />
487
488 <bone
489 name="mCollarRight"
490 scale="0 0 0" />
491
492 <bone
493 name="mShoulderLeft"
494 scale="0 0.08 0" />
495
496 <bone
497 name="mShoulderRight"
498 scale="0 0.08 0" />
499
500 <bone
501 name="mElbowLeft"
502 scale="0 0.06 0" />
503
504 <bone
505 name="mElbowRight"
506 scale="0 0.06 0" />
507
508 <bone
509 name="mChest"
510 scale="0 0 0.05" />
511
512 <bone
513 name="mTorso"
514 scale="0 0 0.05" />
515
516 <bone
517 name="mPelvis"
518 scale="0 0 0" />
519
520 <bone
521 name="mHipLeft"
522 scale="0 0 0.1" />
523
524 <bone
525 name="mHipRight"
526 scale="0 0 0.1" />
527
528 <bone
529 name="mKneeLeft"
530 scale="0 0 0.1" />
531
532 <bone
533 name="mKneeRight"
534 scale="0 0 0.1" />
535 </param_skeleton>
536 </param>
537
538 <param
539 id="34"
540 group="0"
541 name="Thickness"
542 label="Body Thickness"
543 wearable="shape"
544 edit_group="shape_body"
545 edit_group_order="2"
546 label_min="Body Thin"
547 label_max="Body Thick"
548 show_simple="true"
549 value_min="-0.7"
550 value_max="1.5"
551 camera_distance="1.8">
552 <param_skeleton>
553 <bone
554 name="mNeck"
555 scale="0.1 0.1 0" />
556
557 <bone
558 name="mCollarLeft"
559 scale="0 0.2 0" />
560
561 <bone
562 name="mCollarRight"
563 scale="0 0.2 0" />
564
565 <bone
566 name="mShoulderLeft"
567 scale="0.1 0 0.1" />
568
569 <bone
570 name="mShoulderRight"
571 scale="0.1 0 0.1" />
572
573 <bone
574 name="mElbowLeft"
575 scale="0.1 0 0.1" />
576
577 <bone
578 name="mElbowRight"
579 scale="0.1 0 0.1" />
580
581 <bone
582 name="mChest"
583 scale="0.1 0.1 0" />
584
585 <bone
586 name="mTorso"
587 scale="0.1 0.1 0" />
588
589 <bone
590 name="mPelvis"
591 scale="0.1 0.1 0" />
592
593 <bone
594 name="mHipLeft"
595 scale="0.13 0.13 0" />
596
597 <bone
598 name="mHipRight"
599 scale="0.13 0.13 0" />
600
601 <bone
602 name="mKneeLeft"
603 scale="0.12 0.12 0" />
604
605 <bone
606 name="mKneeRight"
607 scale="0.12 0.12 0" />
608 </param_skeleton>
609 </param>
610
611 <param
612 id="36"
613 group="0"
614 name="Shoulders"
615 label="Shoulders"
616 wearable="shape"
617 edit_group="shape_torso"
618 edit_group_order="4"
619 label_min="Narrow"
620 label_max="Broad"
621 show_simple="true"
622 value_min="-1.8"
623 value_max="1.4"
624 value_default="-0.5"
625 camera_elevation=".1"
626 camera_distance="1.2"
627 camera_angle="0">
628 <param_skeleton>
629 <bone
630 name="mNeck"
631 scale="0.01 0.03 0" />
632
633 <bone
634 name="mCollarLeft"
635 scale="0 0 0"
636 offset="0 .02 0" />
637
638 <bone
639 name="mCollarRight"
640 scale="0 0 0"
641 offset="0 -.02 0" />
642
643 <bone
644 name="mChest"
645 scale="0.02 0.08 0" />
646 </param_skeleton>
647 </param>
648
649 <param
650 id="37"
651 group="0"
652 name="Hip Width"
653 label="Hip Width"
654 wearable="shape"
655 edit_group="shape_legs"
656 edit_group_order="3"
657 label_min="Narrow"
658 label_max="Wide"
659 show_simple="true"
660 value_min="-3.2"
661 value_max="2.8"
662 camera_distance="1.8">
663 <param_skeleton>
664 <bone
665 name="mPelvis"
666 scale="0 0.1 0" />
667
668 <bone
669 name="mHipLeft"
670 scale="0 0 0"
671 offset="0 .004 0" />
672
673 <bone
674 name="mHipRight"
675 scale="0 0 0"
676 offset="0 -.004 0" />
677 </param_skeleton>
678 </param>
679
680 <param
681 id="842"
682 group="0"
683 name="Hip Length"
684 wearable="shape"
685 edit_group="shape_legs"
686 edit_group_order="3.2"
687 label_min="Short hips"
688 label_max="Long Hips"
689 value_min="-1"
690 value_max="1"
691 camera_distance="1.8">
692 <param_skeleton>
693 <bone
694 name="mPelvis"
695 scale="0 0 0.3" />
696 </param_skeleton>
697 </param>
698
699 <param
700 id="38"
701 group="0"
702 name="Torso Length"
703 wearable="shape"
704 edit_group="shape_torso"
705 edit_group_order="11"
706 label_min="Short Torso"
707 label_max="Long Torso"
708 value_min="-1"
709 value_max="1"
710 camera_distance="1.8">
711 <param_skeleton>
712 <bone
713 name="mTorso"
714 scale="0 0 .3" />
715
716 <bone
717 name="mPelvis"
718 scale="0 0 .1" />
719
720 <bone
721 name="mHipLeft"
722 scale="0 0 -.1" />
723
724 <bone
725 name="mHipRight"
726 scale="0 0 -.1" />
727
728 <bone
729 name="mKneeRight"
730 scale="0 0 -.05" />
731
732 <bone
733 name="mKneeLeft"
734 scale="0 0 -.05" />
735 </param_skeleton>
736 </param>
737
738 <param
739 id="195"
740 group="1"
741 name="EyeBone_Spread"
742 wearable="shape"
743 edit_group="shape_eyes"
744 label_min="Eyes Together"
745 label_max="Eyes Spread"
746 value_min="-1"
747 value_max="1">
748 <param_skeleton>
749 <bone
750 name="mEyeLeft"
751 scale="0 0 0"
752 offset="0 .009 0" />
753
754 <bone
755 name="mEyeRight"
756 scale="0 0 0"
757 offset="0 -.009 0" />
758 </param_skeleton>
759 </param>
760
761 <param
762 id="661"
763 group="1"
764 name="EyeBone_Head_Shear"
765 wearable="shape"
766 edit_group="shape_eyes"
767 label_min="Eyes Shear Left Up"
768 label_max="Eyes Shear Right Up"
769 value_min="-2"
770 value_max="2">
771 <param_skeleton>
772 <bone
773 name="mEyeLeft"
774 scale="0 0 0"
775 offset="0 0 .004" />
776
777 <bone
778 name="mEyeRight"
779 scale="0 0 0"
780 offset="0 0 -.004" />
781 </param_skeleton>
782 </param>
783
784 <param
785 id="772"
786 group="1"
787 name="EyeBone_Head_Elongate"
788 wearable="shape"
789 edit_group="shape_eyes"
790 label_min="Eyes Short Head"
791 label_max="Eyes Long Head"
792 value_min="-1"
793 value_max="1">
794 <param_skeleton>
795 <bone
796 name="mEyeLeft"
797 scale="0 0 0"
798 offset=".016 0 0" />
799
800 <bone
801 name="mEyeRight"
802 scale="0 0 0"
803 offset=".016 0 0" />
804 </param_skeleton>
805 </param>
806
807 <param
808 id="768"
809 group="1"
810 name="EyeBone_Bug"
811 wearable="shape"
812 edit_group="shape_eyes"
813 label_min="Eyes Sunken"
814 label_max="Eyes Bugged"
815 value_min="-2"
816 value_max="2">
817 <param_skeleton>
818 <bone
819 name="mEyeLeft"
820 scale="0 0 0"
821 offset=".005 0 0" />
822
823 <bone
824 name="mEyeRight"
825 scale="0 0 0"
826 offset=".005 0 0" />
827 </param_skeleton>
828 </param>
829
830 <param
831 id="655"
832 group="1"
833 name="Head Size"
834 label="Head Size"
835 wearable="shape"
836 edit_group="shape_head"
837 label_min="Small Head"
838 label_max="Big Head"
839 show_simple="true"
840 value_min="-.25"
841 value_max=".10">
842 <param_skeleton>
843 <bone
844 name="mSkull"
845 scale="1 1 1"
846 offset="0 0 0.1" />
847
848 <bone
849 name="mHead"
850 scale="1 1 1"
851 offset="0 0 0" />
852
853 <bone
854 name="mEyeLeft"
855 scale="1 1 1"
856 offset="0 0 0" />
857
858 <bone
859 name="mEyeRight"
860 scale="1 1 1"
861 offset="0 0 0" />
862 </param_skeleton>
863 </param>
864
865 <param
866 id="197"
867 group="1"
868 wearable="shoes"
869 name="Shoe_Heels"
870 edit_group="shoes"
871 label_min="No Heels"
872 label_max="High Heels"
873 value_min="0"
874 value_max="1">
875 <param_skeleton>
876 <bone
877 name="mFootRight"
878 scale="0 0 0"
879 offset="0 0 -.08" />
880
881 <bone
882 name="mFootLeft"
883 scale="0 0 0"
884 offset="0 0 -.08" />
885 </param_skeleton>
886 </param>
887
888 <param
889 id="502"
890 group="1"
891 wearable="shoes"
892 name="Shoe_Platform"
893 edit_group="shoes"
894 label_min="No Heels"
895 label_max="High Heels"
896 value_min="0"
897 value_max="1">
898 <param_skeleton>
899 <bone
900 name="mFootRight"
901 scale="0 0 0"
902 offset="0 0 -.07" />
903
904 <bone
905 name="mFootLeft"
906 scale="0 0 0"
907 offset="0 0 -.07" />
908 </param_skeleton>
909 </param>
910
911 <param
912 id="675"
913 group="0"
914 name="Hand Size"
915 wearable="shape"
916 edit_group="shape_torso"
917 edit_group_order="10"
918 label_min="Small Hands"
919 label_max="Large Hands"
920 value_min="-.3"
921 value_max=".3"
922 camera_elevation=".1"
923 camera_distance="1.4"
924 camera_angle="0">
925 <param_skeleton>
926 <bone
927 name="mWristRight"
928 scale="1 1 1"
929 offset="0 0 0" />
930
931 <bone
932 name="mWristLeft"
933 scale="1 1 1"
934 offset="0 0 0" />
935 </param_skeleton>
936 </param>
937
938 <param
939 id="683"
940 group="0"
941 name="Neck Thickness"
942 wearable="shape"
943 edit_group="shape_torso"
944 edit_group_order="2"
945 label_min="Skinny Neck"
946 label_max="Thick Neck"
947 value_min="-.4"
948 value_max=".2"
949 value_default="-.15"
950 camera_elevation=".3"
951 camera_distance=".8"
952 camera_angle="15">
953 <param_skeleton>
954 <bone
955 name="mNeck"
956 scale="1 1 0"
957 offset="0 0 0" />
958 </param_skeleton>
959 </param>
960
961 <param
962 id="689"
963 group="1"
964 wearable="shape"
965 name="EyeBone_Big_Eyes"
966 edit_group="shape_eyes"
967 label_min="Eyes Back"
968 label_max="Eyes Forward"
969 value_min="-1"
970 value_max="1">
971 <param_skeleton>
972 <bone
973 name="mEyeLeft"
974 scale="0 0 0"
975 offset="-.005 0 0" />
976
977 <bone
978 name="mEyeRight"
979 scale="0 0 0"
980 offset="-.005 0 0" />
981 </param_skeleton>
982 </param>
983
984 <param
985 id="692"
986 group="0"
987 name="Leg Length"
988 wearable="shape"
989 edit_group="shape_legs"
990 edit_group_order="2"
991 label_min="Short Legs"
992 label_max="Long Legs"
993 value_min="-1"
994 value_max="1"
995 camera_distance="2.5">
996 <param_skeleton>
997 <bone
998 name="mHipLeft"
999 scale="0 0 .2" />
1000
1001 <bone
1002 name="mHipRight"
1003 scale="0 0 .2" />
1004
1005 <bone
1006 name="mKneeRight"
1007 scale="0 0 .2" />
1008
1009 <bone
1010 name="mKneeLeft"
1011 scale="0 0 .2" />
1012 </param_skeleton>
1013 </param>
1014
1015 <param
1016 id="693"
1017 group="0"
1018 name="Arm Length"
1019 wearable="shape"
1020 edit_group="shape_torso"
1021 edit_group_order="9"
1022 label_min="Short Arms"
1023 label_max="Long arms"
1024 value_min="-1"
1025 value_max="1"
1026 value_default=".6"
1027 camera_distance="1.5">
1028 <param_skeleton>
1029 <bone
1030 name="mShoulderLeft"
1031 scale="0 .2 0" />
1032
1033 <bone
1034 name="mShoulderRight"
1035 scale="0 .2 0" />
1036
1037 <bone
1038 name="mElbowRight"
1039 scale="0 .3 0" />
1040
1041 <bone
1042 name="mElbowLeft"
1043 scale="0 .3 0" />
1044 </param_skeleton>
1045 </param>
1046
1047 <param
1048 id="756"
1049 group="0"
1050 name="Neck Length"
1051 wearable="shape"
1052 edit_group="shape_torso"
1053 edit_group_order="3"
1054 label_min="Short Neck"
1055 label_max="Long Neck"
1056 value_min="-1"
1057 value_max="1"
1058 value_default="0"
1059 camera_elevation=".3"
1060 camera_distance=".8"
1061 camera_angle="15">
1062 <param_skeleton>
1063 <bone
1064 name="mNeck"
1065 scale="0 0 .5" />
1066 </param_skeleton>
1067 </param>
1068 </skeleton>
1069
1070 <mesh
1071 type="hairMesh"
1072 lod="0"
1073 file_name="avatar_hair.llm"
1074 min_pixel_width="320">
1075 <!-- begin morph targets -->
1076 <param
1077 id="180"
1078 group="1"
1079 name="Hair_Volume"
1080 label="Hair Volume"
1081 show_simple="true"
1082 wearable="hair"
1083 clothing_morph="true"
1084 edit_group="hair_style"
1085 label_min="Less"
1086 label_max="More"
1087 value_min="0"
1088 value_max="1.3"
1089 camera_elevation=".1"
1090 camera_distance=".5"
1091 camera_angle="20">
1092 <param_morph />
1093 </param>
1094
1095 <param
1096 id="761"
1097 group="1"
1098 name="Hair_Volume_Small"
1099 label="Hair Volume"
1100 show_simple="true"
1101 wearable="hair"
1102 edit_group="hair_style"
1103 label_min="Less"
1104 label_max="More"
1105 value_min="0"
1106 value_max="1.3"
1107 camera_elevation=".1"
1108 camera_distance=".5"
1109 camera_angle="20">
1110 <param_morph />
1111 </param>
1112
1113 <param
1114 id="181"
1115 group="0"
1116 name="Hair_Big_Front"
1117 label="Big Hair Front"
1118 wearable="hair"
1119 edit_group="hair_style"
1120 edit_group_order="5"
1121 label_min="Less"
1122 label_max="More"
1123 value_min="-1"
1124 value_max="1"
1125 value_default="0.14"
1126 camera_elevation=".1"
1127 camera_distance=".5"
1128 camera_angle="90">
1129 <param_morph />
1130 </param>
1131
1132 <param
1133 id="182"
1134 group="0"
1135 name="Hair_Big_Top"
1136 label="Big Hair Top"
1137 wearable="hair"
1138 edit_group="hair_style"
1139 edit_group_order="6"
1140 label_min="Less"
1141 label_max="More"
1142 value_min="-1"
1143 value_max="1"
1144 value_default=".7"
1145 camera_elevation=".1"
1146 camera_distance=".5"
1147 camera_angle="90">
1148 <param_morph />
1149 </param>
1150
1151 <param
1152 id="183"
1153 group="0"
1154 name="Hair_Big_Back"
1155 clothing_morph="true"
1156 label="Big Hair Back"
1157 wearable="hair"
1158 edit_group="hair_style"
1159 edit_group_order="7"
1160 label_min="Less"
1161 label_max="More"
1162 value_min="-1"
1163 value_max="1"
1164 value_default="0.05"
1165 camera_elevation=".1"
1166 camera_distance=".7"
1167 camera_angle="90">
1168 <param_morph />
1169 </param>
1170
1171 <param
1172 id="184"
1173 group="0"
1174 name="Hair_Spiked"
1175 label="Spiked Hair"
1176 show_simple="true"
1177 wearable="hair"
1178 clothing_morph="true"
1179 edit_group="hair_style"
1180 edit_group_order="15"
1181 label_min="No Spikes"
1182 label_max="Big Spikes"
1183 value_min="0"
1184 value_max="1"
1185 camera_elevation=".1"
1186 camera_distance=".5"
1187 camera_angle="20">
1188 <param_morph />
1189 </param>
1190
1191 <param
1192 id="140"
1193 group="0"
1194 name="Hair_Part_Middle"
1195 label="Middle Part"
1196 wearable="hair"
1197 edit_group="hair_style"
1198 edit_group_order="17"
1199 label_min="No Part"
1200 label_max="Part"
1201 value_min="0"
1202 value_max="2"
1203 camera_elevation=".1"
1204 camera_distance=".5"
1205 camera_angle="0">
1206 <param_morph />
1207 </param>
1208
1209 <param
1210 id="141"
1211 group="0"
1212 name="Hair_Part_Right"
1213 label="Right Part"
1214 wearable="hair"
1215 edit_group="hair_style"
1216 edit_group_order="18"
1217 label_min="No Part"
1218 label_max="Part"
1219 value_min="0"
1220 value_max="2"
1221 camera_elevation=".1"
1222 camera_distance=".5"
1223 camera_angle="0">
1224 <param_morph />
1225 </param>
1226
1227 <param
1228 id="142"
1229 group="0"
1230 name="Hair_Part_Left"
1231 label="Left Part"
1232 wearable="hair"
1233 edit_group="hair_style"
1234 edit_group_order="19"
1235 label_min="No Part"
1236 label_max="Part"
1237 value_min="0"
1238 value_max="2"
1239 camera_elevation=".1"
1240 camera_distance=".5"
1241 camera_angle="0">
1242 <param_morph />
1243 </param>
1244
1245 <param
1246 id="143"
1247 group="0"
1248 name="Hair_Sides_Full"
1249 label="Full Hair Sides"
1250 show_simple="true"
1251 wearable="hair"
1252 edit_group="hair_style"
1253 edit_group_order="11"
1254 label_min="Mowhawk"
1255 label_max="Full Sides"
1256 value_min="-4"
1257 value_max="1.5"
1258 value_default="0.125"
1259 camera_elevation=".1"
1260 camera_distance=".5"
1261 camera_angle="20">
1262 <param_morph />
1263 </param>
1264
1265 <param
1266 id="144"
1267 group="1"
1268 name="Bangs_Front_Up"
1269 label="Front Bangs Up"
1270 wearable="hair"
1271 edit_group="hair_style"
1272 label_min="Bangs"
1273 label_max="Bangs Up"
1274 value_min="0"
1275 value_max="1"
1276 camera_elevation=".1"
1277 camera_distance=".5"
1278 camera_angle="20">
1279 <param_morph />
1280 </param>
1281
1282 <param
1283 id="145"
1284 group="1"
1285 clothing_morph="true"
1286 name="Bangs_Front_Down"
1287 label="Front Bangs Down"
1288 wearable="hair"
1289 edit_group="hair_style"
1290 label_min="Bangs"
1291 label_max="Bangs Down"
1292 value_min="0"
1293 value_max="5"
1294 camera_elevation=".1"
1295 camera_distance=".5"
1296 camera_angle="20">
1297 <param_morph />
1298 </param>
1299
1300 <param
1301 id="146"
1302 group="1"
1303 name="Bangs_Sides_Up"
1304 label="Side Bangs Up"
1305 wearable="hair"
1306 edit_group="hair_style"
1307 label_min="Side Bangs"
1308 label_max="Side Bangs Up"
1309 value_min="0"
1310 value_max="1"
1311 camera_elevation=".1"
1312 camera_distance=".5"
1313 camera_angle="20">
1314 <param_morph />
1315 </param>
1316
1317 <param
1318 id="147"
1319 group="1"
1320 clothing_morph="true"
1321 name="Bangs_Sides_Down"
1322 label="Side Bangs Down"
1323 wearable="hair"
1324 edit_group="hair_style"
1325 label_min="Side Bangs"
1326 label_max="Side Bangs Down"
1327 value_min="0"
1328 value_max="2"
1329 camera_elevation=".1"
1330 camera_distance=".5"
1331 camera_angle="20">
1332 <param_morph />
1333 </param>
1334
1335 <param
1336 id="148"
1337 group="1"
1338 name="Bangs_Back_Up"
1339 label="Back Bangs Up"
1340 wearable="hair"
1341 edit_group="hair_style"
1342 label_min="Back Bangs"
1343 label_max="Back Bangs Up"
1344 value_min="0"
1345 value_max="1"
1346 camera_elevation=".1"
1347 camera_distance=".5"
1348 camera_angle="150">
1349 <param_morph />
1350 </param>
1351
1352 <param
1353 id="149"
1354 group="1"
1355 name="Bangs_Back_Down"
1356 label="Back Bangs Down"
1357 clothing_morph="true"
1358 wearable="hair"
1359 edit_group="hair_style"
1360 label_min="Back Bangs"
1361 label_max="Back Bangs Down"
1362 value_min="0"
1363 value_max="2"
1364 camera_elevation=".1"
1365 camera_distance=".5"
1366 camera_angle="150">
1367 <param_morph />
1368 </param>
1369
1370 <param
1371 id="171"
1372 group="1"
1373 name="Hair_Front_Down"
1374 label="Front Hair Down"
1375 wearable="hair"
1376 edit_group="hair_style"
1377 label_min="Front Hair"
1378 label_max="Front Hair Down"
1379 value_min="0"
1380 value_max="1"
1381 camera_elevation=".1"
1382 camera_distance=".5"
1383 camera_angle="20">
1384 <param_morph />
1385 </param>
1386
1387 <param
1388 id="172"
1389 group="1"
1390 name="Hair_Front_Up"
1391 label="Front Hair Up"
1392 wearable="hair"
1393 edit_group="hair_style"
1394 label_min="Front Hair"
1395 label_max="Front Hair Up"
1396 value_min="0"
1397 value_max="1"
1398 camera_elevation=".1"
1399 camera_distance=".5"
1400 camera_angle="20">
1401 <param_morph />
1402 </param>
1403
1404 <param
1405 id="173"
1406 group="1"
1407 name="Hair_Sides_Down"
1408 label="Sides Hair Down"
1409 wearable="hair"
1410 edit_group="hair_style"
1411 label_min="Sides Hair"
1412 label_max="Sides Hair Down"
1413 value_min="0"
1414 value_max="1"
1415 camera_elevation=".1"
1416 camera_distance=".5"
1417 camera_angle="20">
1418 <param_morph />
1419 </param>
1420
1421 <param
1422 id="174"
1423 group="1"
1424 name="Hair_Sides_Up"
1425 label="Sides Hair Up"
1426 wearable="hair"
1427 edit_group="hair_style"
1428 label_min="Sides Hair"
1429 label_max="Sides Hair Up"
1430 value_min="0"
1431 value_max="1"
1432 camera_elevation=".1"
1433 camera_distance=".5"
1434 camera_angle="20">
1435 <param_morph />
1436 </param>
1437
1438 <param
1439 id="175"
1440 group="1"
1441 name="Hair_Back_Down"
1442 label="Back Hair Down"
1443 clothing_morph="true"
1444 wearable="hair"
1445 edit_group="hair_style"
1446 label_min="Back Hair"
1447 label_max="Back Hair Down"
1448 value_min="0"
1449 value_max="3"
1450 camera_elevation=".1"
1451 camera_distance=".5"
1452 camera_angle="150">
1453 <param_morph />
1454 </param>
1455
1456 <param
1457 id="176"
1458 group="1"
1459 name="Hair_Back_Up"
1460 label="Back Hair Up"
1461 wearable="hair"
1462 edit_group="hair_style"
1463 label_min="Back Hair"
1464 label_max="Back Hair Up"
1465 value_min="0"
1466 value_max="1"
1467 camera_elevation=".1"
1468 camera_distance=".5"
1469 camera_angle="150">
1470 <param_morph />
1471 </param>
1472
1473 <param
1474 id="177"
1475 group="0"
1476 name="Hair_Rumpled"
1477 label="Rumpled Hair"
1478 show_simple="true"
1479 wearable="hair"
1480 clothing_morph="true"
1481 edit_group="hair_style"
1482 edit_group_order="14.5"
1483 label_min="Smooth Hair"
1484 label_max="Rumpled Hair"
1485 value_min="0"
1486 value_max="1"
1487 camera_elevation=".1"
1488 camera_distance=".5"
1489 camera_angle="20">
1490 <param_morph />
1491 </param>
1492
1493 <param
1494 id="178"
1495 group="1"
1496 name="Hair_Swept_Back"
1497 label="Swept Back Hair"
1498 wearable="hair"
1499 edit_group="hair_style"
1500 label_min="NotHair"
1501 label_max="Swept Back"
1502 value_min="0"
1503 value_max="1"
1504 camera_elevation=".1"
1505 camera_distance=".5"
1506 camera_angle="90">
1507 <param_morph />
1508 </param>
1509
1510 <param
1511 id="179"
1512 group="1"
1513 name="Hair_Swept_Forward"
1514 label="Swept Forward Hair"
1515 wearable="hair"
1516 edit_group="hair_style"
1517 label_min="Hair"
1518 label_max="Swept Forward"
1519 value_min="0"
1520 value_max="1"
1521 camera_elevation=".1"
1522 camera_distance=".5"
1523 camera_angle="90">
1524 <param_morph />
1525 </param>
1526
1527 <param
1528 id="190"
1529 group="1"
1530 name="Hair_Tilt_Right"
1531 label="Hair Tilted Right"
1532 wearable="hair"
1533 edit_group="hair_style"
1534 label_min="Hair"
1535 label_max="Tilt Right"
1536 value_min="0"
1537 value_max="1"
1538 camera_elevation=".1"
1539 camera_distance=".5"
1540 camera_angle="0">
1541 <param_morph />
1542 </param>
1543
1544 <param
1545 id="191"
1546 group="1"
1547 name="Hair_Tilt_Left"
1548 label="Hair Tilted Left"
1549 wearable="hair"
1550 edit_group="hair_style"
1551 label_min="Hair"
1552 label_max="Tilt Left"
1553 value_min="0"
1554 value_max="1"
1555 camera_elevation=".1"
1556 camera_distance=".5"
1557 camera_angle="0">
1558 <param_morph />
1559 </param>
1560
1561 <param
1562 id="192"
1563 group="0"
1564 name="Bangs_Part_Middle"
1565 label="Part Bangs"
1566 wearable="hair"
1567 edit_group="hair_style"
1568 edit_group_order="20"
1569 label_min="No Part"
1570 label_max="Part Bangs"
1571 value_min="0"
1572 value_max="1"
1573 camera_elevation=".1"
1574 camera_distance=".5"
1575 camera_angle="0">
1576 <param_morph />
1577 </param>
1578
1579 <param
1580 id="640"
1581 group="1"
1582 name="Hair_Egg_Head"
1583 wearable="hair"
1584 edit_group="hair_style"
1585 cross_wearable="true"
1586 value_min="-1.3"
1587 value_max="1">
1588 <param_morph />
1589 </param>
1590
1591 <param
1592 id="641"
1593 group="1"
1594 name="Hair_Squash_Stretch_Head"
1595 wearable="hair"
1596 edit_group="hair_style"
1597 cross_wearable="true"
1598 value_min="-.5"
1599 value_max="1">
1600 <param_morph />
1601 </param>
1602
1603 <param
1604 id="642"
1605 group="1"
1606 name="Hair_Square_Head"
1607 wearable="hair"
1608 edit_group="hair_style"
1609 cross_wearable="true"
1610 value_min="0"
1611 value_max="1">
1612 <param_morph />
1613 </param>
1614
1615 <param
1616 id="643"
1617 group="1"
1618 name="Hair_Round_Head"
1619 wearable="hair"
1620 edit_group="hair_style"
1621 cross_wearable="true"
1622 value_min="0"
1623 value_max="1">
1624 <param_morph />
1625 </param>
1626
1627 <param
1628 id="644"
1629 group="1"
1630 name="Hair_Forehead_Round"
1631 wearable="hair"
1632 edit_group="hair_style"
1633 cross_wearable="true"
1634 value_min="0"
1635 value_max="1">
1636 <param_morph />
1637 </param>
1638
1639 <param
1640 id="645"
1641 group="1"
1642 name="Hair_Forehead_Slant"
1643 wearable="hair"
1644 edit_group="hair_style"
1645 cross_wearable="true"
1646 value_min="0"
1647 value_max="1">
1648 <param_morph />
1649 </param>
1650
1651 <param
1652 id="774"
1653 group="1"
1654 name="Shear_Head_Hair"
1655 wearable="hair"
1656 edit_group="hair_style"
1657 cross_wearable="true"
1658 value_min="-2"
1659 value_max="2">
1660 <param_morph />
1661 </param>
1662
1663 <param
1664 id="771"
1665 group="1"
1666 name="Elongate_Head_Hair"
1667 wearable="hair"
1668 edit_group="hair_style"
1669 cross_wearable="true"
1670 value_min="-1"
1671 value_max="1">
1672 <param_morph />
1673 </param>
1674
1675 <param
1676 id="674"
1677 group="0"
1678 name="Hair_Shear_Back"
1679 wearable="hair"
1680 edit_group="hair_style"
1681 edit_group_order="12"
1682 label="Shear Back"
1683 label_min="Full Back"
1684 label_max="Sheared Back"
1685 value_min="-1"
1686 value_max="2"
1687 value_default="-0.3"
1688 camera_elevation=".1"
1689 camera_distance=".5"
1690 camera_angle="100">
1691 <param_morph />
1692 </param>
1693
1694 <param
1695 id="762"
1696 group="0"
1697 name="Hair_Shear_Front"
1698 wearable="hair"
1699 edit_group="hair_style"
1700 edit_group_order="11.8"
1701 label="Shear Front"
1702 show_simple="true"
1703 label_min="Full Front"
1704 label_max="Sheared Front"
1705 value_min="0"
1706 value_max="3"
1707 camera_elevation=".1"
1708 camera_distance=".5"
1709 camera_angle="30">
1710 <param_morph />
1711 </param>
1712
1713 <param
1714 id="754"
1715 group="0"
1716 name="Hair_Taper_Back"
1717 wearable="hair"
1718 edit_group="hair_style"
1719 edit_group_order="14"
1720 label="Taper Back"
1721 label_min="Wide Back"
1722 label_max="Narrow Back"
1723 value_min="-1"
1724 value_max="2"
1725 value_default="0"
1726 camera_elevation=".1"
1727 camera_distance=".5"
1728 camera_angle="160">
1729 <param_morph />
1730 </param>
1731
1732 <param
1733 id="755"
1734 group="0"
1735 name="Hair_Taper_Front"
1736 wearable="hair"
1737 edit_group="hair_style"
1738 edit_group_order="13"
1739 label="Taper Front"
1740 label_min="Wide Front"
1741 label_max="Narrow Front"
1742 value_min="-1.5"
1743 value_max="1.5"
1744 value_default="0.05"
1745 camera_elevation=".1"
1746 camera_distance=".5"
1747 camera_angle="20">
1748 <param_morph />
1749 </param>
1750
1751 <param
1752 id="782"
1753 group="1"
1754 clothing_morph="true"
1755 name="Hair_Pigtails_Short"
1756 wearable="hair"
1757 edit_group="hair_style"
1758 value_min="0"
1759 value_max="1">
1760 <param_morph />
1761 </param>
1762
1763 <param
1764 id="783"
1765 group="1"
1766 clothing_morph="true"
1767 name="Hair_Pigtails_Med"
1768 wearable="hair"
1769 edit_group="hair_style"
1770 value_min="0"
1771 value_max="1">
1772 <param_morph />
1773 </param>
1774
1775 <param
1776 id="790"
1777 group="1"
1778 clothing_morph="true"
1779 name="Hair_Pigtails_Medlong"
1780 wearable="hair"
1781 edit_group="hair_style"
1782 value_min="0"
1783 value_max="1">
1784 <param_morph />
1785 </param>
1786
1787 <param
1788 id="784"
1789 group="1"
1790 clothing_morph="true"
1791 name="Hair_Pigtails_Long"
1792 wearable="hair"
1793 edit_group="hair_style"
1794 value_min="0"
1795 value_max="1">
1796 <param_morph />
1797 </param>
1798
1799 <param
1800 id="786"
1801 group="1"
1802 name="Hair_Ponytail_Short"
1803 wearable="hair"
1804 edit_group="hair_style"
1805 value_min="0"
1806 value_max="1">
1807 <param_morph />
1808 </param>
1809
1810 <param
1811 id="787"
1812 group="1"
1813 name="Hair_Ponytail_Med"
1814 wearable="hair"
1815 edit_group="hair_style"
1816 value_min="0"
1817 value_max="1">
1818 <param_morph />
1819 </param>
1820
1821 <param
1822 id="788"
1823 group="1"
1824 name="Hair_Ponytail_Long"
1825 clothing_morph="true"
1826 wearable="hair"
1827 edit_group="hair_style"
1828 value_min="0"
1829 value_max="1">
1830 <param_morph />
1831 </param>
1832
1833 <!-- #end morph targets -->
1834 </mesh>
1835
1836 <mesh
1837 type="hairMesh"
1838 lod="1"
1839 file_name="avatar_hair_1.llm"
1840 min_pixel_width="160"
1841 reference="avatar_hair.llm">
1842 </mesh>
1843
1844 <mesh
1845 type="hairMesh"
1846 lod="2"
1847 file_name="avatar_hair_2.llm"
1848 min_pixel_width="80"
1849 reference="avatar_hair.llm">
1850 </mesh>
1851
1852 <mesh
1853 type="hairMesh"
1854 lod="3"
1855 file_name="avatar_hair_3.llm"
1856 min_pixel_width="40"
1857 reference="avatar_hair.llm">
1858 </mesh>
1859
1860 <mesh
1861 type="hairMesh"
1862 lod="4"
1863 file_name="avatar_hair_4.llm"
1864 min_pixel_width="20"
1865 reference="avatar_hair.llm">
1866 </mesh>
1867
1868 <mesh
1869 type="hairMesh"
1870 lod="5"
1871 file_name="avatar_hair_5.llm"
1872 min_pixel_width="0"
1873 reference="avatar_hair.llm">
1874 </mesh>
1875
1876 <mesh
1877 type="headMesh"
1878 lod="0"
1879 file_name="avatar_head.llm"
1880 min_pixel_width="320">
1881 <!--
1882 begin morph targets
1883 #############
1884 tweakable morphs
1885 #############
1886 -->
1887 <param
1888 id="1"
1889 group="0"
1890 name="Big_Brow"
1891 label="Brow Size"
1892 wearable="shape"
1893 edit_group="shape_head"
1894 edit_group_order="7"
1895 label_min="Small"
1896 label_max="Large"
1897 value_min="-.3"
1898 value_max="2"
1899 camera_elevation=".1"
1900 camera_distance=".4"
1901 camera_angle="45">
1902 <param_morph />
1903 </param>
1904
1905 <param
1906 id="2"
1907 group="0"
1908 name="Nose_Big_Out"
1909 label="Nose Size"
1910 wearable="shape"
1911 edit_group="shape_nose"
1912 edit_group_order="1"
1913 label_min="Small"
1914 label_max="Large"
1915 show_simple="true"
1916 value_min="-0.8"
1917 value_max="2.5"
1918 camera_elevation=".1"
1919 camera_distance=".35"
1920 camera_angle="50">
1921 <param_morph />
1922 </param>
1923
1924 <param
1925 id="4"
1926 group="0"
1927 name="Broad_Nostrils"
1928 label="Nostril Width"
1929 wearable="shape"
1930 edit_group="shape_nose"
1931 edit_group_order="3"
1932 label_min="Narrow"
1933 label_max="Broad"
1934 value_min="-.5"
1935 value_max="1"
1936 camera_elevation=".1"
1937 camera_distance=".3"
1938 camera_angle="-20">
1939 <param_morph />
1940 </param>
1941
1942 <param
1943 id="759"
1944 group="0"
1945 name="Low_Septum_Nose"
1946 label="Nostril Division"
1947 wearable="shape"
1948 edit_group="shape_nose"
1949 edit_group_order="3.5"
1950 label_min="High"
1951 label_max="Low"
1952 value_min="-1"
1953 value_max="1.5"
1954 value_default="0.5"
1955 camera_elevation=".1"
1956 camera_distance=".3"
1957 camera_angle="-20">
1958 <param_morph />
1959 </param>
1960
1961 <param
1962 id="517"
1963 group="0"
1964 name="Wide_Nose"
1965 label="Nose Width"
1966 wearable="shape"
1967 edit_group="shape_nose"
1968 edit_group_order="2"
1969 label_min="Narrow"
1970 label_max="Wide"
1971 show_simple="true"
1972 value_min="-.5"
1973 value_max="1"
1974 camera_elevation=".1"
1975 camera_distance=".3"
1976 camera_angle="-20">
1977 <param_morph />
1978 </param>
1979
1980 <param
1981 id="5"
1982 group="0"
1983 name="Cleft_Chin"
1984 label="Chin Cleft"
1985 wearable="shape"
1986 edit_group="shape_chin"
1987 edit_group_order="6"
1988 label_min="Round"
1989 label_max="Cleft"
1990 value_min="-.1"
1991 value_max="1"
1992 camera_elevation="0"
1993 camera_distance=".28"
1994 camera_angle="-20">
1995 <param_morph />
1996 </param>
1997
1998 <param
1999 id="6"
2000 group="0"
2001 name="Bulbous_Nose_Tip"
2002 label="Nose Tip Shape"
2003 wearable="shape"
2004 edit_group="shape_nose"
2005 edit_group_order="8"
2006 label_min="Pointy"
2007 label_max="Bulbous"
2008 value_min="-.3"
2009 value_max="1"
2010 camera_elevation=".1"
2011 camera_distance=".35"
2012 camera_angle="15">
2013 <param_morph />
2014 </param>
2015
2016 <param
2017 id="7"
2018 group="0"
2019 name="Weak_Chin"
2020 label="Chin Angle"
2021 wearable="shape"
2022 edit_group="shape_chin"
2023 edit_group_order="1"
2024 label_min="Chin Out"
2025 label_max="Chin In"
2026 value_min="-.5"
2027 value_max=".5"
2028 camera_elevation=".1"
2029 camera_distance=".4"
2030 camera_angle="45">
2031 <param_morph />
2032 </param>
2033
2034 <param
2035 id="8"
2036 group="0"
2037 name="Double_Chin"
2038 label="Chin-Neck"
2039 wearable="shape"
2040 edit_group="shape_chin"
2041 edit_group_order="8"
2042 label_min="Tight Chin"
2043 label_max="Double Chin"
2044 value_min="-.5"
2045 value_max="1.5"
2046 camera_elevation="-.1"
2047 camera_distance=".3"
2048 camera_angle="60">
2049 <param_morph />
2050 </param>
2051
2052 <param
2053 id="10"
2054 group="0"
2055 name="Sunken_Cheeks"
2056 label="Lower Cheeks"
2057 wearable="shape"
2058 edit_group="shape_head"
2059 edit_group_order="9"
2060 label_min="Well-Fed"
2061 label_max="Sunken"
2062 show_simple="true"
2063 value_min="-1.5"
2064 value_max="3"
2065 camera_elevation=".1"
2066 camera_distance=".4"
2067 camera_angle="5">
2068 <param_morph />
2069 </param>
2070
2071 <param
2072 id="11"
2073 group="0"
2074 name="Noble_Nose_Bridge"
2075 label="Upper Bridge"
2076 wearable="shape"
2077 edit_group="shape_nose"
2078 edit_group_order="5"
2079 label_min="Low"
2080 label_max="High"
2081 value_min="-.5"
2082 value_max="1.5"
2083 camera_elevation=".1"
2084 camera_distance=".35"
2085 camera_angle="70">
2086 <param_morph />
2087 </param>
2088
2089 <param
2090 id="758"
2091 group="0"
2092 name="Lower_Bridge_Nose"
2093 label="Lower Bridge"
2094 wearable="shape"
2095 edit_group="shape_nose"
2096 edit_group_order="5.5"
2097 label_min="Low"
2098 label_max="High"
2099 value_min="-1.5"
2100 value_max="1.5"
2101 camera_elevation=".1"
2102 camera_distance=".35"
2103 camera_angle="70">
2104 <param_morph />
2105 </param>
2106
2107 <param
2108 id="12"
2109 group="0"
2110 name="Jowls"
2111 wearable="shape"
2112 edit_group="shape_chin"
2113 edit_group_order="5"
2114 label_min="Less"
2115 label_max="More"
2116 value_min="-.5"
2117 value_max="2.5"
2118 camera_elevation=".1"
2119 camera_distance=".4"
2120 camera_angle="0">
2121 <param_morph />
2122 </param>
2123
2124 <param
2125 id="13"
2126 group="0"
2127 name="Cleft_Chin_Upper"
2128 label="Upper Chin Cleft"
2129 wearable="shape"
2130 edit_group="shape_chin"
2131 edit_group_order="7"
2132 label_min="Round"
2133 label_max="Cleft"
2134 value_min="0"
2135 value_max="1.5"
2136 camera_elevation="0"
2137 camera_distance=".28"
2138 camera_angle="-20">
2139 <param_morph />
2140 </param>
2141
2142 <param
2143 id="14"
2144 group="0"
2145 name="High_Cheek_Bones"
2146 label="Cheek Bones"
2147 wearable="shape"
2148 edit_group="shape_head"
2149 edit_group_order="10"
2150 label_min="Low"
2151 label_max="High"
2152 value_min="-.5"
2153 value_max="1"
2154 camera_elevation=".1"
2155 camera_distance=".3"
2156 camera_angle="-20">
2157 <param_morph />
2158 </param>
2159
2160 <param
2161 id="15"
2162 group="0"
2163 name="Ears_Out"
2164 label="Ear Angle"
2165 wearable="shape"
2166 edit_group="shape_ears"
2167 edit_group_order="2"
2168 label_min="In"
2169 label_max="Out"
2170 value_min="-.5"
2171 value_max="1.5"
2172 camera_elevation=".1"
2173 camera_distance=".3"
2174 camera_angle="-20">
2175 <param_morph />
2176 </param>
2177
2178 <!--Pointy eyebrows became a driver/driven param with new max value for backwards compatibility between 1.0 and 1.1-->
2179 <param
2180 id="870"
2181 group="1"
2182 name="Pointy_Eyebrows"
2183 label="Eyebrow Points"
2184 wearable="hair"
2185 edit_group="hair_eyebrows"
2186 edit_group_order="4"
2187 label_min="Smooth"
2188 label_max="Pointy"
2189 value_min="-.5"
2190 value_max="1"
2191 camera_elevation=".1"
2192 camera_distance=".3">
2193 <param_morph />
2194 </param>
2195
2196 <param
2197 id="17"
2198 group="0"
2199 name="Square_Jaw"
2200 label="Jaw Shape"
2201 wearable="shape"
2202 edit_group="shape_chin"
2203 edit_group_order="2"
2204 label_min="Pointy"
2205 label_max="Square"
2206 value_min="-.5"
2207 value_max="1"
2208 camera_distance=".3"
2209 camera_elevation=".04"
2210 camera_angle="-20">
2211 <param_morph />
2212 </param>
2213
2214 <param
2215 id="18"
2216 group="0"
2217 name="Puffy_Upper_Cheeks"
2218 label="Upper Cheeks"
2219 wearable="shape"
2220 edit_group="shape_head"
2221 edit_group_order="8"
2222 label_min="Thin"
2223 label_max="Puffy"
2224 value_min="-1.5"
2225 value_max="2.5"
2226 camera_elevation=".1"
2227 camera_distance=".3"
2228 camera_angle="-20">
2229 <param_morph />
2230 </param>
2231
2232 <param
2233 id="19"
2234 group="0"
2235 name="Upturned_Nose_Tip"
2236 label="Nose Tip Angle"
2237 wearable="shape"
2238 edit_group="shape_nose"
2239 edit_group_order="7"
2240 label_min="Downturned"
2241 label_max="Upturned"
2242 value_min="-1.5"
2243 value_max="1"
2244 camera_elevation=".1"
2245 camera_distance=".35"
2246 camera_angle="15">
2247 <param_morph />
2248 </param>
2249
2250 <param
2251 id="20"
2252 group="0"
2253 name="Bulbous_Nose"
2254 label="Nose Thickness"
2255 wearable="shape"
2256 edit_group="shape_nose"
2257 edit_group_order="4"
2258 label_min="Thin Nose"
2259 label_max="Bulbous Nose"
2260 show_simple="true"
2261 value_min="-.5"
2262 value_max="1.5"
2263 camera_elevation=".1"
2264 camera_distance=".3">
2265 <param_morph />
2266 </param>
2267
2268 <param
2269 id="21"
2270 group="0"
2271 name="Upper_Eyelid_Fold"
2272 label="Upper Eyelid Fold"
2273 wearable="shape"
2274 edit_group="shape_eyes"
2275 edit_group_order="5"
2276 label_min="Uncreased"
2277 label_max="Creased"
2278 value_min="-0.2"
2279 value_max="1.3"
2280 camera_elevation=".1"
2281 camera_distance=".35">
2282 <param_morph />
2283 </param>
2284
2285 <param
2286 id="22"
2287 group="0"
2288 name="Attached_Earlobes"
2289 label="Attached Earlobes"
2290 wearable="shape"
2291 edit_group="shape_ears"
2292 edit_group_order="3"
2293 label_min="Unattached"
2294 label_max="Attached"
2295 value_min="0"
2296 value_max="1"
2297 camera_elevation=".1"
2298 camera_distance=".3"
2299 camera_angle="45">
2300 <param_morph />
2301 </param>
2302
2303 <param
2304 id="23"
2305 group="0"
2306 name="Baggy_Eyes"
2307 label="Eye Bags"
2308 wearable="shape"
2309 edit_group="shape_eyes"
2310 edit_group_order="6"
2311 label_min="Smooth"
2312 label_max="Baggy"
2313 value_min="-.5"
2314 value_max="1.5"
2315 camera_elevation=".1"
2316 camera_distance=".35">
2317 <param_morph />
2318 </param>
2319
2320 <param
2321 id="765"
2322 group="0"
2323 name="Puffy_Lower_Lids"
2324 label="Puffy Eyelids"
2325 wearable="shape"
2326 edit_group="shape_eyes"
2327 edit_group_order="6.1"
2328 label_min="Flat"
2329 label_max="Puffy"
2330 value_min="-.3"
2331 value_max="2.5"
2332 camera_elevation=".1"
2333 camera_distance=".35">
2334 <param_morph />
2335 </param>
2336
2337 <param
2338 id="24"
2339 group="0"
2340 name="Wide_Eyes"
2341 label="Eye Opening"
2342 wearable="shape"
2343 edit_group="shape_eyes"
2344 edit_group_order="1.1"
2345 label_min="Narrow"
2346 label_max="Wide"
2347 value_min="-1.5"
2348 value_max="2"
2349 show_simple="true"
2350 camera_elevation=".1"
2351 camera_distance=".35">
2352 <param_morph />
2353 </param>
2354
2355 <param
2356 id="25"
2357 group="0"
2358 name="Wide_Lip_Cleft"
2359 label="Lip Cleft"
2360 wearable="shape"
2361 edit_group="shape_mouth"
2362 edit_group_order="6"
2363 label_min="Narrow"
2364 label_max="Wide"
2365 value_min="-.8"
2366 value_max="1.5"
2367 camera_elevation="0"
2368 camera_distance=".28">
2369 <param_morph />
2370 </param>
2371
2372 <param
2373 id="764"
2374 group="0"
2375 name="Lip_Cleft_Deep"
2376 label="Lip Cleft Depth"
2377 wearable="shape"
2378 edit_group="shape_mouth"
2379 edit_group_order="5.8"
2380 label_min="Shallow"
2381 label_max="Deep"
2382 value_min="-.5"
2383 value_max="1.2"
2384 camera_elevation="0"
2385 camera_distance=".28">
2386 <param_morph />
2387 </param>
2388
2389 <param
2390 id="26"
2391 group="1"
2392 wearable="shape"
2393 name="Lips_Thin"
2394 edit_group="driven"
2395 value_min="0"
2396 value_max=".7">
2397 <param_morph />
2398 </param>
2399
2400 <param
2401 id="27"
2402 group="0"
2403 name="Wide_Nose_Bridge"
2404 label="Bridge Width"
2405 wearable="shape"
2406 edit_group="shape_nose"
2407 edit_group_order="6"
2408 label_min="Narrow"
2409 label_max="Wide"
2410 value_min="-1.3"
2411 value_max="1.2"
2412 camera_elevation=".1"
2413 camera_distance=".3"
2414 camera_angle="-20">
2415 <param_morph />
2416 </param>
2417
2418 <param
2419 id="28"
2420 group="1"
2421 name="Lips_Fat"
2422 wearable="shape"
2423 edit_group="driven"
2424 value_min="0"
2425 value_max="2">
2426 <param_morph />
2427 </param>
2428
2429 <param
2430 id="29"
2431 group="1"
2432 name="Wide_Upper_Lip"
2433 wearable="shape"
2434 edit_group="driven"
2435 value_min="-.7"
2436 value_max="1.3">
2437 <param_morph />
2438 </param>
2439
2440 <param
2441 id="30"
2442 group="1"
2443 name="Wide_Lower_Lip"
2444 wearable="shape"
2445 edit_group="driven"
2446 value_min="-.7"
2447 value_max="1.3">
2448 <param_morph />
2449 </param>
2450
2451 <!--Arced eyebrows became a driver/driven param with new max value for backwards compatibility between 1.0 and 1.1-->
2452 <param
2453 id="872"
2454 group="1"
2455 name="Arced_Eyebrows"
2456 label="Eyebrow Arc"
2457 wearable="hair"
2458 edit_group="hair_eyebrows"
2459 edit_group_order="3"
2460 label_min="Flat"
2461 label_max="Arced"
2462 value_min="0"
2463 value_max="1">
2464 <param_morph />
2465 </param>
2466
2467 <!--Lower eyebrows became a driver/driven param with new min value for backwards compatibility between 1.0 and 1.1-->
2468 <param
2469 id="871"
2470 group="1"
2471 name="Lower_Eyebrows"
2472 label="Eyebrow Height"
2473 show_simple="true"
2474 wearable="hair"
2475 edit_group="hair_eyebrows"
2476 edit_group_order="2.5"
2477 label_min="Higher"
2478 label_max="Lower"
2479 value_min="-2"
2480 value_max="2">
2481 <param_morph />
2482 </param>
2483
2484 <param
2485 id="35"
2486 group="0"
2487 name="Big_Ears"
2488 label="Ear Size"
2489 wearable="shape"
2490 edit_group="shape_ears"
2491 edit_group_order="1"
2492 label_min="Small"
2493 label_max="Large"
2494 value_min="-1"
2495 value_max="2"
2496 camera_elevation=".1"
2497 camera_distance=".3"
2498 camera_angle="45">
2499 <param_morph />
2500 </param>
2501
2502 <param
2503 id="796"
2504 group="0"
2505 name="Pointy_Ears"
2506 label="Ear Tips"
2507 wearable="shape"
2508 edit_group="shape_ears"
2509 edit_group_order="4"
2510 label_min="Flat"
2511 label_max="Pointy"
2512 value_min="-.4"
2513 value_max="3"
2514 camera_elevation=".1"
2515 camera_distance=".3"
2516 camera_angle="45">
2517 <param_morph />
2518 </param>
2519
2520 <param
2521 id="185"
2522 group="0"
2523 name="Deep_Chin"
2524 label="Chin Depth"
2525 wearable="shape"
2526 edit_group="shape_chin"
2527 edit_group_order="3"
2528 label_min="Shallow"
2529 label_max="Deep"
2530 value_min="-1"
2531 value_max="1"
2532 camera_elevation=".1"
2533 camera_distance=".4"
2534 camera_angle="30">
2535 <param_morph />
2536 </param>
2537
2538 <param
2539 id="186"
2540 group="1"
2541 name="Egg_Head"
2542 label="Egg Head"
2543 wearable="shape"
2544 edit_group="shape_head"
2545 label_min="Chin Heavy"
2546 label_max="Forehead Heavy"
2547 value_min="-1.3"
2548 value_max="1"
2549 camera_elevation=".1"
2550 camera_distance=".5"
2551 camera_angle="20">
2552 <param_morph />
2553 </param>
2554
2555 <param
2556 id="187"
2557 group="1"
2558 name="Squash_Stretch_Head"
2559 label="Squash/Stretch Head"
2560 wearable="shape"
2561 edit_group="shape_head"
2562 label_min="Squash Head"
2563 label_max="Stretch Head"
2564 value_min="-.5"
2565 value_max="1"
2566 camera_elevation=".1"
2567 camera_distance=".5"
2568 camera_angle="20">
2569 <param_morph>
2570 <volume_morph
2571 name="HEAD"
2572 scale="-0.008 -0.006 0.015"/>
2573 </param_morph>
2574 </param>
2575
2576 <param
2577 id="188"
2578 group="1"
2579 name="Square_Head"
2580 wearable="shape"
2581 label_min="Less Square"
2582 label_max="More Square"
2583 value_min="0"
2584 value_max=".7"
2585 camera_elevation=".1"
2586 camera_distance=".5"
2587 camera_angle="20">
2588 <param_morph />
2589 </param>
2590
2591 <param
2592 id="189"
2593 group="1"
2594 wearable="shape"
2595 name="Round_Head"
2596 label_min="Less Round"
2597 label_max="More Round"
2598 value_min="0"
2599 value_max="1"
2600 camera_elevation=".1"
2601 camera_distance=".5"
2602 camera_angle="20">
2603 <param_morph />
2604 </param>
2605
2606 <param
2607 id="194"
2608 group="1"
2609 name="Eye_Spread"
2610 wearable="shape"
2611 edit_group="shape_eyes"
2612 label_min="Eyes Together"
2613 label_max="Eyes Spread"
2614 value_min="-2"
2615 value_max="2">
2616 <param_morph />
2617 </param>
2618
2619 <param
2620 id="400"
2621 sex="male"
2622 group="1"
2623 name="Displace_Hair_Facial"
2624 label="Hair Thickess"
2625 wearable="hair"
2626 edit_group="hair_facial"
2627 label_min="Cropped Hair"
2628 label_max="Bushy Hair"
2629 value_min="0"
2630 value_max="2">
2631 <param_morph />
2632 </param>
2633
2634 <param
2635 id="506"
2636 group="0"
2637 name="Mouth_Height"
2638 wearable="shape"
2639 label="Mouth Position"
2640 show_simple="true"
2641 edit_group="shape_mouth"
2642 edit_group_order="4"
2643 label_min="High"
2644 label_max="Low"
2645 value_min="-2"
2646 value_max="2"
2647 camera_distance=".3"
2648 camera_elevation=".04">
2649 <param_morph />
2650 </param>
2651
2652 <param
2653 id="633"
2654 group="1"
2655 name="Fat_Head"
2656 label="Fat Head"
2657 wearable="shape"
2658 edit_group="shape_body"
2659 label_min="Skinny"
2660 label_max="Fat"
2661 value_min="0"
2662 value_max="1"
2663 camera_elevation=".3">
2664 <param_morph/>
2665 </param>
2666
2667 <param
2668 id="630"
2669 group="1"
2670 name="Forehead_Round"
2671 label="Round Forehead"
2672 wearable="shape"
2673 label_min="Less"
2674 label_max="More"
2675 value_min="0"
2676 value_max="1">
2677 <param_morph />
2678 </param>
2679
2680 <param
2681 id="631"
2682 group="1"
2683 name="Forehead_Slant"
2684 label="Slanted Forehead"
2685 wearable="shape"
2686 label_min="Less"
2687 label_max="More"
2688 value_min="0"
2689 value_max="1">
2690 <param_morph />
2691 </param>
2692
2693 <param
2694 id="650"
2695 group="0"
2696 name="Eyelid_Corner_Up"
2697 label="Outer Eye Corner"
2698 wearable="shape"
2699 edit_group="shape_eyes"
2700 edit_group_order="4"
2701 label_min="Corner Down"
2702 label_max="Corner Up"
2703 value_min="-1.3"
2704 value_max="1.2"
2705 camera_elevation=".1"
2706 camera_distance=".30">
2707 <param_morph />
2708 </param>
2709
2710 <param
2711 id="880"
2712 group="0"
2713 name="Eyelid_Inner_Corner_Up"
2714 label="Inner Eye Corner"
2715 wearable="shape"
2716 edit_group="shape_eyes"
2717 edit_group_order="4.2"
2718 label_min="Corner Down"
2719 label_max="Corner Up"
2720 value_min="-1.3"
2721 value_max="1.2"
2722 camera_elevation=".1"
2723 camera_distance=".30">
2724 <param_morph />
2725 </param>
2726
2727
2728 <param
2729 id="653"
2730 group="0"
2731 name="Tall_Lips"
2732 wearable="shape"
2733 label="Lip Fullness"
2734 show_simple="true"
2735 edit_group="shape_mouth"
2736 edit_group_order="2"
2737 label_min="Less Full"
2738 label_max="More Full"
2739 value_min="-1"
2740 value_max="2"
2741 camera_distance=".3"
2742 camera_elevation=".04">
2743 <param_morph />
2744 </param>
2745
2746 <param
2747 id="656"
2748 group="0"
2749 name="Crooked_Nose"
2750 wearable="shape"
2751 label="Crooked Nose"
2752 edit_group="shape_nose"
2753 edit_group_order="9"
2754 label_min="Nose Left"
2755 label_max="Nose Right"
2756 value_min="-2"
2757 value_max="2"
2758 camera_distance=".3"
2759 camera_elevation=".04"
2760 camera_angle="-20">
2761 <param_morph />
2762 </param>
2763
2764 <param
2765 id="657"
2766 group="1"
2767 name="Smile_Mouth"
2768 wearable="shape"
2769 label="Mouth Corner"
2770 edit_group="shape_mouth"
2771 label_min="Corner Normal"
2772 label_max="Corner Up"
2773 value_min="0"
2774 value_max="1.4"
2775 camera_distance=".3"
2776 camera_elevation=".04">
2777 <param_morph />
2778 </param>
2779
2780 <param
2781 id="658"
2782 group="1"
2783 name="Frown_Mouth"
2784 wearable="shape"
2785 label="Mouth Corner"
2786 edit_group="shape_mouth"
2787 label_min="Corner Normal"
2788 label_max="Corner Down"
2789 value_min="0"
2790 value_max="1.2"
2791 camera_distance=".3"
2792 camera_elevation=".04">
2793 <param_morph />
2794 </param>
2795
2796 <param
2797 id="797"
2798 group="1"
2799 name="Fat_Upper_Lip"
2800 wearable="shape"
2801 label="Fat Upper Lip"
2802 edit_group="shape_mouth"
2803 label_min="Normal Upper"
2804 label_max="Fat Upper"
2805 value_min="0"
2806 value_max="1.5"
2807 camera_distance=".3"
2808 camera_elevation=".04">
2809 <param_morph />
2810 </param>
2811
2812 <param
2813 id="798"
2814 group="1"
2815 name="Fat_Lower_Lip"
2816 wearable="shape"
2817 label="Fat Lower Lip"
2818 edit_group="shape_mouth"
2819 label_min="Normal Lower"
2820 label_max="Fat Lower"
2821 value_min="0"
2822 value_max="1.5"
2823 camera_distance=".3"
2824 camera_elevation=".04">
2825 <param_morph />
2826 </param>
2827
2828 <param
2829 id="660"
2830 group="1"
2831 name="Shear_Head"
2832 wearable="shape"
2833 label="Shear Face"
2834 edit_group="shape_head"
2835 label_min="Shear Left"
2836 label_max="Shear Right"
2837 value_min="-2"
2838 value_max="2"
2839 value_default="0"
2840 camera_distance=".5"
2841 camera_elevation=".04">
2842 <param_morph />
2843 </param>
2844
2845 <param
2846 id="770"
2847 group="1"
2848 name="Elongate_Head"
2849 wearable="shape"
2850 label="Shear Face"
2851 edit_group="shape_head"
2852 label_min="Flat Head"
2853 label_max="Long Head"
2854 value_min="-1"
2855 value_max="1"
2856 value_default="0"
2857 camera_distance=".5"
2858 camera_elevation=".04">
2859 <param_morph>
2860 <volume_morph
2861 name="HEAD"
2862 scale="0.02 0.0 0.0"/>
2863 </param_morph>
2864 </param>
2865
2866 <param
2867 id="663"
2868 group="0"
2869 name="Shift_Mouth"
2870 wearable="shape"
2871 label="Shift Mouth"
2872 edit_group="shape_mouth"
2873 edit_group_order="7"
2874 label_min="Shift Left"
2875 label_max="Shift Right"
2876 value_min="-2"
2877 value_max="2"
2878 value_default="0"
2879 camera_distance=".35"
2880 camera_elevation=".04"
2881 camera_angle="-20">
2882 <param_morph />
2883 </param>
2884
2885 <param
2886 id="664"
2887 group="0"
2888 name="Pop_Eye"
2889 wearable="shape"
2890 label="Eye Pop"
2891 edit_group="shape_eyes"
2892 edit_group_order="8"
2893 label_min="Pop Right Eye"
2894 label_max="Pop Left Eye"
2895 value_min="-1.3"
2896 value_max="1.3"
2897 value_default="0"
2898 camera_elevation=".1"
2899 camera_distance=".35">
2900 <param_morph />
2901 </param>
2902
2903 <param
2904 id="760"
2905 group="0"
2906 name="Jaw_Angle"
2907 wearable="shape"
2908 label="Jaw Angle"
2909 edit_group="shape_chin"
2910 edit_group_order="3.5"
2911 label_min="Low Jaw"
2912 label_max="High Jaw"
2913 value_min="-1.2"
2914 value_max="2"
2915 value_default="0"
2916 camera_distance=".5"
2917 camera_elevation=".04"
2918 camera_angle="70">
2919 <param_morph />
2920 </param>
2921
2922 <param
2923 id="665"
2924 group="0"
2925 name="Jaw_Jut"
2926 wearable="shape"
2927 label="Jaw Jut"
2928 edit_group="shape_chin"
2929 edit_group_order="4"
2930 label_min="Overbite"
2931 label_max="Underbite"
2932 value_min="-2"
2933 value_max="2"
2934 value_default="0"
2935 camera_distance=".5"
2936 camera_elevation=".04"
2937 camera_angle="70">
2938 <param_morph />
2939 </param>
2940
2941 <param
2942 id="686"
2943 group="1"
2944 name="Head_Eyes_Big"
2945 wearable="shape"
2946 label="Eye Size"
2947 edit_group="shape_eyes"
2948 label_min="Beady Eyes"
2949 label_max="Anime Eyes"
2950 show_simple="true"
2951 value_min="-2"
2952 value_max="2"
2953 value_default="0">
2954 <param_morph />
2955 </param>
2956
2957 <param
2958 id="767"
2959 group="1"
2960 name="Bug_Eyed_Head"
2961 wearable="shape"
2962 label="Eye Depth"
2963 edit_group="shape_eyes"
2964 edit_group_order="4.5"
2965 label_min="Sunken Eyes"
2966 label_max="Bug Eyes"
2967 value_min="-2"
2968 value_max="2"
2969 value_default="0">
2970 <param_morph />
2971 </param>
2972
2973 <!--
2974 #Fat_Lips = Fat_Lips 34 1 0 1
2975 #Wide_Lips = Wide_Lips 35 1 0 1
2976 #Wide_Nose = Wide_Nose 36 1 0 1
2977 -->
2978 <!--
2979 ##############
2980 # Facial Expression morphs
2981 ##############
2982 -->
2983 <param
2984 id="300"
2985 group="1"
2986 name="Express_Closed_Mouth"
2987 value_default="1"
2988 value_min="0"
2989 value_max="1">
2990 <param_morph />
2991 </param>
2992
2993 <param
2994 id="301"
2995 group="1"
2996 name="Express_Tongue_Out"
2997 value_min="0"
2998 value_max="1">
2999 <param_morph />
3000 </param>
3001
3002 <param
3003 id="302"
3004 group="1"
3005 name="Express_Surprise_Emote"
3006 value_min="0"
3007 value_max="1">
3008 <param_morph />
3009 </param>
3010
3011 <param
3012 id="303"
3013 group="1"
3014 name="Express_Wink_Emote"
3015 value_min="0"
3016 value_max="1">
3017 <param_morph />
3018 </param>
3019
3020 <param
3021 id="304"
3022 group="1"
3023 name="Express_Embarrassed_Emote"
3024 value_min="0"
3025 value_max="1">
3026 <param_morph />
3027 </param>
3028
3029 <param
3030 id="305"
3031 group="1"
3032 name="Express_Shrug_Emote"
3033 value_min="0"
3034 value_max="1">
3035 <param_morph />
3036 </param>
3037
3038 <param
3039 id="306"
3040 group="1"
3041 name="Express_Kiss"
3042 value_min="0"
3043 value_max="1">
3044 <param_morph />
3045 </param>
3046
3047 <param
3048 id="307"
3049 group="1"
3050 name="Express_Bored_Emote"
3051 value_min="0"
3052 value_max="1">
3053 <param_morph />
3054 </param>
3055
3056 <param
3057 id="308"
3058 group="1"
3059 name="Express_Repulsed_Emote"
3060 value_min="0"
3061 value_max="1">
3062 <param_morph />
3063 </param>
3064
3065 <param
3066 id="309"
3067 group="1"
3068 name="Express_Disdain"
3069 value_min="0"
3070 value_max="1">
3071 <param_morph />
3072 </param>
3073
3074 <param
3075 id="310"
3076 group="1"
3077 name="Express_Afraid_Emote"
3078 value_min="0"
3079 value_max="1">
3080 <param_morph />
3081 </param>
3082
3083 <param
3084 id="311"
3085 group="1"
3086 name="Express_Worry_Emote"
3087 value_min="0"
3088 value_max="1">
3089 <param_morph />
3090 </param>
3091
3092 <param
3093 id="312"
3094 group="1"
3095 name="Express_Cry_Emote"
3096 value_min="0"
3097 value_max="1">
3098 <param_morph />
3099 </param>
3100
3101 <param
3102 id="313"
3103 group="1"
3104 name="Express_Sad_Emote"
3105 value_min="0"
3106 value_max="1">
3107 <param_morph />
3108 </param>
3109
3110 <param
3111 id="314"
3112 group="1"
3113 name="Express_Anger_Emote"
3114 value_min="0"
3115 value_max="1">
3116 <param_morph />
3117 </param>
3118
3119 <param
3120 id="315"
3121 group="1"
3122 name="Express_Frown"
3123 value_min="0"
3124 value_max="1">
3125 <param_morph />
3126 </param>
3127
3128 <param
3129 id="316"
3130 group="1"
3131 name="Express_Laugh_Emote"
3132 value_min="0"
3133 value_max="1">
3134 <param_morph />
3135 </param>
3136
3137 <param
3138 id="317"
3139 group="1"
3140 name="Express_Toothsmile"
3141 value_min="0"
3142 value_max="1">
3143 <param_morph />
3144 </param>
3145
3146 <param
3147 id="318"
3148 group="1"
3149 name="Express_Smile"
3150 value_min="0"
3151 value_max="1">
3152 <param_morph />
3153 </param>
3154
3155 <param
3156 id="632"
3157 group="1"
3158 name="Express_Open_Mouth"
3159 value_min="0"
3160 value_max="1">
3161 <param_morph />
3162 </param>
3163
3164 <!--
3165 ##############
3166 # Lipsync morphs
3167 ##############
3168 -->
3169
3170 <param
3171 id="70"
3172 group="1"
3173 name="Lipsync_Aah"
3174 value_min="0"
3175 value_max="1">
3176 <param_morph />
3177 </param>
3178
3179 <param
3180 id="71"
3181 group="1"
3182 name="Lipsync_Ooh"
3183 value_min="0"
3184 value_max="1">
3185 <param_morph />
3186 </param>
3187
3188 <!--
3189 ##############
3190 # other morphs (not user controlled)
3191 ##############
3192 -->
3193 <param
3194 id="40"
3195 group="1"
3196 name="Male_Head"
3197 wearable="shape"
3198 edit_group="driven"
3199 value_min="0"
3200 value_max="1">
3201 <param_morph />
3202 </param>
3203
3204 <param
3205 id="41"
3206 group="1"
3207 name="Old"
3208 value_min="0"
3209 value_max="1">
3210 <param_morph />
3211 </param>
3212
3213 <!--
3214 ##############
3215 # animatable morphs
3216 ##############
3217 -->
3218 <param
3219 id="51"
3220 group="1"
3221 name="Furrowed_Eyebrows"
3222 value_min="0"
3223 value_max="1">
3224 <param_morph />
3225 </param>
3226
3227 <param
3228 id="53"
3229 group="1"
3230 name="Surprised_Eyebrows"
3231 value_min="0"
3232 value_max="1">
3233 <param_morph />
3234 </param>
3235
3236 <param
3237 id="54"
3238 group="1"
3239 name="Worried_Eyebrows"
3240 value_min="0"
3241 value_max="1">
3242 <param_morph />
3243 </param>
3244
3245 <param
3246 id="55"
3247 group="1"
3248 name="Frown_Mouth"
3249 value_min="0"
3250 value_max="1">
3251 <param_morph />
3252 </param>
3253
3254 <param
3255 id="57"
3256 group="1"
3257 name="Smile_Mouth"
3258 value_min="0"
3259 value_max="1">
3260 <param_morph />
3261 </param>
3262
3263 <param
3264 id="58"
3265 group="1"
3266 name="Blink_Left"
3267 value_min="0"
3268 value_max="1">
3269 <param_morph />
3270 </param>
3271
3272 <param
3273 id="59"
3274 group="1"
3275 name="Blink_Right"
3276 value_min="0"
3277 value_max="1">
3278 <param_morph />
3279 </param>
3280
3281 <!--
3282 #end morph targets
3283 -->
3284 </mesh>
3285
3286 <mesh
3287 type="headMesh"
3288 lod="1"
3289 file_name="avatar_head_1.llm"
3290 min_pixel_width="160"
3291 reference="avatar_head.llm">
3292 </mesh>
3293
3294 <mesh
3295 type="headMesh"
3296 lod="2"
3297 file_name="avatar_head_2.llm"
3298 min_pixel_width="80"
3299 reference="avatar_head.llm">
3300 </mesh>
3301
3302 <mesh
3303 type="headMesh"
3304 lod="3"
3305 file_name="avatar_head_3.llm"
3306 min_pixel_width="40"
3307 reference="avatar_head.llm">
3308 </mesh>
3309
3310 <mesh
3311 type="headMesh"
3312 lod="4"
3313 file_name="avatar_head_4.llm"
3314 min_pixel_width="0"
3315 reference="avatar_head.llm">
3316 </mesh>
3317
3318 <mesh
3319 type="eyelashMesh"
3320 lod="0"
3321 file_name="avatar_eyelashes.llm"
3322 min_pixel_width="320">
3323 <param
3324 shared="1"
3325 id="660"
3326 group="1"
3327 name="Shear_Head"
3328 wearable="shape"
3329 label="Shear Face"
3330 edit_group="shape_head"
3331 label_min="Shear Left"
3332 label_max="Shear Right"
3333 value_min="-2"
3334 value_max="2"
3335 value_default="0"
3336 camera_distance=".5"
3337 camera_elevation=".04">
3338 <param_morph />
3339 </param>
3340
3341 <param
3342 shared="1"
3343 id="770"
3344 group="1"
3345 name="Elongate_Head"
3346 wearable="shape"
3347 label="Shear Face"
3348 edit_group="shape_head"
3349 label_min="Flat Head"
3350 label_max="Long Head"
3351 value_min="-1"
3352 value_max="1"
3353 value_default="0"
3354 camera_distance=".5"
3355 camera_elevation=".04">
3356 <param_morph />
3357 </param>
3358
3359 <param
3360 shared="1"
3361 id="664"
3362 group="0"
3363 name="Pop_Eye"
3364 wearable="shape"
3365 label="Eye Pop"
3366 edit_group="shape_eyes"
3367 edit_group_order="8"
3368 label_min="Pop Right Eye"
3369 label_max="Pop Left Eye"
3370 value_min="-2"
3371 value_max="2"
3372 value_default="0"
3373 camera_distance=".5"
3374 camera_elevation=".04"
3375 camera_angle="-20">
3376 <param_morph />
3377 </param>
3378
3379 <param
3380 shared="1"
3381 id="21"
3382 group="0"
3383 name="Upper_Eyelid_Fold"
3384 label="Upper Eyelid Fold"
3385 wearable="shape"
3386 edit_group="shape_eyes"
3387 label_min="Uncreased"
3388 label_max="Creased"
3389 value_min="-0.2"
3390 value_max="1.3"
3391 camera_elevation=".1"
3392 camera_distance=".35">
3393 <param_morph />
3394 </param>
3395
3396 <param
3397 shared="1"
3398 id="24"
3399 group="0"
3400 name="Wide_Eyes"
3401 label="Eye Opening"
3402 wearable="shape"
3403 edit_group="shape_eyes"
3404 label_min="Narrow"
3405 label_max="Wide"
3406 show_simple="true"
3407 value_min="-1.5"
3408 value_max="2"
3409 camera_elevation=".1"
3410 camera_distance=".3">
3411 <param_morph />
3412 </param>
3413
3414 <param
3415 shared="1"
3416 id="186"
3417 group="1"
3418 name="Egg_Head"
3419 label="Egg Head"
3420 wearable="shape"
3421 edit_group="shape_head"
3422 label_min="Chin Heavy"
3423 label_max="Forehead Heavy"
3424 value_min="-1.3"
3425 value_max="1"
3426 camera_elevation=".1"
3427 camera_distance=".5"
3428 camera_angle="20">
3429 <param_morph />
3430 </param>
3431
3432 <param
3433 shared="1"
3434 id="187"
3435 group="1"
3436 name="Squash_Stretch_Head"
3437 label="Squash/Stretch Head"
3438 wearable="shape"
3439 edit_group="shape_head"
3440 label_min="Squash Head"
3441 label_max="Stretch Head"
3442 value_min="-.5"
3443 value_max="1"
3444 camera_elevation=".1"
3445 camera_distance=".5"
3446 camera_angle="20">
3447 <param_morph />
3448 </param>
3449
3450 <param
3451 shared="1"
3452 id="194"
3453 group="1"
3454 name="Eye_Spread"
3455 edit_group="shape_eyes"
3456 label_min="Eyes Together"
3457 label_max="Eyes Spread"
3458 value_min="-2"
3459 value_max="2">
3460 <param_morph />
3461 </param>
3462
3463 <param
3464 id="518"
3465 group="0"
3466 name="Eyelashes_Long"
3467 wearable="shape"
3468 label="Eyelash Length"
3469 edit_group="shape_eyes"
3470 edit_group_order="7"
3471 label_min="Short"
3472 label_max="Long"
3473 value_min="-.3"
3474 value_max="1.5"
3475 camera_elevation=".1"
3476 camera_distance=".30"
3477 camera_angle="-20">
3478 <param_morph />
3479 </param>
3480
3481 <param
3482 shared="1"
3483 id="650"
3484 group="0"
3485 name="Eyelid_Corner_Up"
3486 label="Outer Eye Corner"
3487 wearable="shape"
3488 edit_group="shape_eyes"
3489 label_min="Corner Down"
3490 label_max="Corner Up"
3491 value_min="-1.3"
3492 value_max="1.2"
3493 camera_elevation=".1"
3494 camera_distance=".3">
3495 <param_morph />
3496 </param>
3497
3498
3499 <param
3500 shared="1"
3501 id="880"
3502 group="0"
3503 name="Eyelid_Inner_Corner_Up"
3504 label="Inner Eye Corner"
3505 wearable="shape"
3506 edit_group="shape_eyes"
3507 label_min="Corner Down"
3508 label_max="Corner Up"
3509 value_min="-1.3"
3510 value_max="1.2"
3511 camera_elevation=".1"
3512 camera_distance=".3">
3513 <param_morph />
3514 </param>
3515
3516 <param
3517 shared="1"
3518 id="686"
3519 group="1"
3520 name="Head_Eyes_Big"
3521 wearable="shape"
3522 label="Eye Size"
3523 edit_group="shape_eyes"
3524 label_min="Beady Eyes"
3525 label_max="Anime Eyes"
3526 value_min="-2"
3527 value_max="2"
3528 show_simple="true"
3529 value_default="0">
3530 <param_morph />
3531 </param>
3532
3533 <param
3534 shared="1"
3535 id="767"
3536 group="1"
3537 name="Bug_Eyed_Head"
3538 wearable="shape"
3539 label="Eye Depth"
3540 edit_group="shape_eyes"
3541 edit_group_order="4.5"
3542 label_min="Sunken Eyes"
3543 label_max="Bug Eyes"
3544 value_min="-2"
3545 value_max="2"
3546 value_default="0">
3547 <param_morph />
3548 </param>
3549
3550 <!--
3551 ##############
3552 # Facial Expression morphs
3553 ##############
3554 -->
3555 <param
3556 shared="1"
3557 id="301"
3558 group="1"
3559 name="Express_Tongue_Out"
3560 value_min="0"
3561 value_max="1">
3562 <param_morph />
3563 </param>
3564
3565 <param
3566 shared="1"
3567 id="302"
3568 group="1"
3569 name="Express_Surprise_Emote"
3570 value_min="0"
3571 value_max="1">
3572 <param_morph />
3573 </param>
3574
3575 <param
3576 shared="1"
3577 id="303"
3578 group="1"
3579 name="Express_Wink_Emote"
3580 value_min="0"
3581 value_max="1">
3582 <param_morph />
3583 </param>
3584
3585 <param
3586 shared="1"
3587 id="304"
3588 group="1"
3589 name="Express_Embarrassed_Emote"
3590 value_min="0"
3591 value_max="1">
3592 <param_morph />
3593 </param>
3594
3595 <param
3596 shared="1"
3597 id="305"
3598 group="1"
3599 name="Express_Shrug_Emote"
3600 value_min="0"
3601 value_max="1">
3602 <param_morph />
3603 </param>
3604
3605 <param
3606 shared="1"
3607 id="306"
3608 group="1"
3609 name="Express_Kiss"
3610 value_min="0"
3611 value_max="1">
3612 <param_morph />
3613 </param>
3614
3615 <param
3616 shared="1"
3617 id="307"
3618 group="1"
3619 name="Express_Bored_Emote"
3620 value_min="0"
3621 value_max="1">
3622 <param_morph />
3623 </param>
3624
3625 <param
3626 shared="1"
3627 id="308"
3628 group="1"
3629 name="Express_Repulsed_Emote"
3630 value_min="0"
3631 value_max="1">
3632 <param_morph />
3633 </param>
3634
3635 <param
3636 shared="1"
3637 id="309"
3638 group="1"
3639 name="Express_Disdain"
3640 value_min="0"
3641 value_max="1">
3642 <param_morph />
3643 </param>
3644
3645 <param
3646 shared="1"
3647 id="310"
3648 group="1"
3649 name="Express_Afraid_Emote"
3650 value_min="0"
3651 value_max="1">
3652 <param_morph />
3653 </param>
3654
3655 <param
3656 shared="1"
3657 id="312"
3658 group="1"
3659 name="Express_Cry_Emote"
3660 value_min="0"
3661 value_max="1">
3662 <param_morph />
3663 </param>
3664
3665 <param
3666 shared="1"
3667 id="313"
3668 group="1"
3669 name="Express_Sad_Emote"
3670 value_min="0"
3671 value_max="1">
3672 <param_morph />
3673 </param>
3674
3675 <param
3676 shared="1"
3677 id="314"
3678 group="1"
3679 name="Express_Anger_Emote"
3680 value_min="0"
3681 value_max="1">
3682 <param_morph />
3683 </param>
3684
3685 <param
3686 shared="1"
3687 id="315"
3688 group="1"
3689 name="Express_Frown"
3690 value_min="0"
3691 value_max="1">
3692 <param_morph />
3693 </param>
3694
3695 <param
3696 shared="1"
3697 id="316"
3698 group="1"
3699 name="Express_Laugh_Emote"
3700 value_min="0"
3701 value_max="1">
3702 <param_morph />
3703 </param>
3704
3705 <param
3706 shared="1"
3707 id="317"
3708 group="1"
3709 name="Express_Toothsmile"
3710 value_min="0"
3711 value_max="1">
3712 <param_morph />
3713 </param>
3714
3715 <param
3716 shared="1"
3717 id="318"
3718 group="1"
3719 name="Express_Smile"
3720 value_min="0"
3721 value_max="1">
3722 <param_morph />
3723 </param>
3724
3725 <!--
3726 ##############
3727 # other morphs (not user controlled)
3728 ##############
3729 -->
3730 <param
3731 shared="1"
3732 id="41"
3733 group="1"
3734 name="Old"
3735 value_min="0"
3736 value_max="1">
3737 <param_morph />
3738 </param>
3739
3740 <!--
3741 ##############
3742 # animatable morphs
3743 ##############
3744 -->
3745 <param
3746 shared="1"
3747 id="58"
3748 group="1"
3749 name="Blink_Left"
3750 value_min="0"
3751 value_max="1">
3752 <param_morph />
3753 </param>
3754
3755 <param
3756 shared="1"
3757 id="59"
3758 group="1"
3759 name="Blink_Right"
3760 value_min="0"
3761 value_max="1">
3762 <param_morph />
3763 </param>
3764 </mesh>
3765
3766 <!--
3767 #headMesh2 =
3768 #headMesh3 =
3769 -->
3770 <mesh
3771 type="upperBodyMesh"
3772 lod="0"
3773 file_name="avatar_upper_body.llm"
3774 min_pixel_width="320">
3775 <!--
3776 #begin morph targets
3777 #############
3778 # tweakable morphs
3779 #############
3780 -->
3781 <param
3782 id="104"
3783 group="1"
3784 name="Big_Belly_Torso"
3785 wearable="shape"
3786 edit_group="driven"
3787 value_min="0"
3788 value_max="1">
3789 <param_morph>
3790 <volume_morph
3791 name="BELLY"
3792 scale="0.075 0.04 0.03"
3793 pos="0.07 0 -0.07"/>
3794 </param_morph>
3795 </param>
3796
3797 <param
3798 id="626"
3799 sex="female"
3800 group="1"
3801 name="Big_Chest"
3802 label="Chest Size"
3803 wearable="shape"
3804 edit_group="shape_torso"
3805 label_min="Small"
3806 label_max="Large"
3807 value_min="0"
3808 value_max="1"
3809 camera_elevation=".1"
3810 camera_distance="1"
3811 camera_angle="15">
3812 <param_morph />
3813 </param>
3814
3815 <param
3816 id="627"
3817 sex="female"
3818 group="1"
3819 name="Small_Chest"
3820 label="Chest Size"
3821 wearable="shape"
3822 edit_group="shape_torso"
3823 label_min="Large"
3824 label_max="Small"
3825 value_min="0"
3826 value_max="1"
3827 camera_elevation="0"
3828 camera_distance=".28">
3829 <param_morph />
3830 </param>
3831
3832 <param
3833 id="843"
3834 sex="female"
3835 group="1"
3836 name="No_Chest"
3837 label="Chest Size"
3838 wearable="shape"
3839 edit_group="shape_torso"
3840 label_min="Some"
3841 label_max="None"
3842 value_min="0"
3843 value_max="1"
3844 camera_elevation="0"
3845 camera_distance=".28">
3846 <param_morph />
3847 </param>
3848
3849 <param
3850 id="106"
3851 group="1"
3852 name="Muscular_Torso"
3853 label="Torso Muscles"
3854 show_simple="true"
3855 wearable="shape"
3856 edit_group="shape_torso"
3857 label_min="Regular"
3858 label_max="Muscular"
3859 value_min="0"
3860 value_max="1.4"
3861 camera_elevation=".3"
3862 camera_distance="1.2">
3863 <param_morph>
3864 <volume_morph
3865 name="L_CLAVICLE"
3866 scale="0.02 0.0 0.005"
3867 pos="0.0 0 0.005"/>
3868 <volume_morph
3869 name="L_UPPER_ARM"
3870 scale="0.015 0.0 0.005"
3871 pos="0.015 0 0"/>
3872 <volume_morph
3873 name="L_LOWER_ARM"
3874 scale="0.005 0.0 0.005"
3875 pos="0.005 0 0"/>
3876 <volume_morph
3877 name="R_CLAVICLE"
3878 scale="0.02 0.0 0.005"
3879 pos="0.0 0 0.005"/>
3880 <volume_morph
3881 name="R_UPPER_ARM"
3882 scale="0.015 0.0 0.005"
3883 pos="0.015 0 0"/>
3884 <volume_morph
3885 name="R_LOWER_ARM"
3886 scale="0.005 0.0 0.005"
3887 pos="0.005 0 0"/>
3888 </param_morph>
3889 </param>
3890
3891 <param
3892 id="648"
3893 group="1"
3894 sex="female"
3895 name="Scrawny_Torso"
3896 label="Torso Muscles"
3897 show_simple="true"
3898 wearable="shape"
3899 edit_group="shape_torso"
3900 label_min="Regular"
3901 label_max="Scrawny"
3902 value_min="0"
3903 value_max="1.3"
3904 camera_elevation=".3"
3905 camera_distance="1.2">
3906 <param_morph>
3907 <volume_morph
3908 name="BELLY"
3909 scale="0.0 -0.01 0.0"
3910 pos="0.0 0.0 0"/>
3911 <volume_morph
3912 name="CHEST"
3913 scale="-0.01 -0.01 0.0"
3914 pos="0.01 0.0 0"/>
3915 <volume_morph
3916 name="L_CLAVICLE"
3917 scale="0.0 -0.03 -0.005"
3918 pos="0.0 0 -0.005"/>
3919 <volume_morph
3920 name="L_UPPER_ARM"
3921 scale="-0.01 -0.01 -0.02"
3922 pos="0 0 0"/>
3923 <volume_morph
3924 name="L_LOWER_ARM"
3925 scale="-0.005 0.0 -0.01"
3926 pos="-0.005 0 0"/>
3927 <volume_morph
3928 name="R_CLAVICLE"
3929 scale="0.0 -0.03 -0.005"
3930 pos="0.0 0 -0.005"/>
3931 <volume_morph
3932 name="R_UPPER_ARM"
3933 scale="-0.01 -0.01 -0.02"
3934 pos="0 0 0"/>
3935 <volume_morph
3936 name="R_LOWER_ARM"
3937 scale="-0.005 0.0 -0.01"
3938 pos="-0.005 0 0"/>
3939 </param_morph>
3940 </param>
3941
3942 <param
3943 id="677"
3944 group="1"
3945 sex="male"
3946 name="Scrawny_Torso_Male"
3947 label="Torso Scrawny"
3948 wearable="shape"
3949 edit_group="shape_torso"
3950 label_min="Regular"
3951 label_max="Scrawny"
3952 value_min="0"
3953 value_max="1.3"
3954 camera_elevation=".3"
3955 camera_distance="1.2">
3956 <param_morph>
3957 <volume_morph
3958 name="BELLY"
3959 scale="-0.01 -0.01 0.0"
3960 pos="0.01 0.0 0"/>
3961 <volume_morph
3962 name="CHEST"
3963 scale="-0.02 -0.02 0.0"
3964 pos="0.01 0.0 0"/>
3965 <volume_morph
3966 name="L_CLAVICLE"
3967 scale="0.0 -0.03 -0.005"
3968 pos="0.0 0 -0.005"/>
3969 <volume_morph
3970 name="L_UPPER_ARM"
3971 scale="-0.01 -0.01 -0.02"
3972 pos="0 0 0"/>
3973 <volume_morph
3974 name="L_LOWER_ARM"
3975 scale="-0.005 0.0 -0.01"
3976 pos="-0.005 0 0"/>
3977 <volume_morph
3978 name="R_CLAVICLE"
3979 scale="0.0 -0.03 -0.005"
3980 pos="0.0 0 -0.005"/>
3981 <volume_morph
3982 name="R_UPPER_ARM"
3983 scale="-0.01 -0.01 -0.02"
3984 pos="0 0 0"/>
3985 <volume_morph
3986 name="R_LOWER_ARM"
3987 scale="-0.005 0.0 -0.01"
3988 pos="-0.005 0 0"/>
3989 </param_morph>
3990 </param>
3991
3992 <param
3993 id="634"
3994 group="1"
3995 name="Fat_Torso"
3996 label="Fat Torso"
3997 wearable="shape"
3998 edit_group="shape_body"
3999 label_min="skinny"
4000 label_max="fat"
4001 value_min="0"
4002 value_max="1"
4003 camera_elevation=".3">
4004 <param_morph>
4005 <volume_morph
4006 name="CHEST"
4007 scale="0.02 0.03 0.03"
4008 pos="0 0 -0.03"/>
4009 <volume_morph
4010 name="BELLY"
4011 scale="0.09 0.08 0.07"
4012 pos="0 0 -0.05"/>
4013 <volume_morph
4014 name="L_CLAVICLE"
4015 scale="0.0 0.0 0.015"/>
4016 <volume_morph
4017 name="L_UPPER_ARM"
4018 scale="0.02 0.0 0.02"
4019 pos="0.0 0.0 -0.02"/>
4020 <volume_morph
4021 name="L_LOWER_ARM"
4022 scale="0.01 0.0 0.01"
4023 pos="0.0 0.0 -0.01"/>
4024 <volume_morph
4025 name="R_CLAVICLE"
4026 scale="0.0 0.0 0.015"/>
4027 <volume_morph
4028 name="R_UPPER_ARM"
4029 scale="0.02 0.0 0.02"
4030 pos="0.0 0.0 -0.02"/>
4031 <volume_morph
4032 name="R_LOWER_ARM"
4033 scale="0.01 0.0 0.01"
4034 pos="0.0 0.0 -0.01"/>
4035 <volume_morph
4036 name="NECK"
4037 scale="0.015 0.01 0.0"/>
4038 <volume_morph
4039 name="HEAD"
4040 scale="0.0 0.0 0.01"
4041 pos="0 0 -0.01"/>
4042 </param_morph>
4043 </param>
4044
4045 <param
4046 id="507"
4047 group="0"
4048 sex="female"
4049 name="Breast_Gravity"
4050 label="Breast Buoyancy"
4051 wearable="shape"
4052 edit_group="shape_torso"
4053 edit_group_order="7"
4054 label_min="Less Gravity"
4055 label_max="More Gravity"
4056 value_default="0"
4057 value_min="-1.5"
4058 value_max="2"
4059 camera_elevation=".3"
4060 camera_distance=".8">
4061 <param_morph />
4062 </param>
4063
4064 <param
4065 id="628"
4066 group="1"
4067 name="Displace_Loose_Upperbody"
4068 label="Shirt Fit"
4069 wearable="shirt"
4070 edit_group="driven"
4071 clothing_morph="true"
4072 value_min="0"
4073 value_max="1"
4074 value_default="0">
4075 <param_morph />
4076 </param>
4077
4078 <param
4079 id="840"
4080 group="0"
4081 name="Shirtsleeve_flair"
4082 label="Sleeve Looseness"
4083 show_simple="true"
4084 wearable="shirt"
4085 edit_group="shirt"
4086 edit_group_order="6"
4087 clothing_morph="true"
4088 label_min="Tight Sleeves"
4089 label_max="Loose Sleeves"
4090 value_min="0"
4091 value_max="1.5"
4092 camera_distance="1.8"
4093 camera_angle="30"
4094 camera_elevation="-.3">
4095 <param_morph />
4096 </param>
4097
4098 <param
4099 id="855"
4100 group="1"
4101 name="Love_Handles"
4102 wearable="shape"
4103 edit_group="driven"
4104 value_default="0"
4105 value_min="-1"
4106 value_max="2">
4107 <param_morph>
4108 <volume_morph
4109 name="BELLY"
4110 scale="0.0 0.02 0.0"/>
4111 </param_morph>
4112 </param>
4113
4114 <param
4115 id="684"
4116 group="0"
4117 sex="female"
4118 name="Breast_Female_Cleavage"
4119 label="Breast Cleavage"
4120 wearable="shape"
4121 edit_group="shape_torso"
4122 edit_group_order="8"
4123 label_min="Separate"
4124 label_max="Join"
4125 value_default="0"
4126 value_min="-.3"
4127 value_max="1.3"
4128 camera_elevation=".3"
4129 camera_distance=".8">
4130 <param_morph />
4131 </param>
4132
4133 <param
4134 id="685"
4135 group="0"
4136 sex="male"
4137 name="Chest_Male_No_Pecs"
4138 label="Pectorals"
4139 wearable="shape"
4140 edit_group="shape_torso"
4141 edit_group_order="5"
4142 label_min="Big Pectorals"
4143 label_max="Sunken Chest"
4144 value_default="0"
4145 value_min="-.5"
4146 value_max="1.1"
4147 camera_elevation=".3"
4148 camera_distance="1.2">
4149 <param_morph />
4150 </param>
4151
4152 <!-- ############# #
4153 other morphs (not user controlled)
4154 ############# -->
4155 <param
4156 id="100"
4157 group="1"
4158 name="Male_Torso"
4159 wearable="shape"
4160 edit_group="driven"
4161 label_min="Male_Torso"
4162 value_min="0"
4163 value_max="1">
4164 <param_morph>
4165 <volume_morph
4166 name="CHEST"
4167 scale="0.03 0.04 0.02"
4168 pos="-0.03 0 -0.01"/>
4169 <volume_morph
4170 name="BELLY"
4171 scale="0.03 0.03 0.0"
4172 pos="-0.03 0 0.02"/>
4173 <volume_morph
4174 name="L_CLAVICLE"
4175 scale="0.02 0.0 0.01"
4176 pos="-0.02 0 0"/>
4177 <volume_morph
4178 name="L_UPPER_ARM"
4179 scale="0.01 0.0 0.01"
4180 pos="0.0 0.0 -0.01"/>
4181 <volume_morph
4182 name="L_LOWER_ARM"
4183 scale="0.005 0.0 0.005"
4184 pos="0.0 0.0 -0.005"/>
4185 <volume_morph
4186 name="R_CLAVICLE"
4187 scale="0.02 0.0 0.01"
4188 pos="-0.02 0 0"/>
4189 <volume_morph
4190 name="R_UPPER_ARM"
4191 scale="0.01 0.0 0.01"
4192 pos="0.0 0.0 -0.01"/>
4193 <volume_morph
4194 name="R_LOWER_ARM"
4195 scale="0.005 0.0 0.005"
4196 pos="0.0 0.0 -0.005"/>
4197 <volume_morph
4198 name="NECK"
4199 scale="0.015 0.01 0.0"/>
4200 <volume_morph
4201 name="HEAD"
4202 scale="0.0 0.0 0.01"
4203 pos="0 0 -0.01"/>
4204 </param_morph>
4205 </param>
4206
4207 <!--
4208 ##############
4209 # animatable morphs
4210 ##############
4211 -->
4212 <param
4213 id="101"
4214 group="1"
4215 name="Hands_Relaxed"
4216 value_min="0"
4217 value_max="1">
4218 <param_morph />
4219 </param>
4220
4221 <param
4222 id="102"
4223 group="1"
4224 name="Hands_Point"
4225 value_min="0"
4226 value_max="1">
4227 <param_morph />
4228 </param>
4229
4230 <param
4231 id="103"
4232 group="1"
4233 name="Hands_Fist"
4234 value_min="0"
4235 value_max="1">
4236 <param_morph />
4237 </param>
4238
4239 <param
4240 id="666"
4241 group="1"
4242 name="Hands_Relaxed_L"
4243 value_min="0"
4244 value_max="1">
4245 <param_morph />
4246 </param>
4247
4248 <param
4249 id="667"
4250 group="1"
4251 name="Hands_Point_L"
4252 value_min="0"
4253 value_max="1">
4254 <param_morph />
4255 </param>
4256
4257 <param
4258 id="668"
4259 group="1"
4260 name="Hands_Fist_L"
4261 value_min="0"
4262 value_max="1">
4263 <param_morph />
4264 </param>
4265
4266 <param
4267 id="669"
4268 group="1"
4269 name="Hands_Relaxed_R"
4270 value_min="0"
4271 value_max="1">
4272 <param_morph />
4273 </param>
4274
4275 <param
4276 id="670"
4277 group="1"
4278 name="Hands_Point_R"
4279 value_min="0"
4280 value_max="1">
4281 <param_morph />
4282 </param>
4283
4284 <param
4285 id="671"
4286 group="1"
4287 name="Hands_Fist_R"
4288 value_min="0"
4289 value_max="1">
4290 <param_morph />
4291 </param>
4292
4293 <param
4294 id="672"
4295 group="1"
4296 name="Hands_Typing"
4297 value_min="0"
4298 value_max="1">
4299 <param_morph />
4300 </param>
4301
4302 <param
4303 id="766"
4304 group="1"
4305 name="Hands_Salute_R"
4306 value_min="0"
4307 value_max="1">
4308 <param_morph />
4309 </param>
4310
4311 <param
4312 id="791"
4313 group="1"
4314 name="Hands_Peace_R"
4315 value_min="0"
4316 value_max="1">
4317 <param_morph />
4318 </param>
4319
4320 <param
4321 id="792"
4322 group="1"
4323 name="Hands_Spread_R"
4324 value_min="0"
4325 value_max="1">
4326 <param_morph />
4327 </param>
4328
4329 <!--
4330 #############
4331 # physics morphs (not user controlled)
4332 #############
4333 -->
4334 <param
4335 id="1200"
4336 group="1"
4337 sex="female"
4338 name="Breast_Physics_UpDown_Driven"
4339 wearable="shape"
4340 edit_group="driven"
4341 value_default="0"
4342 value_min="-3"
4343 value_max="3">
4344 <param_morph />
4345 </param>
4346
4347 <param
4348 id="1201"
4349 group="1"
4350 sex="female"
4351 name="Breast_Physics_InOut_Driven"
4352 wearable="shape"
4353 edit_group="driven"
4354 value_default="0"
4355 value_min="-1.25"
4356 value_max="1.25">
4357 <param_morph />
4358 </param>
4359
4360 <param
4361 id="1204"
4362 group="1"
4363 name="Belly_Physics_Torso_UpDown_Driven"
4364 wearable="physics"
4365 cross_wearable="true"
4366 edit_group="driven"
4367 value_default="0"
4368 value_min="-1"
4369 value_max="1">
4370 <param_morph />
4371 </param>
4372
4373 <param
4374 id="1207"
4375 group="1"
4376 name="Breast_Physics_LeftRight_Driven"
4377 wearable="physics"
4378 cross_wearable="true"
4379 edit_group="driven"
4380 value_default="0"
4381 value_min="-2"
4382 value_max="2">
4383 <param_morph />
4384 </param>
4385
4386 <!--
4387 #end morph targets
4388 -->
4389
4390 </mesh>
4391
4392 <mesh
4393 type="upperBodyMesh"
4394 lod="1"
4395 file_name="avatar_upper_body_1.llm"
4396 min_pixel_width="160"
4397 reference="avatar_upper_body.llm">
4398 </mesh>
4399
4400 <mesh
4401 type="upperBodyMesh"
4402 lod="2"
4403 file_name="avatar_upper_body_2.llm"
4404 min_pixel_width="80"
4405 reference="avatar_upper_body.llm">
4406 </mesh>
4407
4408 <mesh
4409 type="upperBodyMesh"
4410 lod="3"
4411 file_name="avatar_upper_body_3.llm"
4412 min_pixel_width="40"
4413 reference="avatar_upper_body.llm">
4414 </mesh>
4415
4416 <mesh
4417 type="upperBodyMesh"
4418 lod="4"
4419 file_name="avatar_upper_body_4.llm"
4420 min_pixel_width="0"
4421 reference="avatar_upper_body.llm">
4422 </mesh>
4423
4424 <!--
4425 #upperBodyMesh2 =
4426 #upperBodyMesh3 =
4427 -->
4428 <mesh
4429 type="lowerBodyMesh"
4430 lod="0"
4431 file_name="avatar_lower_body.llm"
4432 min_pixel_width="320">
4433 <!--
4434 #begin morph targets
4435 #############
4436 # tweakable morphs
4437 #############
4438 -->
4439 <param
4440 id="156"
4441 group="1"
4442 name="Big_Belly_Legs"
4443 wearable="shape"
4444 edit_group="driven"
4445 value_min="0"
4446 value_max="1">
4447 <param_morph />
4448 </param>
4449
4450
4451 <param
4452 id="151"
4453 group="1"
4454 name="Big_Butt_Legs"
4455 label="Butt Size"
4456 wearable="shape"
4457 edit_group="shape_legs"
4458 label_min="Regular"
4459 label_max="Large"
4460 value_min="0"
4461 value_max="1">
4462 <param_morph>
4463 <volume_morph
4464 name="PELVIS"
4465 scale="0.03 0.0 0.02"
4466 pos="-0.03 0 -0.025"/>
4467 </param_morph>
4468 </param>
4469
4470 <param
4471 id="794"
4472 group="1"
4473 name="Small_Butt"
4474 label="Butt Size"
4475 wearable="shape"
4476 edit_group="shape_legs"
4477 label_min="Regular"
4478 label_max="Small"
4479 value_min="0"
4480 value_max="1">
4481 <param_morph>
4482 <volume_morph
4483 name="PELVIS"
4484 scale="-0.01 0.0 0.0"
4485 pos="0.01 0 0.0"/>
4486 </param_morph>
4487 </param>
4488
4489 <param
4490 id="152"
4491 group="1"
4492 name="Muscular_Legs"
4493 label="Leg Muscles"
4494 show_simple="true"
4495 wearable="shape"
4496 edit_group="shape_legs"
4497 label_min="Regular Muscles"
4498 label_max="More Muscles"
4499 value_min="0"
4500 value_max="1.5"
4501 camera_distance="1.3"
4502 camera_elevation="-.5">
4503 <param_morph>
4504 <volume_morph
4505 name="L_UPPER_LEG"
4506 scale="0.015 0.015 0.0"
4507 pos="0.0 0 0.0"/>
4508 <volume_morph
4509 name="L_LOWER_LEG"
4510 scale="0.01 0.01 0.0"
4511 pos="0.0 0 0.0"/>
4512 <volume_morph
4513 name="R_UPPER_LEG"
4514 scale="0.015 0.015 0.0"
4515 pos="0.0 0 0.0"/>
4516 <volume_morph
4517 name="R_LOWER_LEG"
4518 scale="0.01 0.01 0.0"
4519 pos="0.0 0 0.0"/>
4520 </param_morph>
4521 </param>
4522
4523 <param
4524 id="651"
4525 group="1"
4526 name="Scrawny_Legs"
4527 label="Scrawny Leg"
4528 wearable="shape"
4529 edit_group="shape_legs"
4530 label_min="Regular Muscles"
4531 label_max="Less Muscles"
4532 value_min="0"
4533 value_max="1.5"
4534 camera_distance="1.3"
4535 camera_elevation="-.5">
4536 <param_morph>
4537 <volume_morph
4538 name="L_UPPER_LEG"
4539 scale="-0.03 -0.03 0.0"
4540 pos="0.0 0 0.0"/>
4541 <volume_morph
4542 name="L_LOWER_LEG"
4543 scale="-0.015 -0.015 0.0"
4544 pos="0.0 0 0.0"/>
4545 <volume_morph
4546 name="R_UPPER_LEG"
4547 scale="-0.03 -0.03 0.0"
4548 pos="0.0 0 0.0"/>
4549 <volume_morph
4550 name="R_LOWER_LEG"
4551 scale="-0.015 -0.015 0.0"
4552 pos="0.0 0 0.0"/>
4553 </param_morph>
4554 </param>
4555
4556 <param
4557 id="853"
4558 group="1"
4559 name="Bowed_Legs"
4560 label="Knee Angle"
4561 wearable="shape"
4562 value_min="-1"
4563 value_max="1">
4564 <param_morph>
4565 <volume_morph
4566 name="L_UPPER_LEG"
4567 pos="0.0 0.03 0.0"/>
4568 <volume_morph
4569 name="L_LOWER_LEG"
4570 pos="0.0 0.03 0.0"/>
4571 <volume_morph
4572 name="R_UPPER_LEG"
4573 pos="0.0 -0.03 0.0"/>
4574 <volume_morph
4575 name="R_LOWER_LEG"
4576 pos="0.0 -0.03 0.0"/>
4577 </param_morph>
4578 </param>
4579
4580 <param
4581 id="500"
4582 group="1"
4583 name="Shoe_Heel_Height"
4584 label="Heel Height"
4585 wearable="shoes"
4586 edit_group="shoes"
4587 label_min="Low Heels"
4588 label_max="High Heels"
4589 value_min="0"
4590 value_max="1"
4591 camera_distance="1.5"
4592 camera_elevation="-.5">
4593 <param_morph />
4594 </param>
4595
4596 <param
4597 id="501"
4598 group="1"
4599 name="Shoe_Platform_Height"
4600 label="Platform Height"
4601 wearable="shoes"
4602 edit_group="shoes"
4603 label_min="Low Platforms"
4604 label_max="High Platforms"
4605 value_min="0"
4606 value_max="1"
4607 camera_distance="1.5"
4608 camera_elevation="-.5">
4609 <param_morph />
4610 </param>
4611
4612 <param
4613 id="508"
4614 group="0"
4615 name="Shoe_Platform_Width"
4616 label="Platform Width"
4617 wearable="shoes"
4618 edit_group="shoes"
4619 edit_group_order="7"
4620 label_min="Narrow"
4621 label_max="Wide"
4622 value_min="-1"
4623 value_max="2"
4624 camera_angle="15"
4625 camera_distance="1.5"
4626 camera_elevation="-1">
4627 <param_morph />
4628 </param>
4629
4630 <param
4631 id="509"
4632 group="1"
4633 name="Shoe_Heel_Point"
4634 label="Heel Shape"
4635 wearable="shoes"
4636 edit_group="shoes"
4637 label_min="Default Heels"
4638 label_max="Pointy Heels"
4639 value_min="0"
4640 value_max="1"
4641 camera_distance="1.3"
4642 camera_elevation="-.5">
4643 <param_morph />
4644 </param>
4645
4646 <param
4647 id="510"
4648 group="1"
4649 name="Shoe_Heel_Thick"
4650 label="Heel Shape"
4651 wearable="shoes"
4652 edit_group="shoes"
4653 label_min="default Heels"
4654 label_max="Thick Heels"
4655 value_min="0"
4656 value_max="1"
4657 camera_distance="1.3"
4658 camera_elevation="-.5">
4659 <param_morph />
4660 </param>
4661
4662 <param
4663 id="511"
4664 group="1"
4665 name="Shoe_Toe_Point"
4666 label="Toe Shape"
4667 wearable="shoes"
4668 edit_group="shoes"
4669 label_min="Default Toe"
4670 label_max="Pointy Toe"
4671 value_min="0"
4672 value_max="1"
4673 camera_distance="1.3"
4674 camera_elevation="-.5">
4675 <param_morph />
4676 </param>
4677
4678 <param
4679 id="512"
4680 group="1"
4681 name="Shoe_Toe_Square"
4682 label="Toe Shape"
4683 wearable="shoes"
4684 edit_group="shoes"
4685 label_min="Default Toe"
4686 label_max="Square Toe"
4687 value_min="0"
4688 value_max="1"
4689 camera_distance="1.5"
4690 camera_elevation="-.5">
4691 <param_morph />
4692 </param>
4693
4694 <param
4695 id="654"
4696 group="0"
4697 name="Shoe_Toe_Thick"
4698 label="Toe Thickness"
4699 wearable="shoes"
4700 edit_group="shoes"
4701 edit_group_order="5"
4702 label_min="Flat Toe"
4703 label_max="Thick Toe"
4704 value_min="0"
4705 value_max="2"
4706 camera_angle="15"
4707 camera_distance="1.5"
4708 camera_elevation="-1">
4709 <param_morph />
4710 </param>
4711
4712 <param
4713 id="515"
4714 group="0"
4715 name="Foot_Size"
4716 label="Foot Size"
4717 wearable="shape"
4718 edit_group="shape_legs"
4719 edit_group_order="6"
4720 label_min="Small"
4721 label_max="Big"
4722 value_min="-1"
4723 value_max="3"
4724 camera_angle="45"
4725 camera_distance="1.1"
4726 camera_elevation="-1">
4727 <param_morph>
4728 <volume_morph
4729 name="L_FOOT"
4730 scale="0.02 0.01 0.0"
4731 pos="0.01 0 0"/>
4732 <volume_morph
4733 name="R_FOOT"
4734 scale="0.02 0.01 0.0"
4735 pos="0.01 0 0"/>
4736 </param_morph>
4737 </param>
4738
4739 <param
4740 id="516"
4741 group="1"
4742 name="Displace_Loose_Lowerbody"
4743 label="Pants Fit"
4744 wearable="pants"
4745 edit_group="driven"
4746 clothing_morph="true"
4747 value_min="0"
4748 value_max="1"
4749 value_default="0">
4750 <param_morph />
4751 </param>
4752
4753 <param
4754 id="625"
4755 group="0"
4756 name="Leg_Pantflair"
4757 label="Cuff Flare"
4758 show_simple="true"
4759 wearable="pants"
4760 edit_group="pants"
4761 edit_group_order="3"
4762 clothing_morph="true"
4763 label_min="Tight Cuffs"
4764 label_max="Flared Cuffs"
4765 value_min="0"
4766 value_max="1.5"
4767 camera_distance="1.8"
4768 camera_angle="30"
4769 camera_elevation="-.3">
4770 <param_morph />
4771 </param>
4772
4773 <param
4774 id="793"
4775 group="1"
4776 name="Leg_Longcuffs"
4777 label="Longcuffs"
4778 wearable="pants"
4779 edit_group="driven"
4780 clothing_morph="true"
4781 value_min="0"
4782 value_max="3"
4783 value_default="0">
4784 <param_morph />
4785 </param>
4786
4787 <param
4788 id="638"
4789 group="0"
4790 name="Low_Crotch"
4791 label="Pants Crotch"
4792 wearable="pants"
4793 clothing_morph="true"
4794 edit_group="pants"
4795 edit_group_order="4"
4796 label_min="High and Tight"
4797 label_max="Low and Loose"
4798 value_min="0"
4799 value_max="1.3"
4800 camera_distance="1.2"
4801 camera_angle="-20"
4802 camera_elevation="-.3">
4803 <param_morph />
4804 </param>
4805
4806 <param
4807 id="635"
4808 group="1"
4809 name="Fat_Legs"
4810 label="Fat Torso"
4811 wearable="shape"
4812 edit_group="shape_body"
4813 label_min="skinny"
4814 label_max="fat"
4815 value_min="0"
4816 value_max="1">
4817 <param_morph>
4818 <volume_morph
4819 name="PELVIS"
4820 scale="0.03 0.06 0.0"/>
4821 <volume_morph
4822 name="R_UPPER_LEG"
4823 scale="0.02 0.02 0.0"
4824 pos="0.0 -0.02 0.0"/>
4825 <volume_morph
4826 name="R_LOWER_LEG"
4827 scale="0.01 0.01 0.0"/>
4828 <volume_morph
4829 name="L_UPPER_LEG"
4830 scale="0.02 0.02 0.0"
4831 pos="0.0 0.02 0.0"/>
4832 <volume_morph
4833 name="L_LOWER_LEG"
4834 scale="0.01 0.01 0.0"/>
4835 </param_morph>
4836 </param>
4837
4838 <param
4839 id="854"
4840 group="1"
4841 name="Saddlebags"
4842 wearable="shape"
4843 edit_group="driven"
4844 value_min="-.5"
4845 value_max="3">
4846 <param_morph>
4847 <volume_morph
4848 name="PELVIS"
4849 scale="0.0 0.025 0.0"/>
4850 </param_morph>
4851
4852 </param>
4853
4854 <param
4855 id="879"
4856 group="0"
4857 sex="male"
4858 name="Male_Package"
4859 label="Package"
4860 wearable="shape"
4861 edit_group="shape_legs"
4862 edit_group_order="4.6"
4863 label_min="Coin Purse"
4864 label_max="Duffle Bag"
4865 value_default="0"
4866 value_min="-.5"
4867 value_max="2"
4868 camera_angle="60"
4869 camera_distance=".6">
4870 <param_morph />
4871 </param>
4872
4873 <!--
4874 #############
4875 # other morphs (not user controlled)
4876 #############
4877 -->
4878 <param
4879 id="153"
4880 group="1"
4881 name="Male_Legs"
4882 wearable="shape"
4883 edit_group="driven"
4884 value_min="0"
4885 value_max="1">
4886 <param_morph />
4887 </param>
4888
4889 <!--
4890 #############
4891 # physics morphs (not user controlled)
4892 #############
4893 -->
4894 <param
4895 id="1202"
4896 group="1"
4897 name="Belly_Physics_Legs_UpDown_Driven"
4898 wearable="physics"
4899 cross_wearable="true"
4900 edit_group="driven"
4901 value_min="-1"
4902 value_max="1">
4903 <param_morph />
4904 </param>
4905
4906
4907 <param
4908 id="1205"
4909 group="1"
4910 name="Butt_Physics_UpDown_Driven"
4911 wearable="physics"
4912 cross_wearable="true"
4913 edit_group="driven"
4914 value_default="0"
4915 value_min="-1"
4916 value_max="1">
4917 <param_morph />
4918 </param>
4919
4920 <param
4921 id="1206"
4922 group="1"
4923 name="Butt_Physics_LeftRight_Driven"
4924 wearable="physics"
4925 cross_wearable="true"
4926 edit_group="driven"
4927 value_default="0"
4928 value_min="-1"
4929 value_max="1">
4930 <param_morph />
4931 </param>
4932
4933 <!--
4934 #end morph targets
4935 -->
4936
4937 </mesh>
4938
4939 <mesh
4940 type="lowerBodyMesh"
4941 lod="1"
4942 file_name="avatar_lower_body_1.llm"
4943 min_pixel_width="160"
4944 reference="avatar_lower_body.llm">
4945 </mesh>
4946
4947 <mesh
4948 type="lowerBodyMesh"
4949 lod="2"
4950 file_name="avatar_lower_body_2.llm"
4951 min_pixel_width="80"
4952 reference="avatar_lower_body.llm">
4953 </mesh>
4954
4955 <mesh
4956 type="lowerBodyMesh"
4957 lod="3"
4958 file_name="avatar_lower_body_3.llm"
4959 min_pixel_width="40"
4960 reference="avatar_lower_body.llm">
4961 </mesh>
4962
4963 <mesh
4964 type="lowerBodyMesh"
4965 lod="4"
4966 file_name="avatar_lower_body_4.llm"
4967 min_pixel_width="0"
4968 reference="avatar_lower_body.llm">
4969 </mesh>
4970
4971 <!--
4972 #lowerBodyMesh2 =
4973 #lowerBodyMesh3 =
4974 -->
4975 <!--
4976 #eyeLidLeftMesh =
4977 -->
4978 <mesh
4979 type="eyeBallLeftMesh"
4980 lod="0"
4981 file_name="avatar_eye.llm"
4982 min_pixel_width="320">
4983 <!-- begin morph_params -->
4984 <param
4985 id="679"
4986 group="1"
4987 name="Eyeball_Size"
4988 label="Eyeball Size"
4989 wearable="shape"
4990 edit_group="shape_eyes"
4991 label_min="small eye"
4992 label_max="big eye"
4993 value_min="-.25"
4994 value_max=".10">
4995 <param_morph />
4996 </param>
4997
4998 <param
4999 id="687"
5000 group="1"
5001 name="Eyeball_Size"
5002 label="Big Eyeball"
5003 wearable="shape"
5004 edit_group="shape_eyes"
5005 label_min="small eye"
5006 label_max="big eye"
5007 value_min="-.25"
5008 value_max=".25">
5009 <param_morph />
5010 </param>
5011 </mesh>
5012
5013 <mesh
5014 type="eyeBallLeftMesh"
5015 lod="1"
5016 file_name="avatar_eye_1.llm"
5017 min_pixel_width="80">
5018 <!-- begin morph_params -->
5019 <param
5020 id="694"
5021 group="1"
5022 name="Eyeball_Size"
5023 label="Eyeball Size"
5024 wearable="shape"
5025 edit_group="shape_eyes"
5026 label_min="small eye"
5027 label_max="big eye"
5028 value_min="-.25"
5029 value_max=".10">
5030 <param_morph />
5031 </param>
5032
5033 <param
5034 id="695"
5035 group="1"
5036 name="Eyeball_Size"
5037 label="Big Eyeball"
5038 wearable="shape"
5039 edit_group="shape_eyes"
5040 label_min="small eye"
5041 label_max="big eye"
5042 value_min="-.25"
5043 value_max=".25">
5044 <param_morph />
5045 </param>
5046 </mesh>
5047
5048 <!--
5049 #eyeLidRightMesh =
5050 -->
5051 <mesh
5052 type="eyeBallRightMesh"
5053 lod="0"
5054 file_name="avatar_eye.llm"
5055 min_pixel_width="320">
5056 <!-- begin morph_params -->
5057 <param
5058 id="680"
5059 group="1"
5060 name="Eyeball_Size"
5061 label="Eyeball Size"
5062 wearable="shape"
5063 label_min="small eye"
5064 label_max="big eye"
5065 value_min="-.25"
5066 value_max=".10">
5067 <param_morph />
5068 </param>
5069
5070 <param
5071 id="688"
5072 group="1"
5073 name="Eyeball_Size"
5074 label="Big Eyeball"
5075 wearable="shape"
5076 label_min="small eye"
5077 label_max="big eye"
5078 value_min="-.25"
5079 value_max=".25">
5080 <param_morph />
5081 </param>
5082 </mesh>
5083
5084 <mesh
5085 type="eyeBallRightMesh"
5086 lod="1"
5087 file_name="avatar_eye_1.llm"
5088 min_pixel_width="80">
5089 <!-- begin morph_params -->
5090 <param
5091 id="681"
5092 group="1"
5093 name="Eyeball_Size"
5094 label="Eyeball Size"
5095 wearable="shape"
5096 edit_group="shape_eyes"
5097 label_min="small eye"
5098 label_max="big eye"
5099 value_min="-.25"
5100 value_max=".10">
5101 <param_morph />
5102 </param>
5103
5104 <param
5105 id="691"
5106 group="1"
5107 name="Eyeball_Size"
5108 label="Big Eyeball"
5109 wearable="shape"
5110 edit_group="shape_eyes"
5111 label_min="small eye"
5112 label_max="big eye"
5113 value_min="-.25"
5114 value_max=".25">
5115 <param_morph />
5116 </param>
5117 </mesh>
5118
5119 <mesh
5120 type="skirtMesh"
5121 lod="0"
5122 file_name="avatar_skirt.llm"
5123 min_pixel_width="320">
5124 <param
5125 id="845"
5126 group="1"
5127 name="skirt_poofy"
5128 label="poofy skirt"
5129 clothing_morph="true"
5130 wearable="skirt"
5131 edit_group="skirt"
5132 label_min="less poofy"
5133 label_max="more poofy"
5134 value_min="0"
5135 value_max="1.5">
5136 <param_morph />
5137 </param>
5138
5139 <param
5140 id="846"
5141 group="1"
5142 name="skirt_loose"
5143 label="loose skirt"
5144 clothing_morph="true"
5145 wearable="skirt"
5146 edit_group="skirt"
5147 label_min="form fitting"
5148 label_max="loose"
5149 value_min="0"
5150 value_max="1">
5151 <param_morph />
5152 </param>
5153
5154 <param
5155 id="866"
5156 group="1"
5157 name="skirt_tight"
5158 label="tight skirt"
5159 clothing_morph="true"
5160 wearable="skirt"
5161 edit_group="skirt"
5162 label_min="form fitting"
5163 label_max="loose"
5164 value_min="0"
5165 value_max="1">
5166 <param_morph />
5167 </param>
5168
5169 <param
5170 id="867"
5171 group="1"
5172 name="skirt_smallbutt"
5173 label="tight skirt"
5174 clothing_morph="false"
5175 wearable="skirt"
5176 edit_group="skirt"
5177 cross_wearable="true"
5178 label_min="form fitting"
5179 label_max="loose"
5180 value_min="0"
5181 value_max="1">
5182 <param_morph />
5183 </param>
5184
5185 <param
5186 id="848"
5187 group="0"
5188 name="skirt_bustle"
5189 label="bustle skirt"
5190 clothing_morph="true"
5191 wearable="skirt"
5192 edit_group_order="3"
5193 edit_group="skirt"
5194 label_min="no bustle"
5195 label_max="more bustle"
5196 value_min="0"
5197 value_max="2"
5198 value_default=".2"
5199 camera_angle="100"
5200 camera_distance="1.3"
5201 camera_elevation="-.5">
5202 <param_morph />
5203 </param>
5204
5205 <param
5206 id="847"
5207 group="1"
5208 name="skirt_bowlegs"
5209 label="legs skirt"
5210 wearable="skirt"
5211 edit_group="driven"
5212 cross_wearable="true"
5213 value_min="-1"
5214 value_max="1"
5215 value_default="0">
5216 <param_morph />
5217 </param>
5218
5219 <param
5220 id="852"
5221 group="1"
5222 name="skirt_bigbutt"
5223 wearable="skirt"
5224 edit_group="driven"
5225 cross_wearable="true"
5226 label="bigbutt skirt"
5227 label_min="less"
5228 label_max="more"
5229 value_min="0"
5230 value_max="1">
5231 <param_morph />
5232 </param>
5233
5234 <param
5235 id="849"
5236 group="1"
5237 name="skirt_belly"
5238 wearable="skirt"
5239 edit_group="driven"
5240 cross_wearable="true"
5241 label="big belly skirt"
5242 value_min="0"
5243 value_max="1">
5244 <param_morph />
5245 </param>
5246
5247 <param
5248 id="850"
5249 group="1"
5250 wearable="skirt"
5251 edit_group="driven"
5252 cross_wearable="true"
5253 name="skirt_saddlebags"
5254 value_min="-.5"
5255 value_max="3">
5256 <param_morph />
5257 </param>
5258
5259 <param
5260 id="851"
5261 group="1"
5262 name="skirt_chubby"
5263 wearable="skirt"
5264 edit_group="driven"
5265 cross_wearable="true"
5266 label_min="less"
5267 label_max="more"
5268 value_min="0"
5269 value_max="1"
5270 value_default="0">
5271 <param_morph />
5272 </param>
5273
5274 <param
5275 id="856"
5276 group="1"
5277 name="skirt_lovehandles"
5278 wearable="skirt"
5279 edit_group="driven"
5280 cross_wearable="true"
5281 label_min="less"
5282 label_max="more"
5283 value_min="-1"
5284 value_max="2"
5285 value_default="0">
5286 <param_morph />
5287 </param>
5288
5289 <!--
5290 #############
5291 # other morphs (not user controlled)
5292 #############
5293 -->
5294 <param
5295 id="857"
5296 group="1"
5297 name="skirt_male"
5298 wearable="skirt"
5299 edit_group="driven"
5300 cross_wearable="true"
5301 value_min="0"
5302 value_max="1">
5303 <param_morph />
5304 </param>
5305
5306 <!--
5307 #############
5308 # physics morphs (not user controlled)
5309 #############
5310 -->
5311 <param
5312 id="1203"
5313 group="1"
5314 name="Belly_Physics_Skirt_UpDown_Driven"
5315 wearable="physics"
5316 cross_wearable="true"
5317 edit_group="driven"
5318 value_default="0"
5319 value_min="-1"
5320 value_max="1">
5321 <param_morph />
5322 </param>
5323
5324 </mesh>
5325
5326 <mesh
5327 type="skirtMesh"
5328 lod="1"
5329 file_name="avatar_skirt_1.llm"
5330 min_pixel_width="160"
5331 reference="avatar_skirt.llm">
5332 </mesh>
5333
5334 <mesh
5335 type="skirtMesh"
5336 lod="2"
5337 file_name="avatar_skirt_2.llm"
5338 min_pixel_width="80"
5339 reference="avatar_skirt.llm">
5340 </mesh>
5341
5342 <mesh
5343 type="skirtMesh"
5344 lod="3"
5345 file_name="avatar_skirt_3.llm"
5346 min_pixel_width="40"
5347 reference="avatar_skirt.llm">
5348 </mesh>
5349
5350 <mesh
5351 type="skirtMesh"
5352 lod="4"
5353 file_name="avatar_skirt_4.llm"
5354 min_pixel_width="0"
5355 reference="avatar_skirt.llm">
5356 </mesh>
5357
5358 <!-- =========================================================== -->
5359 <global_color
5360 name="skin_color">
5361 <param
5362 id="111"
5363 group="0"
5364 wearable="skin"
5365 edit_group="skin_color"
5366 edit_group_order="1"
5367 name="Pigment"
5368 show_simple="true"
5369 label_min="Light"
5370 label_max="Dark"
5371 value_min="0"
5372 value_max="1"
5373 value_default=".5">
5374 <param_color>
5375 <value
5376 color="252, 215, 200, 255" />
5377
5378 <value
5379 color="240, 177, 112, 255" />
5380
5381 <value
5382 color="90, 40, 16, 255" />
5383
5384 <value
5385 color="29, 9, 6, 255" />
5386 </param_color>
5387 </param>
5388
5389 <param
5390 id="110"
5391 group="0"
5392 wearable="skin"
5393 edit_group="skin_color"
5394 edit_group_order="2"
5395 name="Red Skin"
5396 label="Ruddiness"
5397 label_min="Pale"
5398 label_max="Ruddy"
5399 value_min="0"
5400 value_max="0.1">
5401 <param_color
5402 operation="blend">
5403 <value
5404 color="218, 41, 37, 255" />
5405 </param_color>
5406 </param>
5407
5408 <param
5409 id="108"
5410 group="0"
5411 wearable="skin"
5412 edit_group="skin_color"
5413 edit_group_order="3"
5414 name="Rainbow Color"
5415 show_simple="true"
5416 label_min="None"
5417 label_max="Wild"
5418 value_min="0"
5419 value_max="1"
5420 camera_elevation=".1"
5421 camera_distance=".5">
5422 <param_color>
5423 <value
5424 color=" 0, 0, 0, 255" />
5425
5426 <value
5427 color="255, 0, 255, 255" />
5428
5429 <value
5430 color="255, 0, 0, 255" />
5431
5432 <value
5433 color="255, 255, 0, 255" />
5434
5435 <value
5436 color=" 0, 255, 0, 255" />
5437
5438 <value
5439 color=" 0, 255, 255, 255" />
5440
5441 <value
5442 color=" 0, 0, 255, 255" />
5443
5444 <value
5445 color="255, 0, 255, 255" />
5446 </param_color>
5447 </param>
5448 </global_color>
5449
5450 <!-- =========================================================== -->
5451 <global_color
5452 name="hair_color">
5453 <param
5454 id="114"
5455 group="0"
5456 wearable="hair"
5457 edit_group="hair_color"
5458 edit_group_order="3"
5459 name="Blonde Hair"
5460 show_simple="true"
5461 label_min="Black"
5462 label_max="Blonde"
5463 value_min="0"
5464 value_max="1"
5465 value_default=".5"
5466 camera_elevation=".1"
5467 camera_distance=".5">
5468 <param_color>
5469 <value
5470 color="0, 0, 0, 255" />
5471
5472 <value
5473 color="22, 6, 6, 255" />
5474
5475 <value
5476 color="29, 9, 6, 255" />
5477
5478 <value
5479 color="45, 21, 11, 255" />
5480
5481 <value
5482 color="78, 39, 11, 255" />
5483
5484 <value
5485 color="90, 53, 16, 255" />
5486
5487 <value
5488 color="136, 92, 21, 255" />
5489
5490 <value
5491 color="150, 106, 33, 255" />
5492
5493 <value
5494 color="198, 156, 74, 255" />
5495
5496 <value
5497 color="233, 192, 103, 255" />
5498
5499 <value
5500 color="238, 205, 136, 255" />
5501 </param_color>
5502 </param>
5503
5504 <param
5505 id="113"
5506 group="0"
5507 wearable="hair"
5508 edit_group="hair_color"
5509 edit_group_order="4"
5510 name="Red Hair"
5511 show_simple="true"
5512 label_min="No Red"
5513 label_max="Very Red"
5514 value_min="0"
5515 value_max="1"
5516 camera_elevation=".1"
5517 camera_distance=".5">
5518 <param_color>
5519 <value
5520 color="0, 0, 0, 255" />
5521
5522 <value
5523 color="118, 47, 19, 255" />
5524 </param_color>
5525 </param>
5526
5527 <param
5528 id="115"
5529 group="0"
5530 wearable="hair"
5531 edit_group="hair_color"
5532 edit_group_order="1"
5533 name="White Hair"
5534 show_simple="true"
5535 label_min="No White"
5536 label_max="All White"
5537 value_min="0"
5538 value_max="1"
5539 camera_elevation=".1"
5540 camera_distance=".5">
5541 <param_color>
5542 <value
5543 color="0, 0, 0, 255" />
5544
5545 <value
5546 color="255, 255, 255, 255" />
5547 </param_color>
5548 </param>
5549
5550 <param
5551 id="112"
5552 group="0"
5553 wearable="hair"
5554 edit_group="hair_color"
5555 edit_group_order="2"
5556 name="Rainbow Color"
5557 show_simple="true"
5558 label_min="None"
5559 label_max="Wild"
5560 value_min="0"
5561 value_max="1"
5562 camera_elevation=".1"
5563 camera_distance=".5">
5564 <param_color>
5565 <value
5566 color=" 0, 0, 0, 255" />
5567
5568 <value
5569 color="255, 0, 255, 255" />
5570
5571 <value
5572 color="255, 0, 0, 255" />
5573
5574 <value
5575 color="255, 255, 0, 255" />
5576
5577 <value
5578 color=" 0, 255, 0, 255" />
5579
5580 <value
5581 color=" 0, 255, 255, 255" />
5582
5583 <value
5584 color=" 0, 0, 255, 255" />
5585
5586 <value
5587 color="255, 0, 255, 255" />
5588 </param_color>
5589 </param>
5590 </global_color>
5591
5592 <!-- =========================================================== -->
5593 <global_color
5594 name="eye_color">
5595 <param
5596 id="99"
5597 group="0"
5598 wearable="eyes"
5599 edit_group="eyes"
5600 edit_group_order="1"
5601 name="Eye Color"
5602 show_simple="true"
5603 label_min="Natural"
5604 label_max="Unnatural"
5605 value_min="0"
5606 value_max="1"
5607 value_default="0"
5608 camera_elevation=".1"
5609 camera_distance=".3">
5610 <!-- default to natural brown eyes-->
5611 <param_color>
5612 <value
5613 color="50, 25, 5, 255" />
5614
5615 <!-- natural dark brown eyes-->
5616 <value
5617 color="109, 55, 15, 255" />
5618
5619 <!-- natural brown eyes-->
5620 <value
5621 color="150, 93, 49, 255" />
5622
5623 <!-- natural light brown eyes-->
5624 <value
5625 color="152, 118, 25, 255" />
5626
5627 <!--natural hazel eyes-->
5628 <value
5629 color="95, 179, 107, 255" />
5630
5631 <!--natural green eyes-->
5632 <value
5633 color="87, 192, 191, 255" />
5634
5635 <!--natural aqua eyes-->
5636 <value
5637 color="95, 172, 179, 255" />
5638
5639 <!--natural blue eyes-->
5640 <value
5641 color="128, 128, 128, 255" />
5642
5643 <!--natural grey eyes-->
5644 <value
5645 color="0, 0, 0, 255" />
5646
5647 <!--black eyes-->
5648 <value
5649 color="255, 255, 0, 255" />
5650
5651 <!--bright yellow eyes-->
5652 <value
5653 color=" 0, 255, 0, 255" />
5654
5655 <!-- bright green eyes-->
5656 <value
5657 color=" 0, 255, 255, 255" />
5658
5659 <!-- bright cyan eyes-->
5660 <value
5661 color=" 0, 0, 255, 255" />
5662
5663 <!--bright blue eyes-->
5664 <value
5665 color="255, 0, 255, 255" />
5666
5667 <!-- bright violet eyes-->
5668 <value
5669 color="255, 0, 0, 255" />
5670
5671 <!--bright red eyes-->
5672 </param_color>
5673 </param>
5674
5675 <param
5676 id="98"
5677 group="0"
5678 wearable="eyes"
5679 edit_group="eyes"
5680 edit_group_order="2"
5681 name="Eye Lightness"
5682 show_simple="true"
5683 label_min="Darker"
5684 label_max="Lighter"
5685 value_min="0"
5686 value_max="1"
5687 camera_elevation=".1"
5688 camera_distance=".3">
5689 <param_color>
5690 <value
5691 color="0, 0, 0, 0" />
5692
5693 <value
5694 color="255, 255, 255, 255" />
5695 </param_color>
5696 </param>
5697 </global_color>
5698
5699 <!-- =========================================================== -->
5700 <layer_set
5701 body_region="hair"
5702 width="512"
5703 height="512"
5704 clear_alpha="false">
5705 <layer
5706 name="base"
5707 global_color="hair_color"
5708 write_all_channels="true">
5709 <texture
5710 local_texture="hair_grain" />
5711 </layer>
5712
5713 <layer
5714 name="hair texture alpha layer"
5715 visibility_mask="TRUE">
5716 <texture
5717 local_texture="hair_grain" />
5718 </layer>
5719
5720 <layer
5721 name="hair alpha"
5722 visibility_mask="TRUE">
5723 <texture
5724 local_texture="hair_alpha" />
5725 </layer>
5726
5727 </layer_set>
5728 <!-- =========================================================== -->
5729
5730 <layer_set
5731 body_region="head"
5732 width="512"
5733 height="512">
5734 <layer
5735 name="head bump base"
5736 fixed_color = "128,128,128,255"
5737 render_pass="bump">
5738 </layer>
5739
5740 <layer
5741 name="head bump definition"
5742 render_pass="bump">
5743
5744
5745 <texture
5746 tga_file="bump_head_base.tga"
5747 file_is_mask="FALSE"/>
5748
5749 <param
5750 id="873"
5751 group="1"
5752 wearable="skin"
5753 edit_group="driven"
5754 edit_group_order="12"
5755 name="Bump base"
5756 value_min="0"
5757 value_max="1">
5758 <param_alpha
5759 domain="0" />
5760 </param>
5761 </layer>
5762
5763 <layer
5764 name="base"
5765 global_color="skin_color">
5766 <texture
5767 tga_file="head_skingrain.tga" />
5768 </layer>
5769
5770 <layer
5771 name="headcolor">
5772 <texture
5773 tga_file="head_color.tga" />
5774 </layer>
5775
5776 <layer
5777 name="shadow">
5778 <texture
5779 tga_file="head_shading_alpha.tga"
5780 file_is_mask="TRUE" />
5781
5782 <param
5783 id="158"
5784 group="1"
5785 wearable="skin"
5786 name="Shading"
5787 value_min="0"
5788 value_max="1">
5789 <param_color>
5790 <value
5791 color="0, 0, 0, 0" />
5792
5793 <value
5794 color="0, 0, 0, 128" />
5795 </param_color>
5796 </param>
5797 </layer>
5798
5799 <layer
5800 name="highlight">
5801 <texture
5802 tga_file="head_highlights_alpha.tga"
5803file_is_mask="TRUE" />
5804
5805
5806 <param
5807 id="159"
5808 group="1"
5809 name="Shading"
5810 wearable="skin"
5811 value_min="0"
5812 value_max="1">
5813 <param_color>
5814 <value
5815color="255, 255, 255, 0" />
5816
5817
5818 <value
5819 color="255, 255, 255, 64" />
5820 </param_color>
5821 </param>
5822 </layer>
5823 <layer
5824 name="rosyface">
5825 <texture
5826 tga_file="rosyface_alpha.tga"
5827 file_is_mask="true" />
5828
5829 <param
5830 id="116"
5831 group="0"
5832 wearable="skin"
5833 edit_group="skin_facedetail"
5834 edit_group_order="4"
5835 name="Rosy Complexion"
5836 label_min="Less Rosy"
5837 label_max="More Rosy"
5838 value_min="0"
5839 value_max="1"
5840 camera_distance=".3"
5841 camera_elevation=".07">
5842 <param_color>
5843 <value
5844 color="198, 71, 71, 0" />
5845
5846 <value
5847 color="198, 71, 71, 255" />
5848 </param_color>
5849 </param>
5850 </layer>
5851
5852 <layer
5853 name="lips">
5854 <texture
5855 tga_file="lips_mask.tga"
5856 file_is_mask="true" />
5857
5858 <param
5859 id="117"
5860 group="0"
5861 wearable="skin"
5862 edit_group="skin_facedetail"
5863 edit_group_order="5"
5864 name="Lip Pinkness"
5865 label_min="Darker"
5866 label_max="Pinker"
5867 value_min="0"
5868 value_max="1"
5869 camera_distance=".25">
5870 <param_color>
5871 <value
5872 color="220, 115, 115, 0" />
5873
5874 <value
5875 color="220, 115, 115, 128" />
5876 </param_color>
5877 </param>
5878 </layer>
5879
5880 <layer
5881 name="wrinkles_shading"
5882 render_pass="bump"
5883 fixed_color="0,0,0,100">
5884 <param
5885 id="118"
5886 group="1"
5887 wearable="skin"
5888 name="Wrinkles"
5889 value_min="0"
5890 value_max="1">
5891 <param_alpha
5892 tga_file="bump_face_wrinkles.tga"
5893 skip_if_zero="true"
5894 domain="0.3" />
5895 </param>
5896 </layer>
5897
5898 <!--<layer
5899 name="wrinkles_highlights"
5900 fixed_color="255,255,255,64">
5901 <param
5902 id="128"
5903 group="1"
5904 name="Wrinkles"
5905 value_min="0"
5906 value_max="1">
5907 <param_alpha
5908 tga_file="head_wrinkles_highlights_alpha.tga"
5909 skip_if_zero="true"
5910 domain="0.3" />
5911 </param>
5912 </layer>-->
5913 <layer
5914 name="freckles"
5915 fixed_color="120,47,20,128">
5916 <param
5917 id="165"
5918 group="0"
5919 wearable="skin"
5920 edit_group="skin_facedetail"
5921 edit_group_order="2"
5922 name="Freckles"
5923 label_min="Less"
5924 label_max="More"
5925 value_min="0"
5926 value_max="1"
5927 camera_distance=".3"
5928camera_elevation=".07">
5929 <param_alpha
5930 tga_file="freckles_alpha.tga"
5931 skip_if_zero="true"
5932domain="0.5" />
5933 </param>
5934 </layer>
5935 <layer
5936name="eyebrowsbump"
5937render_pass="bump">
5938 <texture
5939 tga_file="head_hair.tga"
5940 file_is_mask="false" />
5941
5942 <param
5943 id="1000"
5944 group="1"
5945 wearable="hair"
5946 edit_group="driven"
5947 name="Eyebrow Size Bump"
5948 value_min="0"
5949 value_max="1">
5950 <param_alpha
5951 tga_file="eyebrows_alpha.tga"
5952 domain="0.1" />
5953 </param>
5954
5955 <param
5956 id="1002"
5957 group="1"
5958 wearable="hair"
5959 edit_group="driven"
5960 name="Eyebrow Density Bump"
5961 value_min="0"
5962 value_max="1">
5963 <param_color>
5964 <value
5965 color="255,255,255,0" />
5966
5967 <value
5968 color="255,255,255,255" />
5969 </param_color>
5970 </param>
5971 </layer>
5972
5973 <layer
5974 name="eyebrows"
5975 global_color="hair_color">
5976 <texture
5977 tga_file="head_hair.tga"
5978 file_is_mask="false" />
5979
5980 <param
5981 id="1001"
5982 group="1"
5983 wearable="hair"
5984 edit_group="hair_eyebrows"
5985 name="Eyebrow Size"
5986 show_simple="true"
5987 value_min="0"
5988 value_max="1"
5989 value_default="0.5">
5990 <param_alpha
5991 tga_file="eyebrows_alpha.tga"
5992 domain="0.1" />
5993 </param>
5994
5995 <param
5996 id="1003"
5997 group="1"
5998 wearable="hair"
5999 edit_group="driven"
6000 name="Eyebrow Density"
6001 value_min="0"
6002 value_max="1">
6003 <param_color
6004 operation="multiply">
6005 <value
6006 color="255,255,255,0" />
6007
6008 <value
6009 color="255,255,255,255" />
6010 </param_color>
6011 </param>
6012 </layer>
6013
6014 <layer
6015 name="lipstick">
6016 <param
6017 id="700"
6018 group="0"
6019 wearable="skin"
6020 edit_group="skin_makeup"
6021 edit_group_order="2"
6022 name="Lipstick Color"
6023 label_min="Pink"
6024 label_max="Black"
6025 value_min="0"
6026 value_max="1"
6027 value_default=".25"
6028 camera_distance=".25">
6029 <param_color>
6030 <value
6031 color="245,161,177,200" />
6032
6033 <value
6034 color="216,37,67,200" />
6035
6036 <value
6037 color="178,48,76,200" />
6038
6039 <value
6040 color="68,0,11,200" />
6041
6042 <value
6043 color="252,207,184,200" />
6044
6045 <value
6046 color="241,136,106,200" />
6047
6048 <value
6049 color="208,110,85,200" />
6050
6051 <value
6052 color="106,28,18,200" />
6053
6054 <value
6055 color="58,26,49,200" />
6056
6057 <value
6058 color="14,14,14,200" />
6059 </param_color>
6060 </param>
6061
6062 <param
6063 id="701"
6064 group="0"
6065 wearable="skin"
6066 edit_group="skin_makeup"
6067 edit_group_order="1"
6068 name="Lipstick"
6069 label_min="No Lipstick"
6070 label_max="More Lipstick"
6071 value_min="0"
6072 value_max=".9"
6073 value_default="0.0"
6074 camera_distance=".25">
6075 <param_alpha
6076 tga_file="lipstick_alpha.tga"
6077 skip_if_zero="true"
6078 domain="0.05" />
6079 </param>
6080 </layer>
6081
6082 <layer
6083 name="lipgloss"
6084 fixed_color="255,255,255,190">
6085 <param
6086 id="702"
6087 name="Lipgloss"
6088 label_min="No Lipgloss"
6089 label_max="Glossy"
6090 wearable="skin"
6091 edit_group="skin_makeup"
6092 edit_group_order="3"
6093 group="0"
6094 value_min="0"
6095 value_max="1"
6096 camera_distance=".25">
6097 <param_alpha
6098 tga_file="lipgloss_alpha.tga"
6099 skip_if_zero="true"
6100 domain="0.2" />
6101 </param>
6102 </layer>
6103
6104 <layer
6105 name="blush">
6106 <param
6107 id="704"
6108 group="0"
6109 wearable="skin"
6110 edit_group="skin_makeup"
6111 edit_group_order="4"
6112 name="Blush"
6113 label_min="No Blush"
6114 label_max="More Blush"
6115 value_min="0"
6116 value_max=".9"
6117 value_default="0"
6118 camera_distance=".3"
6119 camera_elevation=".07"
6120 camera_angle="20">
6121 <param_alpha
6122 tga_file="blush_alpha.tga"
6123 skip_if_zero="true"
6124 domain="0.3" />
6125 </param>
6126
6127 <param
6128 id="705"
6129 group="0"
6130 wearable="skin"
6131 edit_group="skin_makeup"
6132 edit_group_order="5"
6133 name="Blush Color"
6134 label_min="Pink"
6135 label_max="Orange"
6136 value_min="0"
6137 value_max="1"
6138 value_default=".5"
6139 camera_distance=".3"
6140 camera_elevation=".07"
6141 camera_angle="20">
6142 <param_color>
6143 <value
6144 color="253,162,193,200" />
6145
6146 <value
6147 color="247,131,152,200" />
6148
6149 <value
6150 color="213,122,140,200" />
6151
6152 <value
6153 color="253,152,144,200" />
6154
6155 <value
6156 color="236,138,103,200" />
6157
6158 <value
6159 color="195,128,122,200" />
6160
6161 <value
6162 color="148,103,100,200" />
6163
6164 <value
6165 color="168,95,62,200" />
6166 </param_color>
6167 </param>
6168
6169 <param
6170 id="711"
6171 group="0"
6172 wearable="skin"
6173 edit_group="skin_makeup"
6174 edit_group_order="6"
6175 name="Blush Opacity"
6176 label_min="Clear"
6177 label_max="Opaque"
6178 value_min="0"
6179 value_max="1"
6180 value_default=".5"
6181 camera_distance=".3"
6182 camera_elevation=".07"
6183 camera_angle="20">
6184 <param_color
6185 operation="multiply">
6186 <value
6187 color="255,255,255,0" />
6188
6189 <value
6190 color="255,255,255,255" />
6191 </param_color>
6192 </param>
6193 </layer>
6194
6195 <layer
6196 name="Outer Eye Shadow">
6197 <param
6198 id="708"
6199 group="0"
6200 wearable="skin"
6201 edit_group="skin_makeup"
6202 edit_group_order="11"
6203 name="Out Shdw Color"
6204 label_min="Light"
6205 label_max="Dark"
6206 value_min="0"
6207 value_max="1"
6208 camera_distance=".3"
6209 camera_elevation=".14">
6210 <param_color>
6211 <value
6212 color="252,247,246,255" />
6213
6214 <value
6215 color="255,206,206,255" />
6216
6217 <value
6218 color="233,135,149,255" />
6219
6220 <value
6221 color="220,168,192,255" />
6222
6223 <value
6224 color="228,203,232,255" />
6225
6226 <value
6227 color="255,234,195,255" />
6228
6229 <value
6230 color="230,157,101,255" />
6231
6232 <value
6233 color="255,147,86,255" />
6234
6235 <value
6236 color="228,110,89,255" />
6237
6238 <value
6239 color="228,150,120,255" />
6240
6241 <value
6242 color="223,227,213,255" />
6243
6244 <value
6245 color="96,116,87,255" />
6246
6247 <value
6248 color="88,143,107,255" />
6249
6250 <value
6251 color="194,231,223,255" />
6252
6253 <value
6254 color="207,227,234,255" />
6255
6256 <value
6257 color="41,171,212,255" />
6258
6259 <value
6260 color="180,137,130,255" />
6261
6262 <value
6263 color="173,125,105,255" />
6264
6265 <value
6266 color="144,95,98,255" />
6267
6268 <value
6269 color="115,70,77,255" />
6270
6271 <value
6272 color="155,78,47,255" />
6273
6274 <value
6275 color="239,239,239,255" />
6276
6277 <value
6278 color="194,194,194,255" />
6279
6280 <value
6281 color="120,120,120,255" />
6282
6283 <value
6284 color="10,10,10,255" />
6285 </param_color>
6286 </param>
6287
6288 <param
6289 id="706"
6290 group="0"
6291 wearable="skin"
6292 edit_group="skin_makeup"
6293 edit_group_order="12"
6294 name="Out Shdw Opacity"
6295 label_min="Clear"
6296 label_max="Opaque"
6297 value_min=".2"
6298 value_max="1"
6299 value_default=".6"
6300 camera_distance=".3"
6301 camera_elevation=".14">
6302 <param_color
6303 operation="multiply">
6304 <value
6305 color="255,255,255,0" />
6306
6307 <value
6308 color="255,255,255,255" />
6309 </param_color>
6310 </param>
6311
6312 <param
6313 id="707"
6314 group="0"
6315 wearable="skin"
6316 edit_group="skin_makeup"
6317 edit_group_order="10"
6318 name="Outer Shadow"
6319 label_min="No Eyeshadow"
6320 label_max="More Eyeshadow"
6321 value_min="0"
6322 value_max=".7"
6323 camera_distance=".3"
6324 camera_elevation=".14">
6325 <param_alpha
6326 tga_file="eyeshadow_outer_alpha.tga"
6327 skip_if_zero="true"
6328 domain="0.05" />
6329 </param>
6330 </layer>
6331
6332 <layer
6333 name="Inner Eye Shadow">
6334 <param
6335 id="712"
6336 group="0"
6337 wearable="skin"
6338 edit_group="skin_makeup"
6339 edit_group_order="8"
6340 name="In Shdw Color"
6341 label_min="Light"
6342 label_max="Dark"
6343 value_min="0"
6344 value_max="1"
6345 camera_distance=".3"
6346 camera_elevation=".14">
6347 <param_color>
6348 <value
6349 color="252,247,246,255" />
6350
6351 <value
6352 color="255,206,206,255" />
6353
6354 <value
6355 color="233,135,149,255" />
6356
6357 <value
6358 color="220,168,192,255" />
6359
6360 <value
6361 color="228,203,232,255" />
6362
6363 <value
6364 color="255,234,195,255" />
6365
6366 <value
6367 color="230,157,101,255" />
6368
6369 <value
6370 color="255,147,86,255" />
6371
6372 <value
6373 color="228,110,89,255" />
6374
6375 <value
6376 color="228,150,120,255" />
6377
6378 <value
6379 color="223,227,213,255" />
6380
6381 <value
6382 color="96,116,87,255" />
6383
6384 <value
6385 color="88,143,107,255" />
6386
6387 <value
6388 color="194,231,223,255" />
6389
6390 <value
6391 color="207,227,234,255" />
6392
6393 <value
6394 color="41,171,212,255" />
6395
6396 <value
6397 color="180,137,130,255" />
6398
6399 <value
6400 color="173,125,105,255" />
6401
6402 <value
6403 color="144,95,98,255" />
6404
6405 <value
6406 color="115,70,77,255" />
6407
6408 <value
6409 color="155,78,47,255" />
6410
6411 <value
6412 color="239,239,239,255" />
6413
6414 <value
6415 color="194,194,194,255" />
6416
6417 <value
6418 color="120,120,120,255" />
6419
6420 <value
6421 color="10,10,10,255" />
6422 </param_color>
6423 </param>
6424
6425 <param
6426 id="713"
6427 group="0"
6428 wearable="skin"
6429 edit_group="skin_makeup"
6430 edit_group_order="9"
6431 name="In Shdw Opacity"
6432 label_min="Clear"
6433 label_max="Opaque"
6434 value_min=".2"
6435 value_max="1"
6436 value_default=".7"
6437 camera_distance=".3"
6438 camera_elevation=".14">
6439 <param_color
6440 operation="multiply">
6441 <value
6442 color="255,255,255,0" />
6443
6444 <value
6445 color="255,255,255,255" />
6446 </param_color>
6447 </param>
6448
6449 <param
6450 id="709"
6451 group="0"
6452 wearable="skin"
6453 edit_group="skin_makeup"
6454 edit_group_order="7"
6455 name="Inner Shadow"
6456 label_min="No Eyeshadow"
6457 label_max="More Eyeshadow"
6458 value_min="0"
6459 value_max="1"
6460 value_default="0"
6461 camera_distance=".3"
6462 camera_elevation=".14">
6463 <param_alpha
6464 tga_file="eyeshadow_inner_alpha.tga"
6465 skip_if_zero="true"
6466 domain="0.2" />
6467 </param>
6468 </layer>
6469
6470 <layer
6471 name="eyeliner"
6472 fixed_color="0,0,0,200">
6473 <param
6474 id="703"
6475 group="0"
6476 wearable="skin"
6477 edit_group="skin_makeup"
6478 edit_group_order="13"
6479 name="Eyeliner"
6480 label_min="No Eyeliner"
6481 label_max="Full Eyeliner"
6482 value_min="0"
6483 value_max="1"
6484 value_default="0.0"
6485 camera_distance=".3"
6486 camera_elevation=".14">
6487 <param_alpha
6488 tga_file="eyeliner_alpha.tga"
6489 skip_if_zero="true"
6490 domain="0.1" />
6491 </param>
6492
6493 <param
6494 id="714"
6495 group="0"
6496 wearable="skin"
6497 edit_group="skin_makeup"
6498 edit_group_order="14"
6499 name="Eyeliner Color"
6500 label_min="Dark Green"
6501 label_max="Black"
6502 value_min="0"
6503 value_max="1"
6504 camera_distance=".3"
6505 camera_elevation=".14">
6506 <param_color>
6507 <value
6508 color="24,98,40,250" />
6509
6510 <!-- dark green -->
6511 <value
6512 color="9,100,127,250" />
6513
6514 <!-- lt.aqua blue -->
6515 <value
6516 color="61,93,134,250" />
6517
6518 <!-- aqua -->
6519 <value
6520 color="70,29,27,250" />
6521
6522 <!-- dark brown -->
6523 <value
6524 color="115,75,65,250" />
6525
6526 <!-- lt. brown blue -->
6527 <value
6528 color="100,100,100,250" />
6529
6530 <!-- grey -->
6531 <value
6532 color="91,80,74,250" />
6533
6534 <!-- grey/brown -->
6535 <value
6536 color="112,42,76,250" />
6537
6538 <!-- plum -->
6539 <value
6540 color="14,14,14,250" />
6541
6542 <!-- black -->
6543 </param_color>
6544 </param>
6545 </layer>
6546
6547 <layer
6548 name="facialhair bump"
6549 render_pass="bump">
6550 <texture
6551 tga_file="head_hair.tga"
6552 file_is_mask="false" />
6553
6554 <param
6555 id="1004"
6556 sex="male"
6557 group="1"
6558 wearable="hair"
6559 edit_group="driven"
6560 name="Sideburns bump"
6561 value_min="0"
6562 value_max="1">
6563 <param_alpha
6564 tga_file="facehair_sideburns_alpha.tga"
6565 skip_if_zero="true"
6566 domain="0.05" />
6567 </param>
6568
6569 <param
6570 id="1006"
6571 sex="male"
6572 group="1"
6573 wearable="hair"
6574 edit_group="driven"
6575 name="Moustache bump"
6576 value_min="0"
6577 value_max="1">
6578 <param_alpha
6579 tga_file="facehair_moustache_alpha.tga"
6580 skip_if_zero="true"
6581 domain="0.05" />
6582 </param>
6583
6584 <param
6585 id="1008"
6586 sex="male"
6587 group="1"
6588 wearable="hair"
6589 edit_group="driven"
6590 name="Soulpatch bump"
6591 value_min="0"
6592 value_max="1">
6593 <param_alpha
6594 tga_file="facehair_soulpatch_alpha.tga"
6595 skip_if_zero="true"
6596 domain="0.1" />
6597 </param>
6598
6599 <param
6600 id="1010"
6601 sex="male"
6602 group="1"
6603 edit_group="driven"
6604 wearable="hair"
6605 name="Chin Curtains bump"
6606 value_min="0"
6607 value_max="1">
6608 <param_alpha
6609 tga_file="facehair_chincurtains_alpha.tga"
6610 skip_if_zero="true"
6611 domain="0.03" />
6612 </param>
6613
6614 <param
6615 id="1012"
6616 group="1"
6617 sex="male"
6618 wearable="hair"
6619 edit_group="driven"
6620 name="5 O'Clock Shadow bump"
6621 value_min="0"
6622 value_max="1">
6623 <param_color>
6624 <value
6625 color="255,255,255,255" />
6626
6627 <value
6628 color="255,255,255,0" />
6629 </param_color>
6630 </param>
6631 </layer>
6632
6633 <layer
6634 name="facialhair"
6635 global_color="hair_color">
6636
6637 <texture
6638 tga_file="head_hair.tga"
6639 file_is_mask="false" />
6640
6641 <param
6642 id="1005"
6643 sex="male"
6644 group="1"
6645 wearable="hair"
6646 edit_group="driven"
6647 name="Sideburns"
6648 value_min="0"
6649 value_max="1">
6650 <param_alpha
6651 tga_file="facehair_sideburns_alpha.tga"
6652 skip_if_zero="true"
6653 domain="0.05" />
6654 </param>
6655
6656 <param
6657 id="1007"
6658 sex="male"
6659 group="1"
6660 wearable="hair"
6661 edit_group="driven"
6662 name="Moustache"
6663 value_min="0"
6664 value_max="1">
6665 <param_alpha
6666 tga_file="facehair_moustache_alpha.tga"
6667 skip_if_zero="true"
6668 domain="0.05" />
6669 </param>
6670
6671 <param
6672 id="1009"
6673 sex="male"
6674 group="1"
6675 wearable="hair"
6676 edit_group="driven"
6677 name="Soulpatch"
6678 value_min="0"
6679 value_max="1">
6680 <param_alpha
6681 tga_file="facehair_soulpatch_alpha.tga"
6682 skip_if_zero="true"
6683 domain="0.1" />
6684 </param>
6685
6686 <param
6687 id="1011"
6688 sex="male"
6689 group="1"
6690 wearable="hair"
6691 edit_group="driven"
6692 name="Chin Curtains"
6693 value_min="0"
6694 value_max="1">
6695 <param_alpha
6696 tga_file="facehair_chincurtains_alpha.tga"
6697 skip_if_zero="true"
6698 domain="0.03" />
6699 </param>
6700
6701 <param
6702 id="751"
6703 group="1"
6704 wearable="hair"
6705 sex="male"
6706 edit_group="hair_facial"
6707 name="5 O'Clock Shadow"
6708 label_min="Dense hair"
6709 label_max="Shadow hair"
6710 value_min="0"
6711 value_max="1"
6712 value_default="0.7"
6713 camera_elevation=".1"
6714 camera_distance=".3">
6715 <param_color
6716 operation="multiply">
6717 <value
6718 color="255,255,255,255" />
6719
6720 <value
6721 color="255,255,255,30" />
6722 </param_color>
6723 </param>
6724 </layer>
6725
6726 <layer
6727 name="head_bodypaint">
6728 <texture
6729 local_texture="head_bodypaint" />
6730 </layer>
6731 <layer
6732 name="eyelash alpha"
6733 visibility_mask="TRUE">
6734 <texture
6735 tga_file="head_alpha.tga"
6736 file_is_mask="TRUE" />
6737 </layer>
6738 <layer
6739 name="head alpha"
6740 visibility_mask="TRUE">
6741 <texture
6742 local_texture="head_alpha" />
6743 </layer>
6744 <layer
6745 name="head_tattoo">
6746 <texture
6747 local_texture="head_tattoo" />
6748 <param
6749 id="1062"
6750 group="1"
6751 edit_group="colorpicker_driven"
6752 wearable="tattoo"
6753 name="tattoo_head_red"
6754 value_min="0"
6755 value_max="1"
6756 value_default="1">
6757 <param_color>
6758 <value
6759 color="0, 0, 0, 255" />
6760
6761 <value
6762 color="255, 0, 0, 255" />
6763 </param_color>
6764 </param>
6765
6766 <param
6767 id="1063"
6768 group="1"
6769 edit_group="colorpicker_driven"
6770 wearable="tattoo"
6771 name="tattoo_head_green"
6772 value_min="0"
6773 value_max="1"
6774 value_default="1">
6775 <param_color>
6776 <value
6777 color="0, 0, 0, 255" />
6778
6779 <value
6780 color="0, 255, 0, 255" />
6781 </param_color>
6782 </param>
6783
6784 <param
6785 id="1064"
6786 group="1"
6787 edit_group="colorpicker_driven"
6788 wearable="tattoo"
6789 name="tattoo_head_blue"
6790 value_min="0"
6791 value_max="1"
6792 value_default="1">
6793 <param_color>
6794 <value
6795 color="0, 0, 0, 255" />
6796
6797 <value
6798 color="0, 0, 255, 255" />
6799 </param_color>
6800 </param>
6801
6802 </layer>
6803
6804
6805 </layer_set>
6806
6807 <!-- =========================================================== -->
6808 <layer_set
6809 body_region="upper_body"
6810 width="512"
6811 height="512">
6812 <layer
6813 name="base_upperbody bump"
6814 render_pass="bump"
6815 fixed_color="128,128,128,255">
6816 </layer>
6817 <layer
6818 name="upperbody bump definition"
6819 render_pass="bump">
6820 <texture
6821 tga_file="bump_upperbody_base.tga"
6822 file_is_mask="FALSE"/>
6823
6824 <param
6825 id="874"
6826 group="1"
6827 wearable="skin"
6828 edit_group="driven"
6829 edit_group_order="20"
6830 name="Bump upperdef"
6831 value_min="0"
6832 value_max="1">
6833 <param_alpha
6834 domain="0" />
6835 </param>
6836 </layer>
6837
6838 <layer
6839 name="base"
6840 global_color="skin_color">
6841 <texture
6842 tga_file="body_skingrain.tga" />
6843 </layer>
6844
6845 <layer
6846 name="nipples">
6847 <texture
6848 tga_file="upperbody_color.tga" />
6849 </layer>
6850
6851 <layer
6852 name="shadow">
6853 <texture
6854 tga_file="upperbody_shading_alpha.tga"
6855 file_is_mask="TRUE" />
6856
6857 <param
6858 id="125"
6859 group="1"
6860 name="Shading"
6861 wearable="skin"
6862 value_min="0"
6863 value_max="1">
6864 <param_color>
6865 <value
6866 color="0, 0, 0, 0" />
6867
6868 <value
6869 color="0, 0, 0, 128" />
6870 </param_color>
6871 </param>
6872 </layer>
6873
6874 <layer
6875 name="highlight">
6876 <texture
6877 tga_file="upperbody_highlights_alpha.tga"
6878 file_is_mask="TRUE" />
6879
6880 <param
6881 id="126"
6882 group="1"
6883 wearable="skin"
6884 name="Shading"
6885 value_min="0"
6886 value_max="1">
6887 <param_color>
6888 <value
6889 color="255, 255, 255, 0" />
6890
6891 <value
6892 color="255, 255, 255, 64" />
6893 </param_color>
6894 </param>
6895 </layer>
6896
6897 <layer
6898 name="upper_bodypaint">
6899 <texture
6900 local_texture="upper_bodypaint" />
6901 </layer>
6902
6903 <layer
6904 name="freckles upper"
6905 fixed_color="120,47,20,128">
6906 <param
6907 id="776"
6908 group="1"
6909 name="freckles upper"
6910 wearable="skin"
6911 value_min="0"
6912 value_max="1">
6913 <param_alpha
6914 tga_file="upperbodyfreckles_alpha.tga"
6915 skip_if_zero="true"
6916 domain="0.6" />
6917 </param>
6918 </layer>
6919
6920 <layer
6921 name="upper_tattoo">
6922 <texture
6923 local_texture="upper_tattoo" />
6924
6925 <param
6926 id="1065"
6927 group="1"
6928 edit_group="colorpicker_driven"
6929 wearable="tattoo"
6930 name="tattoo_upper_red"
6931 value_min="0"
6932 value_max="1"
6933 value_default="1">
6934 <param_color>
6935 <value
6936 color="0, 0, 0, 255" />
6937
6938 <value
6939 color="255, 0, 0, 255" />
6940 </param_color>
6941 </param>
6942
6943 <param
6944 id="1066"
6945 group="1"
6946 edit_group="colorpicker_driven"
6947 wearable="tattoo"
6948 name="tattoo_upper_green"
6949 value_min="0"
6950 value_max="1"
6951 value_default="1">
6952 <param_color>
6953 <value
6954 color="0, 0, 0, 255" />
6955
6956 <value
6957 color="0, 255, 0, 255" />
6958 </param_color>
6959 </param>
6960
6961 <param
6962 id="1067"
6963 group="1"
6964 edit_group="colorpicker_driven"
6965 wearable="tattoo"
6966 name="tattoo_upper_blue"
6967 value_min="0"
6968 value_max="1"
6969 value_default="1">
6970 <param_color>
6971 <value
6972 color="0, 0, 0, 255" />
6973
6974 <value
6975 color="0, 0, 255, 255" />
6976 </param_color>
6977 </param>
6978
6979 </layer>
6980
6981
6982 <layer
6983 name="upper_undershirt bump"
6984 render_pass="bump"
6985 fixed_color="128,128,128,255">
6986 <texture
6987 local_texture="upper_undershirt"
6988 local_texture_alpha_only="true" />
6989
6990 <param
6991 id="1043"
6992 group="1"
6993 wearable="undershirt"
6994 edit_group="driven"
6995 name="Sleeve Length bump"
6996 value_min=".01"
6997 value_max="1"
6998 value_default=".4">
6999 <param_alpha
7000 tga_file="shirt_sleeve_alpha.tga"
7001 multiply_blend="false"
7002 domain="0.01" />
7003 </param>
7004
7005 <param
7006 id="1045"
7007 group="1"
7008 wearable="undershirt"
7009 edit_group="undershirt"
7010 edit_group_order="2"
7011 name="Bottom bump"
7012 value_min="0"
7013 value_max="1"
7014 value_default=".8">
7015 <param_alpha
7016 tga_file="shirt_bottom_alpha.tga"
7017 multiply_blend="true"
7018 domain="0.05" />
7019 </param>
7020
7021 <param
7022 id="1047"
7023 group="1"
7024 wearable="undershirt"
7025 edit_group="driven"
7026 name="Collar Front bump"
7027 value_min="0"
7028 value_max="1"
7029 value_default=".8">
7030 <param_alpha
7031 tga_file="shirt_collar_alpha.tga"
7032 multiply_blend="true"
7033 domain="0.05" />
7034 </param>
7035
7036 <param
7037 id="1049"
7038 group="1"
7039 wearable="undershirt"
7040 edit_group="driven"
7041 name="Collar Back bump"
7042 value_min="0"
7043 value_max="1"
7044 value_default=".8">
7045 <param_alpha
7046 tga_file="shirt_collar_back_alpha.tga"
7047 multiply_blend="true"
7048 domain="0.05" />
7049 </param>
7050 </layer>
7051
7052 <layer
7053 name="upper_undershirt">
7054 <texture
7055 local_texture="upper_undershirt" />
7056
7057 <param
7058 id="821"
7059 group="0"
7060 wearable="undershirt"
7061 edit_group="colorpicker"
7062 name="undershirt_red"
7063 value_min="0"
7064 value_max="1"
7065 value_default="1">
7066 <param_color>
7067 <value
7068 color="0, 0, 0, 255" />
7069
7070 <value
7071 color="255, 0, 0, 255" />
7072 </param_color>
7073 </param>
7074
7075 <param
7076 id="822"
7077 group="0"
7078 wearable="undershirt"
7079 edit_group="colorpicker"
7080 name="undershirt_green"
7081 value_min="0"
7082 value_max="1"
7083 value_default="1">
7084 <param_color>
7085 <value
7086 color="0, 0, 0, 255" />
7087
7088 <value
7089 color="0, 255, 0, 255" />
7090 </param_color>
7091 </param>
7092
7093 <param
7094 id="823"
7095 group="0"
7096 wearable="undershirt"
7097 edit_group="colorpicker"
7098 name="undershirt_blue"
7099 value_min="0"
7100 value_max="1"
7101 value_default="1">
7102 <param_color>
7103 <value
7104 color="0, 0, 0, 255" />
7105
7106 <value
7107 color="0, 0, 255, 255" />
7108 </param_color>
7109 </param>
7110
7111 <param
7112 id="1042"
7113 group="1"
7114 wearable="undershirt"
7115 edit_group="driven"
7116 name="Sleeve Length"
7117 value_min=".01"
7118 value_max="1"
7119 value_default=".4">
7120 <param_alpha
7121 tga_file="shirt_sleeve_alpha.tga"
7122 multiply_blend="false"
7123 domain="0.01" />
7124 </param>
7125
7126 <param
7127 id="1044"
7128 group="1"
7129 wearable="undershirt"
7130 edit_group="driven"
7131 name="Bottom"
7132 value_min="0"
7133 value_max="1"
7134 value_default=".8">
7135 <param_alpha
7136 tga_file="shirt_bottom_alpha.tga"
7137 multiply_blend="true"
7138 domain="0.05" />
7139 </param>
7140
7141 <param
7142 id="1046"
7143 group="1"
7144 wearable="undershirt"
7145 edit_group="driven"
7146 name="Collar Front"
7147 value_min="0"
7148 value_max="1"
7149 value_default=".8">
7150 <param_alpha
7151 tga_file="shirt_collar_alpha.tga"
7152 multiply_blend="true"
7153 domain="0.05" />
7154 </param>
7155
7156 <param
7157 id="1048"
7158 group="1"
7159 wearable="undershirt"
7160 edit_group="driven"
7161 name="Collar Back"
7162 label_min="Low"
7163 label_max="High"
7164 value_min="0"
7165 value_max="1"
7166 value_default=".8">
7167 <param_alpha
7168 tga_file="shirt_collar_back_alpha.tga"
7169 multiply_blend="true"
7170 domain="0.05" />
7171 </param>
7172 </layer>
7173
7174 <layer
7175 name="Nail Polish">
7176 <param
7177 id="710"
7178 group="0"
7179 wearable="skin"
7180 edit_group="skin_makeup"
7181 edit_group_order="15"
7182 name="Nail Polish"
7183 label_min="No Polish"
7184 label_max="Painted Nails"
7185 value_min="0"
7186 value_max="1"
7187 value_default="0.0"
7188 camera_distance="1.6"
7189 camera_elevation="-.4"
7190 camera_angle="70">
7191 <param_alpha
7192 tga_file="nailpolish_alpha.tga"
7193 skip_if_zero="true"
7194 domain="0.1" />
7195 </param>
7196
7197 <param
7198 id="715"
7199 group="0"
7200 wearable="skin"
7201 edit_group="skin_makeup"
7202 edit_group_order="16"
7203 name="Nail Polish Color"
7204 label_min="Pink"
7205 label_max="Black"
7206 value_min="0"
7207 value_max="1"
7208 camera_distance="1.6"
7209 camera_elevation="-.4"
7210 camera_angle="70">
7211 <param_color>
7212 <value
7213 color="255,187,200,255" />
7214
7215 <value
7216 color="194,102,127,255" />
7217
7218 <value
7219 color="227,34,99,255" />
7220
7221 <value
7222 color="168,41,60,255" />
7223
7224 <value
7225 color="97,28,59,255" />
7226
7227 <value
7228 color="234,115,93,255" />
7229
7230 <value
7231 color="142,58,47,255" />
7232
7233 <value
7234 color="114,30,46,255" />
7235
7236 <value
7237 color="14,14,14,255" />
7238 </param_color>
7239 </param>
7240 </layer>
7241
7242 <layer
7243 name="upper_gloves bump"
7244 render_pass="bump"
7245 fixed_color="128,128,128,255">
7246 <texture
7247 local_texture="upper_gloves"
7248 local_texture_alpha_only="true" />
7249
7250 <param
7251 id="1059"
7252 group="1"
7253 wearable="gloves"
7254 edit_group="driven"
7255 name="Glove Length bump"
7256 value_min=".01"
7257 value_max="1"
7258 value_default=".8">
7259 <param_alpha
7260 tga_file="glove_length_alpha.tga"
7261 domain="0.01" />
7262 </param>
7263
7264 <param
7265 id="1061"
7266 group="1"
7267 wearable="gloves"
7268 edit_group="driven"
7269 name="Glove Fingers bump"
7270 value_min=".01"
7271 value_max="1"
7272 value_default="1">
7273 <param_alpha
7274 tga_file="gloves_fingers_alpha.tga"
7275 multiply_blend="true"
7276 domain="0.01" />
7277 </param>
7278 </layer>
7279
7280 <layer
7281 name="upper_gloves">
7282 <texture
7283 local_texture="upper_gloves" />
7284
7285 <param
7286 id="827"
7287 group="0"
7288 wearable="gloves"
7289 edit_group="colorpicker"
7290 name="gloves_red"
7291 value_min="0"
7292 value_max="1"
7293 value_default="1">
7294 <param_color>
7295 <value
7296 color="0, 0, 0, 255" />
7297
7298 <value
7299 color="255, 0, 0, 255" />
7300 </param_color>
7301 </param>
7302
7303 <param
7304 id="829"
7305 group="0"
7306 wearable="gloves"
7307 edit_group="colorpicker"
7308 name="gloves_green"
7309 value_min="0"
7310 value_max="1"
7311 value_default="1">
7312 <param_color>
7313 <value
7314 color="0, 0, 0, 255" />
7315
7316 <value
7317 color="0, 255, 0, 255" />
7318 </param_color>
7319 </param>
7320
7321 <param
7322 id="830"
7323 group="0"
7324 wearable="gloves"
7325 edit_group="colorpicker"
7326 name="gloves_blue"
7327 value_min="0"
7328 value_max="1"
7329 value_default="1">
7330 <param_color>
7331 <value
7332 color="0, 0, 0, 255" />
7333
7334 <value
7335 color="0, 0, 255, 255" />
7336 </param_color>
7337 </param>
7338
7339 <param
7340 id="1058"
7341 group="1"
7342 wearable="gloves"
7343 edit_group="driven"
7344 name="Glove Length"
7345 value_min=".01"
7346 value_max="1"
7347 value_default=".8">
7348 <param_alpha
7349 tga_file="glove_length_alpha.tga"
7350 domain="0.01" />
7351 </param>
7352
7353 <param
7354 id="1060"
7355 group="1"
7356 wearable="gloves"
7357 edit_group="driven"
7358 name="Glove Fingers"
7359 value_min=".01"
7360 value_max="1"
7361 value_default="1">
7362 <param_alpha
7363 tga_file="gloves_fingers_alpha.tga"
7364 multiply_blend="true"
7365 domain="0.01" />
7366 </param>
7367 </layer>
7368
7369 <layer
7370 name="upper_clothes_shadow">
7371 <texture
7372 local_texture="upper_shirt" />
7373
7374 <param
7375 id="899"
7376 group="1"
7377 edit_group="driven"
7378 wearable="shirt"
7379 name="Upper Clothes Shading"
7380 value_min="0"
7381 value_max="1"
7382 value_default="0">
7383 <param_color>
7384 <value
7385 color="0, 0, 0, 0" />
7386
7387 <value
7388 color="0, 0, 0, 80" />
7389 </param_color>
7390 </param>
7391
7392 <param
7393 id="900"
7394 group="1"
7395 wearable="shirt"
7396 edit_group="driven"
7397 name="Sleeve Length Shadow"
7398 value_min="0.02"
7399 value_max=".87"
7400 value_default="0.02">
7401 <param_alpha
7402 multiply_blend="false"
7403 tga_file="shirt_sleeve_alpha.tga"
7404 skip_if_zero="true"
7405 domain="0.03" />
7406 </param>
7407
7408 <param
7409 id="901"
7410 group="1"
7411 wearable="shirt"
7412 edit_group="driven"
7413 name="Shirt Shadow Bottom"
7414 value_min="0.02"
7415 value_max="1">
7416 <param_alpha
7417 multiply_blend="true"
7418 tga_file="shirt_bottom_alpha.tga"
7419 skip_if_zero="true"
7420 domain="0.05" />
7421 </param>
7422
7423 <param
7424 id="902"
7425 group="1"
7426 wearable="shirt"
7427 edit_group="driven"
7428 name="Collar Front Shadow Height"
7429 value_min="0.02"
7430 value_max="1">
7431 <param_alpha
7432 multiply_blend="true"
7433 tga_file="shirt_collar_alpha.tga"
7434 skip_if_zero="true"
7435 domain="0.02" />
7436 </param>
7437
7438 <param
7439 id="903"
7440 group="1"
7441 wearable="shirt"
7442 edit_group="driven"
7443 name="Collar Back Shadow Height"
7444 value_min="0.02"
7445 value_max="1">
7446 <param_alpha
7447 multiply_blend="true"
7448 tga_file="shirt_collar_back_alpha.tga"
7449 skip_if_zero="true"
7450 domain="0.02" />
7451 </param>
7452 </layer>
7453
7454 <layer
7455 name="upper_shirt base bump"
7456 render_pass="bump"
7457 fixed_color="128,128,128,255">
7458 <texture
7459 local_texture="upper_shirt"
7460 local_texture_alpha_only="true" />
7461
7462 <param
7463 id="1029"
7464 group="1"
7465 wearable="shirt"
7466 edit_group="driven"
7467 name="Sleeve Length Cloth"
7468 value_min="0"
7469 value_max="0.85">
7470 <param_alpha
7471 multiply_blend="false"
7472 tga_file="shirt_sleeve_alpha.tga"
7473 domain="0.01" />
7474 </param>
7475
7476 <param
7477 id="1030"
7478 group="1"
7479 wearable="shirt"
7480 edit_group="driven"
7481 name="Shirt Bottom Cloth"
7482 value_min="0"
7483 value_max="1">
7484 <param_alpha
7485 multiply_blend="true"
7486 tga_file="shirt_bottom_alpha.tga"
7487 domain="0.05" />
7488 </param>
7489
7490 <param
7491 id="1031"
7492 group="1"
7493 wearable="shirt"
7494 edit_group="driven"
7495 name="Collar Front Height Cloth"
7496 value_min="0"
7497 value_max="1">
7498 <param_alpha
7499 multiply_blend="true"
7500 tga_file="shirt_collar_alpha.tga"
7501 domain="0.05" />
7502 </param>
7503
7504 <param
7505 id="1032"
7506 group="1"
7507 wearable="shirt"
7508 edit_group="driven"
7509 name="Collar Back Height Cloth"
7510 value_min="0"
7511 value_max="1">
7512 <param_alpha
7513 multiply_blend="true"
7514 tga_file="shirt_collar_back_alpha.tga"
7515 domain="0.05" />
7516 </param>
7517 </layer>
7518
7519 <layer
7520 name="upper_clothes bump"
7521 render_pass="bump">
7522 <texture
7523 tga_file="bump_shirt_wrinkles.tga" />
7524
7525 <texture
7526 local_texture="upper_shirt"
7527 local_texture_alpha_only="true" />
7528
7529 <param
7530 id="868"
7531 group="0"
7532 wearable="shirt"
7533 edit_group="shirt"
7534 edit_group_order="8"
7535 name="Shirt Wrinkles"
7536 value_min="0"
7537 value_max="1"
7538 value_default="0">
7539 <param_color>
7540 <value
7541 color="255, 255, 255, 0" />
7542
7543 <value
7544 color="255, 255, 255, 255" />
7545 </param_color>
7546 </param>
7547
7548 <param
7549 id="1013"
7550 group="1"
7551 wearable="shirt"
7552 edit_group="driven"
7553 name="Sleeve Length Cloth"
7554 value_min="0"
7555 value_max="0.85">
7556 <param_alpha
7557 multiply_blend="false"
7558 tga_file="shirt_sleeve_alpha.tga"
7559 domain="0.01" />
7560 </param>
7561
7562 <param
7563 id="1014"
7564 group="1"
7565 wearable="shirt"
7566 edit_group="driven"
7567 name="Shirt Bottom Cloth"
7568 value_min="0"
7569 value_max="1">
7570 <param_alpha
7571 multiply_blend="true"
7572 tga_file="shirt_bottom_alpha.tga"
7573 domain="0.05" />
7574 </param>
7575
7576 <param
7577 id="1015"
7578 group="1"
7579 wearable="shirt"
7580 edit_group="driven"
7581 name="Collar Front Height Cloth"
7582 value_min="0"
7583 value_max="1">
7584 <param_alpha
7585 multiply_blend="true"
7586 tga_file="shirt_collar_alpha.tga"
7587 domain="0.05" />
7588 </param>
7589
7590 <param
7591 id="1016"
7592 group="1"
7593 wearable="shirt"
7594 edit_group="driven"
7595 name="Collar Back Height Cloth"
7596 value_min="0"
7597 value_max="1">
7598 <param_alpha
7599 multiply_blend="true"
7600 tga_file="shirt_collar_back_alpha.tga"
7601 domain="0.05" />
7602 </param>
7603 </layer>
7604
7605 <layer
7606 name="upper_clothes">
7607 <texture
7608 local_texture="upper_shirt" />
7609
7610 <param
7611 id="803"
7612 group="0"
7613 wearable="shirt"
7614 edit_group="colorpicker"
7615 name="shirt_red"
7616 value_min="0"
7617 value_max="1"
7618 value_default="1">
7619 <param_color>
7620 <value
7621 color="0, 0, 0, 255" />
7622
7623 <value
7624 color="255, 0, 0, 255" />
7625 </param_color>
7626 </param>
7627
7628 <param
7629 id="804"
7630 group="0"
7631 wearable="shirt"
7632 edit_group="colorpicker"
7633 name="shirt_green"
7634 value_min="0"
7635 value_max="1"
7636 value_default="1">
7637 <param_color>
7638 <value
7639 color="0, 0, 0, 255" />
7640
7641 <value
7642 color="0, 255, 0, 255" />
7643 </param_color>
7644 </param>
7645
7646 <param
7647 id="805"
7648 group="0"
7649 wearable="shirt"
7650 edit_group="colorpicker"
7651 name="shirt_blue"
7652 value_min="0"
7653 value_max="1"
7654 value_default="1">
7655 <param_color>
7656 <value
7657 color="0, 0, 0, 255" />
7658
7659 <value
7660 color="0, 0, 255, 255" />
7661 </param_color>
7662 </param>
7663
7664 <param
7665 id="600"
7666 group="1"
7667 wearable="shirt"
7668 edit_group="driven"
7669 name="Sleeve Length Cloth"
7670 value_min="0"
7671 value_max="0.85"
7672 value_default=".7">
7673 <param_alpha
7674 multiply_blend="false"
7675 tga_file="shirt_sleeve_alpha.tga"
7676 domain="0.01" />
7677 </param>
7678
7679 <param
7680 id="601"
7681 group="1"
7682 wearable="shirt"
7683 edit_group="driven"
7684 name="Shirt Bottom Cloth"
7685 value_min="0"
7686 value_max="1"
7687 value_default=".8">
7688 <param_alpha
7689 multiply_blend="true"
7690 tga_file="shirt_bottom_alpha.tga"
7691 domain="0.05" />
7692 </param>
7693
7694 <param
7695 id="602"
7696 group="1"
7697 wearable="shirt"
7698 edit_group="driven"
7699 name="Collar Front Height Cloth"
7700 value_min="0"
7701 value_max="1"
7702 value_default=".8">
7703 <param_alpha
7704 multiply_blend="true"
7705 tga_file="shirt_collar_alpha.tga"
7706 domain="0.05" />
7707 </param>
7708
7709 <param
7710 id="778"
7711 group="1"
7712 wearable="shirt"
7713 edit_group="driven"
7714 name="Collar Back Height Cloth"
7715 value_min="0"
7716 value_max="1"
7717 value_default=".8">
7718 <param_alpha
7719 multiply_blend="true"
7720 tga_file="shirt_collar_back_alpha.tga"
7721 domain="0.05" />
7722 </param>
7723 </layer>
7724
7725 <layer
7726 name="upper_jacket base bump"
7727 render_pass="bump"
7728 fixed_color="128,128,128,255">
7729 <texture
7730 local_texture="upper_jacket"
7731 local_texture_alpha_only="true" />
7732
7733 <param
7734 id="1039"
7735 group="1"
7736 wearable="jacket"
7737 edit_group="driven"
7738 edit_group_order="1"
7739 name="Jacket Sleeve Length bump"
7740 value_min="0"
7741 value_max="1">
7742 <param_alpha
7743 multiply_blend="false"
7744 tga_file="shirt_sleeve_alpha.tga"
7745 domain="0.01" />
7746 </param>
7747
7748 <param
7749 id="1040"
7750 group="1"
7751 wearable="jacket"
7752 edit_group="driven"
7753 name="Jacket Collar Front bump"
7754 value_min="0"
7755 value_max="1">
7756 <param_alpha
7757 multiply_blend="true"
7758 tga_file="shirt_collar_alpha.tga"
7759 domain="0.05" />
7760 </param>
7761
7762 <param
7763 id="1041"
7764 group="1"
7765 wearable="jacket"
7766 edit_group="driven"
7767 edit_group_order="3.5"
7768 name="Jacket Collar Back bump"
7769 value_min="0"
7770 value_max="1">
7771 <param_alpha
7772 multiply_blend="true"
7773 tga_file="shirt_collar_back_alpha.tga"
7774 domain="0.05" />
7775 </param>
7776
7777 <param
7778 id="1037"
7779 group="1"
7780 wearable="jacket"
7781 edit_group="driven"
7782 name="jacket bottom length upper bump"
7783 value_min="0"
7784 value_max="1">
7785 <param_alpha
7786 multiply_blend="true"
7787 tga_file="jacket_length_upper_alpha.tga"
7788 domain="0.01" />
7789 </param>
7790
7791 <param
7792 id="1038"
7793 group="1"
7794 wearable="jacket"
7795 edit_group="driven"
7796 name="jacket open upper bump"
7797 value_min="0"
7798 value_max="1">
7799 <param_alpha
7800 multiply_blend="true"
7801 tga_file="jacket_open_upper_alpha.tga"
7802 domain="0.01" />
7803 </param>
7804 </layer>
7805
7806 <layer
7807 name="upper_jacket bump"
7808 render_pass="bump">
7809 <texture
7810 tga_file="bump_shirt_wrinkles.tga" />
7811
7812 <texture
7813 local_texture="upper_jacket"
7814 local_texture_alpha_only="true" />
7815
7816
7817 <param
7818 id="875"
7819 group="1"
7820 wearable="jacket"
7821 name="jacket upper Wrinkles"
7822 value_min="0"
7823 value_max="1"
7824 value_default="0">
7825 <param_color>
7826 <value
7827 color="255, 255, 255, 0" />
7828
7829 <value
7830 color="255, 255, 255, 255" />
7831 </param_color>
7832 </param>
7833
7834 <param
7835 id="1019"
7836 group="1"
7837 wearable="jacket"
7838 edit_group="driven"
7839 edit_group_order="1"
7840 name="Jacket Sleeve Length bump"
7841 value_min="0"
7842 value_max="1">
7843 <param_alpha
7844 multiply_blend="false"
7845 tga_file="shirt_sleeve_alpha.tga"
7846 domain="0.01" />
7847 </param>
7848
7849 <param
7850 id="1021"
7851 group="1"
7852 wearable="jacket"
7853 edit_group="driven"
7854 name="Jacket Collar Front bump"
7855 value_min="0"
7856 value_max="1">
7857 <param_alpha
7858 multiply_blend="true"
7859 tga_file="shirt_collar_alpha.tga"
7860 domain="0.05" />
7861 </param>
7862
7863 <param
7864 id="1023"
7865 group="1"
7866 wearable="jacket"
7867 edit_group="driven"
7868 edit_group_order="3.5"
7869 name="Jacket Collar Back bump"
7870 value_min="0"
7871 value_max="1">
7872 <param_alpha
7873 multiply_blend="true"
7874 tga_file="shirt_collar_back_alpha.tga"
7875 domain="0.05" />
7876 </param>
7877
7878 <param
7879 id="1025"
7880 group="1"
7881 wearable="jacket"
7882 edit_group="driven"
7883 name="jacket bottom length upper bump"
7884 value_min="0"
7885 value_max="1">
7886 <param_alpha
7887 multiply_blend="true"
7888 tga_file="jacket_length_upper_alpha.tga"
7889 domain="0.01" />
7890 </param>
7891
7892 <param
7893 id="1026"
7894 group="1"
7895 wearable="jacket"
7896 edit_group="driven"
7897 name="jacket open upper bump"
7898 value_min="0"
7899 value_max="1">
7900 <param_alpha
7901 multiply_blend="true"
7902 tga_file="jacket_open_upper_alpha.tga"
7903 domain="0.01" />
7904 </param>
7905 </layer>
7906
7907 <layer
7908 name="upper_jacket">
7909 <texture
7910 local_texture="upper_jacket" />
7911
7912 <param
7913 id="831"
7914 group="1"
7915 edit_group="colorpicker_driven"
7916 wearable="jacket"
7917 name="upper_jacket_red"
7918 value_min="0"
7919 value_max="1"
7920 value_default="1">
7921 <param_color>
7922 <value
7923 color="0, 0, 0, 255" />
7924
7925 <value
7926 color="255, 0, 0, 255" />
7927 </param_color>
7928 </param>
7929
7930 <param
7931 id="832"
7932 group="1"
7933 edit_group="colorpicker_driven"
7934 wearable="jacket"
7935 name="upper_jacket_green"
7936 value_min="0"
7937 value_max="1"
7938 value_default="1">
7939 <param_color>
7940 <value
7941 color="0, 0, 0, 255" />
7942
7943 <value
7944 color="0, 255, 0, 255" />
7945 </param_color>
7946 </param>
7947
7948 <param
7949 id="833"
7950 group="1"
7951 edit_group="colorpicker_driven"
7952 wearable="jacket"
7953 name="upper_jacket_blue"
7954 value_min="0"
7955 value_max="1"
7956 value_default="1">
7957 <param_color>
7958 <value
7959 color="0, 0, 0, 255" />
7960
7961 <value
7962 color="0, 0, 255, 255" />
7963 </param_color>
7964 </param>
7965
7966 <param
7967 id="1020"
7968 group="1"
7969 edit_group="driven"
7970 wearable="jacket"
7971 name="jacket Sleeve Length" value_min="0"
7972 value_max="1">
7973 <param_alpha
7974 multiply_blend="false"
7975 tga_file="shirt_sleeve_alpha.tga"
7976 domain="0.01" />
7977 </param>
7978
7979 <param
7980 id="1022"
7981 group="1"
7982 wearable="jacket"
7983 edit_group="driven"
7984 name="jacket Collar Front"
7985 value_min="0"
7986 value_max="1">
7987 <param_alpha
7988 multiply_blend="true"
7989 tga_file="shirt_collar_alpha.tga"
7990 domain="0.05" />
7991 </param>
7992
7993 <param
7994 id="1024"
7995 group="1"
7996 wearable="jacket"
7997 edit_group="driven"
7998 edit_group_order="3.5"
7999 name="jacket Collar Back"
8000 value_min="0"
8001 value_max="1">
8002 <param_alpha
8003 multiply_blend="true"
8004 tga_file="shirt_collar_back_alpha.tga"
8005 domain="0.05" />
8006 </param>
8007
8008 <param
8009 id="620"
8010 group="1"
8011 wearable="jacket"
8012 edit_group="jacket"
8013 name="bottom length upper"
8014 label_min="hi cut"
8015 label_max="low cut"
8016 value_min="0"
8017 value_max="1"
8018 value_default=".8"
8019 camera_distance="1.2"
8020 camera_angle="30"
8021 camera_elevation=".2">
8022 <param_alpha
8023 multiply_blend="true"
8024 tga_file="jacket_length_upper_alpha.tga"
8025 domain="0.01" />
8026 </param>
8027
8028 <param
8029 id="622"
8030 group="1"
8031 wearable="jacket"
8032 edit_group="jacket"
8033 name="open upper"
8034 label_min="closed"
8035 label_max="open"
8036 value_min="0"
8037 value_max="1"
8038 value_default=".8"
8039 camera_distance="1.2"
8040 camera_angle="30"
8041 camera_elevation=".2">
8042 <param_alpha
8043 multiply_blend="true"
8044 tga_file="jacket_open_upper_alpha.tga"
8045 domain="0.01" />
8046 </param>
8047 </layer>
8048
8049 <layer
8050 name="upper alpha"
8051 visibility_mask="TRUE">
8052 <texture
8053 local_texture="upper_alpha" />
8054 </layer>
8055
8056 </layer_set>
8057
8058 <!-- =========================================================== -->
8059 <layer_set
8060 body_region="lower_body"
8061 width="512"
8062 height="512">
8063 <layer
8064 name="lower body bump base"
8065 fixed_color = "128,128,128,255"
8066 render_pass="bump">
8067 </layer>
8068 <layer
8069 name="base_lowerbody bump"
8070 render_pass="bump">
8071 <texture
8072 tga_file="bump_lowerbody_base.tga"
8073 file_is_mask="FALSE" />
8074
8075 <param
8076 id="878"
8077 group="1"
8078 wearable="skin"
8079 edit_group="driven"
8080 edit_group_order="20"
8081 name="Bump upperdef"
8082 value_min="0"
8083 value_max="1">
8084 <param_alpha
8085 domain="0" />
8086 </param>
8087 </layer>
8088
8089 <layer
8090 name="base"
8091 global_color="skin_color">
8092 <texture
8093 tga_file="body_skingrain.tga" />
8094 </layer>
8095
8096 <layer
8097 name="shadow">
8098 <texture
8099 tga_file="lowerbody_shading_alpha.tga"
8100 file_is_mask="TRUE" />
8101
8102 <param
8103 id="160"
8104 group="1"
8105 name="Shading"
8106 wearable="pants"
8107 cross_wearable="true"
8108 value_min="0"
8109 value_max="1">
8110 <param_color>
8111 <value
8112 color="0, 0, 0, 0" />
8113
8114 <value
8115 color="0, 0, 0, 128" />
8116 </param_color>
8117 </param>
8118 </layer>
8119
8120 <layer
8121 name="highlight">
8122 <texture
8123 tga_file="lowerbody_highlights_alpha.tga"
8124 file_is_mask="TRUE" />
8125
8126 <param
8127 id="161"
8128 group="1"
8129 name="Shading"
8130 wearable="skin"
8131 value_min="0"
8132 value_max="1">
8133 <param_color>
8134 <value
8135 color="255, 255, 255, 0" />
8136
8137 <value
8138 color="255, 255, 255, 64" />
8139 </param_color>
8140 </param>
8141 </layer>
8142
8143 <layer
8144 name="toenails">
8145 <texture
8146 tga_file="lowerbody_color.tga" />
8147 </layer>
8148
8149 <layer
8150 name="lower_bodypaint">
8151 <texture
8152 local_texture="lower_bodypaint" />
8153 </layer>
8154
8155 <layer
8156 name="freckles lower"
8157 fixed_color="120,47,20,128">
8158 <param
8159 id="777"
8160 group="1"
8161 name="freckles lower"
8162 wearable="skin"
8163 value_min="0"
8164 value_max="1">
8165 <param_alpha
8166 tga_file="bodyfreckles_alpha.tga"
8167 skip_if_zero="true"
8168 domain="0.6" />
8169 </param>
8170 </layer>
8171
8172 <layer
8173 name="lower_tattoo">
8174 <texture
8175 local_texture="lower_tattoo" />
8176
8177 <param
8178 id="1068"
8179 group="1"
8180 edit_group="colorpicker_driven"
8181 wearable="tattoo"
8182 name="tattoo_lower_red"
8183 value_min="0"
8184 value_max="1"
8185 value_default="1">
8186 <param_color>
8187 <value
8188 color="0, 0, 0, 255" />
8189
8190 <value
8191 color="255, 0, 0, 255" />
8192 </param_color>
8193 </param>
8194
8195 <param
8196 id="1069"
8197 group="1"
8198 edit_group="colorpicker_driven"
8199 wearable="tattoo"
8200 name="tattoo_lower_green"
8201 value_min="0"
8202 value_max="1"
8203 value_default="1">
8204 <param_color>
8205 <value
8206 color="0, 0, 0, 255" />
8207
8208 <value
8209 color="0, 255, 0, 255" />
8210 </param_color>
8211 </param>
8212
8213 <param
8214 id="1070"
8215 group="1"
8216 edit_group="colorpicker_driven"
8217 wearable="tattoo"
8218 name="tattoo_lower_blue"
8219 value_min="0"
8220 value_max="1"
8221 value_default="1">
8222 <param_color>
8223 <value
8224 color="0, 0, 0, 255" />
8225
8226 <value
8227 color="0, 0, 255, 255" />
8228 </param_color>
8229 </param>
8230
8231 </layer>
8232
8233 <layer
8234 name="lower_underpants bump"
8235 render_pass="bump"
8236 fixed_color="128,128,128,255">
8237 <texture
8238 local_texture="lower_underpants"
8239 local_texture_alpha_only="true" />
8240
8241 <param
8242 id="1055"
8243 group="1"
8244 wearable="underpants"
8245 edit_group="underpants"
8246 name="Pants Length"
8247 value_min="0"
8248 value_max="1"
8249 value_default=".3">
8250 <param_alpha
8251 tga_file="pants_length_alpha.tga"
8252 domain="0.01" />
8253 </param>
8254
8255 <param
8256 id="1057"
8257 group="1"
8258 wearable="underpants"
8259 edit_group="underpants"
8260 name="Pants Waist"
8261 value_min="0"
8262 value_max="1"
8263 value_default=".8">
8264 <param_alpha
8265 tga_file="pants_waist_alpha.tga"
8266 domain="0.05" />
8267 </param>
8268 </layer>
8269
8270 <layer
8271 name="lower_underpants">
8272 <texture
8273 local_texture="lower_underpants" />
8274
8275 <param
8276 id="824"
8277 group="0"
8278 wearable="underpants"
8279 edit_group="colorpicker"
8280 name="underpants_red"
8281 value_min="0"
8282 value_max="1"
8283 value_default="1">
8284 <param_color>
8285 <value
8286 color="0, 0, 0, 255" />
8287
8288 <value
8289 color="255, 0, 0, 255" />
8290 </param_color>
8291 </param>
8292
8293 <param
8294 id="825"
8295 group="0"
8296 wearable="underpants"
8297 edit_group="colorpicker"
8298 name="underpants_green"
8299 value_min="0"
8300 value_max="1"
8301 value_default="1">
8302 <param_color>
8303 <value
8304 color="0, 0, 0, 255" />
8305
8306 <value
8307 color="0, 255, 0, 255" />
8308 </param_color>
8309 </param>
8310
8311 <param
8312 id="826"
8313 group="0"
8314 wearable="underpants"
8315 edit_group="colorpicker"
8316 name="underpants_blue"
8317 value_min="0"
8318 value_max="1"
8319 value_default="1">
8320 <param_color>
8321 <value
8322 color="0, 0, 0, 255" />
8323
8324 <value
8325 color="0, 0, 255, 255" />
8326 </param_color>
8327 </param>
8328
8329 <param
8330 id="1054"
8331 group="1"
8332 wearable="underpants"
8333 edit_group="driven"
8334 name="Pants Length"
8335 value_min="0"
8336 value_max="1"
8337 value_default=".3"
8338 camera_distance="1.2"
8339 camera_angle="30"
8340 camera_elevation="-.3">
8341 <param_alpha
8342 tga_file="pants_length_alpha.tga"
8343 domain="0.01" />
8344 </param>
8345
8346 <param
8347 id="1056"
8348 group="1"
8349 wearable="underpants"
8350 edit_group="driven"
8351 name="Pants Waist"
8352 value_min="0"
8353 value_max="1"
8354 value_default=".8">
8355 <param_alpha
8356 tga_file="pants_waist_alpha.tga"
8357 domain="0.05" />
8358 </param>
8359 </layer>
8360
8361 <layer
8362 name="lower_socks bump"
8363 render_pass="bump"
8364 fixed_color="128,128,128,255">
8365 <texture
8366 local_texture="lower_socks"
8367 local_texture_alpha_only="true" />
8368
8369 <param
8370 id="1051"
8371 group="1"
8372 wearable="socks"
8373 edit_group="driven"
8374 name="Socks Length bump"
8375 value_min="0"
8376 value_max="1"
8377 value_default="0.35">
8378 <param_alpha
8379 tga_file="shoe_height_alpha.tga"
8380 domain="0.01" />
8381 </param>
8382 </layer>
8383
8384 <layer
8385 name="lower_socks">
8386 <texture
8387 local_texture="lower_socks" />
8388
8389 <param
8390 id="818"
8391 group="0"
8392 wearable="socks"
8393 edit_group="colorpicker"
8394 name="socks_red"
8395 value_min="0"
8396 value_max="1"
8397 value_default="1">
8398 <param_color>
8399 <value
8400 color="0, 0, 0, 255" />
8401
8402 <value
8403 color="255, 0, 0, 255" />
8404 </param_color>
8405 </param>
8406
8407 <param
8408 id="819"
8409 group="0"
8410 wearable="socks"
8411 edit_group="colorpicker"
8412 name="socks_green"
8413 value_min="0"
8414 value_max="1"
8415 value_default="1">
8416 <param_color>
8417 <value
8418 color="0, 0, 0, 255" />
8419
8420 <value
8421 color="0, 255, 0, 255" />
8422 </param_color>
8423 </param>
8424
8425 <param
8426 id="820"
8427 group="0"
8428 wearable="socks"
8429 edit_group="colorpicker"
8430 name="socks_blue"
8431 value_min="0"
8432 value_max="1"
8433 value_default="1">
8434 <param_color>
8435 <value
8436 color="0, 0, 0, 255" />
8437
8438 <value
8439 color="0, 0, 255, 255" />
8440 </param_color>
8441 </param>
8442
8443 <param
8444 id="1050"
8445 group="1"
8446 wearable="socks"
8447 edit_group="driven"
8448 name="Socks Length bump"
8449 value_min="0"
8450 value_max="1"
8451 value_default="0.35">
8452 <param_alpha
8453 tga_file="shoe_height_alpha.tga"
8454 domain="0.01" />
8455 </param>
8456 </layer>
8457
8458 <layer
8459 name="lower_shoes bump"
8460 render_pass="bump"
8461 fixed_color="128,128,128,255">
8462 <texture
8463 local_texture="lower_shoes"
8464 local_texture_alpha_only="true" />
8465
8466 <param
8467 id="1053"
8468 group="1"
8469 wearable="shoes"
8470 edit_group="driven"
8471 name="Shoe Height bump"
8472 value_min="0"
8473 value_max="1"
8474 value_default="0.1">
8475 <param_alpha
8476 tga_file="shoe_height_alpha.tga"
8477 domain="0.01" />
8478 </param>
8479 </layer>
8480
8481 <layer
8482 name="lower_shoes">
8483 <texture
8484 local_texture="lower_shoes" />
8485
8486 <param
8487 id="812"
8488 group="0"
8489 wearable="shoes"
8490 edit_group="colorpicker"
8491 name="shoes_red"
8492 value_min="0"
8493 value_max="1"
8494 value_default="1">
8495 <param_color>
8496 <value
8497 color="0, 0, 0, 255" />
8498
8499 <value
8500 color="255, 0, 0, 255" />
8501 </param_color>
8502 </param>
8503
8504 <param
8505 id="813"
8506 group="0"
8507 wearable="shoes"
8508 edit_group="colorpicker"
8509 name="shoes_green"
8510 value_min="0"
8511 value_max="1"
8512 value_default="1">
8513 <param_color>
8514 <value
8515 color="0, 0, 0, 255" />
8516
8517 <value
8518 color="0, 255, 0, 255" />
8519 </param_color>
8520 </param>
8521
8522 <param
8523 id="817"
8524 group="0"
8525 wearable="shoes"
8526 edit_group="colorpicker"
8527 name="shoes_blue"
8528 value_min="0"
8529 value_max="1"
8530 value_default="1">
8531 <param_color>
8532 <value
8533 color="0, 0, 0, 255" />
8534
8535 <value
8536 color="0, 0, 255, 255" />
8537 </param_color>
8538 </param>
8539
8540 <param
8541 id="1052"
8542 group="1"
8543 wearable="shoes"
8544 edit_group="driven"
8545 name="Shoe Height"
8546 value_min="0"
8547 value_max="1"
8548 value_default="0.1">
8549 <param_alpha
8550 tga_file="shoe_height_alpha.tga"
8551 domain="0.01" />
8552 </param>
8553 </layer>
8554
8555 <layer
8556 name="lower_clothes_shadow">
8557 <texture
8558 local_texture="lower_pants" />
8559
8560 <param
8561 id="913"
8562 group="1"
8563 edit_group="driven"
8564 wearable="pants"
8565 name="Lower Clothes Shading"
8566 value_min="0"
8567 value_max="1"
8568 value_default="0">
8569 <param_color>
8570 <value
8571 color="0, 0, 0, 0" />
8572
8573 <value
8574 color="0, 0, 0, 80" />
8575 </param_color>
8576 </param>
8577
8578 <param
8579 id="914"
8580 group="1"
8581 edit_group="driven"
8582 wearable="pants"
8583 name="Waist Height Shadow"
8584 value_min="0.02"
8585 value_max="1">
8586 <param_alpha
8587 tga_file="pants_waist_alpha.tga"
8588 skip_if_zero="true"
8589 domain="0.04" />
8590 </param>
8591
8592 <param
8593 id="915"
8594 group="1"
8595 edit_group="driven"
8596 wearable="pants"
8597 name="Pants Length Shadow"
8598 value_min="0.02"
8599 value_max="1">
8600 <param_alpha
8601 tga_file="pants_length_alpha.tga"
8602 skip_if_zero="true"
8603 domain="0.03" />
8604 </param>
8605 </layer>
8606
8607 <layer
8608 name="lower_pants base bump"
8609 render_pass="bump"
8610 fixed_color="128,128,128,255">
8611 <texture
8612 local_texture="lower_pants"
8613 local_texture_alpha_only="true" />
8614
8615 <param
8616 id="1035"
8617 group="1"
8618 edit_group="driven"
8619 wearable="pants"
8620 name="Waist Height Cloth"
8621 value_min="0"
8622 value_max="1">
8623 <param_alpha
8624 tga_file="pants_waist_alpha.tga"
8625 domain="0.05" />
8626 </param>
8627
8628 <param
8629 id="1036"
8630 group="1"
8631 edit_group="driven"
8632 wearable="pants"
8633 name="Pants Length Cloth"
8634 value_min="0"
8635 value_max="1">
8636 <param_alpha
8637 tga_file="pants_length_alpha.tga"
8638 domain="0.01" />
8639 </param>
8640 </layer>
8641
8642 <layer
8643 name="lower_pants bump"
8644 render_pass="bump">
8645 <texture
8646 tga_file="bump_pants_wrinkles.tga" />
8647
8648 <texture
8649 local_texture="lower_pants"
8650 local_texture_alpha_only="true" />
8651
8652 <param
8653 id="869"
8654 group="0"
8655 wearable="pants"
8656 edit_group="pants"
8657 edit_group_order="6"
8658 name="Pants Wrinkles"
8659 value_min="0"
8660 value_max="1"
8661 value_default="0">
8662 <param_color>
8663 <value
8664 color="255, 255, 255, 0" />
8665
8666 <value
8667 color="255, 255, 255, 255" />
8668 </param_color>
8669 </param>
8670
8671 <param
8672 id="1017"
8673 group="1"
8674 edit_group="driven"
8675 wearable="pants"
8676 name="Waist Height Cloth"
8677 value_min="0"
8678 value_max="1">
8679 <param_alpha
8680 tga_file="pants_waist_alpha.tga"
8681 domain="0.05" />
8682 </param>
8683
8684 <param
8685 id="1018"
8686 group="1"
8687 edit_group="driven"
8688 wearable="pants"
8689 name="Pants Length Cloth"
8690 value_min="0"
8691 value_max="1">
8692 <param_alpha
8693 tga_file="pants_length_alpha.tga"
8694 domain="0.01" />
8695 </param>
8696 </layer>
8697
8698 <layer
8699 name="lower_pants">
8700 <texture
8701 local_texture="lower_pants" />
8702
8703 <param
8704 id="806"
8705 group="0"
8706 wearable="pants"
8707 edit_group="colorpicker"
8708 name="pants_red"
8709 value_min="0"
8710 value_max="1"
8711 value_default="1">
8712 <param_color>
8713 <value
8714 color="0, 0, 0, 255" />
8715
8716 <value
8717 color="255, 0, 0, 255" />
8718 </param_color>
8719 </param>
8720
8721 <param
8722 id="807"
8723 group="0"
8724 wearable="pants"
8725 edit_group="colorpicker"
8726 name="pants_green"
8727 value_min="0"
8728 value_max="1"
8729 value_default="1">
8730 <param_color>
8731 <value
8732 color="0, 0, 0, 255" />
8733
8734 <value
8735 color="0, 255, 0, 255" />
8736 </param_color>
8737 </param>
8738
8739 <param
8740 id="808"
8741 group="0"
8742 wearable="pants"
8743 edit_group="colorpicker"
8744 name="pants_blue"
8745 value_min="0"
8746 value_max="1"
8747 value_default="1">
8748 <param_color>
8749 <value
8750 color="0, 0, 0, 255" />
8751
8752 <value
8753 color="0, 0, 255, 255" />
8754 </param_color>
8755 </param>
8756
8757 <param
8758 id="614"
8759 group="1"
8760 edit_group="driven"
8761 wearable="pants"
8762 name="Waist Height Cloth"
8763 value_min="0"
8764 value_max="1"
8765 value_default=".8">
8766 <param_alpha
8767 tga_file="pants_waist_alpha.tga"
8768 domain="0.05" />
8769 </param>
8770
8771 <param
8772 id="615"
8773 group="1"
8774 edit_group="driven"
8775 wearable="pants"
8776 name="Pants Length Cloth"
8777 value_min="0"
8778 value_max="1"
8779 value_default=".8">
8780 <param_alpha
8781 tga_file="pants_length_alpha.tga"
8782 domain="0.01" />
8783 </param>
8784 </layer>
8785
8786 <layer
8787 name="lower_jacket base bump"
8788 render_pass="bump"
8789 fixed_color="128,128,128,255">
8790 <texture
8791 local_texture="lower_jacket"
8792 local_texture_alpha_only="true" />
8793
8794 <param
8795 id="1033"
8796 group="1"
8797 wearable="jacket"
8798 edit_group="driven"
8799 cross_wearable="true"
8800 name="jacket bottom length lower bump"
8801 value_min="0"
8802 value_max="1">
8803 <param_alpha
8804 multiply_blend="false"
8805 tga_file="jacket_length_lower_alpha.tga"
8806 domain="0.01" />
8807 </param>
8808
8809 <param
8810 id="1034"
8811 group="1"
8812 wearable="jacket"
8813 edit_group="driven"
8814 name="jacket open lower bump"
8815 value_min="0"
8816 value_max="1">
8817 <param_alpha
8818 multiply_blend="true"
8819 tga_file="jacket_open_lower_alpha.tga"
8820 domain="0.01" />
8821 </param>
8822 </layer>
8823
8824 <layer
8825 name="lower_jacket bump"
8826 render_pass="bump">
8827 <texture
8828 tga_file="bump_pants_wrinkles.tga" />
8829
8830 <texture
8831 local_texture="lower_jacket"
8832 local_texture_alpha_only="true" />
8833
8834
8835 <param
8836 id="876"
8837 group="1"
8838 wearable="jacket"
8839 name="jacket upper Wrinkles"
8840 value_min="0"
8841 value_max="1"
8842 value_default="0">
8843 <param_color>
8844 <value
8845 color="255, 255, 255, 0" />
8846
8847 <value
8848 color="255, 255, 255, 255" />
8849 </param_color>
8850 </param>
8851
8852 <param
8853 id="1027"
8854 group="1"
8855 wearable="jacket"
8856 edit_group="driven"
8857 name="jacket bottom length lower bump"
8858 value_min="0"
8859 value_max="1">
8860 <param_alpha
8861 multiply_blend="false"
8862 tga_file="jacket_length_lower_alpha.tga"
8863 domain="0.01" />
8864 </param>
8865
8866 <param
8867 id="1028"
8868 group="1"
8869 wearable="jacket"
8870 edit_group="driven"
8871 name="jacket open lower bump"
8872 value_min="0"
8873 value_max="1">
8874 <param_alpha
8875 multiply_blend="true"
8876 tga_file="jacket_open_lower_alpha.tga"
8877 domain="0.01" />
8878 </param>
8879 </layer>
8880
8881 <layer
8882 name="lower_jacket">
8883 <texture
8884 local_texture="lower_jacket" />
8885
8886 <param
8887 id="809"
8888 group="1"
8889 edit_group="colorpicker_driven"
8890 wearable="jacket"
8891 name="lower_jacket_red"
8892 value_min="0"
8893 value_max="1"
8894 value_default="1">
8895 <param_color>
8896 <value
8897 color="0, 0, 0, 255" />
8898
8899 <value
8900 color="255, 0, 0, 255" />
8901 </param_color>
8902 </param>
8903
8904 <param
8905 id="810"
8906 group="1"
8907 edit_group="colorpicker_driven"
8908 wearable="jacket"
8909 name="lower_jacket_green"
8910 value_min="0"
8911 value_max="1"
8912 value_default="1">
8913 <param_color>
8914 <value
8915 color="0, 0, 0, 255" />
8916
8917 <value
8918 color="0, 255, 0, 255" />
8919 </param_color>
8920 </param>
8921
8922 <param
8923 id="811"
8924 group="1"
8925 edit_group="colorpicker_driven"
8926 wearable="jacket"
8927 name="lower_jacket_blue"
8928 value_min="0"
8929 value_max="1"
8930 value_default="1">
8931 <param_color>
8932 <value
8933 color="0, 0, 0, 255" />
8934
8935 <value
8936 color="0, 0, 255, 255" />
8937 </param_color>
8938 </param>
8939
8940 <param
8941 id="621"
8942 group="1"
8943 wearable="jacket"
8944 edit_group="jacket"
8945 name="bottom length lower"
8946 label_min="hi cut"
8947 label_max="low cut"
8948 value_min="0"
8949 value_max="1"
8950 value_default=".8"
8951 camera_distance="1.2"
8952 camera_angle="30"
8953 camera_elevation=".2">
8954 <param_alpha
8955 multiply_blend="false"
8956 tga_file="jacket_length_lower_alpha.tga"
8957 domain="0.01" />
8958 </param>
8959
8960 <param
8961 id="623"
8962 group="1"
8963 wearable="jacket"
8964 edit_group="jacket"
8965 name="open lower"
8966 label_min="open"
8967 label_max="closed"
8968 value_min="0"
8969 value_max="1"
8970 value_default=".8"
8971 camera_distance="1.2"
8972 camera_angle="30"
8973 camera_elevation=".2">
8974 <param_alpha
8975 multiply_blend="true"
8976 tga_file="jacket_open_lower_alpha.tga"
8977 domain="0.01" />
8978 </param>
8979 </layer>
8980
8981 <layer
8982 name="lower alpha"
8983 visibility_mask="TRUE">
8984 <texture
8985 local_texture="lower_alpha" />
8986 </layer>
8987
8988 </layer_set>
8989
8990 <!-- =========================================================== -->
8991 <layer_set
8992 body_region="eyes"
8993 width="128"
8994 height="128">
8995 <layer
8996 name="whites">
8997 <texture
8998 tga_file="eyewhite.tga" />
8999 </layer>
9000
9001 <layer
9002 name="iris"
9003 global_color="eye_color">
9004 <texture
9005 local_texture="eyes_iris" />
9006 </layer>
9007
9008 <layer
9009 name="eyes alpha"
9010 visibility_mask="TRUE">
9011 <texture
9012 local_texture="eyes_alpha" />
9013 </layer>
9014
9015 </layer_set>
9016
9017 <!-- =========================================================== -->
9018 <layer_set
9019 body_region="skirt"
9020 width="512"
9021 height="512"
9022 clear_alpha="false">
9023 <layer
9024 name="skirt_fabric"
9025 write_all_channels="true">
9026 <texture
9027 local_texture="skirt" />
9028
9029 <param
9030 id="921"
9031 group="0"
9032 wearable="skirt"
9033 edit_group="colorpicker"
9034 name="skirt_red"
9035 value_min="0"
9036 value_max="1"
9037 value_default="1">
9038 <param_color>
9039 <value
9040 color="0, 0, 0, 255" />
9041
9042 <value
9043 color="255, 0, 0, 255" />
9044 </param_color>
9045 </param>
9046
9047 <param
9048 id="922"
9049 group="0"
9050 wearable="skirt"
9051 edit_group="colorpicker"
9052 name="skirt_green"
9053 value_min="0"
9054 value_max="1"
9055 value_default="1">
9056 <param_color>
9057 <value
9058 color="0, 0, 0, 255" />
9059
9060 <value
9061 color="0, 255, 0, 255" />
9062 </param_color>
9063 </param>
9064
9065 <param
9066 id="923"
9067 group="0"
9068 wearable="skirt"
9069 edit_group="colorpicker"
9070 name="skirt_blue"
9071 value_min="0"
9072 value_max="1"
9073 value_default="1">
9074 <param_color>
9075 <value
9076 color="0, 0, 0, 255" />
9077
9078 <value
9079 color="0, 0, 255, 255" />
9080 </param_color>
9081 </param>
9082 </layer>
9083
9084 <layer
9085 name="skirt_fabric_alpha">
9086 <param
9087 id="858"
9088 group="0"
9089 wearable="skirt"
9090 edit_group="skirt"
9091 edit_group_order="1"
9092 name="Skirt Length"
9093 show_simple="true"
9094 label_min="Short"
9095 label_max="Long"
9096 value_min=".01"
9097 value_max="1"
9098 value_default=".4"
9099 simple_percent_min="40"
9100 simple_percent_max="100"
9101 camera_distance="1.3"
9102 camera_elevation="-.5"
9103 camera_angle="30">
9104 <param_alpha
9105 tga_file="skirt_length_alpha.tga"
9106 domain="0"
9107 multiply_blend="true" />
9108 </param>
9109
9110 <param
9111 id="859"
9112 group="0"
9113 wearable="skirt"
9114 edit_group="skirt"
9115 edit_group_order="4"
9116 name="Slit Front"
9117 label_min="Open Front"
9118 label_max="Closed Front"
9119 value_min="0"
9120 value_max="1"
9121 value_default="1"
9122 camera_distance="1.3"
9123 camera_elevation="-.5"
9124 camera_angle="30">
9125 <param_alpha
9126 tga_file="skirt_slit_front_alpha.tga"
9127 multiply_blend="true"
9128 domain="0" />
9129 </param>
9130
9131 <param
9132 id="860"
9133 group="0"
9134 wearable="skirt"
9135 edit_group="skirt"
9136 edit_group_order="5"
9137 name="Slit Back"
9138 label_min="Open Back"
9139 label_max="Closed Back"
9140 value_min="0"
9141 value_max="1"
9142 value_default="1"
9143 camera_distance="1.3"
9144 camera_elevation="-.5"
9145 camera_angle="160">
9146 <param_alpha
9147 tga_file="skirt_slit_back_alpha.tga"
9148 multiply_blend="true"
9149 domain="0" />
9150 </param>
9151
9152 <param
9153 id="861"
9154 group="0"
9155 wearable="skirt"
9156 edit_group="skirt"
9157 edit_group_order="6"
9158 name="Slit Left"
9159 label_min="Open Left"
9160 label_max="Closed Left"
9161 value_min="0"
9162 value_max="1"
9163 value_default="1"
9164 camera_distance="1.3"
9165 camera_elevation="-.5"
9166 camera_angle="30">
9167 <param_alpha
9168 tga_file="skirt_slit_left_alpha.tga"
9169 multiply_blend="true"
9170 domain="0" />
9171 </param>
9172
9173 <param
9174 id="862"
9175 group="0"
9176 wearable="skirt"
9177 edit_group="skirt"
9178 edit_group_order="7"
9179 name="Slit Right"
9180 label_min="Open Right"
9181 label_max="Closed Right"
9182 value_min="0"
9183 value_max="1"
9184 value_default="1"
9185 camera_distance="1.3"
9186 camera_elevation="-.5"
9187 camera_angle="-30">
9188 <param_alpha
9189 tga_file="skirt_slit_right_alpha.tga"
9190 multiply_blend="true"
9191 domain="0" />
9192 </param>
9193 </layer>
9194
9195 </layer_set>
9196
9197 <!-- =========================================================== -->
9198 <driver_parameters>
9199
9200 <param
9201 id="828"
9202 group="0"
9203 name="Loose Upper Clothing"
9204 label="Shirt Fit"
9205 show_simple="true"
9206 wearable="shirt"
9207 edit_group="shirt"
9208 edit_group_order="4"
9209 label_min="Tight Shirt"
9210 label_max="Loose Shirt"
9211 value_min="0"
9212 value_max="1"
9213 camera_distance="1.2"
9214 camera_angle="30"
9215 camera_elevation=".2">
9216 <param_driver>
9217 <driven
9218 id="628" />
9219
9220 <driven
9221 id="899"
9222 min1="0.1"
9223 max1="0.5"
9224 max2="1"
9225 min2="1" />
9226 </param_driver>
9227 </param>
9228
9229 <param
9230 id="816"
9231 group="0"
9232 name="Loose Lower Clothing"
9233 label="Pants Fit"
9234 show_simple="true"
9235 wearable="pants"
9236 edit_group="pants"
9237 edit_group_order="2.5"
9238 label_min="Tight Pants"
9239 label_max="Loose Pants"
9240 value_min="0"
9241 value_max="1"
9242 camera_distance="1.8"
9243 camera_angle="30"
9244 camera_elevation="-.3">
9245 <param_driver>
9246 <driven
9247 id="516" />
9248
9249 <driven
9250 id="913"
9251 min1="0.1"
9252 max1="0.5"
9253 max2="1"
9254 min2="1" />
9255 </param_driver>
9256 </param>
9257
9258 <param
9259 id="814"
9260 group="0"
9261 wearable="pants"
9262 edit_group="pants"
9263 edit_group_order="2"
9264 name="Waist Height"
9265 label_min="Low"
9266 label_max="High"
9267 value_min="0"
9268 value_max="1"
9269 value_default="1"
9270 camera_distance="1.2"
9271 camera_angle="30"
9272 camera_elevation="-.3">
9273 <param_driver>
9274 <driven
9275 id="614" />
9276
9277 <driven
9278 id="1017" />
9279
9280 <driven
9281 id="1035" />
9282
9283 <driven
9284 id="914"
9285 min1="0"
9286 max1=".98"
9287 max2="1"
9288 min2="1" />
9289 </param_driver>
9290 </param>
9291
9292 <param
9293 id="815"
9294 group="0"
9295 wearable="pants"
9296 edit_group="pants"
9297 edit_group_order="1"
9298 name="Pants Length"
9299 show_simple="true"
9300 label_min="Short"
9301 label_max="Long"
9302 value_min="0"
9303 value_max="1"
9304 value_default=".8"
9305 simple_percent_min="20"
9306 simple_percent_max="100"
9307 camera_distance="1.8"
9308 camera_angle="30"
9309 camera_elevation="-.3">
9310 <param_driver>
9311 <driven
9312 id="615"
9313 min1="0"
9314 max1=".9"
9315 max2="1"
9316 min2="1" />
9317
9318 <driven
9319 id="1018"
9320 min1="0"
9321 max1=".9"
9322 max2="1"
9323 min2="1" />
9324
9325 <driven
9326 id="1036"
9327 min1="0"
9328 max1=".9"
9329 max2="1"
9330 min2="1" />
9331
9332 <driven
9333 id="793"
9334 min1=".9"
9335 max1="1"
9336 max2="1"
9337 min2="1" />
9338
9339 <driven
9340 id="915"
9341 min1="0"
9342 max1=".882"
9343 max2="1"
9344 min2="1" />
9345 </param_driver>
9346 </param>
9347
9348 <param
9349 id="800"
9350 group="0"
9351 wearable="shirt"
9352 edit_group="shirt"
9353 edit_group_order="1"
9354 name="Sleeve Length"
9355 show_simple="true"
9356 label_min="Short"
9357 label_max="Long"
9358 value_min="0"
9359 value_max="1"
9360 value_default=".89"
9361 simple_percent_min="15"
9362 simple_percent_max="100"
9363 camera_distance="1.2"
9364 camera_angle="30"
9365 camera_elevation=".2">
9366 <param_driver>
9367 <driven
9368 id="600" />
9369
9370 <driven
9371 id="1013" />
9372
9373 <driven
9374 id="1029" />
9375
9376 <driven
9377 id="900"
9378 min1="0"
9379 max1="1"
9380 max2="1"
9381 min2="1" />
9382 </param_driver>
9383 </param>
9384
9385 <param
9386 id="801"
9387 group="0"
9388 wearable="shirt"
9389 edit_group="shirt"
9390 edit_group_order="2"
9391 name="Shirt Bottom"
9392 label_min="Short"
9393 label_max="Long"
9394 value_min="0"
9395 value_max="1"
9396 value_default="1"
9397 camera_distance="1.2"
9398 camera_angle="30"
9399 camera_elevation=".2">
9400 <param_driver>
9401 <driven
9402 id="601" />
9403
9404 <driven
9405 id="1014" />
9406
9407 <driven
9408 id="1030" />
9409
9410 <driven
9411 id="901"
9412 min1="0"
9413 max1=".98"
9414 max2="1"
9415 min2="1" />
9416 </param_driver>
9417 </param>
9418
9419 <param
9420 id="802"
9421 group="0"
9422 wearable="shirt"
9423 edit_group="shirt"
9424 edit_group_order="3"
9425 name="Collar Front"
9426 show_simple="true"
9427 label_min="Low"
9428 label_max="High"
9429 value_min="0"
9430 value_max="1"
9431 value_default=".78"
9432 simple_percent_min="40"
9433 simple_percent_max="100"
9434 camera_distance="1.2"
9435 camera_angle="15"
9436 camera_elevation=".2">
9437 <param_driver>
9438 <driven
9439 id="602" />
9440
9441 <driven
9442 id="1015" />
9443
9444 <driven
9445 id="1031" />
9446
9447 <driven
9448 id="902"
9449 min1="0"
9450 max1=".98"
9451 max2="1"
9452 min2="1" />
9453 </param_driver>
9454 </param>
9455
9456 <param
9457 id="781"
9458 group="0"
9459 wearable="shirt"
9460 edit_group="shirt"
9461 edit_group_order="3.1"
9462 name="Collar Back"
9463 label_min="Low"
9464 label_max="High"
9465 value_min="0"
9466 value_max="1"
9467 value_default=".78"
9468 camera_distance="1.2"
9469 camera_angle="195"
9470 camera_elevation=".2">
9471 <param_driver>
9472 <driven
9473 id="778" />
9474
9475 <driven
9476 id="1016" />
9477
9478 <driven
9479 id="1032" />
9480
9481 <driven
9482 id="903"
9483 min1="0"
9484 max1=".98"
9485 max2="1"
9486 min2="1" />
9487 </param_driver>
9488 </param>
9489
9490 <param
9491 id="150"
9492 group="0"
9493 wearable="skin"
9494 edit_group="skin_bodydetail"
9495 name="Body Definition"
9496 label_min="Less"
9497 label_max="More"
9498 value_min="0"
9499 value_max="1"
9500 value_default="0"
9501 camera_distance="1.4"
9502 camera_elevation="-.2">
9503 <param_driver>
9504 <driven
9505 id="125" />
9506
9507 <driven
9508 id="126" />
9509
9510 <driven
9511 id="160" />
9512
9513 <driven
9514 id="161" />
9515
9516 <driven
9517 id="874" />
9518
9519 <driven
9520 id="878" />
9521
9522 </param_driver>
9523 </param>
9524
9525 <param
9526 id="775"
9527 group="0"
9528 wearable="skin"
9529 edit_group="skin_bodydetail"
9530 name="Body Freckles"
9531 label_min="Less Freckles"
9532 label_max="More Freckles"
9533 value_min="0"
9534 value_max="1"
9535 value_default="0"
9536 camera_distance="1.4"
9537 camera_elevation="-.2">
9538 <param_driver>
9539 <driven
9540 id="776" />
9541
9542 <driven
9543 id="777" />
9544 </param_driver>
9545 </param>
9546
9547 <param
9548 id="162"
9549 group="0"
9550 wearable="skin"
9551 edit_group="skin_facedetail"
9552 edit_group_order="1"
9553 name="Facial Definition"
9554 label_min="Less"
9555 label_max="More"
9556 value_min="0"
9557 value_max="1"
9558 camera_distance=".3"
9559 camera_elevation=".07"
9560 value_default="0">
9561 <param_driver>
9562 <driven
9563 id="158" />
9564
9565 <driven
9566 id="159" />
9567
9568 <driven
9569 id="873" />
9570 </param_driver>
9571 </param>
9572
9573 <param
9574 id="163"
9575 group="0"
9576 wearable="skin"
9577 edit_group="skin_facedetail"
9578 edit_group_order="3"
9579 name="Wrinkles"
9580 label_min="Less"
9581 label_max="More"
9582 value_min="0"
9583 value_max="1"
9584 camera_distance=".3"
9585 camera_elevation=".07"
9586 value_default="0">
9587 <param_driver>
9588 <!--<driven
9589 id="128" />-->
9590 <driven
9591 id="118" />
9592 </param_driver>
9593 </param>
9594
9595 <param
9596 id="505"
9597 group="0"
9598 wearable="shape"
9599 edit_group="shape_mouth"
9600 edit_group_order="3"
9601 name="Lip Thickness"
9602 label_min="Thin Lips"
9603 label_max="Fat Lips"
9604 value_min="0"
9605 value_max="1"
9606 value_default=".5"
9607 camera_distance=".3"
9608 camera_elevation=".04"
9609 camera_angle="20">
9610 <param_driver>
9611 <driven
9612 id="26"
9613 min1="0"
9614 max1="0"
9615 max2="0"
9616 min2=".5" />
9617
9618 <driven
9619 id="28"
9620 min1=".5"
9621 max1="1"
9622 max2="1"
9623 min2="1" />
9624 </param_driver>
9625 </param>
9626
9627 <param
9628 id="799"
9629 group="0"
9630 wearable="shape"
9631 edit_group="shape_mouth"
9632 edit_group_order="3.2"
9633 name="Lip Ratio"
9634 label="Lip Ratio"
9635 show_simple="true"
9636 label_min="More Upper Lip"
9637 label_max="More Lower Lip"
9638 value_min="0"
9639 value_max="1"
9640 value_default=".5"
9641 camera_distance=".3"
9642 camera_elevation=".04"
9643 camera_angle="20">
9644 <param_driver>
9645 <driven
9646 id="797"
9647 min1="0"
9648 max1="0"
9649 max2="0"
9650 min2=".5" />
9651
9652 <driven
9653 id="798"
9654 min1=".5"
9655 max1="1"
9656 max2="1"
9657 min2="1" />
9658 </param_driver>
9659 </param>
9660
9661 <param
9662 id="155"
9663 group="0"
9664 wearable="shape"
9665 edit_group="shape_mouth"
9666 edit_group_order="1"
9667 name="Lip Width"
9668 label="Lip Width"
9669 label_min="Narrow Lips"
9670 label_max="Wide Lips"
9671 show_simple="true"
9672 value_min="-0.9"
9673 value_max="1.3"
9674 camera_distance=".3"
9675 camera_elevation=".04"
9676 value_default="0">
9677 <param_driver>
9678 <driven
9679 id="29" />
9680
9681 <driven
9682 id="30" />
9683 </param_driver>
9684 </param>
9685
9686 <param
9687 id="196"
9688 group="0"
9689 wearable="shape"
9690 edit_group="shape_eyes"
9691 edit_group_order="2"
9692 name="Eye Spacing"
9693 label="Eye Spacing"
9694 label_min="Close Set Eyes"
9695 label_max="Far Set Eyes"
9696 show_simple="true"
9697 value_min="-2"
9698 value_max="1"
9699 value_default="0"
9700 camera_elevation=".1"
9701 camera_distance=".35"
9702 camera_angle="5">
9703 <param_driver>
9704 <driven
9705 id="194" />
9706
9707 <driven
9708 id="195" />
9709 </param_driver>
9710 </param>
9711
9712 <param
9713 id="769"
9714 group="0"
9715 wearable="shape"
9716 edit_group="shape_eyes"
9717 edit_group_order="4.5"
9718 name="Eye Depth"
9719 label_min="Sunken Eyes"
9720 label_max="Bugged Eyes"
9721 value_min="0"
9722 value_max="1"
9723 value_default=".5"
9724 camera_elevation=".1"
9725 camera_distance=".3"
9726 camera_angle="75">
9727 <param_driver>
9728 <driven
9729 id="767" />
9730
9731 <driven
9732 id="768" />
9733 </param_driver>
9734 </param>
9735
9736 <param
9737 id="198"
9738 group="0"
9739 wearable="shoes"
9740 edit_group="shoes"
9741 edit_group_order="2"
9742 name="Heel Height"
9743 label_min="Low Heels"
9744 label_max="High Heels"
9745 value_min="0"
9746 value_max="1"
9747 value_default="0"
9748 camera_angle="45"
9749 camera_distance=".8"
9750 camera_elevation="-1">
9751 <param_driver>
9752 <driven
9753 id="197" />
9754
9755 <driven
9756 id="500" />
9757 </param_driver>
9758 </param>
9759
9760 <param
9761 id="513"
9762 group="0"
9763 wearable="shoes"
9764 edit_group="shoes"
9765 edit_group_order="3"
9766 name="Heel Shape"
9767 label_min="Pointy Heels"
9768 label_max="Thick Heels"
9769 value_min="0"
9770 value_max="1"
9771 value_default=".5"
9772 camera_angle="45"
9773 camera_distance="1.5"
9774 camera_elevation="-1">
9775 <param_driver>
9776 <driven
9777 id="509"
9778 min1="0"
9779 max1="0"
9780 max2="0"
9781 min2=".5" />
9782
9783 <driven
9784 id="510"
9785 min1=".5"
9786 max1="1"
9787 max2="1"
9788 min2="1" />
9789 </param_driver>
9790 </param>
9791
9792 <param
9793 id="514"
9794 group="0"
9795 wearable="shoes"
9796 edit_group="shoes"
9797 edit_group_order="4"
9798 name="Toe Shape"
9799 label_min="Pointy"
9800 label_max="Square"
9801 value_min="0"
9802 value_max="1"
9803 value_default=".5"
9804 camera_angle="5"
9805 camera_distance=".8"
9806 camera_elevation="-.8">
9807 <param_driver>
9808 <driven
9809 id="511"
9810 min1="0"
9811 max1="0"
9812 max2="0"
9813 min2=".5" />
9814
9815 <driven
9816 id="512"
9817 min1=".5"
9818 max1="1"
9819 max2="1"
9820 min2="1" />
9821 </param_driver>
9822 </param>
9823
9824 <param
9825 id="503"
9826 group="0"
9827 wearable="shoes"
9828 edit_group="shoes"
9829 edit_group_order="6"
9830 name="Platform Height"
9831 label_min="Low Platforms"
9832 label_max="High Platforms"
9833 value_min="0"
9834 value_max="1"
9835 value_default="0"
9836 camera_angle="45"
9837 camera_distance=".5"
9838 camera_elevation="-1">
9839 <param_driver>
9840 <driven
9841 id="501" />
9842
9843 <driven
9844 id="502" />
9845 </param_driver>
9846 </param>
9847
9848 <param
9849 id="193"
9850 group="0"
9851 wearable="shape"
9852 edit_group="shape_head"
9853 edit_group_order="3"
9854 name="Head Shape"
9855 label="Head Shape"
9856 label_min="More Square"
9857 label_max="More Round"
9858 show_simple="true"
9859 value_min="0"
9860 value_max="1"
9861 value_default=".5"
9862 camera_elevation=".1"
9863 camera_distance=".5"
9864 camera_angle="20">
9865 <param_driver>
9866 <driven
9867 id="188"
9868 min1="0"
9869 max1="0"
9870 max2="0"
9871 min2=".5" />
9872
9873 <driven
9874 id="642"
9875 min1="0"
9876 max1="0"
9877 max2="0"
9878 min2=".5" />
9879
9880 <driven
9881 id="189"
9882 min1=".5"
9883 max1="1"
9884 max2="1"
9885 min2="1" />
9886
9887 <driven
9888 id="643"
9889 min1=".5"
9890 max1="1"
9891 max2="1"
9892 min2="1" />
9893 </param_driver>
9894 </param>
9895
9896 <param
9897 id="157"
9898 group="0"
9899 wearable="shape"
9900 edit_group="shape_torso"
9901 edit_group_order="13"
9902 name="Belly Size"
9903 label_min="Small"
9904 label_max="Big"
9905 value_min="0"
9906 value_max="1"
9907 value_default="0"
9908 camera_distance="1.4"
9909 camera_angle="30"
9910 camera_elevation=".2">
9911 <param_driver>
9912 <driven
9913 id="104" />
9914
9915 <driven
9916 id="156" />
9917
9918 <driven
9919 id="849" />
9920 </param_driver>
9921 </param>
9922
9923 <param
9924 id="637"
9925 group="0"
9926 wearable="shape"
9927 edit_group="shape_body"
9928 edit_group_order="3"
9929 name="Body Fat"
9930 label_min="Less Body Fat"
9931 label_max="More Body Fat"
9932 value_min="0"
9933 value_max="1"
9934 value_default="0"
9935 camera_distance="1.8">
9936 <param_driver>
9937 <driven
9938 id="633" />
9939
9940 <driven
9941 id="634" />
9942
9943 <driven
9944 id="635" />
9945
9946 <driven
9947 id="851" />
9948 </param_driver>
9949 </param>
9950
9951 <param
9952 id="130"
9953 group="0"
9954 wearable="hair"
9955 edit_group="hair_style"
9956 edit_group_order="8"
9957 name="Front Fringe"
9958 label_min="Short"
9959 label_max="Long"
9960 value_min="0"
9961 value_max="1"
9962 value_default=".45"
9963 camera_elevation=".1"
9964 camera_distance=".5"
9965 camera_angle="20">
9966 <param_driver>
9967 <driven
9968 id="144"
9969 min1="0"
9970 max1="0"
9971 max2="0"
9972 min2=".5" />
9973
9974 <driven
9975 id="145"
9976 min1=".5"
9977 max1="1"
9978 max2="1"
9979 min2="1" />
9980 </param_driver>
9981 </param>
9982
9983 <param
9984 id="131"
9985 group="0"
9986 wearable="hair"
9987 edit_group="hair_style"
9988 edit_group_order="9"
9989 name="Side Fringe"
9990 label_min="Short"
9991 label_max="Long"
9992 value_min="0"
9993 value_max="1"
9994 value_default=".5"
9995 camera_elevation=".1"
9996 camera_distance=".5"
9997 camera_angle="90">
9998 <param_driver>
9999 <driven
10000 id="146"
10001 min1="0"
10002 max1="0"
10003 max2="0"
10004 min2=".5" />
10005
10006 <driven
10007 id="147"
10008 min1=".5"
10009 max1="1"
10010 max2="1"
10011 min2="1" />
10012 </param_driver>
10013 </param>
10014
10015 <param
10016 id="132"
10017 group="0"
10018 wearable="hair"
10019 edit_group="hair_style"
10020 edit_group_order="10"
10021 name="Back Fringe"
10022 label_min="Short"
10023 label_max="Long"
10024 value_min="0"
10025 value_max="1"
10026 value_default=".39"
10027 camera_elevation=".1"
10028 camera_distance=".5"
10029 camera_angle="160">
10030 <param_driver>
10031 <driven
10032 id="148"
10033 min1="0"
10034 max1="0"
10035 max2="0"
10036 min2=".5" />
10037
10038 <driven
10039 id="149"
10040 min1=".5"
10041 max1="1"
10042 max2="1"
10043 min2="1" />
10044 </param_driver>
10045 </param>
10046
10047 <param
10048 id="133"
10049 group="0"
10050 wearable="hair"
10051 edit_group="hair_style"
10052 edit_group_order="2"
10053 name="Hair Front"
10054 label_min="Short"
10055 label_max="Long"
10056 value_min="0"
10057 value_max="1"
10058 value_default=".25"
10059 camera_elevation=".1"
10060 camera_distance=".5"
10061 camera_angle="20">
10062 <param_driver>
10063 <driven
10064 id="172"
10065 min1="0"
10066 max1="0"
10067 max2="0"
10068 min2=".5" />
10069
10070 <driven
10071 id="171"
10072 min1=".5"
10073 max1="1"
10074 max2="1"
10075 min2="1" />
10076 </param_driver>
10077 </param>
10078
10079 <param
10080 id="134"
10081 group="0"
10082 wearable="hair"
10083 edit_group="hair_style"
10084 edit_group_order="3"
10085 name="Hair Sides"
10086 label_min="Short"
10087 label_max="Long"
10088 value_min="0"
10089 value_max="1"
10090 value_default=".5"
10091 camera_elevation=".1"
10092 camera_distance=".5"
10093 camera_angle="90">
10094 <param_driver>
10095 <driven
10096 id="174"
10097 min1="0"
10098 max1="0"
10099 max2="0"
10100 min2=".5" />
10101
10102 <driven
10103 id="173"
10104 min1=".5"
10105 max1="1"
10106 max2="1"
10107 min2="1" />
10108 </param_driver>
10109 </param>
10110
10111 <param
10112 id="135"
10113 group="0"
10114 wearable="hair"
10115 edit_group="hair_style"
10116 edit_group_order="4"
10117 name="Hair Back"
10118 show_simple="true"
10119 label_min="Short"
10120 label_max="Long"
10121 value_min="0"
10122 value_max="1"
10123 value_default=".55"
10124 camera_elevation="-.1"
10125 camera_distance=".8"
10126 camera_angle="160">
10127 <param_driver>
10128 <driven
10129 id="176"
10130 min1="0"
10131 max1="0"
10132 max2="0"
10133 min2=".5" />
10134
10135 <driven
10136 id="175"
10137 min1=".5"
10138 max1="1"
10139 max2="1"
10140 min2="1" />
10141 </param_driver>
10142 </param>
10143
10144 <param
10145 id="136"
10146 group="0"
10147 wearable="hair"
10148 edit_group="hair_style"
10149 edit_group_order="11.5"
10150 name="Hair Sweep"
10151 label_min="Sweep Forward"
10152 label_max="Sweep Back"
10153 value_min="0"
10154 value_max="1"
10155 value_default=".5"
10156 camera_elevation=".1"
10157 camera_distance=".5"
10158 camera_angle="90">
10159 <param_driver>
10160 <driven
10161 id="179"
10162 min1="0"
10163 max1="0"
10164 max2="0"
10165 min2=".5" />
10166
10167 <driven
10168 id="178"
10169 min1=".5"
10170 max1="1"
10171 max2="1"
10172 min2="1" />
10173 </param_driver>
10174 </param>
10175
10176 <param
10177 id="137"
10178 group="0"
10179 wearable="hair"
10180 edit_group="hair_style"
10181 edit_group_order="16"
10182 name="Hair Tilt"
10183 label_min="Left"
10184 label_max="Right"
10185 value_min="0"
10186 value_max="1"
10187 value_default=".5"
10188 camera_elevation=".1"
10189 camera_distance=".5"
10190 camera_angle="0">
10191 <param_driver>
10192 <driven
10193 id="190"
10194 min1="0"
10195 max1="0"
10196 max2="0"
10197 min2=".5" />
10198
10199 <driven
10200 id="191"
10201 min1=".5"
10202 max1="1"
10203 max2="1"
10204 min2="1" />
10205 </param_driver>
10206 </param>
10207
10208 <param
10209 id="608"
10210 group="0"
10211 wearable="jacket"
10212 edit_group="jacket"
10213 edit_group_order="2"
10214 name="bottom length lower"
10215 label="Jacket Length"
10216 label_min="Short"
10217 label_max="Long"
10218 value_min="0"
10219 value_max="1"
10220 value_default=".8"
10221 camera_distance="1.4"
10222 camera_angle="30"
10223 camera_elevation=".2">
10224 <param_driver>
10225 <driven
10226 id="620" />
10227
10228 <driven
10229 id="1025" />
10230
10231 <driven
10232 id="1037" />
10233
10234 <driven
10235 id="621" />
10236
10237 <driven
10238 id="1027" />
10239
10240 <driven
10241 id="1033" />
10242 </param_driver>
10243 </param>
10244
10245 <param
10246 id="609"
10247 group="0"
10248 wearable="jacket"
10249 edit_group="jacket"
10250 edit_group_order="4"
10251 name="open jacket"
10252 label="Open Front"
10253 label_min="Open"
10254 label_max="Closed"
10255 value_min="0"
10256 value_max="1"
10257 value_default=".2"
10258 camera_distance="1.4"
10259 camera_angle="30"
10260 camera_elevation=".2">
10261 <param_driver>
10262 <driven
10263 id="622" />
10264
10265 <driven
10266 id="1026" />
10267
10268 <driven
10269 id="1038" />
10270
10271 <driven
10272 id="623" />
10273
10274 <driven
10275 id="1028" />
10276
10277 <driven
10278 id="1034" />
10279 </param_driver>
10280 </param>
10281
10282 <param
10283 id="105"
10284 group="0"
10285 sex="female"
10286 wearable="shape"
10287 edit_group="shape_torso"
10288 edit_group_order="6"
10289 name="Breast Size"
10290 label_min="Small"
10291 label_max="Large"
10292 value_min="0"
10293 value_max="1"
10294 value_default=".5"
10295 camera_elevation=".3"
10296 camera_distance="1.2"
10297 camera_angle="30">
10298 <param_driver>
10299 <driven
10300 id="843"
10301 min1="0"
10302 max1="0"
10303 max2="0"
10304 min2=".01" />
10305
10306 <driven
10307 id="627"
10308 min1="0"
10309 max1="0.01"
10310 max2="0.01"
10311 min2=".5" />
10312
10313 <driven
10314 id="626"
10315 min1=".5"
10316 max1="1"
10317 max2="1"
10318 min2="1" />
10319 </param_driver>
10320 </param>
10321
10322 <param
10323 id="629"
10324 group="0"
10325 wearable="shape"
10326 edit_group="shape_head"
10327 edit_group_order="6"
10328 name="Forehead Angle"
10329 label_min="More Vertical"
10330 label_max="More Sloped"
10331 value_min="0"
10332 value_max="1"
10333 value_default=".5"
10334 camera_elevation=".1"
10335 camera_distance=".5"
10336 camera_angle="70">
10337 <param_driver>
10338 <driven
10339 id="630"
10340 min1="0"
10341 max1="0"
10342 max2="0"
10343 min2=".5" />
10344
10345 <driven
10346 id="644"
10347 min1="0"
10348 max1="0"
10349 max2="0"
10350 min2=".5" />
10351
10352 <driven
10353 id="631"
10354 min1=".5"
10355 max1="1"
10356 max2="1"
10357 min2="1" />
10358
10359 <driven
10360 id="645"
10361 min1=".5"
10362 max1="1"
10363 max2="1"
10364 min2="1" />
10365 </param_driver>
10366 </param>
10367
10368 <param
10369 id="646"
10370 group="0"
10371 name="Egg_Head"
10372 label="Egg Head"
10373 wearable="shape"
10374 edit_group="shape_head"
10375 edit_group_order="4"
10376 label_min="Chin Heavy"
10377 label_max="Forehead Heavy"
10378 show_simple="true"
10379 value_min="-1.3"
10380 value_max="1"
10381 value_default="0"
10382 camera_elevation=".1"
10383 camera_distance=".5"
10384 camera_angle="20">
10385 <param_driver>
10386 <driven
10387 id="640" />
10388
10389 <driven
10390 id="186" />
10391 </param_driver>
10392 </param>
10393
10394 <param
10395 id="647"
10396 group="0"
10397 name="Squash_Stretch_Head"
10398 label="Head Stretch"
10399 wearable="shape"
10400 edit_group="shape_head"
10401 edit_group_order="2"
10402 show_simple="true"
10403 label_min="Squash Head"
10404 label_max="Stretch Head"
10405 value_min="-0.5"
10406 value_max="1"
10407 value_default="0"
10408 camera_elevation=".1"
10409 camera_distance=".5"
10410 camera_angle="20">
10411 <param_driver>
10412 <driven
10413 id="641" />
10414
10415 <driven
10416 id="187" />
10417 </param_driver>
10418 </param>
10419
10420 <param
10421 id="649"
10422 group="0"
10423 sex="female"
10424 wearable="shape"
10425 edit_group="shape_torso"
10426 edit_group_order="1.1"
10427 name="Torso Muscles"
10428 label="Torso Muscles"
10429 show_simple="true"
10430 label_min="Less Muscular"
10431 label_max="More Muscular"
10432 value_min="0"
10433 value_max="1"
10434 value_default=".5"
10435 camera_elevation=".1"
10436 camera_distance="1"
10437 camera_angle="15">
10438 <param_driver>
10439 <driven
10440 id="648"
10441 min1="0"
10442 max1="0"
10443 max2="0"
10444 min2=".5" />
10445
10446 <driven
10447 id="106"
10448 min1=".5"
10449 max1="1"
10450 max2="1"
10451 min2="1" />
10452 </param_driver>
10453 </param>
10454
10455 <param
10456 id="678"
10457 group="0"
10458 sex="male"
10459 wearable="shape"
10460 edit_group="shape_torso"
10461 edit_group_order="1"
10462 name="Torso Muscles"
10463 show_simple="true"
10464 label_min="Less Muscular"
10465 label_max="More Muscular"
10466 value_min="0"
10467 value_max="1"
10468 value_default=".5"
10469 camera_elevation=".1"
10470 camera_distance="1.2"
10471 camera_angle="0">
10472 <param_driver>
10473 <driven
10474 id="677"
10475 min1="0"
10476 max1="0"
10477 max2="0"
10478 min2=".5" />
10479
10480 <driven
10481 id="106"
10482 min1=".5"
10483 max1="1"
10484 max2="1"
10485 min2="1" />
10486 </param_driver>
10487 </param>
10488
10489 <param
10490 id="652"
10491 group="0"
10492 wearable="shape"
10493 edit_group="shape_legs"
10494 edit_group_order="1"
10495 name="Leg Muscles"
10496 label_min="Less Muscular"
10497 label_max="More Muscular"
10498 show_simple="true"
10499 value_min="0"
10500 value_max="1"
10501 value_default=".5"
10502 camera_distance="1.3"
10503 camera_elevation="-.5"
10504 camera_angle="15">
10505 <param_driver>
10506 <driven
10507 id="651"
10508 min1="0"
10509 max1="0"
10510 max2="0"
10511 min2=".5" />
10512
10513 <driven
10514 id="152"
10515 min1=".5"
10516 max1="1"
10517 max2="1"
10518 min2="1" />
10519 </param_driver>
10520 </param>
10521
10522 <param
10523 id="80"
10524 name="male"
10525 group="0"
10526 edit_group="dummy"
10527 wearable="shape"
10528 value_min="0"
10529 value_max="1">
10530 <param_driver>
10531 <driven
10532 id="32" />
10533
10534 <driven
10535 id="153" />
10536
10537 <driven
10538 id="40" />
10539
10540 <driven
10541 id="100" />
10542
10543 <driven
10544 id="857" />
10545 </param_driver>
10546 </param>
10547
10548 <param
10549 id="659"
10550 group="0"
10551 wearable="shape"
10552 edit_group="shape_mouth"
10553 edit_group_order="5"
10554 name="Mouth Corner"
10555 label_min="Corner Down"
10556 label_max="Corner Up"
10557 value_min="0"
10558 value_max="1"
10559 value_default=".5"
10560 camera_elevation="0"
10561 camera_distance=".28">
10562 <param_driver>
10563 <driven
10564 id="658"
10565 min1="0"
10566 max1="0"
10567 max2="0"
10568 min2=".5" />
10569
10570 <driven
10571 id="657"
10572 min1=".5"
10573 max1="1"
10574 max2="1"
10575 min2="1" />
10576 </param_driver>
10577 </param>
10578
10579 <param
10580 id="662"
10581 group="0"
10582 wearable="shape"
10583 edit_group="shape_head"
10584 edit_group_order="5"
10585 name="Face Shear"
10586 label_min="Shear Right Up"
10587 label_max="Shear Left Up"
10588 value_min="0"
10589 value_max="1"
10590 value_default=".5"
10591 camera_elevation=".1"
10592 camera_distance=".5">
10593 <param_driver>
10594 <driven
10595 id="660" />
10596
10597 <driven
10598 id="661" />
10599
10600 <driven
10601 id="774" />
10602 </param_driver>
10603 </param>
10604
10605 <param
10606 id="773"
10607 group="0"
10608 wearable="shape"
10609 edit_group="shape_head"
10610 edit_group_order="4.5"
10611 name="Head Length"
10612 label_min="Flat Head"
10613 label_max="Long Head"
10614 value_min="0"
10615 value_max="1"
10616 value_default=".5"
10617 camera_elevation=".1"
10618 camera_distance=".5"
10619 camera_angle="75">
10620 <param_driver>
10621 <driven
10622 id="770" />
10623
10624 <driven
10625 id="771" />
10626
10627 <driven
10628 id="772" />
10629 </param_driver>
10630 </param>
10631
10632 <param
10633 id="682"
10634 group="0"
10635 wearable="shape"
10636 edit_group="shape_head"
10637 edit_group_order="1"
10638 name="Head Size"
10639 label="Head Size"
10640 label_min="Small Head"
10641 label_max="Big Head"
10642 show_simple="true"
10643 value_min="0"
10644 value_max="1"
10645 value_default=".5"
10646 camera_elevation=".1"
10647 camera_distance=".5">
10648 <param_driver>
10649 <driven
10650 id="679" />
10651
10652 <driven
10653 id="694" />
10654
10655 <driven
10656 id="680" />
10657
10658 <driven
10659 id="681" />
10660
10661 <driven
10662 id="655" />
10663 </param_driver>
10664 </param>
10665
10666 <param
10667 id="690"
10668 group="0"
10669 wearable="shape"
10670 edit_group="shape_eyes"
10671 edit_group_order="1"
10672 name="Eye Size"
10673 label="Eye Size"
10674 label_min="Beady Eyes"
10675 label_max="Anime Eyes"
10676 value_min="0"
10677 value_max="1"
10678 value_default=".5"
10679 show_simple="true"
10680 camera_elevation=".1"
10681 camera_distance=".35">
10682 <param_driver>
10683 <driven
10684 id="686" />
10685
10686 <driven
10687 id="687" />
10688
10689 <driven
10690 id="695" />
10691
10692 <driven
10693 id="688" />
10694
10695 <driven
10696 id="691" />
10697
10698 <driven
10699 id="689" />
10700 </param_driver>
10701 </param>
10702
10703 <param
10704 id="752"
10705 group="0"
10706 sex="male"
10707 wearable="hair"
10708 edit_group="hair_facial"
10709 edit_group_order="1"
10710 name="Hair Thickness"
10711 label_min="5 O'Clock Shadow"
10712 label_max="Bushy Hair"
10713 value_min="0"
10714 value_max="1"
10715 value_default=".5"
10716 camera_elevation="0"
10717 camera_distance=".28">
10718 <param_driver>
10719 <driven
10720 id="751"
10721 min1="0"
10722 max1="0"
10723 max2="0"
10724 min2=".2" />
10725
10726 <driven
10727 id="1012"
10728 min1="0"
10729 max1="0"
10730 max2=".2"
10731 min2=".6" />
10732
10733 <driven
10734 id="400"
10735 min1=".2"
10736 max1="1"
10737 max2="1"
10738 min2="1" />
10739 </param_driver>
10740 </param>
10741
10742 <param
10743 id="763"
10744 group="0"
10745 wearable="hair"
10746 edit_group="hair_style"
10747 edit_group_order="1"
10748 name="Hair Volume"
10749 show_simple="true"
10750 label_min="Less Volume"
10751 label_max="More Volume"
10752 value_min="0"
10753 value_max="1"
10754 value_default=".55"
10755 camera_elevation=".1"
10756 camera_distance=".5"
10757 camera_angle="20">
10758 <param_driver>
10759 <driven
10760 id="761"
10761 min1="0"
10762 max1="0"
10763 max2="0"
10764 min2=".5" />
10765
10766 <driven
10767 id="180"
10768 min1=".5"
10769 max1="1"
10770 max2="1"
10771 min2="1" />
10772 </param_driver>
10773 </param>
10774
10775 <param
10776 id="834"
10777 group="0"
10778 wearable="jacket"
10779 edit_group="colorpicker"
10780 name="jacket_red"
10781 value_min="0"
10782 value_max="1"
10783 value_default="1">
10784 <param_driver>
10785 <driven
10786 id="809"
10787 min1="0"
10788 max1="1"
10789 max2="1"
10790 min2="1" />
10791
10792 <driven
10793 id="831"
10794 min1="0"
10795 max1="1"
10796 max2="1"
10797 min2="1" />
10798 </param_driver>
10799 </param>
10800
10801 <param
10802 id="835"
10803 group="0"
10804 wearable="jacket"
10805 edit_group="colorpicker"
10806 name="jacket_green"
10807 value_min="0"
10808 value_max="1"
10809 value_default="1">
10810 <param_driver>
10811 <driven
10812 id="810"
10813 min1="0"
10814 max1="1"
10815 max2="1"
10816 min2="1" />
10817
10818 <driven
10819 id="832"
10820 min1="0"
10821 max1="1"
10822 max2="1"
10823 min2="1" />
10824 </param_driver>
10825 </param>
10826
10827 <param
10828 id="836"
10829 group="0"
10830 wearable="jacket"
10831 edit_group="colorpicker"
10832 name="jacket_blue"
10833 value_min="0"
10834 value_max="1"
10835 value_default="1">
10836 <param_driver>
10837 <driven
10838 id="811"
10839 min1="0"
10840 max1="1"
10841 max2="1"
10842 min2="1" />
10843
10844 <driven
10845 id="833"
10846 min1="0"
10847 max1="1"
10848 max2="1"
10849 min2="1" />
10850 </param_driver>
10851 </param>
10852
10853 <param
10854 id="785"
10855 group="0"
10856 wearable="hair"
10857 edit_group="hair_style"
10858 edit_group_order="14.6"
10859 name="Pigtails"
10860 show_simple="true"
10861 label_min="Short Pigtails"
10862 label_max="Long Pigtails"
10863 value_min="0"
10864 value_max="1"
10865 value_default="0"
10866 camera_elevation=".1"
10867 camera_distance=".5"
10868 camera_angle="15">
10869 <param_driver>
10870 <driven
10871 id="782"
10872 min1="0"
10873 max1=".10"
10874 max2=".10"
10875 min2=".5" />
10876
10877 <driven
10878 id="783"
10879 min1=".10"
10880 max1=".5"
10881 max2=".5"
10882 min2=".75" />
10883
10884 <driven
10885 id="790"
10886 min1=".5"
10887 max1=".75"
10888 max2=".75"
10889 min2="1" />
10890
10891 <driven
10892 id="784"
10893 min1=".75"
10894 max1="1"
10895 max2="1"
10896 min2="1" />
10897 </param_driver>
10898 </param>
10899
10900 <param
10901 id="789"
10902 group="0"
10903 wearable="hair"
10904 edit_group="hair_style"
10905 edit_group_order="14.7"
10906 name="Ponytail"
10907 label_min="Short Ponytail"
10908 label_max="Long Ponytail"
10909 value_min="0"
10910 value_max="1"
10911 value_default="0"
10912 camera_elevation=".1"
10913 camera_distance=".5"
10914 camera_angle="180">
10915 <param_driver>
10916 <driven
10917 id="786"
10918 min1="0"
10919 max1=".10"
10920 max2=".10"
10921 min2=".66" />
10922
10923 <driven
10924 id="787"
10925 min1=".10"
10926 max1=".66"
10927 max2=".66"
10928 min2="1" />
10929
10930 <driven
10931 id="788"
10932 min1=".66"
10933 max1="1"
10934 max2="1"
10935 min2="1" />
10936 </param_driver>
10937 </param>
10938
10939 <param
10940 id="795"
10941 group="0"
10942 name="Butt Size"
10943 label="Butt Size"
10944 wearable="shape"
10945 edit_group="shape_legs"
10946 edit_group_order="4"
10947 label_min="Flat Butt"
10948 label_max="Big Butt"
10949 value_min="0"
10950 value_max="1"
10951 value_default=".25"
10952 camera_angle="180"
10953 camera_distance=".6">
10954 <param_driver>
10955 <driven
10956 id="867"
10957 min1="0"
10958 max1="0"
10959 max2="0"
10960 min2=".3" />
10961
10962 <driven
10963 id="794"
10964 min1="0"
10965 max1="0"
10966 max2="0"
10967 min2=".3" />
10968
10969 <driven
10970 id="151"
10971 min1=".3"
10972 max1="1"
10973 max2="1"
10974 min2="1" />
10975
10976 <driven
10977 id="852"
10978 min1=".3"
10979 max1="1"
10980 max2="1"
10981 min2="1" />
10982 </param_driver>
10983 </param>
10984
10985 <param
10986 id="841"
10987 group="0"
10988 name="Bowed_Legs"
10989 label="Knee Angle"
10990 wearable="shape"
10991 edit_group_order="5.5"
10992 edit_group="shape_legs"
10993 label_min="Knock Kneed"
10994 label_max="Bow Legged"
10995 value_min="-1"
10996 value_max="1"
10997 value_default="0"
10998 camera_distance="1.3"
10999 camera_elevation="-.5">
11000 <param_driver>
11001 <driven
11002 id="853" />
11003
11004 <driven
11005 id="847" />
11006 </param_driver>
11007 </param>
11008
11009 <param
11010 id="753"
11011 group="0"
11012 name="Saddlebags"
11013 label="Saddle Bags"
11014 wearable="shape"
11015 edit_group="shape_legs"
11016 edit_group_order="5"
11017 label_min="Less Saddle"
11018 label_max="More Saddle"
11019 value_min="-0.5"
11020 value_max="3"
11021 value_default="0"
11022 camera_angle="0"
11023 camera_distance="1.2">
11024 <param_driver>
11025 <driven
11026 id="850" />
11027
11028 <driven
11029 id="854" />
11030 </param_driver>
11031 </param>
11032
11033 <param
11034 id="676"
11035 group="0"
11036 name="Love_Handles"
11037 label="Love Handles"
11038 wearable="shape"
11039 edit_group="shape_torso"
11040 edit_group_order="12"
11041 label_min="Less Love"
11042 label_max="More Love"
11043 value_min="-1"
11044 value_max="2"
11045 value_default="0"
11046 camera_elevation=".3"
11047 camera_distance=".9">
11048 <param_driver>
11049 <driven
11050 id="855" />
11051
11052 <driven
11053 id="856" />
11054 </param_driver>
11055 </param>
11056
11057 <param
11058 id="863"
11059 group="0"
11060 name="skirt_looseness"
11061 label="Skirt Fit"
11062 show_simple="true"
11063 clothing_morph="true"
11064 wearable="skirt"
11065 edit_group_order="2"
11066 edit_group="skirt"
11067 label_min="Tight Skirt"
11068 label_max="Poofy Skirt"
11069 value_min="0"
11070 value_max="1"
11071 value_default=".333"
11072 camera_distance="1.3"
11073 camera_elevation="-.5">
11074 <param_driver>
11075 <driven
11076 id="866"
11077 min1="0"
11078 max1="0"
11079 max2="0"
11080 min2=".2" />
11081
11082 <driven
11083 id="846"
11084 min1="0"
11085 max1=".5"
11086 max2=".5"
11087 min2="1" />
11088
11089 <driven
11090 id="845"
11091 min1=".5"
11092 max1="1"
11093 max2="1"
11094 min2="1" />
11095 </param_driver>
11096 </param>
11097
11098 <param
11099 id="119"
11100 group="0"
11101 wearable="hair"
11102 edit_group="hair_eyebrows"
11103 edit_group_order="1"
11104 name="Eyebrow Size"
11105 show_simple="true"
11106 label_min="Thin Eyebrows"
11107 label_max="Bushy Eyebrows"
11108 value_min="0"
11109 value_max="1"
11110 value_default="0.5"
11111 camera_elevation=".1"
11112 camera_distance=".3">
11113 <param_driver>
11114 <driven
11115 id="1000" />
11116
11117 <driven
11118 id="1001" />
11119 </param_driver>
11120 </param>
11121
11122 <param
11123 id="750"
11124 group="0"
11125 wearable="hair"
11126 edit_group="hair_eyebrows"
11127 edit_group_order="2"
11128 name="Eyebrow Density"
11129 label_min="Sparse"
11130 label_max="Dense"
11131 value_min="0"
11132 value_max="1"
11133 value_default="0.7"
11134 camera_elevation=".1"
11135 camera_distance=".3">
11136 <param_driver>
11137 <driven
11138 id="1002" />
11139
11140 <driven
11141 id="1003" />
11142 </param_driver>
11143 </param>
11144
11145 <param
11146 id="166"
11147 sex="male"
11148 group="0"
11149 wearable="hair"
11150 edit_group="hair_facial"
11151 edit_group_order="2"
11152 name="Sideburns"
11153 show_simple="true"
11154 label_min="Short Sideburns"
11155 label_max="Mutton Chops"
11156 value_min="0"
11157 value_max="1"
11158 value_default="0.0"
11159 camera_elevation=".1"
11160 camera_distance=".3"
11161 camera_angle="30">
11162 <param_driver>
11163 <driven
11164 id="1004" />
11165
11166 <driven
11167 id="1005" />
11168 </param_driver>
11169 </param>
11170
11171 <param
11172 id="167"
11173 sex="male"
11174 group="0"
11175 wearable="hair"
11176 edit_group="hair_facial"
11177 edit_group_order="3"
11178 name="Moustache"
11179 show_simple="true"
11180 label_min="Chaplin"
11181 label_max="Handlebars"
11182 value_min="0"
11183 value_max="1"
11184 value_default="0.0"
11185 camera_elevation=".1"
11186 camera_distance=".3"
11187 camera_angle="30">
11188 <param_driver>
11189 <driven
11190 id="1006" />
11191
11192 <driven
11193 id="1007" />
11194 </param_driver>
11195 </param>
11196
11197 <param
11198 id="168"
11199 sex="male"
11200 group="0"
11201 wearable="hair"
11202 edit_group="hair_facial"
11203 edit_group_order="5"
11204 name="Soulpatch"
11205 show_simple="true"
11206 label_min="Less soul"
11207 label_max="More soul"
11208 value_min="0"
11209 value_max="1"
11210 value_default="0.0"
11211 camera_elevation="-.1"
11212 camera_distance=".3"
11213 camera_angle="0">
11214 <param_driver>
11215 <driven
11216 id="1008" />
11217
11218 <driven
11219 id="1009" />
11220 </param_driver>
11221 </param>
11222
11223 <param
11224 id="169"
11225 sex="male"
11226 group="0"
11227 wearable="hair"
11228 edit_group="hair_facial"
11229 edit_group_order="4"
11230 name="Chin Curtains"
11231 show_simple="true"
11232 label_min="Less Curtains"
11233 label_max="More Curtains"
11234 value_min="0"
11235 value_max="1"
11236 value_default="0.0"
11237 camera_elevation="-.1"
11238 camera_distance=".3"
11239 camera_angle="45">
11240 <param_driver>
11241 <driven
11242 id="1010" />
11243
11244 <driven
11245 id="1011" />
11246 </param_driver>
11247 </param>
11248
11249 <param
11250 id="606"
11251 group="0"
11252 wearable="jacket"
11253 edit_group="jacket"
11254 edit_group_order="1"
11255 name="Sleeve Length"
11256 label_min="Short"
11257 label_max="Long"
11258 value_min="0"
11259 value_max="1"
11260 value_default=".8"
11261 camera_distance="1.2"
11262 camera_angle="30"
11263 camera_elevation=".2">
11264 <param_driver>
11265 <driven
11266 id="1019" />
11267
11268 <driven
11269 id="1039" />
11270
11271 <driven
11272 id="1020" />
11273 </param_driver>
11274 </param>
11275
11276 <param
11277 id="607"
11278 group="0"
11279 wearable="jacket"
11280 edit_group="jacket"
11281 edit_group_order="3"
11282 name="Collar Front"
11283 label_min="Low"
11284 label_max="High"
11285 value_min="0"
11286 value_max="1"
11287 value_default=".8"
11288 camera_distance="1.2"
11289 camera_angle="15"
11290 camera_elevation=".2">
11291 <param_driver>
11292 <driven
11293 id="1021" />
11294
11295 <driven
11296 id="1040" />
11297
11298 <driven
11299 id="1022" />
11300 </param_driver>
11301 </param>
11302
11303 <param
11304 id="780"
11305 group="0"
11306 wearable="jacket"
11307 edit_group="jacket"
11308 edit_group_order="3.5"
11309 name="Collar Back"
11310 label_min="Low"
11311 label_max="High"
11312 value_min="0"
11313 value_max="1"
11314 value_default=".8"
11315 camera_distance="1.2"
11316 camera_angle="195"
11317 camera_elevation=".2">
11318 <param_driver>
11319 <driven
11320 id="1023" />
11321
11322 <driven
11323 id="1041" />
11324
11325 <driven
11326 id="1024" />
11327 </param_driver>
11328 </param>
11329
11330 <param
11331 id="603"
11332 group="0"
11333 wearable="undershirt"
11334 edit_group="undershirt"
11335 edit_group_order="1"
11336 name="Sleeve Length"
11337 label_min="Short"
11338 label_max="Long"
11339 value_min=".01"
11340 value_max="1"
11341 value_default=".4"
11342 camera_distance="1.2"
11343 camera_angle="30"
11344 camera_elevation=".2">
11345 <param_driver>
11346 <driven
11347 id="1042" />
11348
11349 <driven
11350 id="1043" />
11351 </param_driver>
11352 </param>
11353
11354 <param
11355 id="604"
11356 group="0"
11357 wearable="undershirt"
11358 edit_group="undershirt"
11359 edit_group_order="2"
11360 name="Bottom"
11361 label_min="Short"
11362 label_max="Long"
11363 value_min="0"
11364 value_max="1"
11365 value_default=".85"
11366 camera_distance="1.2"
11367 camera_angle="30"
11368 camera_elevation=".2">
11369 <param_driver>
11370 <driven
11371 id="1044" />
11372
11373 <driven
11374 id="1045" />
11375 </param_driver>
11376 </param>
11377
11378 <param
11379 id="605"
11380 group="0"
11381 wearable="undershirt"
11382 edit_group="undershirt"
11383 edit_group_order="3"
11384 name="Collar Front"
11385 label_min="Low"
11386 label_max="High"
11387 value_min="0"
11388 value_max="1"
11389 value_default=".84"
11390 camera_distance=".8"
11391 camera_angle="15"
11392 camera_elevation=".2">
11393 <param_driver>
11394 <driven
11395 id="1046" />
11396
11397 <driven
11398 id="1047" />
11399 </param_driver>
11400 </param>
11401
11402 <param
11403 id="779"
11404 group="0"
11405 wearable="undershirt"
11406 edit_group="undershirt"
11407 edit_group_order="4"
11408 name="Collar Back"
11409 label_min="Low"
11410 label_max="High"
11411 value_min="0"
11412 value_max="1"
11413 value_default=".84"
11414 camera_distance=".8"
11415 camera_angle="195"
11416 camera_elevation=".2">
11417 <param_driver>
11418 <driven
11419 id="1048" />
11420
11421 <driven
11422 id="1049" />
11423 </param_driver>
11424 </param>
11425
11426 <param
11427 id="617"
11428 group="0"
11429 wearable="socks"
11430 edit_group="socks"
11431 name="Socks Length"
11432 label_min="Short"
11433 label_max="Long"
11434 value_min="0"
11435 value_max="1"
11436 value_default="0.35"
11437 camera_distance=".95"
11438 camera_angle="30"
11439 camera_elevation="-.75">
11440 <param_driver>
11441 <driven
11442 id="1050" />
11443
11444 <driven
11445 id="1051" />
11446 </param_driver>
11447 </param>
11448
11449 <param
11450 id="616"
11451 group="0"
11452 wearable="shoes"
11453 edit_group="shoes"
11454 edit_group_order="1"
11455 name="Shoe Height"
11456 label_min="Short"
11457 label_max="Tall"
11458 value_min="0"
11459 value_max="1"
11460 value_default="0.1"
11461 camera_distance="1.2"
11462 camera_angle="30"
11463 camera_elevation="-.75">
11464 <param_driver>
11465 <driven
11466 id="1052" />
11467
11468 <driven
11469 id="1053" />
11470 </param_driver>
11471 </param>
11472
11473 <param
11474 id="619"
11475 group="0"
11476 wearable="underpants"
11477 edit_group="underpants"
11478 name="Pants Length"
11479 label_min="Short"
11480 label_max="Long"
11481 value_min="0"
11482 value_max="1"
11483 value_default=".3"
11484 camera_distance="1.2"
11485 camera_angle="30"
11486 camera_elevation="-.3">
11487 <param_driver>
11488 <driven
11489 id="1054" />
11490
11491 <driven
11492 id="1055" />
11493 </param_driver>
11494 </param>
11495
11496 <param
11497 id="624"
11498 group="0"
11499 wearable="underpants"
11500 edit_group="underpants"
11501 name="Pants Waist"
11502 label_min="Low"
11503 label_max="High"
11504 value_min="0"
11505 value_max="1"
11506 value_default=".8"
11507 camera_distance="1.2"
11508 camera_angle="30"
11509 camera_elevation="-.3">
11510 <param_driver>
11511 <driven
11512 id="1056" />
11513
11514 <driven
11515 id="1057" />
11516 </param_driver>
11517 </param>
11518
11519 <param
11520 id="93"
11521 group="0"
11522 wearable="gloves"
11523 edit_group="gloves"
11524 name="Glove Length"
11525 label_min="Short"
11526 label_max="Long"
11527 value_min=".01"
11528 value_max="1"
11529 value_default=".8"
11530 camera_distance="1.2"
11531 camera_angle="30"
11532 camera_elevation=".2">
11533 <param_driver>
11534 <driven
11535 id="1058" />
11536
11537 <driven
11538 id="1059" />
11539 </param_driver>
11540 </param>
11541
11542 <param
11543 id="844"
11544 group="0"
11545 wearable="gloves"
11546 edit_group="gloves"
11547 name="Glove Fingers"
11548 label_min="Fingerless"
11549 label_max="Fingers"
11550 value_min=".01"
11551 value_max="1"
11552 value_default="1"
11553 camera_distance="1.2"
11554 camera_angle="30"
11555 camera_elevation=".2">
11556 <param_driver>
11557 <driven
11558 id="1060" />
11559
11560 <driven
11561 id="1061" />
11562 </param_driver>
11563 </param>
11564
11565 <!--Pointy eyebrows became a driver/driven param with new max value for backwards compatibility between 1.0 and 1.1-->
11566 <param
11567 id="16"
11568 group="0"
11569 name="Pointy_Eyebrows"
11570 label="Eyebrow Points"
11571 wearable="hair"
11572 edit_group="hair_eyebrows"
11573 edit_group_order="4"
11574 label_min="Smooth"
11575 label_max="Pointy"
11576 value_min="-.5"
11577 value_max="3"
11578 camera_elevation=".1"
11579 camera_distance=".3">
11580 <param_driver>
11581 <driven
11582 id="870" />
11583 </param_driver>
11584 </param>
11585
11586 <!--Lower eyebrows became a driver/driven param with new min value for backwards compatibility between 1.0 and 1.1-->
11587 <param
11588 id="757"
11589 group="0"
11590 name="Lower_Eyebrows"
11591 label="Eyebrow Height"
11592 show_simple="true"
11593 wearable="hair"
11594 edit_group="hair_eyebrows"
11595 edit_group_order="2.5"
11596 label_min="Higher"
11597 label_max="Lower"
11598 value_min="-4"
11599 value_max="2"
11600 value_default="-1"
11601 camera_elevation=".1"
11602 camera_distance=".3">
11603 <param_driver>
11604 <driven
11605 id="871" />
11606 </param_driver>
11607 </param>
11608
11609 <!--Arced eyebrows became a driver/driven param with new max value for backwards compatibility between 1.0 and 1.1-->
11610 <param
11611 id="31"
11612 group="0"
11613 name="Arced_Eyebrows"
11614 label="Eyebrow Arc"
11615 wearable="hair"
11616 edit_group="hair_eyebrows"
11617 edit_group_order="3"
11618 label_min="Flat"
11619 label_max="Arced"
11620 value_min="0"
11621 value_max="2"
11622 value_default=".5"
11623 camera_elevation=".1"
11624 camera_distance=".3">
11625 <param_driver>
11626 <driven
11627 id="872" />
11628 </param_driver>
11629 </param>
11630
11631
11632 <param
11633 id="877"
11634 group="0"
11635 name="Jacket Wrinkles"
11636 label="Jacket Wrinkles"
11637 wearable="jacket"
11638 edit_group="jacket"
11639 edit_group_order="20"
11640 label_min="No Wrinkles"
11641 label_max="Wrinkles"
11642 value_min="0"
11643 value_max="1"
11644 value_default="0"
11645 camera_elevation=".1"
11646 camera_distance=".3">
11647 <param_driver>
11648 <driven
11649 id="875" />
11650
11651
11652 <driven
11653 id="876" />
11654 </param_driver>
11655 </param>
11656
11657 <param
11658 id="1071"
11659 group="2"
11660 wearable="tattoo"
11661 edit_group="colorpicker"
11662 name="tattoo_red"
11663 value_min="0"
11664 value_max="1"
11665 value_default="1">
11666 <param_driver>
11667 <driven
11668 id="1062"
11669 min1="0"
11670 max1="1"
11671 max2="1"
11672 min2="1" />
11673
11674 <driven
11675 id="1065"
11676 min1="0"
11677 max1="1"
11678 max2="1"
11679 min2="1" />
11680
11681 <driven
11682 id="1068"
11683 min1="0"
11684 max1="1"
11685 max2="1"
11686 min2="1" />
11687 </param_driver>
11688 </param>
11689
11690 <param
11691 id="1072"
11692 group="2"
11693 wearable="tattoo"
11694 edit_group="colorpicker"
11695 name="tattoo_green"
11696 value_min="0"
11697 value_max="1"
11698 value_default="1">
11699 <param_driver>
11700 <driven
11701 id="1063"
11702 min1="0"
11703 max1="1"
11704 max2="1"
11705 min2="1" />
11706
11707 <driven
11708 id="1066"
11709 min1="0"
11710 max1="1"
11711 max2="1"
11712 min2="1" />
11713
11714 <driven
11715 id="1069"
11716 min1="0"
11717 max1="1"
11718 max2="1"
11719 min2="1" />
11720 </param_driver>
11721 </param>
11722
11723 <param
11724 id="1073"
11725 group="2"
11726 wearable="tattoo"
11727 edit_group="colorpicker"
11728 name="tattoo_blue"
11729 value_min="0"
11730 value_max="1"
11731 value_default="1">
11732 <param_driver>
11733 <driven
11734 id="1064"
11735 min1="0"
11736 max1="1"
11737 max2="1"
11738 min2="1" />
11739
11740 <driven
11741 id="1067"
11742 min1="0"
11743 max1="1"
11744 max2="1"
11745 min2="1" />
11746
11747 <driven
11748 id="1070"
11749 min1="0"
11750 max1="1"
11751 max2="1"
11752 min2="1" />
11753
11754 </param_driver>
11755 </param>
11756
11757 <!-- ==PHYSICS PARAMETERS======================================= -->
11758
11759 <param
11760 id="1100"
11761 group="1"
11762 sex="female"
11763 wearable="physics"
11764 name="Breast_Physics_UpDown_Controller"
11765 label="Breast Physics UpDown Controller"
11766 value_min="-1"
11767 value_max="1"
11768 value_default="0">
11769 <param_driver>
11770 <driven
11771 id="1200" />
11772 </param_driver>
11773 </param>
11774
11775 <param
11776 id="1101"
11777 group="1"
11778 sex="female"
11779 wearable="physics"
11780 name="Breast_Physics_InOut_Controller"
11781 label="Breast Physics InOut Controller"
11782 value_min="-1"
11783 value_max="1"
11784 value_default="0">
11785 <param_driver>
11786 <driven
11787 id="1201" />
11788 </param_driver>
11789 </param>
11790
11791 <param
11792 id="1102"
11793 group="1"
11794 wearable="physics"
11795 name="Belly_Physics_UpDown_Controller"
11796 label="Belly Physics UpDown Controller"
11797 value_min="-1"
11798 value_max="1"
11799 value_default="0">
11800 <param_driver>
11801 <driven
11802 id="1202" />
11803 <driven
11804 id="1203" />
11805 <driven
11806 id="1204" />
11807 </param_driver>
11808 </param>
11809
11810 <param
11811 id="1103"
11812 group="1"
11813 wearable="shape"
11814 name="Butt_Physics_UpDown_Controller"
11815 label="Butt Physics UpDown Controller"
11816 value_min="-1"
11817 value_max="1"
11818 value_default="0">
11819 <param_driver>
11820 <driven
11821 id="1205" />
11822 </param_driver>
11823 </param>
11824
11825 <param
11826 id="1104"
11827 group="1"
11828 wearable="shape"
11829 name="Butt_Physics_LeftRight_Controller"
11830 label="Butt Physics LeftRight Controller"
11831 value_min="-1"
11832 value_max="1"
11833 value_default="0">
11834 <param_driver>
11835 <driven
11836 id="1206" />
11837 </param_driver>
11838 </param>
11839
11840 <param
11841 id="1105"
11842 group="1"
11843 wearable="shape"
11844 name="Breast_Physics_LeftRight_Controller"
11845 label="Breast Physics LeftRight Controller"
11846 value_min="-1"
11847 value_max="1"
11848 value_default="0">
11849 <param_driver>
11850 <driven
11851 id="1207" />
11852 </param_driver>
11853 </param>
11854
11855 <param
11856 id="10000"
11857 group="0"
11858 sex="female"
11859 name="Breast_Physics_Mass"
11860 label="Breast Physics Mass"
11861 wearable="physics"
11862 edit_group="physics_advanced"
11863 value_default=".1"
11864 value_min=".1"
11865 value_max="1">
11866 <param_driver />
11867 </param>
11868 <param
11869 id="10001"
11870 group="0"
11871 sex="female"
11872 name="Breast_Physics_Gravity"
11873 label="Breast Physics Gravity"
11874 wearable="physics"
11875 edit_group="physics_advanced"
11876 value_default="0"
11877 value_min="0"
11878 value_max="30">
11879 <param_driver />
11880 </param>
11881
11882 <param
11883 id="10002"
11884 group="0"
11885 sex="female"
11886 name="Breast_Physics_Drag"
11887 label="Breast Physics Drag"
11888 wearable="physics"
11889 edit_group="physics_advanced"
11890 value_default="1"
11891 value_min="0"
11892 value_max="10">
11893 <param_driver />
11894 </param>
11895
11896 <param
11897 id="10003"
11898 group="0"
11899 sex="female"
11900 name="Breast_Physics_UpDown_Max_Effect"
11901 label="Breast Physics UpDown Max Effect"
11902 wearable="physics"
11903 edit_group="physics_breasts_updown"
11904 value_default="0"
11905 value_min="0"
11906 value_max="3">
11907 <param_driver />
11908 </param>
11909 <param
11910 id="10004"
11911 group="0"
11912 sex="female"
11913 name="Breast_Physics_UpDown_Spring"
11914 label="Breast Physics UpDown Spring"
11915 wearable="physics"
11916 edit_group="physics_breasts_updown"
11917 value_default="10"
11918 value_min="0"
11919 value_max="100">
11920 <param_driver />
11921 </param>
11922 <param
11923 id="10005"
11924 group="0"
11925 sex="female"
11926 name="Breast_Physics_UpDown_Gain"
11927 label="Breast Physics UpDown Gain"
11928 wearable="physics"
11929 edit_group="physics_breasts_updown"
11930 value_default="10"
11931 value_min="1"
11932 value_max="100">
11933 <param_driver />
11934 </param>
11935 <param
11936 id="10006"
11937 group="0"
11938 sex="female"
11939 name="Breast_Physics_UpDown_Damping"
11940 label="Breast Physics UpDown Damping"
11941 wearable="physics"
11942 edit_group="physics_breasts_updown"
11943 value_default=".2"
11944 value_min="0"
11945 value_max="1">
11946 <param_driver />
11947 </param>
11948
11949 <param
11950 id="10007"
11951 group="0"
11952 sex="female"
11953 name="Breast_Physics_InOut_Max_Effect"
11954 label="Breast Physics InOut Max Effect"
11955 wearable="physics"
11956 edit_group="physics_breasts_inout"
11957 value_default="0"
11958 value_min="0"
11959 value_max="3">
11960 <param_driver />
11961 </param>
11962 <param
11963 id="10008"
11964 group="0"
11965 sex="female"
11966 name="Breast_Physics_InOut_Spring"
11967 label="Breast Physics InOut Spring"
11968 wearable="physics"
11969 edit_group="physics_breasts_inout"
11970 value_default="10"
11971 value_min="0"
11972 value_max="100">
11973 <param_driver />
11974 </param>
11975 <param
11976 id="10009"
11977 group="0"
11978 sex="female"
11979 name="Breast_Physics_InOut_Gain"
11980 label="Breast Physics InOut Gain"
11981 wearable="physics"
11982 edit_group="physics_breasts_inout"
11983 value_default="10"
11984 value_min="1"
11985 value_max="100">
11986 <param_driver />
11987 </param>
11988 <param
11989 id="10010"
11990 group="0"
11991 sex="female"
11992 name="Breast_Physics_InOut_Damping"
11993 label="Breast Physics InOut Damping"
11994 wearable="physics"
11995 edit_group="physics_breasts_inout"
11996 value_default=".2"
11997 value_min="0"
11998 value_max="1">
11999 <param_driver />
12000 </param>
12001
12002 <param
12003 id="10011"
12004 group="0"
12005 name="Belly_Physics_Mass"
12006 label="Belly Physics Mass"
12007 wearable="physics"
12008 edit_group="physics_advanced"
12009 value_default=".1"
12010 value_min=".1"
12011 value_max="1">
12012 <param_driver />
12013 </param>
12014 <param
12015 id="10012"
12016 group="0"
12017 name="Belly_Physics_Gravity"
12018 label="Belly Physics Gravity"
12019 wearable="physics"
12020 edit_group="physics_advanced"
12021 value_default="0"
12022 value_min="0"
12023 value_max="30">
12024 <param_driver />
12025 </param>
12026 <param
12027 id="10013"
12028 group="0"
12029 name="Belly_Physics_Drag"
12030 label="Belly Physics Drag"
12031 wearable="physics"
12032 edit_group="physics_advanced"
12033 value_default="1"
12034 value_min="0"
12035 value_max="10">
12036 <param_driver />
12037 </param>
12038 <param
12039 id="10014"
12040 group="0"
12041 name="Belly_Physics_UpDown_Max_Effect"
12042 label="Belly Physics UpDown Max Effect"
12043 wearable="physics"
12044 edit_group="physics_belly_updown"
12045 value_default="0"
12046 value_min="0"
12047 value_max="3">
12048 <param_driver />
12049 </param>
12050 <param
12051 id="10015"
12052 group="0"
12053 name="Belly_Physics_UpDown_Spring"
12054 label="Belly Physics UpDown Spring"
12055 wearable="physics"
12056 edit_group="physics_belly_updown"
12057 value_default="10"
12058 value_min="0"
12059 value_max="100">
12060 <param_driver />
12061 </param>
12062 <param
12063 id="10016"
12064 group="0"
12065 name="Belly_Physics_UpDown_Gain"
12066 label="Belly Physics UpDown Gain"
12067 wearable="physics"
12068 edit_group="physics_belly_updown"
12069 value_default="10"
12070 value_min="1"
12071 value_max="100">
12072 <param_driver />
12073 </param>
12074 <param
12075 id="10017"
12076 group="0"
12077 name="Belly_Physics_UpDown_Damping"
12078 label="Belly Physics UpDown Damping"
12079 wearable="physics"
12080 edit_group="physics_belly_updown"
12081 value_default=".2"
12082 value_min="0"
12083 value_max="1">
12084 <param_driver />
12085 </param>
12086
12087 <param
12088 id="10018"
12089 group="0"
12090 name="Butt_Physics_Mass"
12091 label="Butt Physics Mass"
12092 wearable="physics"
12093 edit_group="physics_advanced"
12094 value_default=".1"
12095 value_min=".1"
12096 value_max="1">
12097 <param_driver />
12098 </param>
12099 <param
12100 id="10019"
12101 group="0"
12102 name="Butt_Physics_Gravity"
12103 label="Butt Physics Gravity"
12104 wearable="physics"
12105 edit_group="physics_advanced"
12106 value_default="0"
12107 value_min="0"
12108 value_max="30">
12109 <param_driver />
12110 </param>
12111 <param
12112 id="10020"
12113 group="0"
12114 name="Butt_Physics_Drag"
12115 label="Butt Physics Drag"
12116 wearable="physics"
12117 edit_group="physics_advanced"
12118 value_default="1"
12119 value_min="0"
12120 value_max="10">
12121 <param_driver />
12122 </param>
12123
12124 <param
12125 id="10021"
12126 group="0"
12127 name="Butt_Physics_UpDown_Max_Effect"
12128 label="Butt Physics UpDown Max Effect"
12129 wearable="physics"
12130 edit_group="physics_butt_updown"
12131 value_default="0"
12132 value_min="0"
12133 value_max="3">
12134 <param_driver />
12135 </param>
12136 <param
12137 id="10022"
12138 group="0"
12139 name="Butt_Physics_UpDown_Spring"
12140 label="Butt Physics UpDown Spring"
12141 wearable="physics"
12142 edit_group="physics_butt_updown"
12143 value_default="10"
12144 value_min="0"
12145 value_max="100">
12146 <param_driver />
12147 </param>
12148 <param
12149 id="10023"
12150 group="0"
12151 name="Butt_Physics_UpDown_Gain"
12152 label="Butt Physics UpDown Gain"
12153 wearable="physics"
12154 edit_group="physics_butt_updown"
12155 value_default="10"
12156 value_min="1"
12157 value_max="100">
12158 <param_driver />
12159 </param>
12160 <param
12161 id="10024"
12162 group="0"
12163 name="Butt_Physics_UpDown_Damping"
12164 label="Butt Physics UpDown Damping"
12165 wearable="physics"
12166 edit_group="physics_butt_updown"
12167 value_default=".2"
12168 value_min="0"
12169 value_max="1">
12170 <param_driver />
12171 </param>
12172
12173 <param
12174 id="10025"
12175 group="0"
12176 name="Butt_Physics_LeftRight_Max_Effect"
12177 label="Butt Physics LeftRight Max Effect"
12178 wearable="physics"
12179 edit_group="physics_butt_leftright"
12180 value_default="0"
12181 value_min="0"
12182 value_max="3">
12183 <param_driver />
12184 </param>
12185 <param
12186 id="10026"
12187 group="0"
12188 name="Butt_Physics_LeftRight_Spring"
12189 label="Butt Physics LeftRight Spring"
12190 wearable="physics"
12191 edit_group="physics_butt_leftright"
12192 value_default="10"
12193 value_min="0"
12194 value_max="100">
12195 <param_driver />
12196 </param>
12197 <param
12198 id="10027"
12199 group="0"
12200 name="Butt_Physics_LeftRight_Gain"
12201 label="Butt Physics LeftRight Gain"
12202 wearable="physics"
12203 edit_group="physics_butt_leftright"
12204 value_default="10"
12205 value_min="1"
12206 value_max="100">
12207 <param_driver />
12208 </param>
12209 <param
12210 id="10028"
12211 group="0"
12212 name="Butt_Physics_LeftRight_Damping"
12213 label="Butt Physics LeftRight Damping"
12214 wearable="physics"
12215 edit_group="physics_butt_leftright"
12216 value_default=".2"
12217 value_min="0"
12218 value_max="1">
12219 <param_driver />
12220 </param>
12221
12222 <param
12223 id="10029"
12224 group="0"
12225 sex="female"
12226 name="Breast_Physics_LeftRight_Max_Effect"
12227 label="Breast Physics LeftRight Max Effect"
12228 wearable="physics"
12229 edit_group="physics_breasts_leftright"
12230 value_default="0"
12231 value_min="0"
12232 value_max="3">
12233 <param_driver />
12234 </param>
12235 <param
12236 id="10030"
12237 group="0"
12238 sex="female"
12239 name="Breast_Physics_LeftRight_Spring"
12240 label="Breast Physics LeftRight Spring"
12241 wearable="physics"
12242 edit_group="physics_breasts_leftright"
12243 value_default="10"
12244 value_min="0"
12245 value_max="100">
12246 <param_driver />
12247 </param>
12248 <param
12249 id="10031"
12250 group="0"
12251 sex="female"
12252 name="Breast_Physics_LeftRight_Gain"
12253 label="Breast Physics LeftRight Gain"
12254 wearable="physics"
12255 edit_group="physics_breasts_leftright"
12256 value_default="10"
12257 value_min="1"
12258 value_max="100">
12259 <param_driver />
12260 </param>
12261 <param
12262 id="10032"
12263 group="0"
12264 sex="female"
12265 name="Breast_Physics_LeftRight_Damping"
12266 label="Breast Physics LeftRight Damping"
12267 wearable="physics"
12268 edit_group="physics_breasts_leftright"
12269 value_default=".2"
12270 value_min="0"
12271 value_max="1">
12272 <param_driver />
12273 </param>
12274
12275 </driver_parameters>
12276
12277 <morph_masks>
12278 <mask
12279 morph_name="Displace_Hair_Facial"
12280 body_region="head"
12281 layer="facialhair" />
12282 <mask
12283 morph_name="Displace_Loose_Upperbody"
12284 body_region="upper_body"
12285 layer="upper_clothes" />
12286 <mask
12287 morph_name="Shirtsleeve_flair"
12288 body_region="upper_body"
12289 layer="upper_clothes" />
12290 <mask
12291 morph_name="Displace_Loose_Lowerbody"
12292 body_region="lower_body"
12293 layer="lower_pants" />
12294 <mask
12295 morph_name="Leg_Pantflair"
12296 body_region="lower_body"
12297 layer="lower_pants" />
12298 <mask
12299 morph_name="Low_Crotch"
12300 body_region="lower_body"
12301 layer="lower_pants" />
12302 <mask
12303 morph_name="Leg_Longcuffs"
12304 body_region="lower_body"
12305 layer="lower_pants" />
12306 </morph_masks>
12307</linden_avatar>
12308
diff --git a/bin/openmetaverse_data/avatar_skeleton.xml b/bin/openmetaverse_data/avatar_skeleton.xml
new file mode 100644
index 0000000..6b07bbc
--- /dev/null
+++ b/bin/openmetaverse_data/avatar_skeleton.xml
@@ -0,0 +1,81 @@
1<?xml version="1.0" encoding="US-ASCII" standalone="yes"?>
2<linden_skeleton version="1.0" num_bones="53" num_collision_volumes="26">
3<bone name="mPelvis" pos="0.000 0.000 1.067" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.000000 0.000000 1.067015">
4 <collision_volume name="PELVIS" pos = "-0.01 0 -0.02" rot="0.000000 8.00000 0.000000" scale="0.12 0.16 0.17"/>
5 <collision_volume name="BUTT" pos = "-0.06 0 -0.1" rot="0.000000 0.00000 0.000000" scale="0.1 0.1 0.1"/>
6 <bone name="mTorso" pos="0.000 0.000 0.084" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.000000 0.000000 0.084073">
7 <collision_volume name="BELLY" pos = "0.028 0 0.04" rot="0.000000 8.00000 0.000000" scale="0.09 0.13 0.15"/>
8 <collision_volume name="LOWER_BACK" pos = "0.0 0.0 0.023" rot="0.000000 0.00000 0.000000" scale="0.09 0.13 0.15"/>
9 <collision_volume name="LEFT_HANDLE" pos = "0.0 0.10 0.058" rot="0.000000 0.00000 0.000000" scale="0.05 0.05 0.05"/>
10 <collision_volume name="RIGHT_HANDLE" pos = "0.0 -0.10 0.058" rot="0.000000 0.00000 0.000000" scale="0.05 0.05 0.05"/>
11 <bone name="mChest" pos="-0.015 0.000 0.205" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="-0.015368 0.000000 0.204877">
12 <collision_volume name="CHEST" pos = "0.028 0 0.07" rot="0.000000 -10.00000 0.000000" scale="0.11 0.15 0.2"/>
13 <collision_volume name="UPPER_BACK" pos = "0.0 0.0 0.017" rot="0.000000 0.00000 0.000000" scale="0.09 0.13 0.15"/>
14 <collision_volume name="LEFT_PEC" pos = "0.119 0.082 0.042" rot="0.000000 4.29000 0.000000" scale="0.05 0.05 0.05"/>
15 <collision_volume name="RIGHT_PEC" pos = "0.119 -0.082 0.042" rot="0.000000 4.29000 0.000000" scale="0.05 0.05 0.05"/>
16 <bone name="mNeck" pos="-0.010 0.000 0.251" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="-0.009507 0.000000 0.251108">
17 <collision_volume name="NECK" pos = "0.0 0 0.02" rot="0.000000 0.000000 0.000000" scale="0.05 0.06 0.08"/>
18 <bone name="mHead" pos="0.000 -0.000 0.076" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.000000 -0.000000 0.075630">
19 <collision_volume name="HEAD" pos = "0.02 0 0.07" rot="0.000000 0.000000 0.000000" scale="0.11 0.09 0.12"/>
20 <bone name="mSkull" pos="0.000 0.000 0.079" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.000000 0.000000 0.079000">
21 </bone>
22 <bone name="mEyeRight" pos="0.098 -0.036 0.079" rot="0.000000 0.000000 -0.000000" scale="1.000 1.000 1.000" pivot="0.098466 -0.036000 0.079000">
23 </bone>
24 <bone name="mEyeLeft" pos="0.098 0.036 0.079" rot="0.000000 -0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.098461 0.036000 0.079000">
25 </bone>
26 </bone>
27 </bone>
28 <bone name="mCollarLeft" pos="-0.021 0.085 0.165" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="-0.020927 0.084665 0.165396">
29 <collision_volume name="L_CLAVICLE" pos = "0.02 0 0.02" rot="0.000000 0.00000 0.000000" scale="0.07 0.14 0.05"/>
30 <bone name="mShoulderLeft" pos="0.000 0.079 -0.000" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.000000 0.079000 -0.000000">
31 <collision_volume name="L_UPPER_ARM" pos = "0.0 0.12 0.01" rot="-5.000000 0.00000 0.000000" scale="0.05 0.17 0.05"/>
32 <bone name="mElbowLeft" pos="0.000 0.248 0.000" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.000000 0.248000 0.000000">
33 <collision_volume name="L_LOWER_ARM" pos = "0.0 0.1 0.0" rot="-3.000000 0.00000 0.000000" scale="0.04 0.14 0.04"/>
34 <bone name="mWristLeft" pos="-0.000 0.205 0.000" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="-0.000000 0.204846 0.000000">
35 <collision_volume name="L_HAND" pos = "0.01 0.05 0.0" rot="-3.000000 0.00000 -10.000000" scale="0.05 0.08 0.03"/>
36 </bone>
37 </bone>
38 </bone>
39 </bone>
40 <bone name="mCollarRight" pos="-0.021 -0.085 0.165" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="-0.020927 -0.085000 0.165396">
41 <collision_volume name="R_CLAVICLE" pos = "0.02 0 0.02" rot="0.000000 0.00000 0.000000" scale="0.07 0.14 0.05"/>
42 <bone name="mShoulderRight" pos="0.000 -0.079 -0.000" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.000000 -0.079418 -0.000000">
43 <collision_volume name="R_UPPER_ARM" pos = "0.0 -0.12 0.01" rot="5.000000 0.00000 0.000000" scale="0.05 0.17 0.05"/>
44 <bone name="mElbowRight" pos="0.000 -0.248 -0.000" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.000000 -0.248000 -0.000000">
45 <collision_volume name="R_LOWER_ARM" pos = "0.0 -0.1 0.0" rot="3.000000 0.00000 0.000000" scale="0.04 0.14 0.04"/>
46 <bone name="mWristRight" pos="0.000 -0.205 -0.000" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="-0.000000 -0.205000 -0.000000">
47 <collision_volume name="R_HAND" pos = "0.01 -0.05 0.0" rot="3.000000 0.00000 10.000000" scale="0.05 0.08 0.03"/>
48 </bone>
49 </bone>
50 </bone>
51 </bone>
52 </bone>
53 </bone>
54 <bone name="mHipRight" pos="0.034 -0.129 -0.041" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.033620 -0.128806 -0.041086">
55 <collision_volume name="R_UPPER_LEG" pos = "-0.02 0.05 -0.22" rot="0.000000 0.00000 0.000000" scale="0.09 0.09 0.32"/>
56 <bone name="mKneeRight" pos="-0.001 0.049 -0.491" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="-0.000780 0.048635 -0.490922">
57 <collision_volume name="R_LOWER_LEG" pos = "-0.02 0.0 -0.2" rot="0.000000 0.00000 0.000000" scale="0.06 0.06 0.25"/>
58 <bone name="mAnkleRight" pos="-0.029 0.000 -0.468" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="-0.028869 0.000000 -0.468494">
59 <collision_volume name="R_FOOT" pos = "0.077 0.0 -0.041" rot="0.000000 10.00000 0.000000" scale="0.13 0.05 0.05"/>
60 <bone name="mFootRight" pos="0.112 -0.000 -0.061" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.111956 -0.000000 -0.060637">
61 <bone name="mToeRight" pos="0.109 0.000 0.000" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.105399 -0.010408 -0.000104">
62 </bone>
63 </bone>
64 </bone>
65 </bone>
66 </bone>
67 <bone name="mHipLeft" pos="0.034 0.127 -0.041" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.033757 0.126765 -0.040998">
68 <collision_volume name="L_UPPER_LEG" pos = "-0.02 -0.05 -0.22" rot="0.000000 0.00000 0.000000" scale="0.09 0.09 0.32"/>
69 <bone name="mKneeLeft" pos="-0.001 -0.046 -0.491" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="-0.000887 -0.045568 -0.491053">
70 <collision_volume name="L_LOWER_LEG" pos = "-0.02 0.0 -0.2" rot="0.000000 0.00000 0.000000" scale="0.06 0.06 0.25"/>
71 <bone name="mAnkleLeft" pos="-0.029 0.001 -0.468" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="-0.028887 0.001378 -0.468449">
72 <collision_volume name="L_FOOT" pos = "0.077 0.0 -0.041" rot="0.000000 10.00000 0.000000" scale="0.13 0.05 0.05"/>
73 <bone name="mFootLeft" pos="0.112 -0.000 -0.061" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.111956 -0.000000 -0.060620">
74 <bone name="mToeLeft" pos="0.109 0.000 0.000" rot="0.000000 0.000000 0.000000" scale="1.000 1.000 1.000" pivot="0.105387 0.008270 0.000871">
75 </bone>
76 </bone>
77 </bone>
78 </bone>
79 </bone>
80</bone>
81</linden_skeleton> \ No newline at end of file
diff --git a/bin/openmetaverse_data/blush_alpha.tga b/bin/openmetaverse_data/blush_alpha.tga
new file mode 100644
index 0000000..05be7e7
--- /dev/null
+++ b/bin/openmetaverse_data/blush_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/body_skingrain.tga b/bin/openmetaverse_data/body_skingrain.tga
new file mode 100644
index 0000000..7264baa
--- /dev/null
+++ b/bin/openmetaverse_data/body_skingrain.tga
Binary files differ
diff --git a/bin/openmetaverse_data/bodyfreckles_alpha.tga b/bin/openmetaverse_data/bodyfreckles_alpha.tga
new file mode 100644
index 0000000..d30ab3d
--- /dev/null
+++ b/bin/openmetaverse_data/bodyfreckles_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/bump_face_wrinkles.tga b/bin/openmetaverse_data/bump_face_wrinkles.tga
new file mode 100644
index 0000000..54bf7a5
--- /dev/null
+++ b/bin/openmetaverse_data/bump_face_wrinkles.tga
Binary files differ
diff --git a/bin/openmetaverse_data/bump_head_base.tga b/bin/openmetaverse_data/bump_head_base.tga
new file mode 100644
index 0000000..fa35685
--- /dev/null
+++ b/bin/openmetaverse_data/bump_head_base.tga
Binary files differ
diff --git a/bin/openmetaverse_data/bump_lowerbody_base.tga b/bin/openmetaverse_data/bump_lowerbody_base.tga
new file mode 100644
index 0000000..498ea3c
--- /dev/null
+++ b/bin/openmetaverse_data/bump_lowerbody_base.tga
Binary files differ
diff --git a/bin/openmetaverse_data/bump_pants_wrinkles.tga b/bin/openmetaverse_data/bump_pants_wrinkles.tga
new file mode 100644
index 0000000..cca7241
--- /dev/null
+++ b/bin/openmetaverse_data/bump_pants_wrinkles.tga
Binary files differ
diff --git a/bin/openmetaverse_data/bump_shirt_wrinkles.tga b/bin/openmetaverse_data/bump_shirt_wrinkles.tga
new file mode 100644
index 0000000..9e0d757
--- /dev/null
+++ b/bin/openmetaverse_data/bump_shirt_wrinkles.tga
Binary files differ
diff --git a/bin/openmetaverse_data/bump_upperbody_base.tga b/bin/openmetaverse_data/bump_upperbody_base.tga
new file mode 100644
index 0000000..e57d635
--- /dev/null
+++ b/bin/openmetaverse_data/bump_upperbody_base.tga
Binary files differ
diff --git a/bin/openmetaverse_data/eyebrows_alpha.tga b/bin/openmetaverse_data/eyebrows_alpha.tga
new file mode 100644
index 0000000..c363e48
--- /dev/null
+++ b/bin/openmetaverse_data/eyebrows_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/eyeliner_alpha.tga b/bin/openmetaverse_data/eyeliner_alpha.tga
new file mode 100644
index 0000000..1611eb3
--- /dev/null
+++ b/bin/openmetaverse_data/eyeliner_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/eyeshadow_inner_alpha.tga b/bin/openmetaverse_data/eyeshadow_inner_alpha.tga
new file mode 100644
index 0000000..37d7919
--- /dev/null
+++ b/bin/openmetaverse_data/eyeshadow_inner_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/eyeshadow_outer_alpha.tga b/bin/openmetaverse_data/eyeshadow_outer_alpha.tga
new file mode 100644
index 0000000..00eef9d
--- /dev/null
+++ b/bin/openmetaverse_data/eyeshadow_outer_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/eyewhite.tga b/bin/openmetaverse_data/eyewhite.tga
new file mode 100644
index 0000000..a720496
--- /dev/null
+++ b/bin/openmetaverse_data/eyewhite.tga
Binary files differ
diff --git a/bin/openmetaverse_data/facehair_chincurtains_alpha.tga b/bin/openmetaverse_data/facehair_chincurtains_alpha.tga
new file mode 100644
index 0000000..b103970
--- /dev/null
+++ b/bin/openmetaverse_data/facehair_chincurtains_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/facehair_moustache_alpha.tga b/bin/openmetaverse_data/facehair_moustache_alpha.tga
new file mode 100644
index 0000000..4068c4f
--- /dev/null
+++ b/bin/openmetaverse_data/facehair_moustache_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/facehair_sideburns_alpha.tga b/bin/openmetaverse_data/facehair_sideburns_alpha.tga
new file mode 100644
index 0000000..acddc2d
--- /dev/null
+++ b/bin/openmetaverse_data/facehair_sideburns_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/facehair_soulpatch_alpha.tga b/bin/openmetaverse_data/facehair_soulpatch_alpha.tga
new file mode 100644
index 0000000..687091a
--- /dev/null
+++ b/bin/openmetaverse_data/facehair_soulpatch_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/freckles_alpha.tga b/bin/openmetaverse_data/freckles_alpha.tga
new file mode 100644
index 0000000..a9a4ec0
--- /dev/null
+++ b/bin/openmetaverse_data/freckles_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/glove_length_alpha.tga b/bin/openmetaverse_data/glove_length_alpha.tga
new file mode 100644
index 0000000..db89ad5
--- /dev/null
+++ b/bin/openmetaverse_data/glove_length_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/gloves_fingers_alpha.tga b/bin/openmetaverse_data/gloves_fingers_alpha.tga
new file mode 100644
index 0000000..dba2eec
--- /dev/null
+++ b/bin/openmetaverse_data/gloves_fingers_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/head_alpha.tga b/bin/openmetaverse_data/head_alpha.tga
new file mode 100644
index 0000000..8164525
--- /dev/null
+++ b/bin/openmetaverse_data/head_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/head_color.tga b/bin/openmetaverse_data/head_color.tga
new file mode 100644
index 0000000..74b1b30
--- /dev/null
+++ b/bin/openmetaverse_data/head_color.tga
Binary files differ
diff --git a/bin/openmetaverse_data/head_hair.tga b/bin/openmetaverse_data/head_hair.tga
new file mode 100644
index 0000000..5321f35
--- /dev/null
+++ b/bin/openmetaverse_data/head_hair.tga
Binary files differ
diff --git a/bin/openmetaverse_data/head_highlights_alpha.tga b/bin/openmetaverse_data/head_highlights_alpha.tga
new file mode 100644
index 0000000..8dc5239
--- /dev/null
+++ b/bin/openmetaverse_data/head_highlights_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/head_shading_alpha.tga b/bin/openmetaverse_data/head_shading_alpha.tga
new file mode 100644
index 0000000..e8ea490
--- /dev/null
+++ b/bin/openmetaverse_data/head_shading_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/head_skingrain.tga b/bin/openmetaverse_data/head_skingrain.tga
new file mode 100644
index 0000000..b42dee0
--- /dev/null
+++ b/bin/openmetaverse_data/head_skingrain.tga
Binary files differ
diff --git a/bin/openmetaverse_data/jacket_length_lower_alpha.tga b/bin/openmetaverse_data/jacket_length_lower_alpha.tga
new file mode 100644
index 0000000..722bc19
--- /dev/null
+++ b/bin/openmetaverse_data/jacket_length_lower_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/jacket_length_upper_alpha.tga b/bin/openmetaverse_data/jacket_length_upper_alpha.tga
new file mode 100644
index 0000000..e9db7e7
--- /dev/null
+++ b/bin/openmetaverse_data/jacket_length_upper_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/jacket_open_lower_alpha.tga b/bin/openmetaverse_data/jacket_open_lower_alpha.tga
new file mode 100644
index 0000000..db0c2fb
--- /dev/null
+++ b/bin/openmetaverse_data/jacket_open_lower_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/jacket_open_upper_alpha.tga b/bin/openmetaverse_data/jacket_open_upper_alpha.tga
new file mode 100644
index 0000000..71b8a0b
--- /dev/null
+++ b/bin/openmetaverse_data/jacket_open_upper_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/lipgloss_alpha.tga b/bin/openmetaverse_data/lipgloss_alpha.tga
new file mode 100644
index 0000000..78ceeca
--- /dev/null
+++ b/bin/openmetaverse_data/lipgloss_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/lips_mask.tga b/bin/openmetaverse_data/lips_mask.tga
new file mode 100644
index 0000000..ae1401c
--- /dev/null
+++ b/bin/openmetaverse_data/lips_mask.tga
Binary files differ
diff --git a/bin/openmetaverse_data/lipstick_alpha.tga b/bin/openmetaverse_data/lipstick_alpha.tga
new file mode 100644
index 0000000..2795f1b
--- /dev/null
+++ b/bin/openmetaverse_data/lipstick_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/lowerbody_color.tga b/bin/openmetaverse_data/lowerbody_color.tga
new file mode 100644
index 0000000..a63aa12
--- /dev/null
+++ b/bin/openmetaverse_data/lowerbody_color.tga
Binary files differ
diff --git a/bin/openmetaverse_data/lowerbody_highlights_alpha.tga b/bin/openmetaverse_data/lowerbody_highlights_alpha.tga
new file mode 100644
index 0000000..ae3413a
--- /dev/null
+++ b/bin/openmetaverse_data/lowerbody_highlights_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/lowerbody_shading_alpha.tga b/bin/openmetaverse_data/lowerbody_shading_alpha.tga
new file mode 100644
index 0000000..0242663
--- /dev/null
+++ b/bin/openmetaverse_data/lowerbody_shading_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/nailpolish_alpha.tga b/bin/openmetaverse_data/nailpolish_alpha.tga
new file mode 100644
index 0000000..91af762
--- /dev/null
+++ b/bin/openmetaverse_data/nailpolish_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/pants_length_alpha.tga b/bin/openmetaverse_data/pants_length_alpha.tga
new file mode 100644
index 0000000..3c4f21c
--- /dev/null
+++ b/bin/openmetaverse_data/pants_length_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/pants_waist_alpha.tga b/bin/openmetaverse_data/pants_waist_alpha.tga
new file mode 100644
index 0000000..35658c0
--- /dev/null
+++ b/bin/openmetaverse_data/pants_waist_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/rosyface_alpha.tga b/bin/openmetaverse_data/rosyface_alpha.tga
new file mode 100644
index 0000000..a0c8513
--- /dev/null
+++ b/bin/openmetaverse_data/rosyface_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/rouge_alpha.tga b/bin/openmetaverse_data/rouge_alpha.tga
new file mode 100644
index 0000000..a0c8513
--- /dev/null
+++ b/bin/openmetaverse_data/rouge_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/shirt_bottom_alpha.tga b/bin/openmetaverse_data/shirt_bottom_alpha.tga
new file mode 100644
index 0000000..7cce03d
--- /dev/null
+++ b/bin/openmetaverse_data/shirt_bottom_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/shirt_collar_alpha.tga b/bin/openmetaverse_data/shirt_collar_alpha.tga
new file mode 100644
index 0000000..f55f635
--- /dev/null
+++ b/bin/openmetaverse_data/shirt_collar_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/shirt_collar_back_alpha.tga b/bin/openmetaverse_data/shirt_collar_back_alpha.tga
new file mode 100644
index 0000000..43a6453
--- /dev/null
+++ b/bin/openmetaverse_data/shirt_collar_back_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/shirt_sleeve_alpha.tga b/bin/openmetaverse_data/shirt_sleeve_alpha.tga
new file mode 100644
index 0000000..e3b18f4
--- /dev/null
+++ b/bin/openmetaverse_data/shirt_sleeve_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/shoe_height_alpha.tga b/bin/openmetaverse_data/shoe_height_alpha.tga
new file mode 100644
index 0000000..d08dd75
--- /dev/null
+++ b/bin/openmetaverse_data/shoe_height_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/skirt_length_alpha.tga b/bin/openmetaverse_data/skirt_length_alpha.tga
new file mode 100644
index 0000000..c867994
--- /dev/null
+++ b/bin/openmetaverse_data/skirt_length_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/skirt_slit_back_alpha.tga b/bin/openmetaverse_data/skirt_slit_back_alpha.tga
new file mode 100644
index 0000000..0e49688
--- /dev/null
+++ b/bin/openmetaverse_data/skirt_slit_back_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/skirt_slit_front_alpha.tga b/bin/openmetaverse_data/skirt_slit_front_alpha.tga
new file mode 100644
index 0000000..888bbf7
--- /dev/null
+++ b/bin/openmetaverse_data/skirt_slit_front_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/skirt_slit_left_alpha.tga b/bin/openmetaverse_data/skirt_slit_left_alpha.tga
new file mode 100644
index 0000000..210feac
--- /dev/null
+++ b/bin/openmetaverse_data/skirt_slit_left_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/skirt_slit_right_alpha.tga b/bin/openmetaverse_data/skirt_slit_right_alpha.tga
new file mode 100644
index 0000000..ce11c64
--- /dev/null
+++ b/bin/openmetaverse_data/skirt_slit_right_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/underpants_trial_female.tga b/bin/openmetaverse_data/underpants_trial_female.tga
new file mode 100644
index 0000000..96bf732
--- /dev/null
+++ b/bin/openmetaverse_data/underpants_trial_female.tga
Binary files differ
diff --git a/bin/openmetaverse_data/underpants_trial_male.tga b/bin/openmetaverse_data/underpants_trial_male.tga
new file mode 100644
index 0000000..095695c
--- /dev/null
+++ b/bin/openmetaverse_data/underpants_trial_male.tga
Binary files differ
diff --git a/bin/openmetaverse_data/undershirt_trial_female.tga b/bin/openmetaverse_data/undershirt_trial_female.tga
new file mode 100644
index 0000000..e17a309
--- /dev/null
+++ b/bin/openmetaverse_data/undershirt_trial_female.tga
Binary files differ
diff --git a/bin/openmetaverse_data/upperbody_color.tga b/bin/openmetaverse_data/upperbody_color.tga
new file mode 100644
index 0000000..85fcc41
--- /dev/null
+++ b/bin/openmetaverse_data/upperbody_color.tga
Binary files differ
diff --git a/bin/openmetaverse_data/upperbody_highlights_alpha.tga b/bin/openmetaverse_data/upperbody_highlights_alpha.tga
new file mode 100644
index 0000000..2d8102b
--- /dev/null
+++ b/bin/openmetaverse_data/upperbody_highlights_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/upperbody_shading_alpha.tga b/bin/openmetaverse_data/upperbody_shading_alpha.tga
new file mode 100644
index 0000000..b420506
--- /dev/null
+++ b/bin/openmetaverse_data/upperbody_shading_alpha.tga
Binary files differ
diff --git a/bin/openmetaverse_data/upperbodyfreckles_alpha.tga b/bin/openmetaverse_data/upperbodyfreckles_alpha.tga
new file mode 100644
index 0000000..76c7ce8
--- /dev/null
+++ b/bin/openmetaverse_data/upperbodyfreckles_alpha.tga
Binary files differ
diff --git a/bin/opensim.sh b/bin/opensim.sh
new file mode 100755
index 0000000..508d925
--- /dev/null
+++ b/bin/opensim.sh
@@ -0,0 +1,5 @@
1#!/bin/sh
2ulimit -s 1048576
3# next option may improve SGen gc (for opensim only) you may also need to increase nursery size on large regions
4#export MONO_GC_PARAMS="minor=split,promotion-age=14"
5mono --desktop OpenSim.exe
diff --git a/bin/pCampBot.exe.config b/bin/pCampBot.exe.config
new file mode 100644
index 0000000..f017309
--- /dev/null
+++ b/bin/pCampBot.exe.config
@@ -0,0 +1,52 @@
1<?xml version="1.0" encoding="utf-8" ?>
2<configuration>
3 <configSections>
4 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
5 </configSections>
6 <runtime>
7 <loadFromRemoteSources enabled="true" />
8 </runtime>
9 <appSettings>
10 </appSettings>
11 <log4net>
12 <appender name="Console" type="OpenSim.Framework.Console.OpenSimAppender, OpenSim.Framework.Console">
13 <filter type="log4net.Filter.LoggerMatchFilter">
14 <loggerToMatch value="special"/>
15 <acceptOnMatch value="false"/>
16 </filter>
17 <layout type="log4net.Layout.PatternLayout">
18 <conversionPattern value="%date{HH:mm:ss.fff} - %message" />
19 </layout>
20 </appender>
21 <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
22 <file value="pCampBot.log" />
23 <appendToFile value="true" />
24 <filter type="log4net.Filter.LoggerMatchFilter">
25 <loggerToMatch value="special"/>
26 <acceptOnMatch value="false"/>
27 </filter>
28 <layout type="log4net.Layout.PatternLayout">
29 <conversionPattern value="%date %-5level - %logger %message%newline" />
30 </layout>
31 </appender>
32
33 <appender name="StatsLogFileAppender" type="log4net.Appender.FileAppender">
34 <file value="pCampBotStats.log"/>
35 <appendToFile value="true" />
36 <layout type="log4net.Layout.PatternLayout">
37 <conversionPattern value="%date - %message%newline" />
38 </layout>
39 </appender>
40
41 <root>
42 <level value="DEBUG" />
43 <appender-ref ref="Console" />
44 <appender-ref ref="LogFileAppender" />
45 </root>
46
47 <!-- used for stats recording -->
48 <logger name="special.StatsLogger">
49 <appender-ref ref="StatsLogFileAppender"/>
50 </logger>
51 </log4net>
52</configuration>
diff --git a/bin/pCampBot.ini.example b/bin/pCampBot.ini.example
new file mode 100644
index 0000000..138e4ec
--- /dev/null
+++ b/bin/pCampBot.ini.example
@@ -0,0 +1,19 @@
1; This is the example config file for pCampbot
2; To use it, copy this file to pCampbot.ini and change settings if required
3
4[BotManager]
5 ; Number of milliseconds to wait between bot logins
6 LoginDelay = 5000
7
8[Bot]
9 ; Control whether bots should regularly send agent updates
10 ; Not doing this will reduce CPU requirements for pCampbot but greatly
11 ; reduce the realism compared to viewers which are constantly sending AgentUpdates UDP packets.
12 ; Defaults to true.
13 SendAgentUpdates = true
14
15 ; Control whether bots will requests textures when receiving object information
16 ; Not doing this will reduce CPU requirements for pCampbot but greatly
17 ; reduce the realism compared to viewers which requests such texture data if not already cached.
18 ; Defaults to true.
19 RequestObjectTextures = true
diff --git a/bin/pCampBotSentences.txt b/bin/pCampBotSentences.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/bin/pCampBotSentences.txt
diff --git a/bin/set_object_owner.xml b/bin/set_object_owner.xml
new file mode 100644
index 0000000..6d9bb8a
--- /dev/null
+++ b/bin/set_object_owner.xml
@@ -0,0 +1,8 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater can_close="true" can_drag_on_left="false" can_minimize="false" can_resize="false" height="100" name="set_owner_name" title="Set Owner Name" width="390">
3 <text bottom="-30" left="10">New Owner Name</text>
4 <line_editor enabled="false" bottom="-60" left="10" width="280" name="new_owner" height="20"/>
5 <button bottom_delta="0" left="300" height="20" width="80" label="Choose" name="picker"/>
6 <button bottom="-90" width="80" height="20" left="300" label="OK" name="ok" />
7 <button bottom="-90" width="80" height="20" left="210" label="Cancel" name="cancel" />
8</floater>
diff --git a/bin/shutdown_commands.txt.example b/bin/shutdown_commands.txt.example
new file mode 100644
index 0000000..dc07dc9
--- /dev/null
+++ b/bin/shutdown_commands.txt.example
@@ -0,0 +1,3 @@
1; Copy this file to shutdown_commands.txt to execute region console commands when the simulator is asked to shut down
2; e.g. show stats
3; Lines that start with ; are comments
diff --git a/bin/startup_commands.txt.example b/bin/startup_commands.txt.example
new file mode 100644
index 0000000..677109c
--- /dev/null
+++ b/bin/startup_commands.txt.example
@@ -0,0 +1,3 @@
1; Copy this file to startup_commands.txt to run region console commands once the simulator has finished starting up
2; e.g. show stats
3; Lines that start with ; are comments.
diff --git a/bin/startuplogo.txt b/bin/startuplogo.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/bin/startuplogo.txt
diff --git a/bin/zlib.net.dll b/bin/zlib.net.dll
new file mode 100755
index 0000000..9d15654
--- /dev/null
+++ b/bin/zlib.net.dll
Binary files differ