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