Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

seIterator.h

Go to the documentation of this file.
00001 /*
00002  *  Copyright (c) 2003 Accent Geographic. All rights reserved.
00003  *  See the license file for licensing information.
00004  *  Created 2003/05/30
00005  */
00006 

00008 

00010 
00011 // $Id: seIterator.h,v 1.9 2004/06/02 18:19:00 wmacchi Exp $
00012 
00013 #ifndef _seIterator_h
00014 #define _seIterator_h
00015 
00021 #include "seObject.h"
00022 
00023 namespace sedris {
00024 
00025 class IInterface;
00026 class IIterator;
00027 
00028 
00033 class EXPORT_DLL seIterator
00034 {
00035 public:
00037     seIterator() : _impl(NULL), _ownr(NULL)
00038     {
00039     }
00040 
00042     seIterator( const seIterator &other );
00043 
00045     virtual ~seIterator()
00046     {
00047         if (isValid())
00048             release();
00049     }
00050 
00058     seIterator &operator =( const seIterator &other );
00059 
00063     virtual bool operator ==( const seIterator &other ) const;
00064 
00068     virtual bool isValid() const
00069     {
00070         return (_impl != NULL);
00071     }
00072 
00083     virtual bool isCompleted();
00084 
00139     virtual unsigned int getCount( SE_DRM_Class filter = SE_DRM_CLS_NULL );
00140 
00219     virtual bool getNext( seObject &obj, seObject &link_obj );
00220 
00227     virtual bool getNext( seObject &obj );
00228 
00240     virtual bool getNthNext( unsigned int nth, seObject &obj,
00241                                 seObject &link_obj );
00242 
00258     virtual bool getNthNext( unsigned int nth, seObject &obj );
00259 
00265     virtual void release();
00266 
00267 private:
00268 
00269     SE_HANDLE_DECL(Iterator, Interface)
00270 };
00271 
00272 
00273 } // namespace sedris
00274 
00275 #endif // _seIterator_h

SEDRIS Transmittal Access C++ API 4.0.0 beta - 14 Jul 2004
Copyright © 2004 SEDRIS Docs by Doxygen 1.3.2