/* Copyright (C) 2004 - 2006 db4objects Inc. http://www.db4o.com This file is part of the db4o open source object database. db4o is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation and as clarified by db4objects' GPL interpretation policy, available at http://www.db4o.com/about/company/legalpolicies/gplinterpretation/ Alternatively you can write to db4objects, Inc., 1900 S Norfolk Street, Suite 350, San Mateo, CA 94403, USA. db4o 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 Mono.Cecil.Signatures { using System; using Mono.Cecil; internal sealed class MarshalSig { public NativeType NativeInstrinsic; public IMarshalSigSpec Spec; public MarshalSig (NativeType nt) { this.NativeInstrinsic = nt; } public interface IMarshalSigSpec { } public sealed class Array : IMarshalSigSpec { public NativeType ArrayElemType; public int ParamNum; public int ElemMult; public int NumElem; public Array () { this.ParamNum = 0; this.ElemMult = 0; this.NumElem = 0; } } public sealed class CustomMarshaler : IMarshalSigSpec { public string Guid; public string UnmanagedType; public string ManagedType; public string Cookie; } public sealed class FixedArray : IMarshalSigSpec { public int NumElem; public NativeType ArrayElemType; public FixedArray () { this.NumElem = 0; this.ArrayElemType = NativeType.NONE; } } public sealed class SafeArray : IMarshalSigSpec { public VariantType ArrayElemType; } public sealed class FixedSysString : IMarshalSigSpec { public int Size; } } }