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

AIDA_TupleHeader.h

Go to the documentation of this file.
00001 // Emacs -*- C++ -*-
00002 #ifndef ANAPHE_AIDA_TUPLEHEADER
00003 #define ANAPHE_AIDA_TUPLEHEADER 1
00004 
00005 #include "AIDA_Dev/ITupleHeader.h"
00006 #include <map>
00007 #include <vector>
00008 
00009 namespace Anaphe {
00010   namespace AIDA_Tuple_native {
00011 
00012 class AIDA_TupleHeader : virtual public AIDA::Dev::ITupleHeader {
00013 public:
00014   AIDA_TupleHeader();
00015   ~AIDA_TupleHeader();
00016 
00018   AIDA::IAnnotation& annotation();
00019   const AIDA::IAnnotation& annotation() const;
00020   bool setVariableDescription( AIDA::Dev::ITupleVariableDescription* description,
00021                                bool passOwnership );
00022   const AIDA::Dev::ITupleVariableDescription* variableDescription( int index ) const;
00023   AIDA::Dev::ITupleVariableDescription* variableDescription( int index );
00024   int variableIndex( const std::string& variableName ) const;
00025   int numberOfVariables() const;
00026   bool setPathInStore( const std::string& path );
00027   const std::string& pathInStore() const;
00028   bool setNumberOfRows( int rows );
00029   int numberOfRows() const;
00030   bool setCurrentRowNumber( int rowNumber );
00031   int currentRowNumber() const;
00032   bool setOptions( const std::string& options );
00033   const std::string& options() const;
00034 
00035 private:
00036   AIDA::IAnnotation*                                                    m_annotation;
00037   int                                                                   m_numberOfRows;
00038   int                                                                   m_currentRowNumber;
00039   std::string                                                           m_pathInStore;
00040   std::vector< std::pair<AIDA::Dev::ITupleVariableDescription*, bool> > m_variableDescriptions;
00041   std::map< std::string, int >                                          m_variableIndices;
00042   std::string                                                           m_options;
00043 
00044   // private methods
00045   AIDA::IAnnotation*  createAnnotation();
00046 
00047   // No copy constructor or assignment operator
00048   AIDA_TupleHeader( const AIDA_TupleHeader& );
00049   AIDA_TupleHeader& operator=( const AIDA_TupleHeader& );
00050 
00051 };
00052 
00053   }
00054 }
00055 
00056 #include "AIDA_TupleHeader.inl"
00057 
00058 #endif /* ifndef ANAPHE_AIDA_TUPLEHEADER */

Generated on Tue Feb 18 17:51:19 2003 for AIDA_Tuple_native by doxygen1.2.16