
#ifndef morpheo_tools_viewer_bdd_baseP_h
#define morpheo_tools_viewer_bdd_baseP_h

#include <iostream>
#include <iterator>

#include "Tools/Viewer/Bdd/include/Entity.h"
#include "Tools/Viewer/Bdd/include/Architecture.h"

using namespace std;
namespace morpheo{
namespace tools{
namespace viewer{
namespace bdd{     

  class BaseP
    {
    private:
      morpheo::tools::viewer::bdd::Entity *ent;
      morpheo::tools::viewer::bdd::Architecture *archi; 
      string comment;
      int level;
     
    protected:
      
    public:
      string getComment();
      morpheo::tools::viewer::bdd::Entity *getEntity();
      morpheo::tools::viewer::bdd::Architecture *getArchitecture(); 
      QList<morpheo::tools::viewer::bdd::Component> *getComponent();

      BaseP();
      //BaseP(BaseP *p);
      //BaseP(const BaseP &p);
      ~BaseP ();
      void setComment(string s);
      void setArchitecture(Architecture *a);
      void setEntity(Entity *e);
      int getLevel();
      void setLevel (int v);
      int getSchema();
    };//end class BaseP

};//end bdd
};//end viewer
};//end tools
};//end morpheo

#endif
