Commit Graph

9 Commits

Author SHA1 Message Date
Justin Clark-Casey (justincc)
5c53660a7f Add prototype dynamic objects map for scene object parts
This allows region modules to add dynamic objects to SOPs rather than having to continually push and pull OSD dynamic attributes.
This is to explore the original MOAP use case for dynamic attributes where it could be very awkward and possibly time-consuming to keep reconstructing MediaEntrys from stored DynamicAttributes.
This commit adds a DOExampleModule to demonstrate/evolve this code.
Dynamic objects involve no storage or persistence changes - the 'backing store' for any data that does need to be saved will remain the DAMap.
DOExampleModule in this commit only attaches a fresh dynamic object.  Actually constructing this from stored dynamic attributes and handling persistence is left for later.
These changes should affect no existing functionality, though it may or may not reveal necessary changes in DAMap down the road.
2013-03-13 22:59:06 +00:00
Mic Bowman
274d376c82 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-02-06 17:32:57 -08:00
Mic Bowman
e17392acbb Enables script access to the per object dynamic attributes through the JsonStore
script functions. Adds JsonAttachObjectStore to associate a store identifier with
an object (scripts can only access the store in their host object, this could be
extended but isn't necessary for now).

Note this opens a method to the DAMap OSDMap. This will be removed later, but
greatly simplifies the code for now.

The JsonStore and these scripts are disabled by default.
2013-02-06 17:29:17 -08:00
Justin Clark-Casey (justincc)
c8c5d74c22 minor: add method doc to DAMap.ValidateKey() 2013-02-07 00:22:39 +00:00
Justin Clark-Casey (justincc)
e2c1e37b07 Add key length validation to DAMap.Add(KeyValuePair<string, OSDMap> kvp) to match Add(string key, OSDMap store) 2013-02-07 00:15:50 +00:00
Oren Hurvitz
af6a7cf95d Added DynAttrs to the serialized XML format of prims. When copying prims, use deep copy for DynAttrs. 2013-01-25 04:03:26 +00:00
Oren Hurvitz
8b4441d940 Changed DAMap to be the container of "data stores", which are OSDMaps. Store names must have at least 4 characters. 2013-01-25 04:03:18 +00:00
Justin Clark-Casey (justincc)
1650846df3 Lock DAMap rather than encapsulated OSDMap
This allows external lockers to preserve atomicity of dynamic attribute changes
2013-01-25 04:03:13 +00:00
Justin Clark-Casey (justincc)
a6d9c26365 Encapsulate an OSDMap in DAMap (was DynAttrsOSDMap) rather than inheriting from it
This is the easier way to give us control over locking, rather than asking that OSDMap IDictionary methods be virtual
2013-01-25 04:03:11 +00:00