Class Hierarchy   Class Index   Method Index  

CHMminCInclude.h

00001 #ifndef __CHM_MIN_CINCLUDE_H__
00002 #define __CHM_MIN_CINCLUDE_H__
00003 //------------------------------------------------------------------------
00004 // Copyright (C) 1997-2005 iNTERFACEWARE Inc.  All Rights Reserved
00005 //
00006 // Module: CHMminimumInclude.h 
00007 //
00008 // Description:
00009 //
00010 // Minimal include file used by exported DLL interface classes
00011 //
00012 // Author: Eliot Muir
00013 // Date:   Wed 09/09/1998 
00014 // Revision: $Revision: 1.16 $
00015 //
00016 // Last Edit Date: $Date: 2009-04-13 18:02:10 $
00017 // Source: $Source: /home/cvs/cvsroot/CHM/CHMminCInclude.h,v $
00018 //---------------------------------------------------------------------------
00019 
00020 
00021 #include <stdlib.h>
00022 #include <CHM/CHMunicode.h>
00023 
00024 typedef void* CHMengineStubHandle;
00025 typedef void* CHMengineHandle;
00026 typedef void* CHMbatchSegmentHandle;
00027 typedef void* CHMtableHandle;
00028 typedef void* CHMtableDefinitionHandle;
00029 typedef void* CHMdateTimeHandle;
00030 typedef void* CHMuntypedMessageTreeHandle;
00031 typedef void* CHMconfigHandle;
00032 typedef void* CHMsegmentHandle;
00033 typedef void* CHMcompositeHandle;
00034 typedef void* CHMdateTimeGrammarHandle;
00035 typedef void* CHMenumerationGrammarHandle;
00036 typedef void* CHMmessageHandle;
00037 typedef void* CHMmessageNodeAddressHandle;
00038 typedef void* CHMnodeAddressHandle;
00039 typedef void* CHMmessageGrammarHandle;
00040 typedef void* CHMmapItemHandle;
00041 typedef void* CHMtableGrammarHandle;
00042 typedef void* CHMsegmentValidationRuleHandle;
00043 typedef double DATE;
00044 typedef void* CHMresult;
00045 typedef void* CHMreferenceHandle;
00046 typedef void* CHMdllHandle;
00047 typedef void* CHMeventHandle;
00048 
00049 #define CHM_OK                 0
00050 #define CHM_UNKNOWN_EXCEPTION -1
00051 
00052 #ifdef CHM_NO_BOOLEAN_TYPE
00053    typedef int CHMboolean;
00054    #define true 1
00055    #define false 0
00056 #else
00057 #ifdef __cplusplus
00058    typedef bool CHMboolean;
00059 #else
00060    typedef int CHMboolean;
00061 #endif
00062 #endif
00063 
00064 // The following ifdef block is the standard way of creating macros which make exporting
00065 // from a DLL simpler. All files within this DLL are compiled with the CHAMDLL_EXPORTS
00066 // symbol defined on the command line. this symbol should not be defined on any project
00067 // that uses this DLL. This way any other project whose source files include this file see
00068 // CHAMDLL_API functions as being imported from a DLL, whereas this DLL sees symbols
00069 // defined with this macro as being exported.
00070 
00071 #ifdef __cplusplus
00072 #   define CHM_EXTERN_C extern "C"
00073 #else
00074 #   define CHM_EXTERN_C extern
00075 #endif
00076 
00077 #ifdef CHM_DLL_EXPORTS
00078 #   ifdef WIN32
00079 #      ifdef __BORLANDC__
00080 #         define CHM_DLL_FUNC(Y) CHM_EXTERN_C CHMresult _export Y
00081 #         define CHM_DLL_CALL(Y) Y 
00082 #      elif defined(CHM_64)
00083 #         define CHM_DLL_FUNC(Y) CHM_EXTERN_C __declspec(dllexport) CHMresult __stdcall Y
00084 #         define CHM_DLL_CALL(Y) Y
00085 #      else
00086 #         define CHM_DLL_FUNC(Y) CHM_EXTERN_C __declspec(dllexport) CHMresult __stdcall Y
00087 #         define CHM_DLL_CALL(Y) Y 
00088 #      endif
00089 #   else
00090 #      define CHM_DLL_FUNC(Y) CHM_EXTERN_C CHMresult _##Y
00091 #      define CHM_DLL_CALL(Y) _##Y
00092 #   endif
00093 #else 
00094 #   ifdef WIN32
00095 #      ifdef __BORLANDC__
00096 #         define CHM_DLL_FUNC(Y) CHM_EXTERN_C CHMresult _import __stdcall _##Y
00097 #         define CHM_DLL_CALL(Y) _##Y
00098 #      elif defined(CHM_64)
00099 #         define CHM_DLL_FUNC(Y) CHM_EXTERN_C __declspec(dllimport) CHMresult __stdcall Y
00100 #         define CHM_DLL_CALL(Y) Y
00101 #      else  
00102 #         define CHM_DLL_FUNC(Y) CHM_EXTERN_C __declspec(dllimport) CHMresult __stdcall _##Y
00103 #         define CHM_DLL_CALL(Y) _##Y 
00104 #      endif
00105 #   else
00106 #      define CHM_DLL_FUNC(Y) CHM_EXTERN_C CHMresult _##Y
00107 #      define CHM_DLL_CALL(Y) _##Y
00108 #   endif
00109 #endif
00110 
00111 #ifndef NULL
00112 #define NULL 0
00113 #endif
00114 #endif // end of defensive include