2010-07-07  Carlos Alberto Cortez <calberto.cortez@gmail.com>

	4.0 updates.

	* ResourceManager.cs: Mark ResourceSets as obsolete.
	* ResourceReader.cs: New public Dispose method.

2010-07-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>

	* ResourceWriter.cs: Implement 4.0 TypeNameConverter.

2010-07-05  Carlos Alberto Cortez <calberto.cortez@gmail.com>

	* ResourceWriter.cs: Implement 4.0 AddResource overloads taking a
	Stream, as well as implement the same support in our AddResource that
	takes an object too.

2010-03-16  Jb Evain  <jbevain@novell.com>

	* ResourceManager.cs: use MOONLIGHT symbol to disambiguate
	MonoTouch and Moonlight code.

2010-03-01  Miguel de Icaza  <miguel@novell.com>

	* Win32Resources.cs: Prevent infinite loops if the resource that
	we are reading is invalid.   Fixes the mscorlib part of #327500

2009-11-01  Sebastien Pouliot  <sebastien@ximian.com>

	* ResourceManager.cs (GetResourceFilePath): Don't use 
	'resourceDir' which should always be null for Moonlight

2009-10-19  Jb Evain  <jbevain@novell.com>

	* ResourceReader.cs: fix the build.

2009-10-18  Sebastien Pouliot  <sebastien@ximian.com>

	* ResourceReader.cs, ResourceSet.cs, RuntimeResourceSet.cs: Use 
	UnmanagedMemoryStream (instead of IntPtrStream)

2009-04-16  Geoff Norton  <gnorton@novell.com>

	* ResourceWriter.cs: The magic internal type here is required to match
	Microsofts for SL2 resource deserialization.

2009-03-06 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* ResourceSet.cs: for custom resource sets without a reader, pretende
	that's we've already read the stream.

2009-02-27 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* ResourceSet.cs: populating the resource should be locked because the
	resourceset could be shared.

2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* ResourceManager.cs: don't throw every time we try to load a resource
	satellite assembly that does not exist.

2008-12-22 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* ResourceManager.cs: cache negative results too.

2008-12-18 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* ResourceManager.cs: avoid duplication of keys if more than one
	thread is creating the ResourceSet.

2008-12-17 Gonzalo Paniagua Javier <gonzalo@novell.com>

	* ResourceManager.cs: cache ResourceSets instead of loading them from
	their assembly every time they are needed.

2008-08-11  Larry Ewing  <lewing@novell.com>

	* ResourceReader.cs: fix reading/writing beyond the end of the
	current resource when the resource is larger than 1024 bytes.

2008-06-30  Marek Safar  <marek.safar@gmail.com>

	* ResourceReader.cs: Cache resources enumerator in ResourceReader.

2008-06-30  Marek Safar  <marek.safar@gmail.com>

	* ResourceReader.cs: Sealed ResourceEnumerator.

2008-06-28  Rodrigo Kumpera  <rkumpera@novell.com>

	* ResourceReader.cs (LoadResourceValues): Kill ununsed local.

	* ResourceReader.cs (CreateResourceInfo): Don't return a big
	struct on stack, pass it as a reference argument.

2008-06-27  Rodrigo Kumpera  <rkumpera@novell.com>

	* ResourceReader.cs: Avoid an extra array copy for the resource arrays.

2008-06-27  Zoltan Varga  <vargaz@gmail.com>

	* ResourceManager.cs: Add a negative cache for culture->resource set mappings
	which caches lookup failures.

	* ResourceSet.cs (GetObjectInternal): Search the hash table in the ignoreCase
	case too.

2008-06-27  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* MissingManifestResourceException.cs:
	* MissingSatelliteAssemblyException.cs:
	* ResourceManager.cs: Fix parameter names

2008-05-27  Marek Habersack  <mhabersack@novell.com>

	* ResourceReader.cs: reimplement the way resources are read when
	enumerator is used. The resource indexes and names are read in
	ReadHeaders when ResourceReader is created and the resource values
	are read and cached when the enumerator is created. This removed a
	lot of unnecessary locking and made the whole process more
	efficient and faster (a test application would acquire the locks
	40000 times durng a 1.7s run, right now it acquires the lock 1
	time).

2008-05-08  Miguel de Icaza  <miguel@novell.com>

	* ResourceSet.cs: Pass the ignoreCase argument, needed to
	implement ResourceManager.IgnoreCase.

	Silverlight 2.0 applications store "page.xaml" as the key in the
	resource keys, but request Page.xaml ones.

	* ResourceManager.cs: Avoid exception throwing and catching.

	* RutimeResourceSet.cs: Add a constructor that is required to
	deserialize Silverlight 2.0 applications when deserializing the
	resources that contains the XAML files in assemblies.

	We do not take advantage of this new constructor that uses an
	IntPtrStream, instead we stick to the Stream API.

2008-03-29  Gert Driesen  <drieseng@users.sourceforge.net>

	* Win32Resources.cs: On 2.0 profile, initiale fixed info to zero-length
	string when emitting versioninfo in compiler context. Default to
	neutral language in compiler context. On 1.0 profile, use 0xffff as
	default value for version parts. In Version, abort on first invalid
	version part and also set FileVersion string. In ProductVersion and
	FileVersion, parse version string and abort on first invalid version
	part.  

2008-03-15  Gert Driesen  <drieseng@users.sourceforge.net>

	* ResourceManager.cs: Default to RuntimeResourceSet for all ctors.
	* ResourceSet.cs: Avoid duplicate argument checks. On 2.0 profile,
	throw ObjectDisposedException when ResourceSet is disposed.
	* RuntimeResourceSet.cs: On 2.0 profile, throw ObjectDisposedException
	when ResourceSet is disposed.

2008-03-04  Sebastien Pouliot  <sebastien@ximian.com>

	* ResourceManager.cs: Use RuntimeResourceSet, an internal type, just
	like MS does (and tell us indirectly with a Type property).
	* ResourceSet.cs: Fix a few problems found with new unit tests. Also
	fix some exception parameters.
	* RuntimeResourceSet.cs: New. Internal type used by ResourceManager.
	ResouceSet cannot be used, as is, because it does not clone objects,
	when possible, leading to problems when those objects are disposed.

2008-01-26  Gert Driesen  <drieseng@users.sourceforge.net>

	* ResourceWriter.cs: On 2.0 profile, do not mistakenly identify an
	enum as a predefined type. Fixes bug #325223.

2007-11-10  Gert Driesen  <drieseng@users.sourceforge.net>

	* ResourceWriter.cs: On 2.0 profile, use case-insensitive SortedList.
	Changed exception messages and params to match MS. Allow null values
	in AddResource overloads. In Dispose (bool), also generate resources
	(header) if no resources were added. Fixes bug #339074. When Generate
	is done, reset resources to null to prevent further editing.  This
	also avoids the need for a separate bool to indicate whether generate
	was already invoked. Code formatting.

2007-10-27  Gert Driesen  <drieseng@users.sourceforge.net>

	* ResourceManager.cs: Removed temporary workaround for bug #43567.
	Reworked basename to only throw ArgumentException if resource with
	name ending on ".resources" does not actually exist. Fixes bug
	#336283. Do not throw exception in GetStream since this is already
	done in InternalGetResourceSet. In InternalGetResourceSet, do not
	throw MissingManifestResourceException when culture is null. Fixed
	MissingManifestResourceException message to match MS. When using
	file-based ResourceManager, then also throw an exception when file
	does not exist for neutral culture.

2007-09-17  Gert Driesen  <drieseng@users.sourceforge.net>

	* ResourceManager.cs: Move code for determining manifest resource
	name into separate method. Only use satellite assemblies for
	non-invariant cultures. For invariant culture, only load resources
	from main assembly.

2007-09-17  Gert Driesen  <drieseng@users.sourceforge.net>

	* ResourceManager.cs: BaseName(Field) should return only the name.
	Added resourceSource field to store the actual type, which we need for
	the namespace. Added CheckBaseName method to avoid code duplication.
	Only check whether basename does not end in '.resources' on 1.0
	profile. Fixed paramname of ArgumentNullExceptions to match MS.
	Modified GetManifestResourceStreamNoCase to use resourceSource field
	to construct manifest resource name. Modified GetStream to use
	CurrentUICulture when culture is null. Fixed InternalGetResourceSet
	to use invariant resources when culture is the neutral culture.
	Code formatting.
>
2007-08-24  Gert Driesen  <drieseng@users.sourceforge.net>

	* ResourceReader.cs: Fixed exception message to match MS. Removed
	duplicate checks from string ctor.

2007-08-09  Atsushi Enomoto  <atsushi@ximian.com>

	* ResourceReader.cs : implemented GetResourceData(). Resources with
	  unresolvable types could still be parsed, so hold type names
	  instead of types.

2007-07-16  Rodrigo Kumpera  <rkumpera@novell.com>

	* ResourceReader.cs (ResourceValue): Put the null resource check
	  before the resource version 2 check, this fixes bug #81757

2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>

	* ResourceWriter.cs : fix for runtime serialization type index.
	  Fixed bug #81759.

2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>

	* ResourceWriter.cs : temporarily disable 2.0 output until I get
	  bug #81759 fixed.

2007-05-28  Atsushi Enomoto  <atsushi@ximian.com>

	* IResourceWriter.cs NeutralResourcesLanguageAttribute.cs
	  SatelliteContractVersionAttribute.cs ResourceManager.cs
	  IResourceReader.cs ResourceSet.cs ResourceWriter.cs
	  ResourceReader.cs UltimateResourceFallbackLocation.cs
	  MissingManifestResourceException.cs :
	  implemented 2.0 resource support (write, and remaining read bits)
	  and GetStream(). Cosmetic attributes fixes.

2007-05-25  Atsushi Enomoto  <atsushi@ximian.com>

	* MissingSatelliteAssemblyException.cs : new file.

2007-02-16  Gert Driesen  <drieseng@users.sourceforge.net>

	* ResourceReader.cs: Fixed typo.

2006-12-30  Alexander Olk  <alex.olk@googlemail.com>

	* ResourceManager.cs: Don't create the ResourceSets hashtable in the
	protected ctor, instead move it to the public ctors. Fixes some not
	working nunit tests. Also, return a closed ResourceSet instead of
	creating a new one. Fixes one more test. If only BaseNameField is
	provided, try to create a resource set from the BaseNameField. One
	more test that passes now.
	* ResourceSet.cs: Remove isDisposed. Not needed anymore.

2006-12-30  Alexander Olk  <alex.olk@googlemail.com>

	* ResourceManager.cs: Iterate through the values of the ResourceSets
	hashtable in ReleaseAllResources instead through the hashtable itself.

2006-12-30  Gert Driesen  <drieseng@users.sourceforge.net>

	* ResourceReader.cs: Support reading byte arrays in v2 resource files.
	Patch provided by Red Forks. Fixes bug #79976.

2006-10-29  Alexander Olk  <alex.olk@googlemail.com>

	* ResourceSet.cs, ResourceManager.cs: Calling ResourceSet.Close()
	  disposes a resource set. A closed resource set will now be
	  removed from ResourceSets. Fixes bug #79182.

2006-03-14  Robert Jordan  <robertj@gmx.net>

	* ResourceManager.cs: Don't stop the resource set lookup until
	the invariant culture is reached. Fixes bug #77242.

2005-11-19  Zoltan Varga  <vargaz@gmail.com>

	* Win32Resources.cs: Add a new 'FileVersion' property.

2005-07-25  Marek Safar  <marek.safar@seznam.cz>

	*  ResourceReader.cs: Implemented reading of primitives for version 2.

2005-03-31  Sebastien Pouliot  <sebastien@ximian.com>

	*  ResourceReader.cs, ResourceSet.cs: Added a LinkDemand for 
	SerializationFormatter when using a Stream constructor (other ctors
	have different security - e.g. FileIOPermission for opening a file).

2005-03-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ResourceManager.cs: use culture.Equals in InternalGetResourceSet().

2005-02-12  Geoff Norton  <gnorton@customerdna.com>

	* ResourceReader.cs: If a resource type index is -1 return null 
	instead of throwing an exception
	* ResourceWriter.cs: If an object is null; encode it with type index
	-1 instead of throwing an exception.
	
2005-02-11  Zoltan Varga  <vargaz@freemail.hu>

	* Win32Resources.cs: Fix warning.

2004-12-06  Ben Maurer  <bmaurer@ximian.com>

	* ResourceManager.cs (InternalResourceManager): on msft, they
	search for a case-insenstitive match too here.

2004-05-02  Sebastien Pouliot  <sebastien@ximian.com>

	* ResourceManager.cs: Avoid endless recursion when a resource file
	isn't found.

2004-04-08  Lluis Sanchez <lluis@ximian.com>

	* ResourceSet.cs: Added minor null check.

2004-02-03  Jackson Harper <jackson@ximian.com>

	* ResourceSet.cs: Do not throw an exception for null strings.
	
2004-01-13  Zoltan Varga  <vargaz@freemail.hu>

	* Win32Resources.cs (Win32VersionInfoResource): Add more properties.

2004-01-09  Zoltan Varga  <vargaz@freemail.hu>

	* Win32Resources.cs (Win32VersionInfoResource:WriteTo): Add padding
	at the end of each string entry.

	* Win32Resources.cs: Fix warnings not detected by mcs.

2004-01-08  Zoltan Varga  <vargaz@freemail.hu>

	* Win32Resources.cs: Organize win32 resources into a class hierarchy
	with the class Win32Resource as the abstract superclass. Add 
	Win32ResFileReader and Win32IconFileReader classes and the 
	corresponding resource types.

	* Win32Resources.cs (Win32VersionInfoResource): Fix version number 
	calculation. Add Language property.

2004-01-05  Zoltan Varga  <vargaz@freemail.hu>

	* Win32Resources.cs: New file.

	* Win32Resources.cs: The value of properties can't be empty.

	* Win32Resources.cs: Add Win32ResourceType enumeration. Add accessors
	for well-known property names. Add missing namespace declaration.

2003-12-17  Zoltan Varga  <vargaz@freemail.hu>

	* ResourceWriter.cs (Stream): New internal property used by Ref.Emit.

2003-11-28  Dick Porter  <dick@ximian.com>

	* ResourceSet.cs: Do string compares with the Invariant culture.

2003-11-18  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* ResourceSet.cs: Implemented v1.1 updates

2003-09-07  Dick Porter  <dick@ximian.com>

	* Temporary workaround for bug 43567, so that Npgsql at least
	can run.

2003-05-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ResourceManager.cs: fixed infinite loop when the resource is not
	found. Also fixes bug #34196.

2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ResourceManager.cs: enabled the code that calls GetSatelliteAssembly
	and ignore the exception thrown if the assembly cannot be loaded.

2003-05-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ResourceManager.cs: fixed the name for the file when the culture is
	not de invariant culture. Commented out the GetSatelliteAssembly code
	to avoid NotImplementedException being thrown.

2002-08-19  Dick Porter  <dick@ximian.com>

	* ResourceWriter.cs: Implemented all methods

	* ResourceReader.cs: Cope with our ResourceSet class name, as well
	as theirs

2002-08-18  Dick Porter  <dick@ximian.com>

	* ResourceReader.cs: Finished basic implementation.  Some
	optimisation in conjunction with ResourceSet still possible though

2002-08-14  Dick Porter  <dick@ximian.com>

	* ResourceSet.cs: Throw the correct exceptions

	* ResourceManager.cs: Implemented all unfinished methods

2002-03-12  Duncan Mak  <duncan@ximian.com>

	* MissingManifestResourceException.cs: This should inherit from
	SystemException, not Exception.

2002-01-26  Nick Drochak  <ndrochak@gol.com>

	* ResourceReader.cs: Finsished reading resource files with just strings
	in them.  Need to figure out other types, and also resources with
	multiple types in the same file.

2002-01-24  Nick Drochak  <ndrochak@gol.com>

	* ResourceReader.cs: Implemented constructors. Started on the 
	GetEnumerator() method.  Not done yet, but comitting for 
	'disaster recovery' purposes.

2002-01-19  Duncan Mak  <duncan@ximian.com>

	* *.cs: Fixed indentation. There was a stupid bug in my .emacs file.

2002-1-17  Duncan Mak  <duncan@duncan@ximian.com>

	* ResourceSet.cs: Implemented GetObject (string, bool) and GetString
	(string, bool). ResourceSet has no more MonoTODOs! Also added in the
	Serializable attribute.
	
	* *.cs: convert to Miguel's brace style.

2002-01-17  Duncan Mak  <duncan@ximian.com>

	* ResourceManager.cs: Fixed GetNeutralResourcesLanguage () and added
	new attributes documented in 1.0 SDK.

2002-01-17  Duncan Mak  <duncan@ximian.com>

	* ResourceWriter.cs: Added MonoTODO decorations.

	* SatelliteContractVersionAttribute.cs: added new attributes in 1.0 SDK.

	* NeutralResoucesLanguageAttribute.cs: added new attributes in 1.0 SDK
	
2002-01-16  Duncan Mak  <duncan@ximian.com>

	* ResourceReader.cs: Fixed some typos.

	* ResourceManager.cs: After reading the tutorial from the SDK,
	finished all the ResourceManager constructors and removed those
	MonoTODO tags.
	
	Removed MonoTODO from GetNeutralResourcesLanguage (Assembly)
	because Miguel just implemented the whole class, including the
	constructor that I needed (CultureInfo (string)).

	Updated fields after reading the new docs from the final SDK.

	* ResXFileRef.cs, ResXResourceReader.cs: Removed. They are part of
	Windows.Forms and require System.Xml, which we don't have access to.

2002-01-13  Duncan Mak  <duncan@ximian.com>

	* ResourceManager.cs: Added more MonoTODOs and cleaned up some 
	indenting.

2002-01-09  Duncan Mak  <duncan@ximian.com>

	* ResourceManager.cs: Fixed the GetSatelliteContractVersion()
	method. It was missing a cast before. Removed MonoTODO
	attribute. ;-) It was tested by John Barnette, so this shouldn't break
	the build.

	* ResourceManager.cs: Removed MonoTODO attribute on GetString
	(string), as I believe it's correct. However, GetString
	(string, CultureInfo) is definitely broken, so I'm marking it with
	MonoTODO there. I also added MonoTODO to IntenalGetResourceSet().

2002-01-06  Duco Fijma <duco@lorentz.xs4all.nl>
	* Finalizing IResourceReader and IResourceWriter interfaces: 
          Added "new"-modifier to IResourceReader.GetEnumerator
	* Fixed compilation issues in other *.cs, so that the 
          System.Resources namespaces can be included in the corlib build.

2002-01-05  Ravi Pratap  <ravi@ximian.com>

	* ResourceManager.cs : MonoTODO attribute decoration.
	
Tue Dec 18 13:18:32 CET 2001 Paolo Molaro <lupus@ximian.com>

	* *.cs: fixed some of the compilation issues: missing
	using directives, typos.

2001-12-11  Duncan Mak  <duncan@ximian.com>

	* Checked in to CVS.

2001-12-10  Duncan Mak  <duncan@ximian.com>

	* ResourceManager.cs (GetNeutralResourcesLanguage):
	(GetSatelliteContractVersion): Implemented.
	
2001-12-09  Duncan Mak  <duncan@ximian.com>

	* ResXResourceReader.cs: Initial attempt.

	* ResXFileRef.cs: Initial attempt.

	* ResourceWriter.cs: Initial attempt.

	* ResourceSet.cs (ReadResources): Implemented, with help from Radek Doulik.

2001-11-28  Duncan Mak <duncan@ximian.com>	

	* ResourceManager.cs: First attempt.

2001-11-27  Duncan Mak <duncan@ximian.com>

	* ResourceSet.cs:
	First attempt, can't continue until ResourceReader and ResourceWriter are implemented.
		
	* SatelliteContractVersionAttribute.cs: First attempt. The spec is quite amibiguous here.

	* NeutralResoucesLanguageAttribute.cs: Complete.

	* MissingManifestResourceException.cs: Complete.

	* IResourceReader.cs: Complete.

	* IResourceWriter.cs: Complete.
