Class Hierarchy   Class Index   Method Index  

CHMengine.h

00001 #ifndef __CHM_ENGINE_H__
00002 #define __CHM_ENGINE_H__
00003 //------------------------------------------------------------------------
00004 // Copyright (C) 1997-2005 iNTERFACEWARE Inc.  All Rights Reserved
00005 //
00006 // Module: CHMengine
00007 //
00008 // Description:
00009 //
00010 // Engine DLL declarations
00011 //
00012 // Author: Eliot Muir
00013 // Date:   Wed 09/09/1998 
00014 // Revision: $Revision: 1.65 $
00015 //
00016 // Last Edit Date: $Date: 2009-02-25 16:14:47 $
00017 // Source: $Source: /home/cvs/cvsroot/CHM/CHMengine.h,v $
00018 //---------------------------------------------------------------------------
00019 
00020 #include "CHMcallbackFunction.h"
00021 #include "CHMdataType.h"
00022 
00023 // CHM_DLL_FUNC(CHMresult) code equals zero for success
00024 
00025 CHM_DLL_FUNC(CHMgetMachineId)
00026 (
00027    CHMchar** ppMachineId
00028 );
00029 
00030 CHM_DLL_FUNC(CHMengineCreate)
00031 (
00032    CHMengineHandle* Handle
00033 );
00034 
00035 // Extra hidden constructor for CHMengine. See #9748.
00036 CHM_DLL_FUNC(CHMgetCurrentByteIndex)
00037 (
00038    CHMengineHandle* Handle,
00039    const char* Key
00040 );
00041 
00042 CHM_DLL_FUNC(CHMengineAddRef)
00043 (
00044    CHMengineHandle Handle
00045 );
00046 
00047 CHM_DLL_FUNC(CHMengineRelease)
00048 (
00049    CHMengineHandle Handle
00050 );
00051 
00052 CHM_DLL_FUNC(CHMengineLoad)
00053 (
00054    CHMengineHandle Handle, 
00055    const char*     pFileName
00056 );
00057 
00058 CHM_DLL_FUNC(CHMengineLoadW)
00059 (
00060    CHMengineHandle Handle,
00061    const wchar_t*  pFilename
00062 );  
00063 
00064 CHM_DLL_FUNC(CHMengineIsUsingPassthruMapping)
00065 (
00066     CHMengineHandle Handle, 
00067     CHMboolean*     pResult
00068 );
00069 
00070 #ifdef WIN32 //this is for C#
00071     
00072 CHM_DLL_FUNC(CHMengineLoadFromMemory)
00073 (
00074    CHMengineHandle Handle, 
00075    wchar_t* BinaryData
00076 );
00077 
00078 #endif
00079 
00080 CHM_DLL_FUNC(CHMengineParseMessageA)
00081 (
00082   CHMengineHandle Handle,
00083   const char*     pFlatWire, 
00084   size_t*         MessageIndex,  
00085   CHMtableHandle  ResultTable
00086 );
00087 
00088 CHM_DLL_FUNC(CHMengineParseMessageW)
00089 (
00090    CHMengineHandle Handle,
00091    const wchar_t*  pFlatWire,
00092    size_t*         MessageIndex,
00093    CHMtableHandle  ResultHandle
00094 );
00095 
00096 // The MessageTable must have been setup by createEmptyTable 
00097 CHM_DLL_FUNC(CHMengineGenerateMessage)
00098 (
00099     CHMengineHandle Handle,
00100     const char**    pFlatWire, 
00101     size_t          MessageIndex,
00102     CHMtableHandle  MessageTable
00103 );
00104 
00105 CHM_DLL_FUNC(CHMengineGenerateMessageW)
00106 (
00107     CHMengineHandle Handle,
00108     const wchar_t** pFlatWire, 
00109     size_t          MessageIndex,
00110     CHMtableHandle  MessageTable
00111 );
00112 
00113 
00114 
00115 // This function is used to generate an empty table for a message.
00116 CHM_DLL_FUNC(CHMengineCreateEmptyMessageTable)
00117 (
00118    CHMengineHandle Handle,
00119    size_t          MessageIndex, 
00120    CHMtableHandle  EmptyTable
00121 );
00122    
00123 // These methods provide version information.
00124 
00125 CHM_DLL_FUNC(CHMengineGetMinorVersion)
00126 (
00127    CHMengineHandle Handle, 
00128    size_t*         Version
00129 );
00130 
00131 CHM_DLL_FUNC(CHMengineGetMajorVersion)
00132 (
00133    CHMengineHandle Handle,
00134    size_t*         Version
00135 );
00136 
00137 CHM_DLL_FUNC(CHMengineGetBuildNumber)
00138 (
00139    CHMengineHandle Handle,
00140    size_t*         BuildNumber
00141 );
00142 
00143 CHM_DLL_FUNC(CHMengineGetVersionString)
00144 (
00145    CHMengineHandle Handle,
00146    const char**    ppVersionString
00147 );
00148 
00149 CHM_DLL_FUNC(CHMengineGetSourceDateTime)
00150 (
00151    const char**    ppSourceDateTime
00152 );
00153 
00154 CHM_DLL_FUNC(CHMengineGetSourceTag)
00155 (
00156    const char**    ppSourceTag
00157 );
00158 
00159 CHM_DLL_FUNC(CHMengineGetBuildId)
00160 (
00161    const char**    ppBuildId
00162 );
00163 
00164 CHM_DLL_FUNC(CHMengineSetRejectBadSegmentGrammarFlag)
00165 (
00166    CHMengineHandle Handle,
00167    CHMboolean      Flag
00168 );
00169 
00170 CHM_DLL_FUNC(CHMengineGetRejectBadSegmentGrammarFlag)
00171 (
00172    CHMengineHandle Handle,
00173    size_t*         pFlag
00174 );
00175 
00176 CHM_DLL_FUNC(CHMengineCountOfMessage)
00177 (
00178    CHMengineHandle Handle,
00179    size_t*         CountOfMessage
00180 );
00181 
00182 CHM_DLL_FUNC(CHMengineMessageName)
00183 (
00184    CHMengineHandle Handle,
00185    size_t          MessageIndex,
00186    const char**    ppMessageName
00187 );
00188 
00189 CHM_DLL_FUNC(CHMengineMessageNameW)
00190 (
00191    CHMengineHandle Handle,
00192    size_t          MessageIndex,
00193    const wchar_t** ppMessageName
00194 );
00195 
00196 CHM_DLL_FUNC(CHMengineResetPythonEngine)
00197 (
00198    CHMengineHandle Handle
00199 );
00200 
00201 CHM_DLL_FUNC(CHMengineSimpleParse)
00202 (
00203    CHMengineHandle             Handle,
00204    const char*                 Flatwire,
00205    CHMuntypedMessageTreeHandle TreeHandle,
00206    size_t*                     pMessageIndex
00207 );
00208 
00209 CHM_DLL_FUNC(CHMengineConfig)
00210 (
00211    CHMengineHandle   Handle,
00212    CHMconfigHandle*  pConfigHandle
00213 );
00214 
00215 CHM_DLL_FUNC(CHMengineSetLogCallBack)
00216 (
00217    CHMengineHandle  Handle,
00218    CHMlogProc LogProc
00219 );
00220 
00221 CHM_DLL_FUNC(CHMengineSetLogCallBackPerEngine)
00222 (
00223    CHMengineHandle  Handle,
00224    CHMengineStubHandle StubHandle,
00225    CHMengineLogProc LogProc
00226 );
00227 
00228 CHM_DLL_FUNC(CHMengineSetLogCallBackW)
00229 (
00230    CHMengineHandle Handle,
00231    CHMwideLogProc  LogProc
00232 );
00233 
00234 CHM_DLL_FUNC(CHMengineCountOfSegment)
00235 (
00236    CHMengineHandle Handle,
00237    size_t*         pCountOfSegment
00238 );
00239 
00240 CHM_DLL_FUNC(CHMengineGetMessage)
00241 (
00242    CHMengineHandle   Handle,
00243    size_t            MessageIndex,
00244    CHMmessageHandle* pMessageHandle
00245 );
00246 
00247 CHM_DLL_FUNC(CHMengineMessageByName)
00248 (
00249    CHMengineHandle Handle,
00250    const char*     pMessageName,
00251    size_t*         pMessageIndex
00252 );    
00253 
00254 CHM_DLL_FUNC(CHMengineGetAckMessageIndex)
00255 (
00256    CHMengineHandle Handle,
00257    size_t*         pMessageIndex
00258 );
00259 
00260 CHM_DLL_FUNC(CHMengineSetAckMessageIndex)
00261 (
00262    CHMengineHandle Handle,
00263    size_t          MessageIndex
00264 );
00265 
00266 CHM_DLL_FUNC(CHMengineTransformMessage)
00267 (
00268    CHMengineHandle   Handle,
00269    const char*       InMessage,
00270    size_t            InConfigIndex,
00271    size_t            OutConfigIndex,
00272    const char**      OutMessage,
00273    size_t*           MessageIndex,
00274    size_t            IsDebugging
00275 );
00276 
00277 CHM_DLL_FUNC(CHMengineTransformMessageW)
00278 (
00279    CHMengineHandle   Handle,
00280    const wchar_t*    InMessage,
00281    size_t            InConfigIndex,
00282    size_t            OutConfigIndex,
00283    const wchar_t**   OutMessage,
00284    size_t*           MessageIndex,
00285    size_t            IsDebugging
00286 );
00287 
00288 CHM_DLL_FUNC(CHMengineCountOfConfig)
00289 (
00290    CHMengineHandle Handle,
00291    size_t*         pCountOfConfig
00292 );
00293 
00294 CHM_DLL_FUNC(CHMengineConfigName)
00295 (
00296    CHMengineHandle Handle,
00297    size_t          ConfigIndex,
00298    const char**    pConfigName
00299 );
00300 
00301 CHM_DLL_FUNC(CHMengineDump)
00302 (
00303    CHMengineHandle Handle,
00304    char**      ppDumpString
00305 );
00306 
00307 CHM_DLL_FUNC(CHMengineFreeBuffer)
00308 (
00309    char** ppString
00310 );
00311 
00312 CHM_DLL_FUNC(CHMengineDumpW)
00313 (
00314    CHMengineHandle Handle,
00315    wchar_t**      ppDumpString
00316 );
00317 
00318 CHM_DLL_FUNC(CHMengineFreeBufferW)
00319 (
00320    wchar_t** ppString
00321 );
00322 
00323 CHM_DLL_FUNC(CHMengineSetIncomingConfigIndex)
00324 (
00325    CHMengineHandle Handle,
00326    size_t          Index
00327 );
00328 
00329 CHM_DLL_FUNC(CHMengineGetIncomingConfigIndex)
00330 (
00331    CHMengineHandle Handle,
00332    size_t*         pIndex
00333 );
00334 
00335 CHM_DLL_FUNC(CHMengineSetOutgoingConfigIndex)
00336 (
00337    CHMengineHandle Handle,
00338    size_t          Index
00339 );
00340 
00341 CHM_DLL_FUNC(CHMengineGetOutgoingConfigIndex)
00342 (
00343    CHMengineHandle Handle,
00344    size_t*         pIndex
00345 );
00346 
00347 CHM_DLL_FUNC(CHMengineSetCurrentConfig)
00348 (
00349    CHMengineHandle Handle,
00350    size_t          Index
00351 );
00352 
00353 CHM_DLL_FUNC(CHMengineGetCurrentConfig)
00354 (
00355    CHMengineHandle Handle,
00356    size_t*         pIndex
00357 );
00358 
00359 CHM_DLL_FUNC(CHMengineGetIgnoreMessageIndex)
00360 (
00361    CHMengineHandle Handle,
00362    size_t*         pMessageIndex
00363 );
00364 
00365 
00366 CHM_DLL_FUNC(CHMengineTranslateMessageToXml)
00367 (
00368    CHMengineHandle Handle,
00369    const char*     pFlatWire,
00370    const char**    ppResultXml
00371 );
00372 
00373 CHM_DLL_FUNC(CHMengineTranslateXmlToMessage)
00374 (
00375    CHMengineHandle Handle,
00376    const char*     pXml,
00377    const char**    ppResultMessage
00378 );
00379 
00380 CHM_DLL_FUNC(CHMengineTranslateMessageToHl7StandardXml)
00381 (
00382    CHMengineHandle Handle,
00383    const char*     pFlatWire,
00384    const char**    ppResultXml
00385 );
00386 
00387 CHM_DLL_FUNC(CHMengineTranslateHl7StandardXmlToMessage)
00388 (
00389    CHMengineHandle Handle,
00390    const char*     pXml,
00391    const char**    ppResultMessage 
00392 );
00393 
00394 CHM_DLL_FUNC(CHMengineGetCountOfTable)
00395 (
00396    CHMengineHandle Handle,
00397    size_t*         pCountOfTable
00398 );
00399 
00400 CHM_DLL_FUNC(CHMengineMessageDiff)
00401 (
00402    CHMengineHandle Handle,
00403    const char*     Message1,
00404    const char*     Message2,
00405    const char**    ppReport,
00406    CHMuint32*      pErrorCount
00407 );
00408 
00409 
00410 CHM_DLL_FUNC(CHMengineGetTable)
00411 (
00412    CHMengineHandle Handle,
00413    size_t          TableIndex,
00414    CHMtableHandle* pTableHandle
00415 );
00416 
00417 CHM_DLL_FUNC(CHMengineGenerateAckFromMessage)
00418 (
00419    CHMengineHandle Handle,
00420    const char*     pOriginalMessage,
00421    const char**    ppAck
00422 );
00423 
00424 CHM_DLL_FUNC(CHMengineGetTibcoSchema)
00425 (
00426    CHMengineHandle Handle,
00427    const char*     FileName
00428 );
00429 
00430 CHM_DLL_FUNC(CHMengineSetPythonKeyValuePair)
00431 (
00432    CHMengineHandle Handle,
00433    const char*     pKey,
00434    const char*     pValue 
00435 );
00436 
00437 CHM_DLL_FUNC(CHMengineExtendPythonLibraryPath)
00438 (
00439    CHMengineHandle Handle,
00440    const char*  pPath
00441 );  
00442 
00443 CHM_DLL_FUNC(CHMengineCountOfXmlConverter)
00444 (
00445    CHMengineHandle Handle,
00446    size_t*     pCount
00447 );
00448 
00449 CHM_DLL_FUNC(CHMengineXmlConverterName)
00450 (
00451    CHMengineHandle Handle,
00452    size_t     Index,
00453    const char** ppXmlName
00454 );
00455 
00456 CHM_DLL_FUNC(CHMengineXmlConverterNameFromAlias)
00457 (
00458    CHMengineHandle Handle,
00459    const char*     pXmlAlias,
00460    const char**    ppXmlName
00461 );
00462 
00463 CHM_DLL_FUNC(CHMengineSetDefaultDatabase)
00464 (
00465    CHMengineHandle Handle,
00466    const char* pAPI, 
00467    const char* pName,
00468    const char* pUserName,
00469    const char* pPassword
00470 );
00471 
00472 CHM_DLL_FUNC(CHMengineMakePrintable)
00473 (
00474    CHMengineHandle Handle,
00475    const char* pInput,
00476    const char* pReplacement,
00477    const char** pOutput
00478 );
00479 
00480 CHM_DLL_FUNC(CHMengineMakeParseable)
00481 (
00482    CHMengineHandle Handle,
00483    const char* pInput,
00484    const char* pTarget,
00485    const char** pOutput
00486 );
00487 
00488 CHM_DLL_FUNC(CHMengineSetCreateDatabaseFp)
00489 (
00490    CHMengineHandle Handle,
00491    void* pFp
00492 );
00493 
00494 CHM_DLL_FUNC(CHMengineSetCreateDatabaseFpContext)
00495 (
00496    CHMengineHandle Handle,
00497    void* pContext
00498 );
00499 
00500 #endif // end of defensive include