2006-12-02 Miguel de Icaza <miguel@novell.com>
[mono.git] / mcs / class / corlib / System.Runtime.InteropServices / ChangeLog
index f7de55f6b52c5c09bb36c2a992ea4f66fa9c4ef6..f8bce2c0781fef3ed3a5407d1ae470be9c14635a 100644 (file)
@@ -1,3 +1,312 @@
+2006-12-02  Miguel de Icaza  <miguel@novell.com>
+
+       * SafeHandle.cs: Implement this class.
+       
+2006-10-06  Jonathan Chambers  <joncham@gmail.com>
+
+       * ExtensibleClassFactory.cs: Implement RegisterObjectCreationCallback.
+       
+2006-08-31 Robert Jordan  <robertj@gmx.net>
+
+       * Marshal.cs: Replaced the *Auto internal calls with managed
+       variants. Fixed SystemDefaultCharSize to return an OS dependent
+       value.
+
+2006-08-09  Jonathan Chambers  <joncham@gmail.com>
+
+       * Marshal.cs: Implement GetIDispatchForObject.
+       
+2006-08-07  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Marshal.cs: Added stubs for GetTypeLibGuid (ITypeLib), GetTypeLibLcid
+       (ITypeLib), GetTypeLibName (ITypeLib).
+
+2006-07-28  Jonathan Chambers  <joncham@gmail.com>
+
+       * Marshal.cs: Implemented CreateWrapperOfType and ReleaseComObject.
+       
+2006-07-15  Jonathan Chambers  <joncham@gmail.com>
+
+       * Marshal.cs: Begin implementing COM Interop. Implemented
+       AddRef, GetComInterfaceForObject, GetComObjectData, GetIUnknownForObject,
+       GetObjectForIUnknown, GetTypedObjectForIUnknown, IsComObject, QueryInterface
+       Release, SetComObjectData, and ThrowExceptionForHR.
+       
+2006-06-07  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * Marshal.cs: Implement GetComSlotForMethodInfo
+
+2006-06-05  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * Marshal.cs: Implement VARIANT marshalling methods
+
+2006-05-20  Zac Bowling <zac@zacbowling.com>
+       * VarEnum.cs: ComVisible Attribute (2.0)
+       * InterfaceTypeAttribute.cs: ComVisible Attribute (2.0)
+       * UCOMITypeInfo.cs: ComImport Attribute (1.x)
+       * UCOMITypeComp.cs: ComImport Attribute (1.x)
+       * MarshalAsAttribute.cs: ComVisible Attribute (2.0)
+       * StructLayoutAttribute.cs: ComVisible Attribute (2.0)
+       * ProgIdAttribute.cs: ComVisible Attribute (2.0)
+       * PrimaryInteropAssemblyAttribute.cs: ComVisible Attribute (2.0)
+       * ImporterEventKind.cs: ComVisible Attribute (2.0)
+       * UCOMIPersistFile.cs: ComImport Attribute (1.x)
+       * SetWin32ContextInIDispatchAttribute.cs: Obselete and ComVisible
+       Attribute (2.0)
+       * IRegistrationServices.cs: ComVisible Attribute and CAS Attributes (2.0)
+       * InAttribute.cs: ComVisible Attribute (2.0)
+       * UCOMIMoniker.cs: ComImport Attribute (1.x)
+       * MarshalDirectiveException.cs: ComVisible Attribute (2.0)
+       * IDLDESC.cs: ComVisible Attribute (1.x)
+       * FUNCFLAGS.cs: ComVisible Attribute (1.x)
+       * UCOMIConnectionPointContainer.cs: ComImport Attribute (1.x)
+       * TypeLibExporterFlags.cs: ComVisible Attribute (2.0)
+       * ICustomMarshaler.cs: ComVisible Attribute (2.0)
+       * LayoutKind.cs: ComVisible Attribute (2.0) + Serializable + Clean
+       * ICustomAdapter.cs: ComVisible Attribute (2.0)
+       * UnmanagedFunctionPointerAttribute.cs: ComVisible Attribute and Param
+       Signature of UnmanagedFunctionPointerAttribute(...)
+       * FUNCKIND.cs: ComVisble Attribute (1.x)
+       * TypeLibVersionAttribute.cs: ComVisible Attribute (2.0) + Missing in
+       2.0
+       * TypeLibVarAttribute.cs: ComVisible Attribute (2.0)
+       * ITypeLibConverter.cs: ComVisible Attribute (2.0)
+       * UCOMIRunningObjectTable.cs: ComImport Attribute (1.x)
+       * IDispatchImplAttribute.cs: Obsolete + ComVisible Attribute (2.0)
+       * ITypeLibImporterNotifySink.cs: ComVisible Attribute (2.0)
+       * PreserveSigAttribute.cs: ComVisible Attribute (2.0)
+       * SYSKIND.cs: ComVisible Attribute (1.x) 
+       * UCOMIEnumVARIANT.cs: ComImport Attribute (1.x)
+       * UCOMIEnumString.cs: ComImport Attribute (1.x) and Expose to 1.x (not
+       a 2.0 exclusive class)
+       * OutAttribute.cs: ComVisible Attribute (2.0)
+       * InvalidComObjectException.cs: ComVisible Attribute (2.0)
+       * SEHException.cs: ComVisible Attribute (2.0)
+       * UCOMIConnectionPoint.cs: ComImport Attribute (1.x)
+       * TypeLibImporterFlags.cs: ComVisible Attribute (2.0) and
+       Serializable
+       * OptionalAttribute.cs: ComVisible Attribute (2.0)
+       * TYPEDESC.cs: ComVisible Attribute (1.x)
+       * UCOMIEnumMoniker.cs: ComImport Attribute (1.x) and Expose to 1.x
+       (not a 2.0 exclusive class)
+       * TypeLibTypeFlags.cs: ComVisible Attribute (2.0)
+       * ITypeLibExporterNotifySink.cs: ComVisible Attribute (2.0)
+       * HandleRef.cs: ComVisible.cs and add ToIntPtr (2.0)
+       * DllImportAttribute.cs: ComVisible Attribute (2.0)
+       * TypeLibTypeAttribute.cs: ComVisible Attribute (2.0)
+       * UnknownWrapper.cs: Serializable, ComVisible Attribute (2.0)
+       * IDFLAGS.cs: ComVisible Attribute (1.x only)
+       * RegistrationClassContext.cs: License + Flags attribute (2.0)
+       * GCHandle.cs: ComVisible Attribute + Operator Overrides (2.0)
+       * TypeLibImportClassAttribute.cs: ComVisible Attribute (2.0)
+       * IMPLYTPEFLAGS.cs: ComVisible Attribute (1.x)
+       * ImportedFromTypeLibAttribute.cs: ComVisible (2.0)
+       * UCOMIBindCtx.cs: Obsolete Attribute (2.0)
+       * FUNCDESC.cs: ComVisible Attribute (1.x)
+       * RegistrationConnectionType.cs: Flags Attribute (2.0)
+       * IDispatchImplType.cs: Obsolete + ComVisible Attribute (2.0)
+       * TypeLibConverter.cs: ComVisible (2.0)
+       * INVOKEKIND.cs: ComVisible Attribute (1.x)
+       * GCHandleType.cs: ComVisible Attribute (2.0) + Serializable
+       * ICustomFactory.cs: ComVisible Attribute (2.0)
+       * FieldOffsetAttribute.cs: ComVisible Attribute (2.0)
+       * LIBFLAGS.cs: ComVisible Attribute (1.x)
+       * ComSourceInterfacesAttributes.cs: ComVisible Attribute (2.0)
+       * STATSTG.cs: ComVisible Attribute (1.x)
+       * InvalidOleVariantTypeException.cs: ComVisible Attribute (2.0)
+       * TypeLibVarFlags.cs: ComVisible Attribute (2.0)
+       * TYPEFLAGS.cs: ComVisible Attribute (1.x)
+       * SafeArrayRankMismatchException.cs: ComVisible Attribute (2.0)
+       * TYPEATTR.cs: ComVisible Attribute (1.x)
+       * GuidAttribute.cs: ComVisible Attribute (2.0)
+       * UCOMIEnumConnectionPoints.cs: ComImport Attribute (1.x) + Expose to
+       1.x (not a 2.0 exclusive)
+       * SafeArrayTypeMismatchException.cs: ComVisible Attribute (2.0)
+       * ObjectCreationDelegate.cs: ComVisible Attribute (2.0)
+       * ITypeLibExporterNameProvider.cs: ComVisible Attribute (2.0) and
+       MarshelAs VarEnum Type.
+       * UCOMIStream.cs: ComImport Attribute (1.x)
+       * TypeLibFuncFlags.cs ComVisible Attribute (2.0)
+       * UnmanagedType.cs: ComVisible Attribute (2.0) + clean up
+       * UCOMIEnumConnections.cs: ComImport Attribute (1.0)
+       * LCIDConversionAttribute.cs: ComVisible Attribute (2.0)
+       * TypeLibFuncAttribute.cs: ComVisible Attribute (2.0)
+
+2006-05-02  Jonathan Chambers  <jonathan.chambers@ansys.com>
+
+       * Marshal.cs: Implement BSTR methods
+
+2006-01-12  Ben Maurer  <bmaurer@andrew.cmu.edu>
+
+       * SafeHandle.cs: Update to RTM api
+
+2005-11-17  Zoltan Varga  <vargaz@gmail.com>
+
+       * DefaultParameterValueAttribute.cs: New file.
+
+2005-10-28  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * Marshal.cs: Added null check in SecureStringTo* methods and make 
+       them throw a NotSupportedException otherwise (as existing code must
+       deal with this anyway). Fixed Uni -> Unicode method name changes.
+
+2005-09-25  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * UCOMIBindCtx.cs, UCOMIConnectionPoint.cs, 
+       UCOMIConnectionPointContainer.cs, UCOMIEnumConnectionPoints.cs,
+       UCOMIEnumConnections.cs, UCOMIEnumMoniker.cs, UCOMIEnumString.cs,
+       UCOMIEnumVARIANT.cs, UCOMIMoniker.cs, UCOMIPersistFile.cs, 
+       UCOMIRunningObjectTable.cs, UCOMIStream.cs, UCOMITypeComp.cs,
+       UCOMITypeInfo.cs, UCOMITypeLib.cs: Remove [ComImport] from the default
+       profile (this is new in 2.0) and reduce corcompare extras by 15.
+
+2005-09-21  Kornél Pál  <kornelpal@hotmail.com>
+
+       * UCOMIEnumConnections.cs, UCOMIEnumMoniker.cs, UCOMIEnumString.cs,
+         UCOMIStream.cs, UCOMITypeInfo.cs, UCOMITypeLib.cs, UnmanagedType.cs:
+         Removed UnmanagedType_80 that was required because mcs bug #75945
+         was not discovered.
+
+2005-08-12  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SetWin32ContextInIDispatchAttribute.cs: Make this attribute also
+       available in 1.0 profile (.NET 1.1).
+       * VariantWrapper.cs: Class is also exposed in .NET 1.1. Only 
+       serializable in 2.0 profile.
+
+2005-08-10  Zoltan Varga  <vargaz@freemail.hu>
+
+       * SafeHandle.cs: New file.
+
+2005-08-06  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * _Activator.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _Assembly.cs: ComVisible should only be set in 2.0 profile. Added
+       TypeLibImportClass attribute. Fixes InterfaceType to match MS.NET.
+       * _AssemblyBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _AssemblyName.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _Attribute.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _ConstructorBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _ConstructorInfo.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods.
+       * _CustomAttributeBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _EnumBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _EventBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _EventInfo.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods.
+       * _FieldBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _FieldInfo.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods.
+       * _ILGenerator.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _LocalBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _MemberInfo.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods. 
+       * _MethodBase.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods.
+       * _MethodInfo.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods.
+       * _MethodBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _MethodRental.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _Module.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _ModuleBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _ParameterBuilder.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _ParameterInfo.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _PropertyBuilder.cs: ComVisible should only be setin 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _PropertyInfo.cs: Fixed InterfaceType to match MS.NET. Added
+       TypeLibImportClass attribute. Added missing methods.
+       * _SignatureHelper.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _Type.cs: Added TypeLibImportClass attribute. Fixed InterfaceType 
+       to match MS.NET. Added missing method to match MS.NET.
+       * _Thread.cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * _TypeBuilder:cs: ComVisible should only be set in 2.0 profile.
+       Added TypeLibImportClass attribute.
+       * Marshal.cs: Removed MarshalAs attribute from parameter to fix
+       API compatibility with MS.NET.
+       * TypeLibImportClassAttribute.cs: Added.
+
+2005-07-06  Zoltan Varga  <vargaz@freemail.hu>
+
+       * GCHandle.cs: Add 2.0 FromIntPtr/ToIntPtr methods.
+
+2005-06-08  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * RuntimeEnvironment.cs: I get better results when calling Demand.
+
+2005-06-07  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * RuntimeEnvironment.cs: Implemented TODO. Added security for CAS.
+
+2005-06-06  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * _Exception.cs: That one wasn't backported to 1.1 SP1 by MS. This
+       should fix a lot of extra reported in the API status pages.
+
+2005-06-06  Zoltan Varga  <vargaz@freemail.hu>
+
+       * Marshal.cs: Add some missing 2.0 attributes.
+
+2005-05-15  Andreas Nahr  <ClassDevelopment@A-SoftTech.com>
+
+       * _Attribute.cs
+       * _ConstructorInfo.cs
+       * _EventInfo.cs
+       * _Exception.cs
+       * _FieldInfo.cs
+       * _MemberInfo.cs
+       * _MethodBase.cs
+       * _MethodInfo.cs
+       * _PropertyInfo.cs
+       * _Type.cs: Chance to .Net 1.1
+       * _Activator.cs
+       * _Assembly.cs
+       * _AssemblyBuilder.cs
+       * _AssemblyName.cs
+       * _ConstructorBuilder.cs
+       * _CustomAttributeBuilder.cs
+       * _EnumBuilder.cs
+       * _EventBuilder.cs
+       * _FieldBuilder.cs
+       * _ILGenerator.cs
+       * _LocalBuilder.cs
+       * _MethodBuilder.cs
+       * _MethodRental.cs
+       * _Module.cs
+       * _ModuleBuilder.cs
+       * _ParameterBuilder.cs
+       * _ParameterInfo.cs
+       * _PropertyBuilder.cs
+       * _SignatureHelper.cs
+       * _Thread.cs
+       * _TypeBuilder.cs: Added
+
+2005-04-22  Sebastien Pouliot  <sebastien@ximian.com>
+
+       * _Attribute.cs: New. Interface for attributes in 2.0.
+
+2005-04-13  Marek Safar  <marek.safar@seznam.cz>
+
+       * DefaultCharSetAttribute.cs: Removed useless using.
+
 2005-03-31  Alp Toker  <alp@atoker.com>
 
        * GCHandle.cs: Clearer ArgumentException text in the case of a