c0cd6038c98a592a698b483f2f6f06a863e3a6a6
[mono.git] / mcs / class / corlib / System.Resources / ChangeLog
1 2008-06-30  Marek Safar  <marek.safar@gmail.com>
2
3         * ResourceReader.cs: Sealed ResourceEnumerator.
4
5 2008-06-28  Rodrigo Kumpera  <rkumpera@novell.com>
6
7         * ResourceReader.cs (LoadResourceValues): Kill ununsed local.
8
9         * ResourceReader.cs (CreateResourceInfo): Don't return a big
10         struct on stack, pass it as a reference argument.
11
12 2008-06-27  Rodrigo Kumpera  <rkumpera@novell.com>
13
14         * ResourceReader.cs: Avoid an extra array copy for the resource arrays.
15
16 2008-06-27  Zoltan Varga  <vargaz@gmail.com>
17
18         * ResourceManager.cs: Add a negative cache for culture->resource set mappings
19         which caches lookup failures.
20
21         * ResourceSet.cs (GetObjectInternal): Search the hash table in the ignoreCase
22         case too.
23
24 2008-06-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
25
26         * MissingManifestResourceException.cs:
27         * MissingSatelliteAssemblyException.cs:
28         * ResourceManager.cs: Fix parameter names
29
30 2008-05-27  Marek Habersack  <mhabersack@novell.com>
31
32         * ResourceReader.cs: reimplement the way resources are read when
33         enumerator is used. The resource indexes and names are read in
34         ReadHeaders when ResourceReader is created and the resource values
35         are read and cached when the enumerator is created. This removed a
36         lot of unnecessary locking and made the whole process more
37         efficient and faster (a test application would acquire the locks
38         40000 times durng a 1.7s run, right now it acquires the lock 1
39         time).
40
41 2008-05-08  Miguel de Icaza  <miguel@novell.com>
42
43         * ResourceSet.cs: Pass the ignoreCase argument, needed to
44         implement ResourceManager.IgnoreCase.
45
46         Silverlight 2.0 applications store "page.xaml" as the key in the
47         resource keys, but request Page.xaml ones.
48
49         * ResourceManager.cs: Avoid exception throwing and catching.
50
51         * RutimeResourceSet.cs: Add a constructor that is required to
52         deserialize Silverlight 2.0 applications when deserializing the
53         resources that contains the XAML files in assemblies.
54
55         We do not take advantage of this new constructor that uses an
56         IntPtrStream, instead we stick to the Stream API.
57
58 2008-03-29  Gert Driesen  <drieseng@users.sourceforge.net>
59
60         * Win32Resources.cs: On 2.0 profile, initiale fixed info to zero-length
61         string when emitting versioninfo in compiler context. Default to
62         neutral language in compiler context. On 1.0 profile, use 0xffff as
63         default value for version parts. In Version, abort on first invalid
64         version part and also set FileVersion string. In ProductVersion and
65         FileVersion, parse version string and abort on first invalid version
66         part.  
67
68 2008-03-15  Gert Driesen  <drieseng@users.sourceforge.net>
69
70         * ResourceManager.cs: Default to RuntimeResourceSet for all ctors.
71         * ResourceSet.cs: Avoid duplicate argument checks. On 2.0 profile,
72         throw ObjectDisposedException when ResourceSet is disposed.
73         * RuntimeResourceSet.cs: On 2.0 profile, throw ObjectDisposedException
74         when ResourceSet is disposed.
75
76 2008-03-04  Sebastien Pouliot  <sebastien@ximian.com>
77
78         * ResourceManager.cs: Use RuntimeResourceSet, an internal type, just
79         like MS does (and tell us indirectly with a Type property).
80         * ResourceSet.cs: Fix a few problems found with new unit tests. Also
81         fix some exception parameters.
82         * RuntimeResourceSet.cs: New. Internal type used by ResourceManager.
83         ResouceSet cannot be used, as is, because it does not clone objects,
84         when possible, leading to problems when those objects are disposed.
85
86 2008-01-26  Gert Driesen  <drieseng@users.sourceforge.net>
87
88         * ResourceWriter.cs: On 2.0 profile, do not mistakenly identify an
89         enum as a predefined type. Fixes bug #325223.
90
91 2007-11-10  Gert Driesen  <drieseng@users.sourceforge.net>
92
93         * ResourceWriter.cs: On 2.0 profile, use case-insensitive SortedList.
94         Changed exception messages and params to match MS. Allow null values
95         in AddResource overloads. In Dispose (bool), also generate resources
96         (header) if no resources were added. Fixes bug #339074. When Generate
97         is done, reset resources to null to prevent further editing.  This
98         also avoids the need for a separate bool to indicate whether generate
99         was already invoked. Code formatting.
100
101 2007-10-27  Gert Driesen  <drieseng@users.sourceforge.net>
102
103         * ResourceManager.cs: Removed temporary workaround for bug #43567.
104         Reworked basename to only throw ArgumentException if resource with
105         name ending on ".resources" does not actually exist. Fixes bug
106         #336283. Do not throw exception in GetStream since this is already
107         done in InternalGetResourceSet. In InternalGetResourceSet, do not
108         throw MissingManifestResourceException when culture is null. Fixed
109         MissingManifestResourceException message to match MS. When using
110         file-based ResourceManager, then also throw an exception when file
111         does not exist for neutral culture.
112
113 2007-09-17  Gert Driesen  <drieseng@users.sourceforge.net>
114
115         * ResourceManager.cs: Move code for determining manifest resource
116         name into separate method. Only use satellite assemblies for
117         non-invariant cultures. For invariant culture, only load resources
118         from main assembly.
119
120 2007-09-17  Gert Driesen  <drieseng@users.sourceforge.net>
121
122         * ResourceManager.cs: BaseName(Field) should return only the name.
123         Added resourceSource field to store the actual type, which we need for
124         the namespace. Added CheckBaseName method to avoid code duplication.
125         Only check whether basename does not end in '.resources' on 1.0
126         profile. Fixed paramname of ArgumentNullExceptions to match MS.
127         Modified GetManifestResourceStreamNoCase to use resourceSource field
128         to construct manifest resource name. Modified GetStream to use
129         CurrentUICulture when culture is null. Fixed InternalGetResourceSet
130         to use invariant resources when culture is the neutral culture.
131         Code formatting.
132 >
133 2007-08-24  Gert Driesen  <drieseng@users.sourceforge.net>
134
135         * ResourceReader.cs: Fixed exception message to match MS. Removed
136         duplicate checks from string ctor.
137
138 2007-08-09  Atsushi Enomoto  <atsushi@ximian.com>
139
140         * ResourceReader.cs : implemented GetResourceData(). Resources with
141           unresolvable types could still be parsed, so hold type names
142           instead of types.
143
144 2007-07-16  Rodrigo Kumpera  <rkumpera@novell.com>
145
146         * ResourceReader.cs (ResourceValue): Put the null resource check
147           before the resource version 2 check, this fixes bug #81757
148
149 2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>
150
151         * ResourceWriter.cs : fix for runtime serialization type index.
152           Fixed bug #81759.
153
154 2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>
155
156         * ResourceWriter.cs : temporarily disable 2.0 output until I get
157           bug #81759 fixed.
158
159 2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>
160
161         * IResourceWriter.cs NeutralResourcesLanguageAttribute.cs
162           SatelliteContractVersionAttribute.cs ResourceManager.cs
163           IResourceReader.cs ResourceSet.cs ResourceWriter.cs
164           ResourceReader.cs UltimateResourceFallbackLocation.cs
165           MissingManifestResourceException.cs :
166           implemented 2.0 resource support (write, and remaining read bits)
167           and GetStream(). Cosmetic attributes fixes.
168
169 2007-05-25  Atsushi Enomoto  <atsushi@ximian.com>
170
171         * MissingSatelliteAssemblyException.cs : new file.
172
173 2007-02-16  Gert Driesen  <drieseng@users.sourceforge.net>
174
175         * ResourceReader.cs: Fixed typo.
176
177 2006-12-30  Alexander Olk  <alex.olk@googlemail.com>
178
179         * ResourceManager.cs: Don't create the ResourceSets hashtable in the
180         protected ctor, instead move it to the public ctors. Fixes some not
181         working nunit tests. Also, return a closed ResourceSet instead of
182         creating a new one. Fixes one more test. If only BaseNameField is
183         provided, try to create a resource set from the BaseNameField. One
184         more test that passes now.
185         * ResourceSet.cs: Remove isDisposed. Not needed anymore.
186
187 2006-12-30  Alexander Olk  <alex.olk@googlemail.com>
188
189         * ResourceManager.cs: Iterate through the values of the ResourceSets
190         hashtable in ReleaseAllResources instead through the hashtable itself.
191
192 2006-12-30  Gert Driesen  <drieseng@users.sourceforge.net>
193
194         * ResourceReader.cs: Support reading byte arrays in v2 resource files.
195         Patch provided by Red Forks. Fixes bug #79976.
196
197 2006-10-29  Alexander Olk  <alex.olk@googlemail.com>
198
199         * ResourceSet.cs, ResourceManager.cs: Calling ResourceSet.Close()
200           disposes a resource set. A closed resource set will now be
201           removed from ResourceSets. Fixes bug #79182.
202
203 2006-03-14  Robert Jordan  <robertj@gmx.net>
204
205         * ResourceManager.cs: Don't stop the resource set lookup until
206         the invariant culture is reached. Fixes bug #77242.
207
208 2005-11-19  Zoltan Varga  <vargaz@gmail.com>
209
210         * Win32Resources.cs: Add a new 'FileVersion' property.
211
212 2005-07-25  Marek Safar  <marek.safar@seznam.cz>
213
214         *  ResourceReader.cs: Implemented reading of primitives for version 2.
215
216 2005-03-31  Sebastien Pouliot  <sebastien@ximian.com>
217
218         *  ResourceReader.cs, ResourceSet.cs: Added a LinkDemand for 
219         SerializationFormatter when using a Stream constructor (other ctors
220         have different security - e.g. FileIOPermission for opening a file).
221
222 2005-03-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
223
224         * ResourceManager.cs: use culture.Equals in InternalGetResourceSet().
225
226 2005-02-12  Geoff Norton  <gnorton@customerdna.com>
227
228         * ResourceReader.cs: If a resource type index is -1 return null 
229         instead of throwing an exception
230         * ResourceWriter.cs: If an object is null; encode it with type index
231         -1 instead of throwing an exception.
232         
233 2005-02-11  Zoltan Varga  <vargaz@freemail.hu>
234
235         * Win32Resources.cs: Fix warning.
236
237 2004-12-06  Ben Maurer  <bmaurer@ximian.com>
238
239         * ResourceManager.cs (InternalResourceManager): on msft, they
240         search for a case-insenstitive match too here.
241
242 2004-05-02  Sebastien Pouliot  <sebastien@ximian.com>
243
244         * ResourceManager.cs: Avoid endless recursion when a resource file
245         isn't found.
246
247 2004-04-08  Lluis Sanchez <lluis@ximian.com>
248
249         * ResourceSet.cs: Added minor null check.
250
251 2004-02-03  Jackson Harper <jackson@ximian.com>
252
253         * ResourceSet.cs: Do not throw an exception for null strings.
254         
255 2004-01-13  Zoltan Varga  <vargaz@freemail.hu>
256
257         * Win32Resources.cs (Win32VersionInfoResource): Add more properties.
258
259 2004-01-09  Zoltan Varga  <vargaz@freemail.hu>
260
261         * Win32Resources.cs (Win32VersionInfoResource:WriteTo): Add padding
262         at the end of each string entry.
263
264         * Win32Resources.cs: Fix warnings not detected by mcs.
265
266 2004-01-08  Zoltan Varga  <vargaz@freemail.hu>
267
268         * Win32Resources.cs: Organize win32 resources into a class hierarchy
269         with the class Win32Resource as the abstract superclass. Add 
270         Win32ResFileReader and Win32IconFileReader classes and the 
271         corresponding resource types.
272
273         * Win32Resources.cs (Win32VersionInfoResource): Fix version number 
274         calculation. Add Language property.
275
276 2004-01-05  Zoltan Varga  <vargaz@freemail.hu>
277
278         * Win32Resources.cs: New file.
279
280         * Win32Resources.cs: The value of properties can't be empty.
281
282         * Win32Resources.cs: Add Win32ResourceType enumeration. Add accessors
283         for well-known property names. Add missing namespace declaration.
284
285 2003-12-17  Zoltan Varga  <vargaz@freemail.hu>
286
287         * ResourceWriter.cs (Stream): New internal property used by Ref.Emit.
288
289 2003-11-28  Dick Porter  <dick@ximian.com>
290
291         * ResourceSet.cs: Do string compares with the Invariant culture.
292
293 2003-11-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
294
295         * ResourceSet.cs: Implemented v1.1 updates
296
297 2003-09-07  Dick Porter  <dick@ximian.com>
298
299         * Temporary workaround for bug 43567, so that Npgsql at least
300         can run.
301
302 2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
303
304         * ResourceManager.cs: fixed infinite loop when the resource is not
305         found. Also fixes bug #34196.
306
307 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
308
309         * ResourceManager.cs: enabled the code that calls GetSatelliteAssembly
310         and ignore the exception thrown if the assembly cannot be loaded.
311
312 2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
313
314         * ResourceManager.cs: fixed the name for the file when the culture is
315         not de invariant culture. Commented out the GetSatelliteAssembly code
316         to avoid NotImplementedException being thrown.
317
318 2002-08-19  Dick Porter  <dick@ximian.com>
319
320         * ResourceWriter.cs: Implemented all methods
321
322         * ResourceReader.cs: Cope with our ResourceSet class name, as well
323         as theirs
324
325 2002-08-18  Dick Porter  <dick@ximian.com>
326
327         * ResourceReader.cs: Finished basic implementation.  Some
328         optimisation in conjunction with ResourceSet still possible though
329
330 2002-08-14  Dick Porter  <dick@ximian.com>
331
332         * ResourceSet.cs: Throw the correct exceptions
333
334         * ResourceManager.cs: Implemented all unfinished methods
335
336 2002-03-12  Duncan Mak  <duncan@ximian.com>
337
338         * MissingManifestResourceException.cs: This should inherit from
339         SystemException, not Exception.
340
341 2002-01-26  Nick Drochak  <ndrochak@gol.com>
342
343         * ResourceReader.cs: Finsished reading resource files with just strings
344         in them.  Need to figure out other types, and also resources with
345         multiple types in the same file.
346
347 2002-01-24  Nick Drochak  <ndrochak@gol.com>
348
349         * ResourceReader.cs: Implemented constructors. Started on the 
350         GetEnumerator() method.  Not done yet, but comitting for 
351         'disaster recovery' purposes.
352
353 2002-01-19  Duncan Mak  <duncan@ximian.com>
354
355         * *.cs: Fixed indentation. There was a stupid bug in my .emacs file.
356
357 2002-1-17  Duncan Mak  <duncan@duncan@ximian.com>
358
359         * ResourceSet.cs: Implemented GetObject (string, bool) and GetString
360         (string, bool). ResourceSet has no more MonoTODOs! Also added in the
361         Serializable attribute.
362         
363         * *.cs: convert to Miguel's brace style.
364
365 2002-01-17  Duncan Mak  <duncan@ximian.com>
366
367         * ResourceManager.cs: Fixed GetNeutralResourcesLanguage () and added
368         new attributes documented in 1.0 SDK.
369
370 2002-01-17  Duncan Mak  <duncan@ximian.com>
371
372         * ResourceWriter.cs: Added MonoTODO decorations.
373
374         * SatelliteContractVersionAttribute.cs: added new attributes in 1.0 SDK.
375
376         * NeutralResoucesLanguageAttribute.cs: added new attributes in 1.0 SDK
377         
378 2002-01-16  Duncan Mak  <duncan@ximian.com>
379
380         * ResourceReader.cs: Fixed some typos.
381
382         * ResourceManager.cs: After reading the tutorial from the SDK,
383         finished all the ResourceManager constructors and removed those
384         MonoTODO tags.
385         
386         Removed MonoTODO from GetNeutralResourcesLanguage (Assembly)
387         because Miguel just implemented the whole class, including the
388         constructor that I needed (CultureInfo (string)).
389
390         Updated fields after reading the new docs from the final SDK.
391
392         * ResXFileRef.cs, ResXResourceReader.cs: Removed. They are part of
393         Windows.Forms and require System.Xml, which we don't have access to.
394
395 2002-01-13  Duncan Mak  <duncan@ximian.com>
396
397         * ResourceManager.cs: Added more MonoTODOs and cleaned up some 
398         indenting.
399
400 2002-01-09  Duncan Mak  <duncan@ximian.com>
401
402         * ResourceManager.cs: Fixed the GetSatelliteContractVersion()
403         method. It was missing a cast before. Removed MonoTODO
404         attribute. ;-) It was tested by John Barnette, so this shouldn't break
405         the build.
406
407         * ResourceManager.cs: Removed MonoTODO attribute on GetString
408         (string), as I believe it's correct. However, GetString
409         (string, CultureInfo) is definitely broken, so I'm marking it with
410         MonoTODO there. I also added MonoTODO to IntenalGetResourceSet().
411
412 2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
413         * Finalizing IResourceReader and IResourceWriter interfaces: 
414           Added "new"-modifier to IResourceReader.GetEnumerator
415         * Fixed compilation issues in other *.cs, so that the 
416           System.Resources namespaces can be included in the corlib build.
417
418 2002-01-05  Ravi Pratap  <ravi@ximian.com>
419
420         * ResourceManager.cs : MonoTODO attribute decoration.
421         
422 Tue Dec 18 13:18:32 CET 2001 Paolo Molaro <lupus@ximian.com>
423
424         * *.cs: fixed some of the compilation issues: missing
425         using directives, typos.
426
427 2001-12-11  Duncan Mak  <duncan@ximian.com>
428
429         * Checked in to CVS.
430
431 2001-12-10  Duncan Mak  <duncan@ximian.com>
432
433         * ResourceManager.cs (GetNeutralResourcesLanguage):
434         (GetSatelliteContractVersion): Implemented.
435         
436 2001-12-09  Duncan Mak  <duncan@ximian.com>
437
438         * ResXResourceReader.cs: Initial attempt.
439
440         * ResXFileRef.cs: Initial attempt.
441
442         * ResourceWriter.cs: Initial attempt.
443
444         * ResourceSet.cs (ReadResources): Implemented, with help from Radek Doulik.
445
446 2001-11-28  Duncan Mak <duncan@ximian.com>      
447
448         * ResourceManager.cs: First attempt.
449
450 2001-11-27  Duncan Mak <duncan@ximian.com>
451
452         * ResourceSet.cs:
453         First attempt, can't continue until ResourceReader and ResourceWriter are implemented.
454                 
455         * SatelliteContractVersionAttribute.cs: First attempt. The spec is quite amibiguous here.
456
457         * NeutralResoucesLanguageAttribute.cs: Complete.
458
459         * MissingManifestResourceException.cs: Complete.
460
461         * IResourceReader.cs: Complete.
462
463         * IResourceWriter.cs: Complete.