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