source: trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Entity.h @ 82

Last change on this file since 82 was 82, checked in by rosiere, 16 years ago
  • support locale (now must "just" translate)
  • update all component with new test format
  • update all component with usage
  • New component : decod queue and prediction_unit
  • Property svn:keywords set to Id
File size: 3.1 KB
RevLine 
[31]1#ifndef morpheo_behavioural_Entity_h
2#define morpheo_behavioural_Entity_h
3
4/*
5 * $Id: Entity.h 82 2008-05-01 16:48:45Z rosiere $
6 *
7 * [ Description ]
8 *
9 */
10
11#include <stdint.h>
12#include <iostream>
13#include <list>
[42]14//#include "Behavioural/include/Description.h"
[31]15#include "Behavioural/include/Interfaces.h"
16#include "Behavioural/include/Schema.h"
[44]17#include "Common/include/ErrorMorpheo.h"
18#include "Common/include/ToString.h"
19#include "Common/include/Debug.h"
[57]20#include "Behavioural/include/Usage.h"
[31]21
22namespace morpheo              {
23namespace behavioural          {
24
25  class Entity
26  {
27    // -----[ fields ]----------------------------------------------------
[82]28  private   : const std::string     _name         ;
29  private   : const std::string     _type         ;
[42]30#ifdef POSITION
[31]31  private   : const schema_t        _schema       ;
[42]32#endif
[57]33  private   : const Tusage_t        _usage;
34
[31]35  private   : Interfaces          * _interfaces   ;
[42]36
37#ifdef POSITION
[82]38  private   : std::string           _comment      ;
[31]39
40  private   :       bool            _is_map       ;
41  private   :       uint32_t        _map_size_x   ;
42  private   :       uint32_t        _map_size_y   ;
43  private   :       uint32_t        _map_pos_x    ;
44  private   :       uint32_t        _map_pos_y    ;
[42]45#endif
[31]46
47    // -----[ methods ]---------------------------------------------------
[71]48  public    :                       Entity            ( std::string        name   
49                                                       ,std::string        type   
[42]50#ifdef POSITION
51                                                       ,schema_t      schema
52#endif
[82]53                                                        ,Tusage_t       usage
[42]54                                                        );
[31]55  public    :                        Entity           (const Entity & entity);
56  public    :                       ~Entity           ();
57
[82]58  public    : std::string           get_name          (void);
59  public    : std::string           get_type          (void);
[42]60
61#ifdef POSITION
[71]62  public    : void                  set_comment       (std::string comment);
[82]63  private   : std::string           get_comment       (void          );
[42]64#endif
[31]65  public    : Interfaces *          set_interfaces    (void);
[82]66  private   : std::string           get_interfaces    (void);
[42]67  public    : Interfaces *          get_interfaces_list(void);
[31]68
[71]69  public    : Interface  *          find_interface    (std::string name);
70  public    : Signal     *          find_signal       (std::string name);
[42]71  public    : bool                  find_signal       (Signal * signal);
[31]72
[42]73#ifdef POSITION
[38]74  public    : void                  mapping           (uint32_t pos_x,
75                                                       uint32_t pos_y,
76                                                       uint32_t size_x ,
77                                                       uint32_t size_y );
[42]78#endif
[31]79
[82]80  public    : bool                  test_map          (uint32_t depth,bool top_level, bool is_behavioural);
81//   public    : bool                  test_equi         (uint32_t depth);
[62]82
[42]83#ifdef POSITION
[31]84  public    : XML                   toXML             (void);
85  public    : XML                   toXML_mapping     (void);
[42]86#endif
[75]87  public    : friend std::ostream&       operator<<        (std::ostream& output_stream,
88                                                            morpheo::behavioural::Entity & x);
[31]89  };
90
91}; // end namespace behavioural         
92}; // end namespace morpheo             
93
94#endif
Note: See TracBrowser for help on using the repository browser.