00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef INC_SML_TINOBJECT_H
00019 #define INC_SML_TINOBJECT_H
00020
00021 #ifndef INC_SML_OBJECT_H
00022 #include <sml/object.h>
00023 #endif
00024
00025 #ifdef RVCSYSDLL
00026 #define RVCSYSLIBEXPORT MI_DLLEXPORT
00027 #define RVCSYSLIBCLASSEXPORT MI_DLLCLASSEXPORT
00028 #else
00029 #define RVCSYSLIBEXPORT MI_DLLIMPORT
00030 #define RVCSYSLIBCLASSEXPORT MI_DLLCLASSIMPORT
00031 #endif
00032
00033
00034 #ifndef GENERATING_DOXYGEN_OUTPUT
00035 struct SMLRASTBUF;
00036 namespace RVC {
00037 class TIN;
00038 class TINTOOLKIT;
00039 class TINHANDLE;
00040 }
00041 #endif
00042
00043 namespace SML {
00044
00045 class RVCSYSLIBCLASSEXPORT TINOBJECT : public OBJECT {
00046 public:
00047
00054 RVC::TIN* GetInterface (
00055 ) const;
00056
00057 RVC::TINTOOLKIT* GetToolkitHandle (
00058 ) const;
00059
00066 void SetInterface (
00067 RVC::TIN* obj
00068 );
00069
00070 void SetToolkitHandle (
00071 RVC::TINTOOLKIT* ttk
00072 );
00073
00074 private:
00075 #ifndef GENERATING_DOXYGEN_OUTPUT
00076
00077 TINOBJECT (
00078 CONTEXT* context
00079 );
00080
00081
00082 virtual ~TINOBJECT (
00083 );
00084
00085 virtual int v_OpenLow (
00086 int mode
00087 );
00088
00089 virtual void v_CloseLow (
00090 );
00091
00092 virtual RVC::OBJTYPE v_GetObjType (
00093 ) const;
00094
00095 RVC::TINHANDLE* GetHandle (
00096 ) const { return m_handle; }
00097
00098 RVC::TINTOOLKIT* m_TINToolkitHandle;
00099 RVC::TINHANDLE* m_handle;
00100
00101 friend class CONTEXT;
00102 friend class OBJECT;
00103 friend class VM;
00104 #endif // GENERATING_DOXYGEN_OUTPUT
00105 };
00106
00107 }
00108
00109 typedef SML::TINOBJECT SMLTINOBJECT;
00110
00111 #undef RVCSYSLIBEXPORT
00112 #undef RVCSYSLIBCLASSEXPORT
00113
00114 #endif // INC_SML_TINOBJECT_H
00115
00116