home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / ipobfseq.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  1.9 KB  |  56 lines

  1. /********************************************************************************/
  2. /* File:  ipobfseq.hpp                                                          */
  3. /* Class: IPOBufferSequence                                                     */
  4. /*                                                                              */
  5. /* IPOBufferSequence - a sequence of buffers                                    */
  6. /********************************************************************************/
  7.  
  8. /***********************************************
  9.  
  10.     Licensed Materials - Property of IBM
  11.  
  12.     5622-880   5801-AAR
  13.  
  14.     (c) Copyright IBM Corp 1991, 1996.
  15.  
  16. ************************************************/
  17.  
  18. #ifndef _IPOBFSEQ_HPP_
  19. #define _IPOBFSEQ_HPP_
  20.  
  21. #include "ipobuf.hpp"
  22. #include <iseq.h>
  23. #include "idssqlst.hpp"
  24.  
  25. class _Export IPOBufferSequence : public
  26.                             ISequence<IPOBufferBase*>
  27. {
  28.    public:
  29.      IPOBufferSequence(){;}
  30.      virtual ~IPOBufferSequence(){allElementsDo(freeIPOBuffer);}
  31.  
  32. /*---------------------- Buffer Seq Functions ----------------------------------
  33. | These methods deals with Buffer Seq functions:                               |
  34. |   addBuffer - add buffer to sequence                                         |
  35. ------------------------------------------------------------------------------*/
  36.      void addBuffer( IPOBufferBase* pBuffer)
  37.                              {addAsLast(pBuffer);}
  38.      virtual void bindToStatement(ISQLStatement* pSqlStatement) = 0;
  39.    protected:
  40.      struct statementInfo
  41.      {
  42.        long number;
  43.        ISQLStatement* sqlStatement;
  44.        statementInfo(ISQLStatement* aStatement) : number(1), sqlStatement(aStatement) {}
  45.      };
  46.  
  47.     private:
  48.      static Boolean freeIPOBuffer( IPOBufferBase*& pBfr, void *)
  49.                                    {delete pBfr; return true;}
  50.  
  51.      friend class IPOAttributeSequence;
  52. };
  53.  
  54.  
  55. #endif
  56.