[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Runtime/InteropService
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Runtime/InteropServices ArrayWithOffset.cs,NONE,1.1 AssemblyRegistrationFlags.cs,NONE,1.1 AutomationProxyAttribute.cs,NONE,1.1 BINDPTR.cs,NONE,1.1 BIND_OPTS.cs,NONE,1.1 CALLCONV.cs,NONE,1.1 COMException.cs,NONE,1.1 CONNECTDATA.cs,NONE,1.1 CoClassAttribute.cs,NONE,1.1 ComAliasNameAttribute.cs,NONE,1.1ComConversionLossAttribute.cs,NONE,1.1 ComEventInterfaceAttribute.cs,NONE,1.1 ComRegisterFunctionAttribute.cs,NONE,1.1 ComSourceInterfacesAttribute.cs,NONE,1.1 ComUnregisterFunctionAttribute.cs,NONE,1.1 CurrencyWrapper.cs,NONE,1.1 DESCKIND.cs,NONE,1.1 DISPPARAMS.cs,NONE,1.1 DispatchWrapper.cs,NONE,1.1 ELEMDESC.cs,NONE,1.1 EXCEPINFO.cs,NONE,1.1 ErrorWrapper.cs,NONE,1.1 ExporterEventKind.cs,NONE,1.1 ExtensibleClassFactory.cs,NONE,1.1 FILETIME.cs,NONE,1.1 FUNCDESC.cs,NONE,1.1 FUNCFLAGS.cs,NONE,1.1 FUNCKIND.cs,NONE,1.1 HandleRef.cs,NONE,1.1 IDLDESC.cs,NONE,1.1 IDLFLAG.cs,NONE,1.1 IDispatchImplAttribute.cs,NONE,1.1 IDispatchImplType.cs,NONE,1.1 IMPLTYPEFLAGS.cs,NONE,1.1 INVOKEKIND.cs,NONE,1.1 IRegistrationServices.cs,NONE,1.1 ITypeLibConverter.cs,NONE,1.1ITypeLibExporterNameProvider.cs,NONE,1.1 ITypeLibExporterNotifySink.cs,NONE,1.1 ITypeLibImporterNotifySink.cs,NONE,1.1 ImportedFromTypeLibAttribute.cs,NONE,1.1 ImporterEventKind.cs,NONE,1.1 InvalidComObjectException.cs,NONE,1.1 InvalidOleVariantTypeException.cs,NONE,1.1 LCIDConversionAttribute.cs,NONE,1.1 LIBFLAGS.cs,NONE,1.1 MarshalDirectiveException.cs,NONE,1.1 ObjectCreationDelegate.cs,NONE,1.1 OptionalAttribute.cs,NONE,1.1 PARAMDESC.cs,NONE,1.1 PARAMFLAG.cs,NONE,1.1 PreserveSigAttribute.cs,NONE,1.1 PrimaryInteropAssemblyAttribute.cs,NONE,1.1 ProgIdAttribute.cs,NONE,1.1 RegistrationServices.cs,NONE,1.1 RuntimeEnvironment.cs,NONE,1.1 SEHException.cs,NONE,1.1 STATSTG.cs,NONE,1.1 SYSKIND.cs,NONE,1.1 SafeArrayRankMismatchException.cs,NONE,1.1 SafeArrayTypeMismatchException.cs,NONE,1.1 TYPEATTR.cs,NONE,1.1 TYPEDESC.cs,NONE,1.1 TYPEFLAGS.cs,NONE,1.1 TYPEKIND.cs,NONE,1.1 TYPELIBATTR.cs,NONE,1.1 TypeLibConverter.cs,NONE,1.1 TypeLibExporterFlags.cs,NONE,1.1 TypeLibFuncAttribute.cs,NONE,1.1 TypeLibFuncFlags.cs,NONE,1.1 TypeLibImporterFlags.cs,NONE,1.1 TypeLibTypeAttribute.cs,NONE,1.1 TypeLibTypeFlags.cs,NONE,1.1 TypeLibVarAttribute.cs,NONE,1.1 TypeLibVarFlags.cs,NONE,1.1 UCOMIBindCtx.cs,NONE,1.1 UCOMIConnectionPoint.cs,NONE,1.1 UCOMIConnectionPointContainer.cs,NONE,1.1 UCOMIEnumConnectionPoints.cs,NONE,1.1 UCOMIEnumConnections.cs,NONE,1.1 UCOMIEnumMoniker.cs,NONE,1.1 UCOMIEnumString.cs,NONE,1.1 UCOMIEnumVARIANT.cs,NONE,1.1 UCOMIMoniker.cs,NONE,1.1 UCOMIPersistFile.cs,NONE,1.1 UCOMIRunningObjectTable.cs,NONE,1.1 UCOMIStream.cs,NONE,1.1 UCOMITypeComp.cs,NONE,1.1 UnknownWrapper.cs,NONE,1.1 VARDESC.cs,NONE,1.1 VARFLAGS.cs,NONE,1.1 VarEnum.cs,NONE,1.1 ComImportAttribute.cs,1.2,1.3 ComInterfaceType.cs,1.1,1.2 ComMemberType.cs,1.1,1.2 DispIdAttribute.cs,1.2,1.3 ExternalException.cs,1.1,1.2 InterfaceTypeAttribute.cs,1.4,1.5 Marshal.cs,1.4,1.5 UCOMITypeInfo.cs,1.1,1.2 UCOMITypeLib.cs,1.1,1.2 ExposeHResultAttribute.cs,1.2,NONE |
Date: |
Fri, 04 Apr 2003 16:53:56 -0500 |
Update of /cvsroot/dotgnu-pnet/pnetlib/runtime/System/Runtime/InteropServices
In directory
subversions:/tmp/cvs-serv1430/runtime/System/Runtime/InteropServices
Modified Files:
ComImportAttribute.cs ComInterfaceType.cs ComMemberType.cs
DispIdAttribute.cs ExternalException.cs
InterfaceTypeAttribute.cs Marshal.cs UCOMITypeInfo.cs
UCOMITypeLib.cs
Added Files:
ArrayWithOffset.cs AssemblyRegistrationFlags.cs
AutomationProxyAttribute.cs BINDPTR.cs BIND_OPTS.cs
CALLCONV.cs COMException.cs CONNECTDATA.cs CoClassAttribute.cs
ComAliasNameAttribute.cs ComConversionLossAttribute.cs
ComEventInterfaceAttribute.cs ComRegisterFunctionAttribute.cs
ComSourceInterfacesAttribute.cs
ComUnregisterFunctionAttribute.cs CurrencyWrapper.cs
DESCKIND.cs DISPPARAMS.cs DispatchWrapper.cs ELEMDESC.cs
EXCEPINFO.cs ErrorWrapper.cs ExporterEventKind.cs
ExtensibleClassFactory.cs FILETIME.cs FUNCDESC.cs FUNCFLAGS.cs
FUNCKIND.cs HandleRef.cs IDLDESC.cs IDLFLAG.cs
IDispatchImplAttribute.cs IDispatchImplType.cs
IMPLTYPEFLAGS.cs INVOKEKIND.cs IRegistrationServices.cs
ITypeLibConverter.cs ITypeLibExporterNameProvider.cs
ITypeLibExporterNotifySink.cs ITypeLibImporterNotifySink.cs
ImportedFromTypeLibAttribute.cs ImporterEventKind.cs
InvalidComObjectException.cs InvalidOleVariantTypeException.cs
LCIDConversionAttribute.cs LIBFLAGS.cs
MarshalDirectiveException.cs ObjectCreationDelegate.cs
OptionalAttribute.cs PARAMDESC.cs PARAMFLAG.cs
PreserveSigAttribute.cs PrimaryInteropAssemblyAttribute.cs
ProgIdAttribute.cs RegistrationServices.cs
RuntimeEnvironment.cs SEHException.cs STATSTG.cs SYSKIND.cs
SafeArrayRankMismatchException.cs
SafeArrayTypeMismatchException.cs TYPEATTR.cs TYPEDESC.cs
TYPEFLAGS.cs TYPEKIND.cs TYPELIBATTR.cs TypeLibConverter.cs
TypeLibExporterFlags.cs TypeLibFuncAttribute.cs
TypeLibFuncFlags.cs TypeLibImporterFlags.cs
TypeLibTypeAttribute.cs TypeLibTypeFlags.cs
TypeLibVarAttribute.cs TypeLibVarFlags.cs 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 UnknownWrapper.cs VARDESC.cs
VARFLAGS.cs VarEnum.cs
Removed Files:
ExposeHResultAttribute.cs
Log Message:
Add a large number of missing non-ECMA classes in the
"System.Runtime.InteropServices" namespace.
--- NEW FILE ---
/*
* ArrayWithOffset.cs - Implementation of the
* "System.Runtime.InteropServices.ArrayWithOffset" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
public struct ArrayWithOffset
{
// Internal state.
private Array array;
private int offset;
// Constructor.
public ArrayWithOffset(Array array, int offset)
{
this.array = array;
this.offset = offset;
}
// Determine if two objects are equal.
public override bool Equals(Object obj)
{
if(obj is ArrayWithOffset)
{
ArrayWithOffset other =
(ArrayWithOffset)obj;
return (array == other.array && offset
== other.offset);
}
else
{
return false;
}
}
// Get the array from this structure.
public Array GetArray()
{
return array;
}
// Get a hash code for this instance.
public override int GetHashCode()
{
return offset;
}
// Get the offset from this structure.
public int GetOffset()
{
return offset;
}
}; // struct ArrayWithOffset
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* AssemblyRegistrationFlags.cs - Implementation of the
*
"System.Runtime.InteropServices.AssemblyRegistrationFlags" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Flags]
[Serializable]
public enum AssemblyRegistrationFlags
{
None = 0,
SetCodeBase = 1
}; // enum AssemblyRegistrationFlags
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* AutomationProxyAttribute.cs - Implementation of the
*
"System.Runtime.InteropServices.AutomationProxyAttribute" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Assembly |
AttributeTargets.Class |
AttributeTargets.Interface)]
public sealed class AutomationProxyAttribute : Attribute
{
// Internal state.
private bool val;
// Constructor.
public AutomationProxyAttribute(bool val)
{
this.val = val;
}
// Fetch the attribute's value.
public bool Value
{
get
{
return val;
}
}
}; // class AutomationProxyAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* BINDPTR.cs - Implementation of the
* "System.Runtime.InteropServices.BINDPTR" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[StructLayout(LayoutKind.Explicit)]
public struct BINDPTR
{
// Accessible state.
[FieldOffset(0)] public IntPtr lpfuncdesc;
[FieldOffset(0)] public IntPtr lptcomp;
[FieldOffset(0)] public IntPtr lpvardesc;
}; // struct BINDPTR
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* BIND_OPTS.cs - Implementation of the
* "System.Runtime.InteropServices.BIND_OPTS" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct BIND_OPTS
{
// Accessible state.
public int cbStruct;
public int grfFlags;
public int grfMode;
public int dwTickCountDeadline;
}; // struct BIND_OPTS
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* CALLCONV.cs - Implementation of the
* "System.Runtime.InteropServices.CALLCONV" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[Serializable]
public enum CALLCONV
{
CC_CDECL = 1,
CC_PASCAL = 2,
CC_MSCPASCAL = CC_PASCAL,
CC_MACPASCAL = 3,
CC_STDCALL = 4,
CC_RESERVED = 5,
CC_SYSCALL = 6,
CC_MPWCDECL = 7,
CC_MPWPASCAL = 8,
CC_MAX = 9
}; // enum CALLCONV
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* COMException.cs - Implementation of the
* "System.Runtime.InteropServices.COMException" class
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Runtime.Serialization;
[Serializable]
public class COMException : ExternalException
{
private int errorCode;
// Constructors.
public COMException()
: base(_("Exception_COM")) {}
public COMException(String msg)
: base(msg) {}
public COMException(String msg, Exception inner)
: base(msg, inner) {}
public COMException(String msg, int errorCode)
: base(msg, errorCode) {}
protected COMException(SerializationInfo info, StreamingContext context)
: base(info, context) {}
// Convert this object into a string.
public override String ToString()
{
return base.ToString();
}
// Get the default message to use for this exception type.
protected internal override String MessageDefault
{
get
{
return _("Exception_COM");
}
}
}; // class COMException
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* CONNECTDATA.cs - Implementation of the
* "System.Runtime.InteropServices.CONNECTDATA" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct CONNECTDATA
{
// Accessible state.
[MarshalAs(UnmanagedType.Interface)] public Object pUnk;
public int dwCookie;
}; // struct CONNECTDATA
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* CoClassAttribute.cs - Implementation of the
*
"System.Runtime.InteropServices.AutomationProxyAttribute" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Interface)]
public sealed class CoClassAttribute : Attribute
{
// Internal state.
private Type coClass;
// Constructor.
public CoClassAttribute(Type coClass)
{
this.coClass = coClass;
}
// Fetch the attribute's value.
public Type CoClass
{
get
{
return coClass;
}
}
}; // class CoClassAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ComAliasNameAttribute.cs - Implementation of the
* "System.Runtime.InteropServices.ComAliasNameAttribute"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Property |
AttributeTargets.Field |
AttributeTargets.Parameter |
AttributeTargets.ReturnValue)]
public sealed class ComAliasNameAttribute : Attribute
{
// Internal state.
private String alias;
// Constructor.
public ComAliasNameAttribute(String alias)
{
this.alias = alias;
}
// Fetch the attribute's value.
public String Value
{
get
{
return alias;
}
}
}; // class ComAliasNameAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ComConversionLossAttribute.cs - Implementation of the
*
"System.Runtime.InteropServices.ComConversionLossAttribute" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.All)]
public sealed class ComConversionLossAttribute : Attribute
{
// Constructor.
public ComConversionLossAttribute() {}
}; // class ComConversionLossAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ComEventInterfaceAttribute.cs - Implementation of the
*
"System.Runtime.InteropServices.ComEventInterfaceAttribute" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Interface)]
public sealed class ComEventInterfaceAttribute : Attribute
{
// Internal state.
private Type sourceInterface;
private Type eventProvider;
// Constructor.
public ComEventInterfaceAttribute(Type SourceInterface, Type
EventProvider)
{
this.sourceInterface = SourceInterface;
this.eventProvider = EventProvider;
}
// Fetch the attribute's values.
public Type SourceInterface
{
get
{
return sourceInterface;
}
}
public Type EventProvider
{
get
{
return eventProvider;
}
}
}; // class ComEventInterfaceAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ComRegisterFunctionAttribute.cs - Implementation of the
*
"System.Runtime.InteropServices.ComRegisterFunctionAttribute" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Method)]
public sealed class ComRegisterFunctionAttribute : Attribute
{
// Constructor.
public ComRegisterFunctionAttribute() {}
}; // class ComRegisterFunctionAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ComSourceInterfacesAttribute.cs - Implementation of the
*
"System.Runtime.InteropServices.ComSourceInterfacesAttribute" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Class)]
public sealed class ComSourceInterfacesAttribute : Attribute
{
// Internal state.
private String value;
// Constructors.
public ComSourceInterfacesAttribute(String sourceInterfaces)
{
this.value = sourceInterfaces;
}
public ComSourceInterfacesAttribute(Type sourceInterface)
{
this.value = sourceInterface.ToString();
}
public ComSourceInterfacesAttribute(Type sourceInterface1,
Type sourceInterface2)
{
this.value = sourceInterface1.ToString() + "," +
sourceInterface2.ToString();
}
public ComSourceInterfacesAttribute(Type sourceInterface1,
Type sourceInterface2,
Type sourceInterface3)
{
this.value = sourceInterface1.ToString() + "," +
sourceInterface2.ToString() + "," +
sourceInterface3.ToString();
}
public ComSourceInterfacesAttribute(Type sourceInterface1,
Type sourceInterface2,
Type sourceInterface3,
Type sourceInterface4)
{
this.value = sourceInterface1.ToString() + "," +
sourceInterface2.ToString() + "," +
sourceInterface3.ToString() + "," +
sourceInterface4.ToString();
}
// Fetch the attribute's value.
public String Value
{
get
{
return value;
}
}
}; // class ComSourceInterfacesAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ComUnregisterFunctionAttribute.cs - Implementation of the
* "System.Runtime.InteropServices.ComUnregisterFunctionAttribute"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Method)]
public sealed class ComUnregisterFunctionAttribute : Attribute
{
// Constructor.
public ComUnregisterFunctionAttribute() {}
}; // class ComUnregisterFunctionAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* CurrencyWrapper.cs - Implementation of the
* "System.Runtime.InteropServices.CurrencyWrapper" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
public sealed class CurrencyWrapper
{
// Internal state.
private Decimal value;
// Constructors.
public CurrencyWrapper(Decimal obj)
{
value = obj;
}
public CurrencyWrapper(Object obj)
{
if(obj is Decimal)
{
value = (Decimal)obj;
}
else
{
throw new ArgumentException
(_("Arg_MustBeDecimal"), "obj");
}
}
// Get the wrapped currency value.
public Decimal WrappedObject
{
get
{
return value;
}
}
}; // class CurrencyWrapper
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* DESCKIND.cs - Implementation of the
* "System.Runtime.InteropServices.DESCKIND" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[Serializable]
public enum DESCKIND
{
DESCKIND_NONE = 0,
DESCKIND_FUNCDESC = 1,
DESCKIND_VARDESC = 2,
DESCKIND_TYPECOMP = 3,
DESCKIND_IMPLICITAPPOBJ = 4,
DESCKIND_MAX = 5
}; // enum DESCKIND
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* DISPPARAMS.cs - Implementation of the
* "System.Runtime.InteropServices.DISPPARAMS" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct DISPPARAMS
{
// Accessible state.
public IntPtr rgvarg;
public IntPtr rgdispidNamedArgs;
public int cArgs;
public int cNamedArgs;
}; // struct DISPPARAMS
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* DispatchWrapper.cs - Implementation of the
* "System.Runtime.InteropServices.DispatchWrapper" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
public sealed class DispatchWrapper
{
// Internal state.
private Object value;
// Constructors.
public DispatchWrapper(Object obj)
{
value = obj;
}
// Get the wrapped dispatch object value.
public Object WrappedObject
{
get
{
return value;
}
}
}; // class DispatchWrapper
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ELEMDESC.cs - Implementation of the
* "System.Runtime.InteropServices.ELEMDESC" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct ELEMDESC
{
[StructLayout(LayoutKind.Explicit)]
[ComVisible(false)]
public struct DESCUNION
{
[FieldOffset(0)] public IDLDESC idldesc;
[FieldOffset(0)] public PARAMDESC paramdesc;
}; // struct DESCUNION
public TYPEDESC tdesc;
public DESCUNION desc;
}; // struct ELEMDESC
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* EXCEPINFO.cs - Implementation of the
* "System.Runtime.InteropServices.EXCEPINFO" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct EXCEPINFO
{
// Accessible state.
public short wCode;
public short wReserved;
[MarshalAs(UnmanagedType.BStr)] public String bstrSource;
[MarshalAs(UnmanagedType.BStr)] public String bstrDescription;
[MarshalAs(UnmanagedType.BStr)] public String bstrHelpFile;
public int dwHelpContext;
public IntPtr pvReserved;
public IntPtr pfnDeferredFillIn;
}; // struct EXCEPINFO
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ErrorWrapper.cs - Implementation of the
* "System.Runtime.InteropServices.ErrorWrapper" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
public sealed class ErrorWrapper
{
// Internal state.
private int code;
// Constructors.
public ErrorWrapper(Exception e)
{
code = Marshal.GetHRForException(e);
}
public ErrorWrapper(int errorCode)
{
code = errorCode;
}
public ErrorWrapper(Object errorCode)
{
if(errorCode is int)
{
code = (int)errorCode;
}
else
{
throw new ArgumentException
(_("Arg_MustBeInt32"),
"errorCode");
}
}
// Get the wrapped error code.
public int ErrorCode
{
get
{
return code;
}
}
}; // class ErrorWrapper
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ExporterEventKind.cs - Implementation of the
* "System.Runtime.InteropServices.ExporterEventKind"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Serializable]
public enum ExporterEventKind
{
NOTIF_TYPECONVERTED = 0,
NOTIF_CONVERTWARNING = 1,
ERROR_REFTOINVALIDASSEMBLY = 2
}; // enum ExporterEventKind
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ExtensibleClassFactory.cs - Implementation of the
* "System.Runtime.InteropServices.ExtensibleClassFactory"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
public sealed class ExtensibleClassFactory
{
// Constructor.
private ExtensibleClassFactory() {}
// Register an object creation callback delegate.
public static void RegisterObjectCreationCallback
(ObjectCreationDelegate callback)
{
// Not used in this implementation.
}
}; // class ExtensibleClassFactory
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* FILETIME.cs - Implementation of the
* "System.Runtime.InteropServices.FILETIME" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct FILETIME
{
// Accessible state.
public int dwLowDateTime;
public int dwHighDateTime;
}; // struct FILETIME
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* FUNCDESC.cs - Implementation of the
* "System.Runtime.InteropServices.FUNCDESC" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct FUNCDESC
{
// Accessible state.
public int memid;
public IntPtr lprgscode;
public IntPtr lprgelemdescParam;
public FUNCKIND funckind;
public INVOKEKIND invkind;
public CALLCONV callconv;
public short cParams;
public short cParamsOpt;
public short oVft;
public short cScodes;
public ELEMDESC elemdescFunc;
public short wFuncFlags;
}; // struct FUNCDESC
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* FUNCFLAGS.cs - Implementation of the
* "System.Runtime.InteropServices.FUNCFLAGS" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[Serializable]
[Flags]
public enum FUNCFLAGS : short
{
FUNCFLAG_FRESTRICTED = 0x0001,
FUNCFLAG_FSOURCE = 0x0002,
FUNCFLAG_FBINDABLE = 0x0004,
FUNCFLAG_FREQUESTEDIT = 0x0008,
FUNCFLAG_FDISPLAYBIND = 0x0010,
FUNCFLAG_FDEFAULTBIND = 0x0020,
FUNCFLAG_FHIDDEN = 0x0040,
FUNCFLAG_FUSESGETLASTERROR = 0x0080,
FUNCFLAG_FDEFAULTCOLLELEM = 0x0100,
FUNCFLAG_FUIDEFAULT = 0x0200,
FUNCFLAG_FNONBROWSABLE = 0x0400,
FUNCFLAG_FREPLACEABLE = 0x0800,
FUNCFLAG_FIMMEDIATEBIND = 0x1000
}; // enum FUNCFLAGS
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* FUNCKIND.cs - Implementation of the
* "System.Runtime.InteropServices.FUNCKIND" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[Serializable]
public enum FUNCKIND
{
FUNC_VIRTUAL = 0,
FUNC_PUREVIRTUAL = 1,
FUNC_NONVIRTUAL = 2,
FUNC_STATIC = 3,
FUNC_DISPATCH = 4
}; // enum FUNCKIND
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* HandleRef.cs - Implementation of the
* "System.Runtime.InteropServices.HandleRef" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
public struct HandleRef
{
// Internal state.
private Object wrapper;
private IntPtr handle;
// Constructor.
public HandleRef(Object wrapper, IntPtr handle)
{
this.wrapper = wrapper;
this.handle = handle;
}
// Get this instance's fields.
public IntPtr Handle
{
get
{
return handle;
}
}
public Object Wrapper
{
get
{
return wrapper;
}
}
// Convert a handle reference into an IntPtr.
public static explicit operator IntPtr(HandleRef value)
{
return value.handle;
}
}; // struct HandleRef
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* IDLDESC.cs - Implementation of the
* "System.Runtime.InteropServices.IDLDESC" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct IDLDESC
{
// Accessible state.
public int dwReserved;
public IDLFLAG wIDLFlags;
}; // struct IDLDESC
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* IDLFLAG.cs - Implementation of the
* "System.Runtime.InteropServices.IDLFLAG" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[Serializable]
[Flags]
public enum IDLFLAG : short
{
IDLFLAG_NONE = 0x0000,
IDLFLAG_FIN = 0x0001,
IDLFLAG_FOUT = 0x0002,
IDLFLAG_FLCID = 0x0004,
IDLFLAG_FRETVAL = 0x0008
}; // enum IDLFLAG
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* IDispatchImplAttribute.cs - Implementation of the
* "System.Runtime.InteropServices.IDispatchImplAttribute"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class)]
public sealed class IDispatchImplAttribute : Attribute
{
// Internal state.
private IDispatchImplType implType;
// Constructor.
public IDispatchImplAttribute(IDispatchImplType implType)
{
this.implType = implType;
}
public IDispatchImplAttribute(short implType)
{
this.implType = (IDispatchImplType)implType;
}
// Fetch the attribute's value.
public IDispatchImplType Value
{
get
{
return implType;
}
}
}; // class IDispatchImplAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* IDispatchImplType.cs - Implementation of the
* "System.Runtime.InteropServices.IDispatchImplType"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Serializable]
public enum IDispatchImplType
{
SystemDefinedImpl = 0,
InternalImpl = 1,
CompatibleImpl = 2
}; // enum IDispatchImplType
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* IMPLTYPEFLAGS.cs - Implementation of the
* "System.Runtime.InteropServices.IMPLTYPEFLAGS" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[Serializable]
[Flags]
public enum IMPLTYPEFLAGS
{
IMPLTYPEFLAG_FDEFAULT = 0x0001,
IMPLTYPEFLAG_FSOURCE = 0x0002,
IMPLTYPEFLAG_FRESTRICTED = 0x0004,
IMPLTYPEFLAG_FDEFAULTVTABLE = 0x0008
}; // enum IMPLTYPEFLAGS
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* INVOKEKIND.cs - Implementation of the
* "System.Runtime.InteropServices.INVOKEKIND" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[Serializable]
public enum INVOKEKIND
{
INVOKE_FUNC = 0x0001,
INVOKE_PROPERTYGET = 0x0002,
INVOKE_PROPERTYSET = 0x0004,
INVOKE_PROPERTYPUTREF = 0x0008
}; // enum INVOKEKIND
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* IRegistrationServices.cs - Implementation of the
* "System.Runtime.InteropServices.IRegistrationServices"
class.
*
* Copyright (C) 2002 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Reflection;
[Guid("")]
public interface IRegistrationServices
{
// Get the GUID of the managed category.
Guid GetManagedCategoryGuid();
// Get the program identifier for a specific type.
String GetProgIdForType(Type type);
// Get a list of types that can be registered.
Type[] GetRegistrableTypesInAssembly(Assembly assembly);
// Register the types in a particular assembly.
bool RegisterAssembly(Assembly assembly, AssemblyRegistrationFlags
flags);
// Register a particular type for COM clients.
void RegisterTypeForComClients(Type type, ref Guid g);
// Determine if a particular type is a COM type.
bool TypeRepresentsComType(Type type);
// Determine if a particular type requires registration.
bool TypeRequiresRegistration(Type type);
// Unregister the types in a particular assembly.
bool UnregisterAssembly(Assembly assembly);
}; // interface IRegistrationServices
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ITypeLibConverter.cs - Implementation of the
* "System.Runtime.InteropServices.ITypeLibConverter"
class.
*
* Copyright (C) 2002 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Reflection;
using System.Reflection.Emit;
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface ITypeLibConverter
{
// Convert an assembly into a type library.
Object ConvertAssemblyToTypeLib
(Assembly assembly, String typeLibName,
TypeLibExporterFlags flags,
ITypeLibExporterNotifySink notifySink);
// Convert a type library into an emitted assembly.
AssemblyBuilder ConvertTypeLibToAssembly
(Object typeLib, String asmFileName,
int flags, ITypeLibImporterNotifySink
notifySink,
byte[] publicKey, StrongNameKeyPair keyPair,
bool unsafeInterfaces);
AssemblyBuilder ConvertTypeLibToAssembly
(Object typeLib, String asmFileName,
TypeLibImporterFlags flags,
ITypeLibImporterNotifySink notifySink,
byte[] publicKey, StrongNameKeyPair keyPair,
String asmNamespace, Version asmVersion);
// Get a primary interoperability assembly.
bool GetPrimaryInteropAssembly
(Guid g, int major, int minor, int lcid,
out String asmName, out String asmCodeBase);
}; // interface ITypeLibConverter
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ITypeLibExporterNameProvider.cs - Implementation of the
*
"System.Runtime.InteropServices.ITypeLibExporterNameProvider" class.
*
* Copyright (C) 2002 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Reflection;
using System.Reflection.Emit;
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface ITypeLibExporterNameProvider
{
// Get the name list from this provider.
String[] GetNames();
}; // interface ITypeLibExporterNameProvider
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ITypeLibExporterNotifySink.cs - Implementation of the
*
"System.Runtime.InteropServices.ITypeLibExporterNotifySink" class.
*
* Copyright (C) 2002 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Reflection;
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface ITypeLibExporterNotifySink
{
// Report an event that occurred while converting an assembly.
void ReportEvent(ExporterEventKind eventKind,
int eventCode, String eventMsg);
// Resolve a type library reference to an assembly.
Object ResolveRef(Assembly assembly);
}; // interface ITypeLibExporterNotifySink
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ITypeLibImporterNotifySink.cs - Implementation of the
*
"System.Runtime.InteropServices.ITypeLibImporterNotifySink" class.
*
* Copyright (C) 2002 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Reflection;
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface ITypeLibImporterNotifySink
{
// Report an event that occurred while converting an assembly.
void ReportEvent(ImporterEventKind eventKind,
int eventCode, String eventMsg);
// Resolve a type library reference to an assembly.
Assembly ResolveRef(Object typeLib);
}; // interface ITypeLibImporterNotifySink
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ImportedFromTypeLibAttribute.cs - Implementation of the
*
"System.Runtime.InteropServices.ImportedFromTypeLibAttribute" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Assembly)]
public sealed class ImportedFromTypeLibAttribute : Attribute
{
// Internal state.
private String tlbFile;
// Constructor.
public ImportedFromTypeLibAttribute(String tlbFile)
{
this.tlbFile = tlbFile;
}
// Fetch the attribute's value.
public String Value
{
get
{
return tlbFile;
}
}
}; // class ImportedFromTypeLibAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ImporterEventKind.cs - Implementation of the
* "System.Runtime.InteropServices.ImporterEventKind"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Serializable]
public enum ImporterEventKind
{
NOTIF_TYPECONVERTED = 0,
NOTIF_CONVERTWARNING = 1,
ERROR_REFTOINVALIDTYPELIB = 2
}; // enum ImporterEventKind
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* InvalidComObjectException.cs - Implementation of the
*
"System.Runtime.InteropServices.InvalidComObjectException" class
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Runtime.Serialization;
[Serializable]
public class InvalidComObjectException : SystemException
{
// Constructors.
public InvalidComObjectException()
: base(_("Exception_InvalidComObject")) {}
public InvalidComObjectException(String msg)
: base(msg) {}
public InvalidComObjectException(String msg, Exception inner)
: base(msg, inner) {}
protected InvalidComObjectException(SerializationInfo info,
StreamingContext context)
: base(info, context) {}
// Get the default message to use for this exception type.
protected internal override String MessageDefault
{
get
{
return _("Exception_InvalidComObject");
}
}
}; // class InvalidComObjectException
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* InvalidOleVariantTypeException.cs - Implementation of the
* "System.Runtime.InteropServices.InvalidOleVariantTypeException" class
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Runtime.Serialization;
[Serializable]
public class InvalidOleVariantTypeException : SystemException
{
// Constructors.
public InvalidOleVariantTypeException()
: base(_("Exception_InvalidOleType")) {}
public InvalidOleVariantTypeException(String msg)
: base(msg) {}
public InvalidOleVariantTypeException(String msg, Exception inner)
: base(msg, inner) {}
protected InvalidOleVariantTypeException(SerializationInfo info,
StreamingContext context)
: base(info, context) {}
// Get the default message to use for this exception type.
protected internal override String MessageDefault
{
get
{
return _("Exception_InvalidOleType");
}
}
}; // class InvalidOleVariantTypeException
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* LCIDConversionAttribute.cs - Implementation of the
*
"System.Runtime.InteropServices.LCIDConversionAttribute" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Method)]
public sealed class LCIDConversionAttribute : Attribute
{
// Internal state.
private int lcid;
// Constructor.
public LCIDConversionAttribute(int lcid)
{
this.lcid = lcid;
}
// Fetch the attribute's value.
public int Value
{
get
{
return lcid;
}
}
}; // class LCIDConversionAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* LIBFLAGS.cs - Implementation of the
* "System.Runtime.InteropServices.LIBFLAGS" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[Serializable]
[Flags]
public enum LIBFLAGS : short
{
LIBFLAG_FRESTRICTED = 0x0001,
LIBFLAG_FCONTROL = 0x0002,
LIBFLAG_FHIDDEN = 0x0004,
LIBFLAG_FHASDISKIMAGE = 0x0008
}; // enum LIBFLAGS
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* MarshalDirectiveException.cs - Implementation of the
*
"System.Runtime.InteropServices.MarshalDirectiveException" class
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Runtime.Serialization;
[Serializable]
public class MarshalDirectiveException : SystemException
{
// Constructors.
public MarshalDirectiveException()
: base(_("Exception_MarshalDirective")) {}
public MarshalDirectiveException(String msg)
: base(msg) {}
public MarshalDirectiveException(String msg, Exception inner)
: base(msg, inner) {}
protected MarshalDirectiveException(SerializationInfo info,
StreamingContext context)
: base(info, context) {}
// Get the default message to use for this exception type.
protected internal override String MessageDefault
{
get
{
return _("Exception_MarshalDirective");
}
}
}; // class MarshalDirectiveException
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ObjectCreationDelegate.cs - Implementation of the
* "System.Runtime.InteropServices.ObjectCreationDelegate"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
public delegate IntPtr ObjectCreationDelegate(IntPtr aggregator);
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* OptionalAttribute.cs - Implementation of the
* "System.Runtime.InteropServices.OptionalAttribute"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Parameter)]
public sealed class OptionalAttribute : Attribute
{
// Constructor.
public OptionalAttribute() : base() {}
}; // class OptionalAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* PARAMDESC.cs - Implementation of the
* "System.Runtime.InteropServices.PARAMDESC" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct PARAMDESC
{
// Accessible state.
public IntPtr lpVarValue;
public PARAMFLAG wParamFlags;
}; // struct PARAMDESC
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* PARAMFLAG.cs - Implementation of the
* "System.Runtime.InteropServices.PARAMFLAG" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[Serializable]
[Flags]
public enum PARAMFLAG : short
{
PARAMFLAG_NONE = 0x0000,
PARAMFLAG_FIN = 0x0001,
PARAMFLAG_FOUT = 0x0002,
PARAMFLAG_FLCID = 0x0004,
PARAMFLAG_FRETVAL = 0x0008,
PARAMFLAG_FOPT = 0x0010,
PARAMFLAG_HASDEFAULT = 0x0020,
PARAMFLAG_FHASCUSTDATA = 0x0040
}; // enum PARAMFLAG
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* PreserveSigAttribute.cs - Implementation of the
* "System.Runtime.InteropServices.PreserveSigAttribute"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Method)]
public sealed class PreserveSigAttribute : Attribute
{
// Constructor.
public PreserveSigAttribute() : base() {}
}; // class PreserveSigAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* PrimaryInteropAssemblyAttribute.cs - Implementation of the
* "System.Runtime.InteropServices.PrimaryInteropAssemblyAttribute" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Assembly)]
public sealed class PrimaryInteropAssemblyAttribute : Attribute
{
// Internal state.
private int major;
private int minor;
// Constructor.
public PrimaryInteropAssemblyAttribute(int major, int minor)
{
this.major = major;
this.minor = minor;
}
// Fetch the attribute's values.
public int MajorVersion
{
get
{
return major;
}
}
public int MinorVersion
{
get
{
return minor;
}
}
}; // class PrimaryInteropAssemblyAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* ProgIdAttribute.cs - Implementation of the
* "System.Runtime.InteropServices.ProgIdAttribute" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Class)]
public sealed class ProgIdAttribute : Attribute
{
// Internal state.
private String progId;
// Constructor.
public ProgIdAttribute(String progId)
{
this.progId = progId;
}
// Get this attribute's value.
public String Value
{
get
{
return progId;
}
}
}; // class ProgIdAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* RegistrationServices.cs - Implementation of the
* "System.Runtime.InteropServices.RegistrationServices"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Reflection;
// We don't support COM registration in this implementation.
[ClassInterface(ClassInterfaceType.None)]
[Guid("")]
public class RegistrationServices : IRegistrationServices
{
// Constructor.
public RegistrationServices() {}
// Get the GUID of the managed category.
public virtual Guid GetManagedCategoryGuid()
{
throw new NotImplementedException();
}
// Get the program identifier for a specific type.
public virtual String GetProgIdForType(Type type)
{
throw new NotImplementedException();
}
// Get a list of types that can be registered.
public virtual Type[] GetRegistrableTypesInAssembly(Assembly assembly)
{
throw new NotImplementedException();
}
// Register the types in a particular assembly.
public virtual bool RegisterAssembly
(Assembly assembly, AssemblyRegistrationFlags
flags)
{
throw new NotImplementedException();
}
// Register a particular type for COM clients.
public virtual void RegisterTypeForComClients(Type type, ref Guid g)
{
throw new NotImplementedException();
}
// Determine if a particular type is a COM type.
public virtual bool TypeRepresentsComType(Type type)
{
throw new NotImplementedException();
}
// Determine if a particular type requires registration.
public virtual bool TypeRequiresRegistration(Type type)
{
throw new NotImplementedException();
}
// Unregister the types in a particular assembly.
public virtual bool UnregisterAssembly(Assembly assembly)
{
throw new NotImplementedException();
}
}; // class RegistrationServices
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* RuntimeEnvironment.cs - Implementation of the
* "System.Runtime.InteropServices.RuntimeEnvironment"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Reflection;
public class RuntimeEnvironment
{
// Constructor.
public RuntimeEnvironment() {}
// Get the system configuration file.
public static String SystemConfigurationFile
{
get
{
// We don't use system config files in
this implementation.
throw new NotImplementedException();
}
}
// Determine if an assembly was loaded from the global access cache.
public static bool FromGlobalAccessCache(Assembly assembly)
{
// This implementation doesn't use a GAC.
return false;
}
// Get the directory where the runtime engine is installed.
public static String GetRuntimeDirectory()
{
// We don't allow this to be inspected in this
implementation.
throw new NotImplementedException();
}
// Get the version of the runtime being used for the current process.
public static String GetRuntimeVersion()
{
return Environment.Version.ToString();
}
}; // class RuntimeEnvironment
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* SEHException.cs - Implementation of the
* "System.Runtime.InteropServices.SEHException" class
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Runtime.Serialization;
[Serializable]
public class SEHException : SystemException
{
// Constructors.
public SEHException()
: base(_("Exception_SEH")) {}
public SEHException(String msg)
: base(msg) {}
public SEHException(String msg, Exception inner)
: base(msg, inner) {}
protected SEHException(SerializationInfo info, StreamingContext context)
: base(info, context) {}
// Get the default message to use for this exception type.
protected internal override String MessageDefault
{
get
{
return _("Exception_SEH");
}
}
// Determine if this exception can be resumed.
public virtual bool CanResume()
{
return false;
}
}; // class SEHException
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* STATSTG.cs - Implementation of the
* "System.Runtime.InteropServices.STATSTG" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct STATSTG
{
// Accessible state.
public String pwcsName;
public int type;
public long cbSize;
public FILETIME mtime;
public FILETIME ctime;
public FILETIME atime;
public int grfMode;
public int grfLocksSupported;
public Guid clsid;
public int grfStateBits;
public int reserved;
}; // struct STATSTG
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* SYSKIND.cs - Implementation of the
* "System.Runtime.InteropServices.SYSKIND" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[Serializable]
public enum SYSKIND
{
SYS_WIN16 = 0,
SYS_WIN32 = 1,
SYS_MAC = 2
}; // enum SYSKIND
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* SafeArrayRankMismatchException.cs - Implementation of the
* "System.Runtime.InteropServices.SafeArrayRankMismatchException"
class
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Runtime.Serialization;
[Serializable]
public class SafeArrayRankMismatchException : SystemException
{
// Constructors.
public SafeArrayRankMismatchException()
: base(_("Exception_SafeArrayRank")) {}
public SafeArrayRankMismatchException(String msg)
: base(msg) {}
public SafeArrayRankMismatchException(String msg, Exception inner)
: base(msg, inner) {}
protected SafeArrayRankMismatchException(SerializationInfo info,
StreamingContext context)
: base(info, context) {}
// Get the default message to use for this exception type.
protected internal override String MessageDefault
{
get
{
return _("Exception_SafeArrayRank");
}
}
}; // class SafeArrayRankMismatchException
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* SafeArrayTypeMismatchException.cs - Implementation of the
* "System.Runtime.InteropServices.SafeArrayTypeMismatchException"
class
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Runtime.Serialization;
[Serializable]
public class SafeArrayTypeMismatchException : SystemException
{
// Constructors.
public SafeArrayTypeMismatchException()
: base(_("Exception_SafeArrayType")) {}
public SafeArrayTypeMismatchException(String msg)
: base(msg) {}
public SafeArrayTypeMismatchException(String msg, Exception inner)
: base(msg, inner) {}
protected SafeArrayTypeMismatchException(SerializationInfo info,
StreamingContext context)
: base(info, context) {}
// Get the default message to use for this exception type.
protected internal override String MessageDefault
{
get
{
return _("Exception_SafeArrayType");
}
}
}; // class SafeArrayTypeMismatchException
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TYPEATTR.cs - Implementation of the
* "System.Runtime.InteropServices.TYPEATTR" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct TYPEATTR
{
// Accessible state.
public const int MEMBER_ID_NIL = -1;
public Guid guid;
public int lcid;
public int dwReserved;
public int memidConstructor;
public int memidDestructor;
public IntPtr lpstrSchema;
public int cbSizeInstance;
public TYPEKIND typekind;
public short cFuncs;
public short cVars;
public short cImplTypes;
public short cbSizeVft;
public short cbAlignment;
public TYPEFLAGS wTypeFlags;
public short wMajorVerNum;
public short wMinorVerNum;
public TYPEDESC tdescAlias;
public IDLDESC ildescType;
}; // struct TYPEATTR
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TYPEDESC.cs - Implementation of the
* "System.Runtime.InteropServices.TYPEDESC" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct TYPEDESC
{
// Accessible state.
public IntPtr lpValue;
public short vt;
}; // struct TYPEDESC
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TYPEFLAGS.cs - Implementation of the
* "System.Runtime.InteropServices.TYPEFLAGS" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[Serializable]
[Flags]
public enum TYPEFLAGS : short
{
TYPEFLAG_FAPPOBJECT = 0x0001,
TYPEFLAG_FCANCREATE = 0x0002,
TYPEFLAG_FLICENSED = 0x0004,
TYPEFLAG_FPREDECLID = 0x0008,
TYPEFLAG_FHIDDEN = 0x0010,
TYPEFLAG_FCONTROL = 0x0020,
TYPEFLAG_FDUAL = 0x0040,
TYPEFLAG_FNONEXTENSIBLE = 0x0080,
TYPEFLAG_FOLEAUTOMATION = 0x0100,
TYPEFLAG_FRESTRICTED = 0x0200,
TYPEFLAG_FAGGREGATABLE = 0x0400,
TYPEFLAG_FREPLACEABLE = 0x0800,
TYPEFLAG_FDISPATCHABLE = 0x1000,
TYPEFLAG_FREVERSEBIND = 0x2000,
TYPEFLAG_FPROXY = 0x4000
}; // enum TYPEFLAGS
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TYPEKIND.cs - Implementation of the
* "System.Runtime.InteropServices.TYPEKIND" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[Serializable]
public enum TYPEKIND
{
TKIND_ENUM = 0,
TKIND_RECORD = 1,
TKIND_MODULE = 2,
TKIND_INTERFACE = 3,
TKIND_DISPATCH = 4,
TKIND_COCLASS = 5,
TKIND_ALIAS = 6,
TKIND_UNION = 7,
TKIND_MAX = 8
}; // enum TYPEKIND
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TYPELIBATTR.cs - Implementation of the
* "System.Runtime.InteropServices.TYPELIBATTR" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct TYPELIBATTR
{
// Accessible state.
public Guid guid;
public int lcid;
public SYSKIND syskind;
public short wMajorVerNum;
public short wMinorVerNum;
public LIBFLAGS wLibFlags;
}; // struct TYPELIBATTR
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TypeLibConverter.cs - Implementation of the
* "System.Runtime.InteropServices.TypeLibConverter" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
using System.Reflection;
using System.Reflection.Emit;
// We don't support COM type library conversion in this implementation.
[ClassInterface(ClassInterfaceType.None)]
[Guid("")]
public class TypeLibConverter : ITypeLibConverter
{
// Constructor.
public TypeLibConverter() {}
// Convert an assembly into a type library.
public Object ConvertAssemblyToTypeLib
(Assembly assembly, String typeLibName,
TypeLibExporterFlags flags,
ITypeLibExporterNotifySink notifySink)
{
throw new NotImplementedException();
}
// Convert a type library into an emitted assembly.
public AssemblyBuilder ConvertTypeLibToAssembly
(Object typeLib, String asmFileName,
int flags, ITypeLibImporterNotifySink
notifySink,
byte[] publicKey, StrongNameKeyPair keyPair,
bool unsafeInterfaces)
{
throw new NotImplementedException();
}
public AssemblyBuilder ConvertTypeLibToAssembly
(Object typeLib, String asmFileName,
TypeLibImporterFlags flags,
ITypeLibImporterNotifySink notifySink,
byte[] publicKey, StrongNameKeyPair keyPair,
String asmNamespace, Version asmVersion)
{
throw new NotImplementedException();
}
// Get a primary interoperability assembly.
public bool GetPrimaryInteropAssembly
(Guid g, int major, int minor, int lcid,
out String asmName, out String asmCodeBase)
{
throw new NotImplementedException();
}
}; // class TypeLibConverter
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TypeLibExporterFlags.cs - Implementation of the
* "System.Runtime.InteropServices.TypeLibExporterFlags"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Flags]
[Serializable]
public enum TypeLibExporterFlags
{
OnlyReferenceRegistered = 1
}; // enum TypeLibExporterFlags
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TypeLibFuncAttribute.cs - Implementation of the
* "System.Runtime.InteropServices.TypeLibFuncAttribute"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Method)]
public sealed class TypeLibFuncAttribute : Attribute
{
// Internal state.
private TypeLibFuncFlags flags;
// Constructor.
public TypeLibFuncAttribute(TypeLibFuncFlags flags)
{
this.flags = flags;
}
public TypeLibFuncAttribute(short flags)
{
this.flags = (TypeLibFuncFlags)flags;
}
// Get this attribute's value.
public TypeLibFuncFlags Value
{
get
{
return flags;
}
}
}; // class TypeLibFuncAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TypeLibFuncFlags.cs - Implementation of the
* "System.Runtime.InteropServices.TypeLibFuncFlags" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Serializable]
[Flags]
public enum TypeLibFuncFlags
{
FRestricted = 0x0001,
FSource = 0x0002,
FBindable = 0x0004,
FRequestEdit = 0x0008,
FDisplayBind = 0x0010,
FDefaultBind = 0x0020,
FHidden = 0x0040,
FUsesGetLastError = 0x0080,
FDefaultCollelem = 0x0100,
FUiDefault = 0x0200,
FNonBrowsable = 0x0400,
FReplaceable = 0x0800,
FImmediateBind = 0x1000
}; // enum TypeLibFuncFlags
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TypeLibImporterFlags.cs - Implementation of the
* "System.Runtime.InteropServices.TypeLibImporterFlags"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Flags]
[Serializable]
public enum TypeLibImporterFlags
{
PrimaryInteropAssembly = 0x0001,
UnsafeInterfaces = 0x0002,
SafeArrayAsSystemArray = 0x0004
}; // enum TypeLibImporterFlags
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TypeLibTypeAttribute.cs - Implementation of the
* "System.Runtime.InteropServices.TypeLibTypeAttribute"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Class |
AttributeTargets.Struct |
AttributeTargets.Enum |
AttributeTargets.Interface)]
public sealed class TypeLibTypeAttribute : Attribute
{
// Internal state.
private TypeLibTypeFlags flags;
// Constructor.
public TypeLibTypeAttribute(TypeLibTypeFlags flags)
{
this.flags = flags;
}
public TypeLibTypeAttribute(short flags)
{
this.flags = (TypeLibTypeFlags)flags;
}
// Get this attribute's value.
public TypeLibTypeFlags Value
{
get
{
return flags;
}
}
}; // class TypeLibTypeAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TypeLibTypeFlags.cs - Implementation of the
* "System.Runtime.InteropServices.TypeLibTypeFlags" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Serializable]
[Flags]
public enum TypeLibTypeFlags
{
FAppObject = 0x0001,
FCanCreate = 0x0002,
FLicensed = 0x0004,
FPreDeclId = 0x0008,
FHidden = 0x0010,
FControl = 0x0020,
FDual = 0x0040,
FNonExtensible = 0x0080,
FOleAutomation = 0x0100,
FRestricted = 0x0200,
FAggregatable = 0x0400,
FReplaceable = 0x0800,
FDispatchable = 0x1000,
FReverseBind = 0x2000
}; // enum TypeLibTypeFlags
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TypeLibVarAttribute.cs - Implementation of the
* "System.Runtime.InteropServices.TypeLibVarAttribute"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[AttributeUsage(AttributeTargets.Field)]
public sealed class TypeLibVarAttribute : Attribute
{
// Internal state.
private TypeLibVarFlags flags;
// Constructor.
public TypeLibVarAttribute(TypeLibVarFlags flags)
{
this.flags = flags;
}
public TypeLibVarAttribute(short flags)
{
this.flags = (TypeLibVarFlags)flags;
}
// Get this attribute's value.
public TypeLibVarFlags Value
{
get
{
return flags;
}
}
}; // class TypeLibVarAttribute
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* TypeLibVarFlags.cs - Implementation of the
* "System.Runtime.InteropServices.TypeLibVarFlags" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Serializable]
[Flags]
public enum TypeLibVarFlags
{
FReadOnly = 0x0001,
FSource = 0x0002,
FBindable = 0x0004,
FRequestEdit = 0x0008,
FDisplayBind = 0x0010,
FDefaultBind = 0x0020,
FHidden = 0x0040,
FUsesGetLastError = 0x0080,
FDefaultCollelem = 0x0100,
FUiDefault = 0x0200,
FNonBrowsable = 0x0400,
FReplaceable = 0x0800,
FImmediateBind = 0x1000
}; // enum TypeLibVarFlags
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UCOMIBindCtx.cs - Implementation of the
* "System.Runtime.InteropServices.UCOMIBindCtx" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIBindCtx
{
void EnumObjectParam(out UCOMIEnumString ppenum);
void GetBindOptions(ref BIND_OPTS pbindopts);
void GetObjectParam(String pszKey, out Object ppunk);
void GetRunningObjectTable(out UCOMIRunningObjectTable pprot);
void RegisterObjectBound(Object punk);
void RegisterObjectParam(String pszKey, Object punk);
void ReleaseBoundObjects();
void RevokeObjectBound(Object punk);
void RevokeObjectParam(String pszKey);
void SetBindOptions(ref BIND_OPTS pbindopts);
}; // class UCOMIBindCtx
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UCOMIConnectionPoint.cs - Implementation of the
* "System.Runtime.InteropServices.UCOMIConnectionPoint"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIConnectionPoint
{
void Advise(Object pUnkSink, out int pdwCookie);
void EnumConnections(out UCOMIEnumConnections ppEnum);
void GetConnectionInterface(out Guid pIID);
void GetConnectionPointContainer(out UCOMIConnectionPointContainer
ppCPC);
void Unadvise(int dwCookie);
}; // class UCOMIConnectionPoint
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UCOMIConnectionPointContainer.cs - Implementation of the
* "System.Runtime.InteropServices.UCOMIConnectionPointContainer" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIConnectionPointContainer
{
void EnumConnectionPoints(out UCOMIEnumConnectionPoints ppEnum);
void FindConnectionPoint(ref Guid riid, out UCOMIConnectionPoint ppCP);
}; // class UCOMIConnectionPointContainer
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UCOMIEnumConnectionPoints.cs - Implementation of the
* "System.Runtime.InteropServices.UCOMIEnumConnectionPoints"
class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIEnumConnectionPoints
{
void Clone(out UCOMIEnumConnectionPoints ppenum);
int Next(int celt, UCOMIConnectionPoint[] rgelt, out int pceltFetched);
int Reset();
int Skip(int celt);
}; // class UCOMIEnumConnectionPoints
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UCOMIEnumConnections.cs - Implementation of the
* "System.Runtime.InteropServices.UCOMIEnumConnections" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIEnumConnections
{
void Clone(out UCOMIEnumConnections ppenum);
int Next(int celt, CONNECTDATA[] rgelt, out int pceltFetched);
void Reset();
int Skip(int celt);
}; // class UCOMIEnumConnections
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UCOMIEnumMoniker.cs - Implementation of the
* "System.Runtime.InteropServices.UCOMIEnumMoniker" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIEnumMoniker
{
void Clone(out UCOMIEnumMoniker ppenum);
int Next(int celt, UCOMIMoniker[] rgelt, out int pceltFetched);
int Reset();
int Skip(int celt);
}; // class UCOMIEnumMoniker
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UCOMIEnumString.cs - Implementation of the
* "System.Runtime.InteropServices.UCOMIEnumString" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIEnumString
{
void Clone(out UCOMIEnumString ppenum);
int Next(int celt, String[] rgelt, out int pceltFetched);
int Reset();
int Skip(int celt);
}; // class UCOMIEnumString
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UCOMIEnumVARIANT.cs - Implementation of the
* "System.Runtime.InteropServices.UCOMIEnumVARIANT" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIEnumVARIANT
{
void Clone(out UCOMIEnumVARIANT ppenum);
int Next(int celt, int rgvar, out int pceltFetched);
int Reset();
int Skip(int celt);
}; // class UCOMIEnumVARIANT
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UCOMIMoniker.cs - Implementation of the
* "System.Runtime.InteropServices.UCOMIMoniker" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIMoniker
{
void BindToObject(UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft,
ref Guid riidResult, out Object
ppvResult);
void BindToStorage(UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft,
ref Guid riidResult, out Object
ppvResult);
void CommonPrefixWith(UCOMIMoniker pmkOther, out UCOMIMoniker
ppmkPrefix);
void ComposeWith(UCOMIMoniker pmkRight, bool fOnlyIfNotGeneric,
out UCOMIMoniker ppmkComposite);
void Enum(bool fForward, out UCOMIEnumMoniker ppenumMoniker);
void GetClassID(out Guid pClassID);
void GetDisplayName(UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft,
out String ppszDisplayName);
void GetSizeMax(out long pcbSize);
void GetTimeOfLastChange(UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft,
out FILETIME
pFileTime);
void Hash(out int pdwHash);
void Inverse(out UCOMIMoniker ppmk);
int IsDirty();
void IsEqual(UCOMIMoniker pmkOtherMoniker);
void IsRunning(UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft,
UCOMIMoniker pmkNewlyRunning);
void IsSystemMoniker(out int pdwMksys);
void Load(UCOMIStream pStm);
void ParseDisplayName(UCOMIBindCtx pbc, UCOMIMoniker pmkToLeft,
String pszDisplayName, out
int pcbEaten,
out UCOMIMoniker ppmkOut);
void Reduce(UCOMIBindCtx pbc, int dwReduceHowFar,
ref UCOMIMoniker ppmkToLeft, out UCOMIMoniker
ppmkReduced);
void RelativePathTo(UCOMIMoniker pmkOther, out UCOMIMoniker
ppmkRelPath);
void Save(UCOMIStream pStm, bool fClearDirty);
}; // class UCOMIMoniker
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UCOMIPersistFile.cs - Implementation of the
* "System.Runtime.InteropServices.UCOMIPersistFile" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIPersistFile
{
void GetClassID(out Guid pClassID);
void GetCurFile(out String ppszFileName);
int IsDirty();
void Load(String pszFileName, int dwMode);
void Save(String pszFileName, bool fRemember);
void SaveCompleted(String pszFileName);
}; // class UCOMIPersistFile
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UCOMIRunningObjectTable.cs - Implementation of the
*
"System.Runtime.InteropServices.UCOMIRunningObjectTable" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIRunningObjectTable
{
void EnumRunning(out UCOMIEnumMoniker ppenumMoniker);
void GetObject(UCOMIMoniker pmkObjectName, out Object ppunkObject);
void GetTimeOfLastChange(UCOMIMoniker pmkObjectName,
out FILETIME
pfiletime);
void IsRunning(UCOMIMoniker pmkObjectName);
void NoteChangeTime(int dwRegister, ref FILETIME pfiletime);
void Register(int grfFlags, Object punkObject, UCOMIMoniker
pmkObjectName,
out int pdwRegister);
void Revoke(int dwRegister);
}; // class UCOMIRunningObjectTable
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UCOMIStream.cs - Implementation of the
* "System.Runtime.InteropServices.UCOMIStream" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMIStream
{
void Clone(out UCOMIStream ppstm);
void Commit(int grfCommitFlags);
void CopyTo(UCOMIStream pstm, long cb, IntPtr pcbRead, IntPtr
pcbWritten);
void LockRegion(long libOffset, long cb, int dwLockType);
void Read(byte[] pv, int cb, IntPtr pcbRead);
void Revert();
void Seek(long dlibMove, int dwOrigin, IntPtr plibNewPosition);
void SetSize(long libNewSize);
void Stat(out STATSTG pstatstg, int grfStatFlag);
void UnlockRegion(long libOffset, long cb, int dwLockType);
void Write(byte[] pv, int cb, IntPtr pcbWritten);
}; // class UCOMIStream
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UCOMITypeComp.cs - Implementation of the
* "System.Runtime.InteropServices.UCOMITypeComp" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Guid("")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMITypeComp
{
void Bind(String szName, int lHashVal, short wFlags,
out UCOMITypeInfo ppTInfo, out DESCKIND pDescKind,
out BINDPTR pBindPtr);
void BindType(String szName, int lHashVal, out UCOMITypeInfo ppTInfo,
out UCOMITypeComp ppTComp);
}; // class UCOMITypeComp
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* UnknownWrapper.cs - Implementation of the
* "System.Runtime.InteropServices.UnknownWrapper" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
public sealed class UnknownWrapper
{
// Internal state.
private Object value;
// Constructors.
public UnknownWrapper(Object obj)
{
value = obj;
}
// Get the wrapped dispatch object value.
public Object WrappedObject
{
get
{
return value;
}
}
}; // class UnknownWrapper
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* VARDESC.cs - Implementation of the
* "System.Runtime.InteropServices.VARDESC" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
public struct VARDESC
{
[StructLayout(LayoutKind.Explicit)]
[ComVisible(false)]
public struct DESCUNION
{
[FieldOffset(0)] public int oInst;
[FieldOffset(0)] public IntPtr lpvarValue;
}; // struct DESCUNION
public int memid;
public String lpstrSchema;
public ELEMDESC elemdescVar;
public short wVarFlags;
public VarEnum varkind;
}; // struct VARDESC
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* VARFLAGS.cs - Implementation of the
* "System.Runtime.InteropServices.VARFLAGS" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[ComVisible(false)]
[Serializable]
[Flags]
public enum VARFLAGS
{
VARFLAG_FREADONLY = 0x0001,
VARFLAG_FSOURCE = 0x0002,
VARFLAG_FBINDABLE = 0x0004,
VARFLAG_FREQUESTEDIT = 0x0008,
VARFLAG_FDISPLAYBIND = 0x0010,
VARFLAG_FDEFAULTBIND = 0x0020,
VARFLAG_FHIDDEN = 0x0040,
VARFLAG_FUSESGETLASTERROR = 0x0080,
VARFLAG_FDEFAULTCOLLELEM = 0x0100,
VARFLAG_FUIDEFAULT = 0x0200,
VARFLAG_FNONBROWSABLE = 0x0400,
VARFLAG_FREPLACEABLE = 0x0800,
VARFLAG_FIMMEDIATEBIND = 0x1000
}; // enum VARFLAGS
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
--- NEW FILE ---
/*
* VarEnum.cs - Implementation of the
* "System.Runtime.InteropServices.VarEnum" class.
*
* Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
[Serializable]
public enum VarEnum
{
VT_EMPTY = 0,
VT_NULL = 1,
VT_I2 = 2,
VT_I4 = 3,
VT_R4 = 4,
VT_R8 = 5,
VT_CY = 6,
VT_DATE = 7,
VT_BSTR = 8,
VT_DISPATCH = 9,
VT_ERROR = 10,
VT_BOOL = 11,
VT_VARIANT = 12,
VT_UNKNOWN = 13,
VT_DECIMAL = 14,
VT_I1 = 16,
VT_UI1 = 17,
VT_UI2 = 18,
VT_UI4 = 19,
VT_I8 = 20,
VT_UI8 = 21,
VT_INT = 22,
VT_UINT = 23,
VT_VOID = 24,
VT_HRESULT = 25,
VT_PTR = 26,
VT_SAFEARRAY = 27,
VT_CARRAY = 28,
VT_USERDEFINED = 29,
VT_LPSTR = 30,
VT_LPWSTR = 31,
VT_RECORD = 36,
VT_FILETIME = 64,
VT_BLOB = 65,
VT_STREAM = 66,
VT_STORAGE = 67,
VT_STREAMED_OBJECT = 68,
VT_STORED_OBJECT = 69,
VT_BLOB_OBJECT = 70,
VT_CF = 71,
VT_CLSID = 72,
VT_VECTOR = 0x1000,
VT_ARRAY = 0x2000,
VT_BYREF = 0x4000
}; // enum VarEnum
#endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
Index: ComImportAttribute.cs
===================================================================
RCS file:
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Runtime/InteropServices/ComImportAttribute.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** ComImportAttribute.cs 20 Dec 2001 10:11:39 -0000 1.2
--- ComImportAttribute.cs 4 Apr 2003 21:53:53 -0000 1.3
***************
*** 3,7 ****
* "System.Runtime.InteropServices.ComImportAttribute"
class.
*
! * Copyright (C) 2001 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
--- 3,7 ----
* "System.Runtime.InteropServices.ComImportAttribute"
class.
*
! * Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
***************
*** 23,33 ****
{
! [TODO]
! public class ComImportAttribute : Attribute
! {
! // TODO
}; // class ComImportAttribute
}; // namespace System.Runtime.InteropServices
--- 23,37 ----
{
! #if !ECMA_COMPAT
! [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface)]
! public sealed class ComImportAttribute : Attribute
! {
! // Constructor.
! public ComImportAttribute() {}
}; // class ComImportAttribute
+
+ #endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
Index: ComInterfaceType.cs
===================================================================
RCS file:
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Runtime/InteropServices/ComInterfaceType.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** ComInterfaceType.cs 26 Dec 2002 10:40:37 -0000 1.1
--- ComInterfaceType.cs 4 Apr 2003 21:53:53 -0000 1.2
***************
*** 3,7 ****
* "System.Runtime.InteropServices.ComInterfaceType" enum.
*
! * Copyright (C) 2001 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
--- 3,7 ----
* "System.Runtime.InteropServices.ComInterfaceType" enum.
*
! * Copyright (C) 2001, 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
***************
*** 22,32 ****
namespace System.Runtime.InteropServices
{
#if !ECMA_COMPAT
! public enum ComInterfaceType
! {
! InterfaceIsDual = 0x00,
! InterfaceIsIUnknown = 0x01,
! InterfaceIsIDispatch = 0x02
! }
! #endif
! }
--- 22,38 ----
namespace System.Runtime.InteropServices
{
+
#if !ECMA_COMPAT
!
! [Serializable]
! public enum ComInterfaceType
! {
! InterfaceIsDual = 0,
! InterfaceIsIUnknown = 1,
! InterfaceIsIDispatch = 2
!
! }; // enum ComInterfaceType
!
! #endif // !ECMA_COMPAT
!
! }; // namespace System.Runtime.InteropServices
Index: ComMemberType.cs
===================================================================
RCS file:
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Runtime/InteropServices/ComMemberType.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** ComMemberType.cs 28 Jun 2002 04:38:48 -0000 1.1
--- ComMemberType.cs 4 Apr 2003 21:53:53 -0000 1.2
***************
*** 3,7 ****
* "System.Runtime.InteropServices.ComMemberType" class.
*
! * Copyright (C) 2002 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
--- 3,7 ----
* "System.Runtime.InteropServices.ComMemberType" class.
*
! * Copyright (C) 2002, 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
***************
*** 23,33 ****
{
public enum ComMemberType
{
! Method,
! PropGet,
! PropSet
}; // enum ComMemberType
}; // namespace System.Runtime.InteropServices
--- 23,37 ----
{
+ #if !ECMA_COMPAT
+
public enum ComMemberType
{
! Method = 0,
! PropGet = 1,
! PropSet = 2
}; // enum ComMemberType
+
+ #endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
Index: DispIdAttribute.cs
===================================================================
RCS file:
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Runtime/InteropServices/DispIdAttribute.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** DispIdAttribute.cs 20 Dec 2001 10:11:39 -0000 1.2
--- DispIdAttribute.cs 4 Apr 2003 21:53:53 -0000 1.3
***************
*** 3,7 ****
* "System.Runtime.InteropServices.DispIdAttribute" class.
*
! * Copyright (C) 2001 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
--- 3,7 ----
* "System.Runtime.InteropServices.DispIdAttribute" class.
*
! * Copyright (C) 2001, 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
***************
*** 23,33 ****
{
! [TODO]
! public class DispIdAttribute : Attribute
{
! // TODO
}; // class DispIdAttribute
}; // namespace System.Runtime.InteropServices
--- 23,55 ----
{
! #if !ECMA_COMPAT
!
! [AttributeUsage(AttributeTargets.Method |
! AttributeTargets.Field |
! AttributeTargets.Property |
! AttributeTargets.Event)]
! public sealed class DispIdAttribute : Attribute
{
+ // Internal state.
+ private int dispId;
+
+ // Constructor.
+ public DispIdAttribute(int dispId)
+ {
+ this.dispId = dispId;
+ }
! // Get this attribute's value.
! public int Value
! {
! get
! {
! return dispId;
! }
! }
}; // class DispIdAttribute
+
+ #endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
Index: ExternalException.cs
===================================================================
RCS file:
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Runtime/InteropServices/ExternalException.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** ExternalException.cs 25 Dec 2002 06:11:38 -0000 1.1
--- ExternalException.cs 4 Apr 2003 21:53:53 -0000 1.2
***************
*** 22,25 ****
--- 22,30 ----
{
+ #if !ECMA_COMPAT
+
+ using System.Runtime.Serialization;
+
+ [Serializable]
public class ExternalException : SystemException
{
***************
*** 29,42 ****
// Constructors.
public ExternalException()
! : base(_("Exception_System")) {}
public ExternalException(String msg)
! : base(msg) {}
public ExternalException(String msg, Exception inner)
! : base(msg, inner) {}
public ExternalException(String msg, int errorCode)
! : base(msg)
! {
! this.errorCode=errorCode;
! }
public virtual int ErrorCode
--- 34,50 ----
// Constructors.
public ExternalException()
! : base(_("Exception_System")) {}
public ExternalException(String msg)
! : base(msg) {}
public ExternalException(String msg, Exception inner)
! : base(msg, inner) {}
public ExternalException(String msg, int errorCode)
! : base(msg)
! {
! this.errorCode = errorCode;
! }
! protected ExternalException(SerializationInfo info,
!
StreamingContext context)
! : base(info, context) {}
public virtual int ErrorCode
***************
*** 48,52 ****
--- 56,71 ----
}
+ // Get the default message to use for this exception type.
+ protected internal override String MessageDefault
+ {
+ get
+ {
+ return _("Exception_System");
+ }
+ }
+
}; // class ExternalException
+
+ #endif // !ECMA_COMPAT
}; // namespace System.Runtime.InteropServices
Index: InterfaceTypeAttribute.cs
===================================================================
RCS file:
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Runtime/InteropServices/InterfaceTypeAttribute.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** InterfaceTypeAttribute.cs 29 Dec 2002 08:32:47 -0000 1.4
--- InterfaceTypeAttribute.cs 4 Apr 2003 21:53:53 -0000 1.5
***************
*** 25,28 ****
--- 25,29 ----
#if !ECMA_COMPAT
+ [AttributeUsage(AttributeTargets.Interface)]
public sealed class InterfaceTypeAttribute : Attribute
{
Index: Marshal.cs
===================================================================
RCS file:
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Runtime/InteropServices/Marshal.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** Marshal.cs 8 Dec 2002 06:24:40 -0000 1.4
--- Marshal.cs 4 Apr 2003 21:53:53 -0000 1.5
***************
*** 34,39 ****
{
// Character size information.
! public static readonly int SystemDefaultCharSize = 1; // TODO
! public static readonly int SystemMaxDBCSCharSize = 6; // TODO
// Allocate memory from the global (malloc) heap.
--- 34,39 ----
{
// Character size information.
! public static readonly int SystemDefaultCharSize = 1;
! public static readonly int SystemMaxDBCSCharSize = 6;
// Allocate memory from the global (malloc) heap.
***************
*** 378,381 ****
--- 378,382 ----
throw new NotImplementedException();
}
+ #if !ECMA_COMPAT
public static MemberInfo GetMethodInfoForComSlot
(Type t, int slot, ref ComMemberType memberType)
***************
*** 383,386 ****
--- 384,388 ----
throw new NotImplementedException();
}
+ #endif
public static Object GetObjectForIUnknown(IntPtr pUnk)
{
Index: UCOMITypeInfo.cs
===================================================================
RCS file:
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Runtime/InteropServices/UCOMITypeInfo.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** UCOMITypeInfo.cs 28 Jun 2002 04:38:48 -0000 1.1
--- UCOMITypeInfo.cs 4 Apr 2003 21:53:54 -0000 1.2
***************
*** 1,7 ****
/*
* UCOMITypeInfo.cs - Implementation of the
! * "System.Runtime.InteropServices.UCOMITypeInfo"
interface.
*
! * Copyright (C) 2002 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
--- 1,7 ----
/*
* UCOMITypeInfo.cs - Implementation of the
! * "System.Runtime.InteropServices.UCOMITypeInfo" class.
*
! * Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
***************
*** 25,33 ****
#if !ECMA_COMPAT
! using System;
!
public interface UCOMITypeInfo
{
! // TODO
}; // class UCOMITypeInfo
--- 25,56 ----
#if !ECMA_COMPAT
! [Guid("")]
! [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMITypeInfo
{
! void AddressOfMember(int memid, INVOKEKIND invKind, out IntPtr ppv);
! void CreateInstance(Object pUnkOuter, ref Guid riid, out Object ppvObj);
! void GetContainingTypeLib(out UCOMITypeLib ppTLB, out int pIndex);
! void GetDllEntry(int memid, INVOKEKIND invKind, out String pBstrDllName,
! out String pBstrName, out short
pwOrdinal);
! void GetDocumentation(int index, out String strName,
! out String strDocString, out
int dwHelpContext,
! out String strHelpFile);
! void GetFuncDesc(int index, out IntPtr ppFuncDesc);
! void GetIDsOfNames(String[] rgszNames, int cNames, int[] pMemId);
! void GetImplTypeFlags(int index, out int pImplTypeFlags);
! void GetMops(int memid, out String pBstrMops);
! void GetNames(int memid, String[] rgBstrNames, int cMaxNames,
! out int pcNames);
! void GetRefTypeInfo(int hRef, out UCOMITypeInfo ppTI);
! void GetTypeAttr(out IntPtr ppTypeAttr);
! void GetTypeComp(out UCOMITypeComp ppTComp);
! void GetVarDesc(int index, out IntPtr ppVarDesc);
! void Invoke(Object pvInstance, int memid, short wFlags,
! ref DISPPARAMS pDispParams, out Object
pVarResult,
! out EXCEPINFO pExcepInfo, out int puArgErr);
! void ReleaseFuncDesc(IntPtr pFuncDesc);
! void ReleaseTypeAttr(IntPtr pTypeAttr);
! void ReleaseVarDesc(IntPtr pVarDesc);
}; // class UCOMITypeInfo
Index: UCOMITypeLib.cs
===================================================================
RCS file:
/cvsroot/dotgnu-pnet/pnetlib/runtime/System/Runtime/InteropServices/UCOMITypeLib.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** UCOMITypeLib.cs 28 Jun 2002 04:38:48 -0000 1.1
--- UCOMITypeLib.cs 4 Apr 2003 21:53:54 -0000 1.2
***************
*** 1,7 ****
/*
* UCOMITypeLib.cs - Implementation of the
! * "System.Runtime.InteropServices.UCOMITypeLib" interface.
*
! * Copyright (C) 2002 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
--- 1,7 ----
/*
* UCOMITypeLib.cs - Implementation of the
! * "System.Runtime.InteropServices.UCOMITypeLib" class.
*
! * Copyright (C) 2003 Southern Storm Software, Pty Ltd.
*
* This program is free software; you can redistribute it and/or modify
***************
*** 25,33 ****
#if !ECMA_COMPAT
! using System;
!
public interface UCOMITypeLib
{
! // TODO
}; // class UCOMITypeLib
--- 25,45 ----
#if !ECMA_COMPAT
! [Guid("")]
! [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface UCOMITypeLib
{
! void FindName(String szNameBuf, int lHashVal, UCOMITypeInfo[] ppTInfo,
! int[] rgMemId, ref short pcFound);
! void GetDocumentation(int index, out String strName,
! out String strDocString, out
int dwHelpContext,
! out String strHelpFile);
! void GetLibAttr(out IntPtr ppTLibAttr);
! void GetTypeComp(out UCOMITypeComp ppTComp);
! void GetTypeInfo(int index, out UCOMITypeInfo ppTI);
! int GetTypeInfoCount();
! void GetTypeInfoOfGuid(ref Guid guid, out UCOMITypeInfo ppTI);
! void GetTypeInfoType(int index, out TYPEKIND pTKind);
! bool IsName(String szNameBuf, int lHashVal);
! void ReleaseTLibAttr(IntPtr pTLibAttr);
}; // class UCOMITypeLib
--- ExposeHResultAttribute.cs DELETED ---
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] CVS: pnetlib/runtime/System/Runtime/InteropServices ArrayWithOffset.cs,NONE,1.1 AssemblyRegistrationFlags.cs,NONE,1.1 AutomationProxyAttribute.cs,NONE,1.1 BINDPTR.cs,NONE,1.1 BIND_OPTS.cs,NONE,1.1 CALLCONV.cs,NONE,1.1 COMException.cs,NONE,1.1 CONNECTDATA.cs,NONE,1.1 CoClassAttribute.cs,NONE,1.1 ComAliasNameAttribute.cs,NONE,1.1ComConversionLossAttribute.cs,NONE,1.1 ComEventInterfaceAttribute.cs,NONE,1.1 ComRegisterFunctionAttribute.cs,NONE,1.1 ComSourceInterfacesAttribute.cs,NONE,1.1 ComUnregisterFunctionAttribute.cs,NONE,1.1 CurrencyWrapper.cs,NONE,1.1 DESCKIND.cs,NONE,1.1 DISPPARAMS.cs,NONE,1.1 DispatchWrapper.cs,NONE,1.1 ELEMDESC.cs,NONE,1.1 EXCEPINFO.cs,NONE,1.1 ErrorWrapper.cs,NONE,1.1 ExporterEventKind.cs,NONE,1.1 ExtensibleClassFactory.cs,NONE,1.1 FILETIME.cs,NONE,1.1 FUNCDESC.cs,NONE,1.1 FUNCFLAGS.cs,NONE,1.1 FUNCKIND.cs,NONE,1.1 HandleRef.cs,NONE,1.1 IDLDESC.cs,NONE,1.1 IDLFLAG.cs,NONE,1.1 IDispatchImplAttribute.cs,NONE,1.1 IDispatchImplType.cs,NONE,1.1 IMPLTYPEFLAGS.cs,NONE,1.1 INVOKEKIND.cs,NONE,1.1 IRegistrationServices.cs,NONE,1.1 ITypeLibConverter.cs,NONE,1.1ITypeLibExporterNameProvider.cs,NONE,1.1 ITypeLibExporterNotifySink.cs,NONE,1.1 ITypeLibImporterNotifySink.cs,NONE,1.1 ImportedFromTypeLibAttribute.cs,NONE,1.1 ImporterEventKind.cs,NONE,1.1 InvalidComObjectException.cs,NONE,1.1 InvalidOleVariantTypeException.cs,NONE,1.1 LCIDConversionAttribute.cs,NONE,1.1 LIBFLAGS.cs,NONE,1.1 MarshalDirectiveException.cs,NONE,1.1 ObjectCreationDelegate.cs,NONE,1.1 OptionalAttribute.cs,NONE,1.1 PARAMDESC.cs,NONE,1.1 PARAMFLAG.cs,NONE,1.1 PreserveSigAttribute.cs,NONE,1.1 PrimaryInteropAssemblyAttribute.cs,NONE,1.1 ProgIdAttribute.cs,NONE,1.1 RegistrationServices.cs,NONE,1.1 RuntimeEnvironment.cs,NONE,1.1 SEHException.cs,NONE,1.1 STATSTG.cs,NONE,1.1 SYSKIND.cs,NONE,1.1 SafeArrayRankMismatchException.cs,NONE,1.1 SafeArrayTypeMismatchException.cs,NONE,1.1 TYPEATTR.cs,NONE,1.1 TYPEDESC.cs,NONE,1.1 TYPEFLAGS.cs,NONE,1.1 TYPEKIND.cs,NONE,1.1 TYPELIBATTR.cs,NONE,1.1 TypeLibConverter.cs,NONE,1.1 TypeLibExporterFlags.cs,NONE,1.1 TypeLibFuncAttribute.cs,NONE,1.1 TypeLibFuncFlags.cs,NONE,1.1 TypeLibImporterFlags.cs,NONE,1.1 TypeLibTypeAttribute.cs,NONE,1.1 TypeLibTypeFlags.cs,NONE,1.1 TypeLibVarAttribute.cs,NONE,1.1 TypeLibVarFlags.cs,NONE,1.1 UCOMIBindCtx.cs,NONE,1.1 UCOMIConnectionPoint.cs,NONE,1.1 UCOMIConnectionPointContainer.cs,NONE,1.1 UCOMIEnumConnectionPoints.cs,NONE,1.1 UCOMIEnumConnections.cs,NONE,1.1 UCOMIEnumMoniker.cs,NONE,1.1 UCOMIEnumString.cs,NONE,1.1 UCOMIEnumVARIANT.cs,NONE,1.1 UCOMIMoniker.cs,NONE,1.1 UCOMIPersistFile.cs,NONE,1.1 UCOMIRunningObjectTable.cs,NONE,1.1 UCOMIStream.cs,NONE,1.1 UCOMITypeComp.cs,NONE,1.1 UnknownWrapper.cs,NONE,1.1 VARDESC.cs,NONE,1.1 VARFLAGS.cs,NONE,1.1 VarEnum.cs,NONE,1.1 ComImportAttribute.cs,1.2,1.3 ComInterfaceType.cs,1.1,1.2 ComMemberType.cs,1.1,1.2 DispIdAttribute.cs,1.2,1.3 ExternalException.cs,1.1,1.2 InterfaceTypeAttribute.cs,1.4,1.5 Marshal.cs,1.4,1.5 UCOMITypeInfo.cs,1.1,1.2 UCOMITypeLib.cs,1.1,1.2 ExposeHResultAttribute.cs,1.2,NONE,
Rhys Weatherley <address@hidden> <=