ESyS-Particle  4.0.1
IGParam.h
00001 
00002 //                                                         //
00003 // Copyright (c) 2003-2011 by The University of Queensland //
00004 // Earth Systems Science Computational Centre (ESSCC)      //
00005 // http://www.uq.edu.au/esscc                              //
00006 //                                                         //
00007 // Primary Business: Brisbane, Queensland, Australia       //
00008 // Licensed under the Open Software License version 3.0    //
00009 // http://www.opensource.org/licenses/osl-3.0.php          //
00010 //                                                         //
00012 
00013 #ifndef __IGPARAM_H
00014 #define __IGPARAM_H
00015 
00016 #include "Parallel/mpivbuf.h"
00017 
00018 // -- STL includes --
00019 #include <string>
00020 
00028 class AIGParam
00029 {
00030 private:
00031   std::string m_name;
00032 
00033 public:
00034   AIGParam(const std::string &name = "");
00035   
00036   virtual ~AIGParam();
00037   
00038   virtual void packInto(CVarMPIBuffer*) const;
00039 
00040   void setName(const std::string &name);
00041   
00042   const std::string &getName() const {return m_name;}
00043   
00044   const std::string &Name() const {return getName();}
00045 
00046   virtual std::string getTypeString() const = 0;
00047 
00048   //  friend class AInteractionGroup;
00049 };
00050 
00051 #endif //__IGPARAM_H