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

Last change on this file since 44 was 44, checked in by rosiere, 17 years ago

Modification des classes d'encapsulation des interfaces.
Stable sur tous les composants actuels

File size: 2.8 KB
RevLine 
[31]1#ifndef morpheo_behavioural_Entity_h
2#define morpheo_behavioural_Entity_h
3
4/*
5 * $Id$
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"
[31]20
21using namespace std;
22
23namespace morpheo              {
24namespace behavioural          {
25
26  class Entity
27  {
28    // -----[ fields ]----------------------------------------------------
29  private   : const string          _name         ;
30  private   : const string          _type         ;
[42]31#ifdef POSITION
[31]32  private   : const schema_t        _schema       ;
[42]33#endif
[31]34  private   : Interfaces          * _interfaces   ;
[42]35
36#ifdef POSITION
[31]37  private   : string                _comment      ;
38
39  private   :       bool            _is_map       ;
40  private   :       uint32_t        _map_size_x   ;
41  private   :       uint32_t        _map_size_y   ;
42  private   :       uint32_t        _map_pos_x    ;
43  private   :       uint32_t        _map_pos_y    ;
[42]44#endif
[31]45
46    // -----[ methods ]---------------------------------------------------
[42]47  public    :                       Entity            ( string        name   
48                                                       ,string        type   
49#ifdef POSITION
50                                                       ,schema_t      schema
51#endif
52                                                        );
[31]53  public    :                        Entity           (const Entity & entity);
54  public    :                       ~Entity           ();
55
[42]56  public    : string                get_name          (void);
57  public    : string                get_type          (void);
58
59#ifdef POSITION
[31]60  public    : void                  set_comment       (string comment);
61  private   : string                get_comment       (void          );
[42]62#endif
[31]63  public    : Interfaces *          set_interfaces    (void);
64  private   : string                get_interfaces    (void);
[42]65  public    : Interfaces *          get_interfaces_list(void);
[31]66
67  public    : Interface  *          find_interface    (string name);
[42]68  public    : Signal     *          find_signal       (string name);
69  public    : bool                  find_signal       (Signal * signal);
[31]70
[42]71#ifdef POSITION
[38]72  public    : void                  mapping           (uint32_t pos_x,
73                                                       uint32_t pos_y,
74                                                       uint32_t size_x ,
75                                                       uint32_t size_y );
[42]76#endif
[31]77
[42]78#ifdef POSITION
[31]79  public    : XML                   toXML             (void);
80  public    : XML                   toXML_mapping     (void);
[42]81#endif
[31]82  public    : friend ostream&       operator<<        (ostream& output_stream,
83                                                       morpheo::behavioural::Entity & x);
84  };
85
86}; // end namespace behavioural         
87}; // end namespace morpheo             
88
89#endif
Note: See TracBrowser for help on using the repository browser.