00001 00005 /* 00006 © Copyright 2005-2006, 00007 National Instruments Corporation. 00008 All rights reserved. 00009 00010 File: iModule.h 00011 Originated: 8 Aug 2005 00012 */ 00013 00014 #ifndef ___fantom_iModule_h___ 00015 #define ___fantom_iModule_h___ 00016 00017 #ifndef ___fantom_platform_h___ 00018 #include "platform.h" 00019 #endif 00020 00021 #ifndef ___fantom_tStatus_h___ 00022 #include "tStatus.h" 00023 #endif 00024 00025 00026 // defines... 00027 00028 00029 namespace nFANTOM100 00030 { 00031 00036 class iModule 00037 { 00038 friend class tNXT; 00039 00040 // methods 00041 protected: 00042 00044 virtual ~iModule() = 0; 00045 00046 public: 00047 00049 00054 virtual void getName( ViChar moduleName[] ) const = 0; 00055 00057 00060 virtual ViUInt32 getModuleID( void ) const = 0; 00061 00063 00066 virtual ViUInt32 getModuleSize( void ) const = 0; 00067 00069 00072 virtual ViUInt32 getModuleIOMapSize( void ) const = 0; 00073 00075 00091 virtual ViUInt32 readIOMap( ViUInt32 offsetInBytes, ViUInt32 numberOfBytes, 00092 ViPBuf dataBufferPtr, tStatus& status ) = 0; 00093 00095 00111 virtual ViUInt32 writeIOMap( ViUInt32 offsetInBytes, ViUInt32 numberOfBytes, 00112 const ViByte dataBufferPtr[], tStatus& status ) = 0; 00113 00114 }; 00115 00116 }; // nFANTOM100 00117 00118 typedef ViObject nFANTOM100_iModule; 00119 00120 extern "C" 00121 { 00122 nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iModule_getName( 00123 nFANTOM100_iModule modulePtr, 00124 ViChar moduleName[], 00125 ViStatus* status ); 00126 00127 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_getModuleID( 00128 nFANTOM100_iModule modulePtr, 00129 ViStatus* status ); 00130 00131 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_getModuleSize( 00132 nFANTOM100_iModule modulePtr, 00133 ViStatus* status ); 00134 00135 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_getIOMapSize( 00136 nFANTOM100_iModule modulePtr, 00137 ViStatus* status ); 00138 00139 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_readIOMap( 00140 nFANTOM100_iModule modulePtr, 00141 ViUInt32 offset, 00142 ViUInt32 numberBytesToRead, 00143 ViPBuf dataBuffer, 00144 ViStatus* status ); 00145 00146 nFANTOM100_kExport ViUInt32 _VI_FUNCC nFANTOM100_iModule_writeIOMap( 00147 nFANTOM100_iModule modulePtr, 00148 ViUInt32 offset, 00149 ViUInt32 numberBytesToWrite, 00150 const ViByte dataBuffer[], 00151 ViStatus* status ); 00152 } 00153 00154 #endif // ___fantom_iModule_h___
© Copyright 2005-2006, National Instruments Corporation. All rights reserved.