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.