Main Page   Namespace List   Compound List   File List   Namespace Members   Compound Members  

iModule.h

Go to the documentation of this file.
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.