mi32/smlfuncs.h

Go to the documentation of this file.
00001 /**
00002  * \file smlfuncs.h <mi32/smlfuncs.h>
00003  * \brief List of all the install functions for SML.
00004  *
00005  * \if NODOC
00006  * $Id: smlfuncs.h_v 1.86 2007/04/05 21:30:47 dwilliss Exp $
00007  *
00008  * If included without defining anything, it just defines the prototypes
00009  *
00010  * If included with
00011  *    SML_DEFINE_QUERY_DLL_FUNC_LIST
00012  *    SML_DEFINE_QUERY_FUNC_LIST
00013  *    SML_DEFINE_GEOFORMULA_FUNC_LIST
00014  *    SML_DEFINE_SML_FUNC_LIST
00015  *
00016  * $Log: smlfuncs.h_v $
00017  * Revision 1.86  2007/04/05 21:30:47  dwilliss
00018  * changed export defines
00019  *
00020  * Revision 1.85  2007/02/14 22:28:17  drb
00021  * *** empty log message ***
00022  *
00023  * Revision 1.84  2007/02/14 18:53:47  drb
00024  * Added DBase functions so I can add enums
00025  *
00026  * Revision 1.83  2007/01/29 16:54:21  drb
00027  * *** empty log message ***
00028  *
00029  * Revision 1.82  2007/01/26 22:13:33  drb
00030  * Added Cutfill, DBase, DBTable autoclass installers
00031  *
00032  * Revision 1.81  2007/01/12 15:56:54  drb
00033  * Added SVG install pointer
00034  *
00035  * Revision 1.80  2007/01/10 14:42:14  dwilliss
00036  * replaced a prototype that shouldn't have been deleted yet.
00037  *
00038  * Revision 1.79  2007/01/09 16:13:34  dwilliss
00039  * Reorganized int one big list -- no more splitting up functions by useage
00040  *
00041  * Revision 1.78  2007/01/03 23:23:04  drb
00042  * Move GPSDB function call
00043  *
00044  * Revision 1.77  2007/01/03 15:54:13  bcolombe
00045  * GPSDBASE
00046  *
00047  * Revision 1.76  2007/01/02 21:17:37  bcolombe
00048  * Added GPSDBASE class
00049  *
00050  * Revision 1.75  2006/11/30 15:44:25  drb
00051  * Set pipeline func installer to return int.
00052  *
00053  * Revision 1.74  2006/11/29 23:43:47  drb
00054  * Added PipelineClasses function
00055  *
00056  * Revision 1.73  2006/11/17 22:21:52  dwilliss
00057  * beginning reorg
00058  *
00059  * Revision 1.72  2006/09/05 16:56:31  dfriberg
00060  * Add EXIF class
00061  *
00062  * Revision 1.71  2005/10/19 16:55:30  mju
00063  * Don't install frame functions/classes in base funclist as they depend on GRE functions.
00064  *   Frame classes/functions are now installed in qqmdisp.c
00065  *
00066  * Revision 1.70  2005/09/02 22:41:20  dwilliss
00067  * *** empty log message ***
00068  *
00069  * Revision 1.69  2005/06/23 19:49:52  dwilliss
00070  * *** empty log message ***
00071  *
00072  * Revision 1.68  2005/06/21 22:09:05  dwilliss
00073  * *** empty log message ***
00074  *
00075  * Revision 1.67  2005/02/24 18:12:39  dwilliss
00076  * Added HTTP classes
00077  *
00078  * Revision 1.66  2004/10/11 16:32:56  vdronov
00079  * added Triangulator class
00080  *
00081  * Revision 1.65  2004/08/13 17:45:44  dglasser
00082  * Don't change style install.
00083  *
00084  * Revision 1.64  2004/08/12 20:14:43  dglasser
00085  * Made cartoscripts installed generically.
00086  *
00087  * Revision 1.63  2004/07/26 19:29:28  dwilliss
00088  * Install new SpatRef classes
00089  *
00090  * Revision 1.62  2004/02/17 18:07:36  mju
00091  * Don't install tip functions/classes unless X or MFC as not usable.
00092  *
00093  * Revision 1.61  2004/01/30 15:15:30  dwilliss
00094  * Removed prototype for retired function
00095  *
00096  * Revision 1.60  2003/12/17 22:36:18  msmith
00097  * added sim class
00098  *
00099  * Revision 1.59  2003/09/15 13:49:56  fileserver!dwilliss
00100  * Doxygen
00101  *
00102  * Revision 1.58  2003/07/08 20:13:56  dwilliss
00103  * Added a new proto
00104  *
00105  * Revision 1.57  2002/12/09 17:25:35  dwilliss
00106  * Moved the MDISP function list to smlgre.c.  Only installed if calling
00107  * program calls SML_EnableGRE()
00108  *
00109  * Revision 1.56  2002/08/16 20:19:12  dwilliss
00110  * Added XML classes
00111  *
00112  * Revision 1.55  2002/05/14 17:01:21  mju
00113  * Don't install object conv funcs for geoformula unless X (and shouldn't need then either).
00114  *
00115  * Revision 1.54  2001/12/18 23:04:51  dwilliss
00116  * GUI control classes
00117  *
00118  * Revision 1.53  2001/10/16 14:32:33  vdronov
00119  * added SML_InstallFFTClasses
00120  *
00121  * Revision 1.52  2001/10/08 16:50:25  mju
00122  * Don't install GPS if win32-native-non-mfc.
00123  *
00124  * Revision 1.51  2001/07/06 14:21:42  mju
00125  * Add SML_InstallMapProjClass() prototype.
00126  *
00127  * Revision 1.50  2001/04/09 17:53:53  dwilliss
00128  * Added a tntdisp only function group again
00129  *
00130  * Revision 1.49  2001/04/09 16:33:39  vdronov
00131  * comment movie sml staff.
00132  *
00133  * Revision 1.48  2001/04/06 20:46:25  vdronov
00134  * *** empty log message ***
00135  *
00136  * Revision 1.47  2001/04/05 15:12:25  vdronov
00137  * added prototypes for Movie and Frame
00138  *
00139  * Revision 1.46  2001/04/04 22:25:06  vdronov
00140  * added sml movie and frame functions and classes.
00141  *
00142  * Revision 1.45  2000/12/04 16:31:30  mju
00143  * Fix genitor 'end ignore' tag.
00144  *
00145  * Revision 1.44  2000/10/25 21:04:11  dwilliss
00146  * Clean up and comment
00147  *
00148  * Revision 1.43  2000/10/25 20:53:55  dwilliss
00149  * Make it compile by itself
00150  *
00151  * Revision 1.42  2000/08/31 16:18:34  vdronov
00152  * watershed sml calsses and functions added
00153  *
00154  * Revision 1.41  2000/08/10 13:22:13  mju
00155  * Add doc comments for SML_EnableImportExport().
00156  *
00157  * Revision 1.40  2000/05/26 19:26:22  mju
00158  * Add EnableImport and remove InstallImportExport.
00159  *
00160  * \endif
00161 **/
00162 
00163 #ifndef  INC_MI32_SMLFUNCS_H
00164 #define  INC_MI32_SMLFUNCS_H
00165 
00166 struct SMLCONTEXT;
00167 
00168 //! The following typedef and prototype should really be in SML.h
00169 typedef int (*SMLFUNCINSTALLER)(SMLCONTEXT *);
00170 
00171 //! Enable import/export functions/classes in general SML contexts.
00172 //! The programmer is responsible for setting up the MIE system to add
00173 //! any desired formats, using the MieAddFormatsAll() or related functions.
00174 void SML_EnableImportExport ();
00175 
00176 //! Enable the GRE functions and classes in SML.  This should be called from
00177 //! main() of any program which will create an SML context and expects the
00178 //! GRE functions to be there.
00179 void SML_EnableGRE ();
00180 
00181 #ifndef GENERATING_DOXYGEN_OUTPUT
00182 //! Note.  Everything from here to the end of the file is stuff that
00183 //! should not be documented.  This include file should really be in
00184 //! inc/mi32p.  If we do that, the above stuff should be moved to sml.h
00185 //! and any module that installs sml functions or classes would need to
00186 //! include this file directly.  They currently include it indirectly
00187 //! through sml.h which includes it.   Failing to include this file
00188 //! the modules would still compile but their installer functions would
00189 //! end up getting C++ linkage instead of C and cause unresolved externals
00190 //! later.
00191 
00192 #ifndef  INC_MI32_SML_H
00193    #include <mi32/sml.h>
00194 #endif
00195 
00196 #ifdef RVCSYSDLL
00197    #define RVCSYSLIBEXPORT MI_DLLEXPORT
00198 #else
00199    #define RVCSYSLIBEXPORT MI_DLLIMPORT
00200 #endif
00201 
00202 #if defined(__cplusplus)
00203 extern "C" {
00204 #endif
00205 
00206 #ifndef SML_FUNCLIST_PROTOS_DEFINED
00207 #define SML_FUNCLIST_PROTOS_DEFINED
00208 
00209 /* function prototypes for new sml installs */
00210 int SML_InstallRasterClasses(SMLCONTEXT *);
00211 int SML_InstallRasterFunctions(SMLCONTEXT *);
00212 int SML_InstallFilterFunctions(SMLCONTEXT *);
00213 int SML_InstallFFTClasses(SMLCONTEXT *);
00214 int SML_InstallVectorClasses(SMLCONTEXT *);
00215 int SML_InstallVectorFunctions(SMLCONTEXT *);
00216 int SML_InstallCADFunctions(SMLCONTEXT *);
00217 int SML_InstallTINFunctions(SMLCONTEXT *);
00218 int _qq_install_matrix_functions(SMLCONTEXT *);             /* in qqmatrix.c - matrix functions */
00219 int _qq_install_linestyle_functions(SMLCONTEXT *);          /* in qqstyle.c - line style functions */
00220 int SML_InstallVectorToolkitFunctions(SMLCONTEXT *);     /* in smlvkit.c - vector toolkit functions */
00221 int SML_InstallClassifyFunctions(SMLCONTEXT *);          /* in smlclass.c  - high level classify functions */
00222 int SML_InstallColorConversionFunctions(SMLCONTEXT *);
00223 int SML_InstallObjectConversionFunctions(SMLCONTEXT *);
00224 int SML_InstallRegionFunctions(SMLCONTEXT *);
00225 int SML_InstallToolFunctions(SMLCONTEXT *);
00226 int SML_InstallToolClasses(SMLCONTEXT *);
00227 
00228 int _qq_install_math_functions(SMLCONTEXT *);
00229 int _qq_install_georef_functions(SMLCONTEXT *);
00230 int SML_InstallGeorefFunctions(SMLCONTEXT *);
00231 int SML_InstallGeorefClasses(SMLCONTEXT *);
00232 int SML_InstallSpatRefClasses(SMLCONTEXT *);
00233 void SML_InstallMapProjClass(SMLCONTEXT *);
00234 int SML_InstallObjectFunctions(SMLCONTEXT *);
00235 RVCSYSLIBEXPORT int SML_InstallObjectClasses(SMLCONTEXT *);
00236 int SML_InstallObjectClasses2(SMLCONTEXT *);
00237 int SML_InstallPointSymbolFunctions(SMLCONTEXT *);
00238 
00239 int SML_InstallConsoleClasses(SMLCONTEXT *context);
00240 int SML_InstallConsoleFunctions(SMLCONTEXT *context);
00241 RVCSYSLIBEXPORT int SML_InstallStringFunctions(SMLCONTEXT *context);
00242 int SML_InstallPopupFunctions(SMLCONTEXT *context);
00243 int SML_InstallPortClasses(SMLCONTEXT *context);
00244 int SML_InstallPortFunctions(SMLCONTEXT *context);
00245 int SML_InstallFileClasses(SMLCONTEXT *context);
00246 int SML_InstallFileFunctions(SMLCONTEXT *context);
00247 int SML_InstallIniFileClasses(SMLCONTEXT *context);
00248 int SML_InstallIniFileFunctions(SMLCONTEXT *context);
00249 int SML_InstallIniPortClasses(SMLCONTEXT *context);
00250 int SML_InstallIniPortFunctions(SMLCONTEXT *context);
00251 int SML_InstallStandardClasses(SMLCONTEXT *context);
00252 int SML_InstallColorPaletteFunctions(SMLCONTEXT *context);
00253 int SML_InstallPrintToBufferFunctions(SMLCONTEXT *);
00254 int SML_InstallStyleFunctions(SMLCONTEXT *context);
00255 int SML_InstallSystemFunctions(SMLCONTEXT *context);
00256 
00257 int SML_InstallWidgetClasses(SMLCONTEXT *);
00258 int SML_InstallWidgetFunctions(SMLCONTEXT *);
00259 int SML_InstallTipClasses(SMLCONTEXT *);
00260 int SML_InstallTipFunctions(SMLCONTEXT *);
00261 
00262 int SML_InstallMgdFuncs(SMLCONTEXT *);
00263 int SML_InstallMgdClasses(SMLCONTEXT *);
00264 int SML_InstallHTTPClasses(SMLCONTEXT *);
00265 int SML_InstallInternalSymbolFuncs(SMLCONTEXT *);
00266 int _SML_InstallDBEDITFuncs(SMLCONTEXT *);
00267 int _SML_InstallDBEDITClasses(SMLCONTEXT *);
00268 int _SML_InstallMdispFuncs(SMLCONTEXT *);
00269 int _SML_InstallMdispClasses(SMLCONTEXT *);
00270 int _SML_InstallMdispLayerFuncs(SMLCONTEXT *);
00271 int _SML_InstallMxdwFuncs(SMLCONTEXT *);     /* Should go away when disp2d does */
00272 
00273 #if defined(WIN32_MFC) || !defined(WIN32_NATIVE)
00274 int SML_InstallGPSClasses(SMLCONTEXT *context);
00275 int SML_InstallGPSFunctions(SMLCONTEXT *context);
00276 #endif
00277 int SML_InstallGeoFormulaFunctionList(SMLCONTEXT *context);
00278 int SML_InstallRunFunctions(SMLCONTEXT *);
00279 
00280 int SML_InstallNetworkClasses(SMLCONTEXT *);
00281 int SML_InstallNetworkFunctions(SMLCONTEXT *);
00282 
00283 int SML_InstallWatershedClasses(SMLCONTEXT *);
00284 int SML_InstallWatershedFunctions(SMLCONTEXT *);
00285 
00286 int SML_InstallMovieClasses(SMLCONTEXT *);
00287 int SML_InstallMovieFunctions(SMLCONTEXT *);
00288 
00289 int SML_InstallFrameClasses(SMLCONTEXT *);
00290 int SML_InstallFrameFunctions(SMLCONTEXT *);
00291 
00292 int SML_InstallSurfaceFunctions(SMLCONTEXT *);
00293 
00294 int SML_InstallTNTsim3DClass(SMLCONTEXT *);
00295 
00296 int SML_InstallTriangulatorFunctions(SMLCONTEXT *);
00297 /*----------------*/
00298 
00299 RVCSYSLIBEXPORT int SML_ResolveClassMembers(SMLCONTEXT *);
00300 RVCSYSLIBEXPORT int SML_InstallAutoClassesCompField (SMLCONTEXT* context);
00301 
00302 RVCSYSLIBEXPORT int SML_InstallAutoClassesSelectQuery (SMLCONTEXT* context);
00303 RVCSYSLIBEXPORT int SML_InstallAutoClassesStyleQuery (SMLCONTEXT* context);
00304 RVCSYSLIBEXPORT int SML_InstallAutoClassesDispLayer (SMLCONTEXT* context);
00305 RVCSYSLIBEXPORT int SML_InstallAutoClassesGeoFormula (SMLCONTEXT* context);
00306 RVCSYSLIBEXPORT int SML_InstallAutoClassesPinMap (SMLCONTEXT* context);
00307 RVCSYSLIBEXPORT int SML_InstallAutoClassesSML (SMLCONTEXT* context);
00308 int SML_InstallGUIControlClasses(SMLCONTEXT *);
00309 int SML_InstallGUIDataClasses(SMLCONTEXT *);
00310 int SML_InstallXMLClasses(SMLCONTEXT *);
00311 int SML_InstallGlgClasses(SMLCONTEXT *);  // glg library incompatible with VC8 -- only exists in tnt72
00312 int SML_InstallEXIFClass(SMLCONTEXT *);
00313 int SML_InstallGPSDBASEClass(SMLCONTEXT *context);
00314 int SML_InstallImagePipelineClasses(SMLCONTEXT *);
00315 int SML_InstallSVGClasses(SMLCONTEXT *);
00316 int SML_InstallAutoClassesCutFill(SMLCONTEXT *);
00317 int SML_InstallDBaseFunctions(SMLCONTEXT *);
00318 int SML_InstallAutoClassesDBase(SMLCONTEXT *);
00319 int SML_InstallAutoClassesDBTable(SMLCONTEXT *);
00320 
00321 #ifdef GLGDLL
00322 MI_DLLEXPORT
00323 #else
00324 MI_DLLIMPORT
00325 #endif
00326 int SML_InstallGlgClassesDll(SMLCONTEXT *);
00327 
00328 
00329 #endif
00330 
00331 /*-----------------------------------------------------*/
00332 #ifdef SML_DEFINE_RVCSYS_FUNC_LIST
00333 // This is the list of SML function installers in rvcsys.
00334 // These functions will be installed for every query.
00335 
00336 SMLFUNCINSTALLER SML_RVCSYSFuncList[] = {
00337    _qq_install_math_functions,            //!<  qqmath.c (rvcapp.dll)
00338    SML_InstallStringFunctions,            //!<  qqstring.c (rvcapp.dll)
00339    SML_InstallObjectFunctions,            //!<  qqobject.c (rvcapp.dll)
00340    NULL
00341    };
00342 
00343 #endif
00344 
00345 
00346 /*-----------------------------------------------------*/
00347 #ifdef SML_DEFINE_ALL_INSTALLERS
00348 
00349 // Register everything here..
00350 SMLFUNCINSTALLER SML_AllInstallers[] = {
00351    // Classes
00352    SML_InstallStandardClasses,
00353    SML_InstallObjectClasses,
00354    SML_InstallObjectClasses2,
00355    SML_InstallFileClasses,
00356    SML_InstallPortClasses,
00357    SML_InstallIniFileClasses,
00358    SML_InstallRasterClasses,
00359    SML_InstallVectorClasses,
00360    SML_InstallMgdClasses,
00361    SML_InstallHTTPClasses,
00362    SML_InstallSpatRefClasses,
00363    SML_InstallNetworkClasses,
00364    SML_InstallEXIFClass,
00365    SML_InstallGPSDBASEClass,
00366    SML_InstallWidgetClasses,              //!<  smlxwidg.c
00367    SML_InstallImagePipelineClasses,
00368    SML_InstallAutoClassesCompField,
00369    SML_InstallAutoClassesSelectQuery,
00370    SML_InstallAutoClassesStyleQuery,
00371    SML_InstallAutoClassesDispLayer,
00372    SML_InstallAutoClassesPinMap,
00373    SML_InstallAutoClassesSML,
00374    SML_InstallAutoClassesGeoFormula,
00375    SML_InstallGUIControlClasses,
00376    SML_InstallXMLClasses,
00377    SML_InstallSVGClasses,                 //!<  svg.c
00378    SML_InstallAutoClassesCutFill,            //!<  rvcopcutfill.c
00379    SML_InstallAutoClassesDBase,           //!<  smldbase.c
00380    SML_InstallAutoClassesDBTable,            //!<  smldbtable.c
00381 
00382    // Functions
00383    _qq_install_matrix_functions,          //!<  qqmatrix.c
00384    SML_InstallGeorefFunctions,               //!<  qqgeoref.c
00385    SML_InstallGeorefClasses,
00386    SML_InstallSpatRefClasses,             //!<  smlspatref.c
00387    SML_InstallColorPaletteFunctions,         //!<  qqstruct.c
00388    SML_InstallStyleFunctions,             //!<  qqstruct.c
00389    SML_InstallSystemFunctions,               //!<  qqstruct.c
00390    SML_InstallColorConversionFunctions,      //!<  smlconv.c
00391    SML_InstallPopupFunctions,             //!<  smlpopup.c
00392    SML_InstallFileFunctions,              //!<  smlfile.c
00393    SML_InstallPortFunctions,              //!<  smlport.c
00394    SML_InstallIniFileFunctions,           //!<  smlini.c
00395 
00396    SML_InstallObjectConversionFunctions,     //!<  smlconv.c
00397    SML_InstallRasterFunctions,               //!<  qqrast.c
00398    SML_InstallFilterFunctions,               //!<  qqfilt.c
00399    SML_InstallCADFunctions,               //!<  qqcad.c
00400    SML_InstallTINFunctions,               //!<  qqtin.c
00401    SML_InstallVectorFunctions,               //!<  qqvect.c
00402    SML_InstallVectorToolkitFunctions,        //!<  smlvkit.c
00403    SML_InstallRegionFunctions,               //!<  smlrgn.c
00404    SML_InstallClassifyFunctions,          //!<  smlclsfy.c
00405    SML_InstallConsoleFunctions,           //!<  qqprint.c
00406    SML_InstallMgdFuncs,                //!<  qqmgd.c
00407    SML_InstallInternalSymbolFuncs,           //!<  smlinit.c
00408    SML_InstallWidgetFunctions,               //!<  smlxwidg.c 
00409    SML_InstallWatershedClasses,           //!<  watermdl.c
00410    SML_InstallWatershedFunctions,            //!<  watermdl.c
00411 #if defined(X_NATIVE) || defined(WIN32_MFC)
00412    SML_InstallTipClasses,                 //!<  mguitooltip.c
00413    SML_InstallTipFunctions,               //!<  mguitooltip.c
00414 #endif
00415    SML_InstallSurfaceFunctions,           //!<  qqsfmod.c
00416    SML_InstallFFTClasses,                 //!<  fftfunc.c
00417    SML_InstallTNTsim3DClass,              //!<  smlsim.c
00418    SML_InstallTriangulatorFunctions,         //!<  qqtriang.c
00419    _qq_install_linestyle_functions,       //!<  qqstyle.c
00420    SML_InstallPointSymbolFunctions,       //!< qqpoints.c
00421 
00422    SML_InstallRunFunctions,               //!<  smlxmain.c
00423 
00424 /*-------------------------------------*/
00425    SML_ResolveClassMembers,   //!<  Put this one last!
00426    NULL
00427    };
00428 
00429 #endif
00430 
00431 #ifdef SML_DEFINE_SML_TNTDISP_ONLY_FUNCS
00432 //! Functions in this list are only installed in TNTdisp (and SML/W)
00433 //! Installed by tntdisp/tvmain.c 
00434 SMLFUNCINSTALLER SML_TNTDispFuncList[] = {
00435    SML_InstallMovieClasses,               //!<  movienc.c
00436    SML_InstallMovieFunctions,             //!<  movienc.c
00437    NULL
00438    };
00439 
00440 
00441 #endif
00442 
00443 #if defined(__cplusplus)
00444 }
00445 #endif
00446 
00447 #undef RVCSYSLIBEXPORT
00448 
00449 #endif //!< GENERATING_DOXYGEN_OUTPUT
00450 //!
00451 #endif   //!< INC_MI32_SMLFUNCS_H
00452 

Generated on Thu Apr 26 04:04:48 2007 for TNTsdk by  doxygen 1.5.2