diff options
Merge branch 'master' into careminster-presence-refactor
Diffstat (limited to 'OpenSim/Framework/TaskInventoryItem.cs')
-rw-r--r-- | OpenSim/Framework/TaskInventoryItem.cs | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/OpenSim/Framework/TaskInventoryItem.cs b/OpenSim/Framework/TaskInventoryItem.cs index 53237fc..248502e 100644 --- a/OpenSim/Framework/TaskInventoryItem.cs +++ b/OpenSim/Framework/TaskInventoryItem.cs | |||
@@ -102,6 +102,7 @@ namespace OpenSim.Framework | |||
102 | private uint _baseMask = FULL_MASK_PERMISSIONS_GENERAL; | 102 | private uint _baseMask = FULL_MASK_PERMISSIONS_GENERAL; |
103 | private uint _creationDate = 0; | 103 | private uint _creationDate = 0; |
104 | private UUID _creatorID = UUID.Zero; | 104 | private UUID _creatorID = UUID.Zero; |
105 | private string _creatorData = String.Empty; | ||
105 | private string _description = String.Empty; | 106 | private string _description = String.Empty; |
106 | private uint _everyoneMask = FULL_MASK_PERMISSIONS_GENERAL; | 107 | private uint _everyoneMask = FULL_MASK_PERMISSIONS_GENERAL; |
107 | private uint _flags = 0; | 108 | private uint _flags = 0; |
@@ -160,6 +161,61 @@ namespace OpenSim.Framework | |||
160 | } | 161 | } |
161 | } | 162 | } |
162 | 163 | ||
164 | public string CreatorData // = <profile url>;<name> | ||
165 | { | ||
166 | get { return _creatorData; } | ||
167 | set { _creatorData = value; } | ||
168 | } | ||
169 | |||
170 | /// <summary> | ||
171 | /// Used by the DB layer to retrieve / store the entire user identification. | ||
172 | /// The identification can either be a simple UUID or a string of the form | ||
173 | /// uuid[;profile_url[;name]] | ||
174 | /// </summary> | ||
175 | public string CreatorIdentification | ||
176 | { | ||
177 | get | ||
178 | { | ||
179 | if (_creatorData != null && _creatorData != string.Empty) | ||
180 | return _creatorID.ToString() + ';' + _creatorData; | ||
181 | else | ||
182 | return _creatorID.ToString(); | ||
183 | } | ||
184 | set | ||
185 | { | ||
186 | if ((value == null) || (value != null && value == string.Empty)) | ||
187 | { | ||
188 | _creatorData = string.Empty; | ||
189 | return; | ||
190 | } | ||
191 | |||
192 | if (!value.Contains(";")) // plain UUID | ||
193 | { | ||
194 | UUID uuid = UUID.Zero; | ||
195 | UUID.TryParse(value, out uuid); | ||
196 | _creatorID = uuid; | ||
197 | } | ||
198 | else // <uuid>[;<endpoint>[;name]] | ||
199 | { | ||
200 | string name = "Unknown User"; | ||
201 | string[] parts = value.Split(';'); | ||
202 | if (parts.Length >= 1) | ||
203 | { | ||
204 | UUID uuid = UUID.Zero; | ||
205 | UUID.TryParse(parts[0], out uuid); | ||
206 | _creatorID = uuid; | ||
207 | } | ||
208 | if (parts.Length >= 2) | ||
209 | _creatorData = parts[1]; | ||
210 | if (parts.Length >= 3) | ||
211 | name = parts[2]; | ||
212 | |||
213 | _creatorData += ';' + name; | ||
214 | |||
215 | } | ||
216 | } | ||
217 | } | ||
218 | |||
163 | public string Description { | 219 | public string Description { |
164 | get { | 220 | get { |
165 | return _description; | 221 | return _description; |