gmlTcl_Scanners_support.h

Go to the documentation of this file.
00001 /** @file gml/tcl/wrapper/scanner/gmlTcl_Scanners_support.h
00002  * 
00003  *     Utilities for scanner wrappers.
00004  * 
00005  *   Copyright (c) 2004 CLIPS-IMAG
00006  * 
00007  *   See the file "gml_LicenseTerms.txt" for information on usage and redistribution
00008  *   of this file, and for a DISCLAIMER OF ALL WARRANTIES.
00009  * 
00010  *   Created in June 2004 (JL).
00011  */
00012 
00013 
00014 #ifndef __GMLTCL_SCANNERS_SUPPORT__
00015 #define __GMLTCL_SCANNERS_SUPPORT__
00016 
00017 // project includes
00018 #include "gml/base/gml_Types.h"
00019 #include "gml/base/gml_Errors.h"
00020 #include "gml/image/gml_Bitmap.h"
00021 #include "gml/image/gml_Geometry.h"
00022 #include "gml/base/gml_Array.h"
00023 #include "gml/math/gml_Fraction.h"
00024 #include "gml/image/gml_RGBColor.h"
00025 #include "gml/math/gml_Gaussian2.h"
00026 
00027 #include "gml/tcl/wrapper/wrapper/gmlTcl_Wrapper.h"
00028 #include "gml/tcl/wrapper/wrapper/gmlTcl_WrapperParser.h"
00029 
00030 // system includes
00031 #include "tcl.h"
00032 
00033 /// @name Conversion from C to Tcl objects
00034 /// @{
00035 
00036 extern Tcl_Obj* gmlTcl_NewObj (UInt8 value);
00037 extern Tcl_Obj* gmlTcl_NewObj (SInt8 value);
00038 extern Tcl_Obj* gmlTcl_NewObj (UInt16 value);
00039 extern Tcl_Obj* gmlTcl_NewObj (SInt16 value);
00040 extern Tcl_Obj* gmlTcl_NewObj (UInt32 value);
00041 extern Tcl_Obj* gmlTcl_NewObj (SInt32 value);
00042 extern Tcl_Obj* gmlTcl_NewObj (UInt64 value);
00043 extern Tcl_Obj* gmlTcl_NewObj (SInt64 value);
00044 extern Tcl_Obj* gmlTcl_NewObj (Float32 value);
00045 extern Tcl_Obj* gmlTcl_NewObj (Float64 value);
00046 extern Tcl_Obj* gmlTcl_NewObj (char* value);
00047 extern Tcl_Obj* gmlTcl_NewObj (bool value);
00048 extern Tcl_Obj* gmlTcl_NewObj (gml_TBoolean value);
00049 extern Tcl_Obj* gmlTcl_NewObj (gml_TRect value);
00050 extern Tcl_Obj* gmlTcl_NewObj (gml_TRectFloat value);
00051 extern Tcl_Obj* gmlTcl_NewObj (gml_TPoint value);
00052 extern Tcl_Obj* gmlTcl_NewObj (gml_TPointFloat value);
00053 extern Tcl_Obj* gmlTcl_NewObj (gml_TFraction value);
00054 extern Tcl_Obj* gmlTcl_NewObj (gml_TRGBColor value);
00055 extern Tcl_Obj* gmlTcl_NewObj (gml_TGaussian2_Float32 value);
00056 
00057 /// Find the gmlTcl wrapper object from the native object.
00058 /// The object name is return to the Tcl interpreter's output.
00059 /// Return TCL_OK if found, TCL_ERROR if not found.
00060 extern int gmlTcl_WrapClass_ObjectNameFromNative (
00061     Tcl_Interp*           interp,         ///< the Tcl interpreter
00062     gmlTcl_TWrapClass     wrapClass,      ///< the class in which to search
00063     void*                 object          ///< the native object's address
00064   );
00065 
00066 /// @}
00067 
00068 
00069 
00070 /// @name Conversion from Tcl to C objects
00071 /// @{
00072 
00073 
00074 template<class T>
00075 int gmlTclWrapParseObjToArray (Tcl_Interp* interp, Tcl_Obj* arg, gml_TArray<T>** storage);
00076 
00077 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseUInt16;
00078 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseUInt32;
00079 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseUInt64;
00080 
00081 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseFloat32;
00082 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseFloat64;
00083 
00084 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseSInt8;
00085 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseSInt16;
00086 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseSInt32;
00087 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseSInt64;
00088 
00089 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseFraction;
00090 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseGaussian2_Float32;
00091 
00092 
00093 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArrayUInt8;
00094 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArrayUInt16;
00095 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArrayUInt32;
00096 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArrayUInt64;
00097 
00098 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArraySInt8;
00099 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArraySInt16;
00100 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArraySInt32;
00101 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArraySInt64;
00102 
00103 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArrayFloat32;
00104 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArrayFloat64;
00105 
00106 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArrayString;
00107 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArrayRGBColor;
00108 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArrayBoolean;
00109 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArrayFraction;
00110 extern gmlTcl_TWrapParseProc* gmlTcl_gWrapParseArrayGaussian2_Float32;
00111 
00112 /// @}
00113 
00114 
00115 #endif /* __GMLTCL_SCANNERS_SUPPORT__ */
00116 
Generated on Tue Jun 12 14:03:27 2007 for gml by Doxygen 1.5.2.