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

# iNXTIterator.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:        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.