00001 00005 /* 00006 © Copyright 2005-2006, 00007 National Instruments Corporation. 00008 All rights reserved. 00009 00010 File: iNXTIterator.h 00011 Originated: 17 Oct 2005 00012 */ 00013 00014 #ifndef ___fantom_iNXTIterator_h___ 00015 #define ___fantom_iNXTIterator_h___ 00016 00017 00018 // includes... 00019 00020 #ifndef ___fantom_platform_h___ 00021 #include "platform.h" 00022 #endif 00023 00024 #ifndef ___fantom_tStatus_h___ 00025 #include "tStatus.h" 00026 #endif 00027 00028 00029 // defines... 00030 00031 00032 namespace nFANTOM100 00033 { 00034 // forward declarations... 00035 class iNXT; 00036 00037 // typedefs... 00038 00039 // classes... 00040 00045 class iNXTIterator 00046 { 00047 friend class iNXT; 00048 00049 // methods 00050 protected: 00051 00053 virtual ~iNXTIterator() = 0; 00054 00055 public: 00056 00058 /* 00059 \param resourceName Populated with the name of the NXT to which this iterator 00060 currently refers. The resource name character array must have a capacity of 256 00061 bytes. 00062 \param status Status chaining object. 00063 */ 00064 virtual void getName( ViChar resourceName[], tStatus& status ) const = 0; 00065 00067 00075 virtual void advance( tStatus& status ) = 0; 00076 00078 /* 00079 Creates an NXT object for the NXT referenced by this iterator. An object is not 00080 created if the specified status is fatal or if this iterator refers to the end of 00081 the list. The returned iNXT object should be destroyed using the iNXT::destroyNXT 00082 method. 00083 00084 \param status Status chaining object. 00085 \return A pointer to the iNXT object that was created. 00086 */ 00087 virtual iNXT* getNXT( tStatus& status ) = 0; 00088 }; 00089 00090 00091 // constants... 00092 00093 } // namespace nFANTOM100 00094 00095 00096 // declarations for globally-scoped globals... 00097 00098 // typedefs 00099 typedef ViObject nFANTOM100_iNXTIterator; 00100 00101 // we must duplicate this typedef for the getNXT C wrapper 00102 typedef ViObject nFANTOM100_iNXT; 00103 00104 extern "C" 00105 { 00106 nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXTIterator_getName( 00107 nFANTOM100_iNXTIterator iteratorPtr, 00108 ViChar resourceName[], 00109 ViStatus* status ); 00110 00111 nFANTOM100_kExport void _VI_FUNCC nFANTOM100_iNXTIterator_advance( 00112 nFANTOM100_iNXTIterator iteratorPtr, 00113 ViStatus* status ); 00114 00115 nFANTOM100_kExport nFANTOM100_iNXT _VI_FUNCC nFANTOM100_iNXTIterator_getNXT( 00116 nFANTOM100_iNXTIterator iteratorPtr, 00117 ViStatus* status ); 00118 } 00119 00120 #endif // ___fantom_iNXTIterator_h___
© Copyright 2005-2006, National Instruments Corporation. All rights reserved.