/* Chordata - .NET File Format Parser
 * Copyright (C) 2001-2002  Jay Freeman (saurik)
*/

/*
 *        Redistribution and use in source and binary
 * forms, with or without modification, are permitted
 * provided that the following conditions are met:
 * 
 * 1. Redistributions of source code must retain the
 *    above copyright notice, this list of conditions
 *    and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the
 *    above copyright notice, this list of conditions
 *    and the following disclaimer in the documentation
 *    and/or other materials provided with the
 *    distribution.
 * 3. The name of the author may not be used to endorse
 *    or promote products derived from this software
 *    without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS''
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

#ifndef CHORDATA_CHORDATA_H
#define CHORDATA_CHORDATA_H

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifdef CHORDATA_EXPORTS
#define CHORDATA_API __declspec(dllexport)
#else
#define CHORDATA_API __declspec(dllimport)
#endif

#include "menes-com/diapexis.h"

namespace Chordata {

/////////////////
/// IFace IDs ///
/////////////////

DIAPEXIS_METADATA_BEGIN(IMapToken)
DIAPEXIS_ID_NAME("Chordata.IMapToken")
DIAPEXIS_ID_GUID(06,a3,ea,8b,02,25,11,d1,bf,72,00,c0,4f,c3,1e,12)
DIAPEXIS_METADATA_END()

DIAPEXIS_METADATA_BEGIN(IMetaDataAssemblyEmit)
DIAPEXIS_ID_NAME("Chordata.IMetaDataAssemblyEmit")
DIAPEXIS_ID_GUID(21,1e,f1,5b,53,17,44,38,b1,96,de,c8,7b,88,76,93)
DIAPEXIS_METADATA_END()

DIAPEXIS_METADATA_BEGIN(IMetaDataAssemblyImport)
DIAPEXIS_ID_NAME("Chordata.IMetaDataAssemblyImport")
DIAPEXIS_ID_GUID(ee,62,47,0b,e9,4b,42,4e,9b,7c,2f,00,c9,24,9f,93)
DIAPEXIS_METADATA_END()

DIAPEXIS_METADATA_BEGIN(IMetaDataEmit)
DIAPEXIS_ID_NAME("Chordata.IMetaDataEmit")
DIAPEXIS_ID_GUID(ba,3f,ee,4c,ec,b9,4e,41,83,b7,18,3f,a4,1c,d8,59)
DIAPEXIS_METADATA_END()

DIAPEXIS_METADATA_BEGIN(IMetaDataImport)
DIAPEXIS_ID_NAME("Chordata.IMetaDataImport")
DIAPEXIS_ID_GUID(7d,ac,82,07,d3,ae,4c,75,9b,67,92,80,1a,49,7d,44)
DIAPEXIS_METADATA_END()

DIAPEXIS_METADATA_BEGIN(IMetaDataInternal)
DIAPEXIS_ID_NAME("Chordata.IMetaDataInternal")
DIAPEXIS_ID_GUID(39,ee,28,b3,01,81,4d,48,b5,3c,2f,fa,ff,d5,fe,c1)
DIAPEXIS_METADATA_END()

DIAPEXIS_METADATA_BEGIN(IMetaDataTables)
DIAPEXIS_ID_NAME("Chordata.IMetaDataTables")
DIAPEXIS_ID_GUID(d8,f5,79,ab,40,2d,4b,8e,82,d9,5d,63,b1,06,5c,68)
DIAPEXIS_METADATA_END()

DIAPEXIS_METADATA_BEGIN(IMetaDataDispenser)
DIAPEXIS_ID_NAME("Chordata.IMetaDataDispenser")
DIAPEXIS_ID_GUID(80,9c,65,2e,73,96,11,d2,97,71,00,a0,c9,b4,d5,0c)
DIAPEXIS_METADATA_END()

DIAPEXIS_METADATA_BEGIN(IMetaDataDispenserEx)
DIAPEXIS_ID_NAME("Chordata.IMetaDataDispenserEx")
DIAPEXIS_ID_GUID(31,bc,fc,e2,da,fb,11,d2,9f,81,00,c0,4f,79,a0,a3)
DIAPEXIS_METADATA_END()

/////////////////
/// Class IDs ///
/////////////////

DIAPEXIS_METADATA_BEGIN(Dispenser)
DIAPEXIS_ID_NAME("Chordata.Dispenser")
DIAPEXIS_ID_GUID(94,47,cd,4c,df,44,44,66,b1,42,51,97,0e,d9,15,98)
DIAPEXIS_METADATA_END()

DIAPEXIS_METADATA_BEGIN(Scope)
DIAPEXIS_ID_NAME("Chordata.Scope")
DIAPEXIS_ID_GUID(59,0f,f5,c7,71,1d,4b,db,89,ff,a3,a2,8a,8d,00,cc)
DIAPEXIS_METADATA_END()

namespace Microsoft {
	DIAPEXIS_METADATA_BEGIN(Dispenser)		
	DIAPEXIS_ID_NAME("Chordata.Microsoft.Dispenser")
	DIAPEXIS_ID_GUID(e5,cb,7a,31,75,12,11,d2,89,ce,00,80,c7,92,e5,d8)
	DIAPEXIS_METADATA_END()
}

}

#endif//CHORDATA_CHORDATA_H