sc_prim.hh (12929:6ed4226c66c7) sc_prim.hh (12954:8ea3a185354c)
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 19 unchanged lines hidden (view full) ---

28 */
29
30#ifndef __SYSTEMC_EXT_CORE_SC_PRIM_HH__
31#define __SYSTEMC_EXT_CORE_SC_PRIM_HH__
32
33#include "sc_object.hh"
34#include "sc_time.hh"
35
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 19 unchanged lines hidden (view full) ---

28 */
29
30#ifndef __SYSTEMC_EXT_CORE_SC_PRIM_HH__
31#define __SYSTEMC_EXT_CORE_SC_PRIM_HH__
32
33#include "sc_object.hh"
34#include "sc_time.hh"
35
36namespace sc_gem5
37{
38
39class Channel;
40
41} // namespace sc_gem5
42
36namespace sc_core
37{
38
39class sc_event;
40class sc_event_and_list;
41class sc_event_or_list;
42
43class sc_prim_channel : public sc_object
44{
45 public:
43namespace sc_core
44{
45
46class sc_event;
47class sc_event_and_list;
48class sc_event_or_list;
49
50class sc_prim_channel : public sc_object
51{
52 public:
46 virtual const char *kind() const;
53 virtual const char *kind() const { return "sc_prim_channel"; }
47
48 protected:
49 sc_prim_channel();
50 explicit sc_prim_channel(const char *);
54
55 protected:
56 sc_prim_channel();
57 explicit sc_prim_channel(const char *);
51 virtual ~sc_prim_channel() {}
58 virtual ~sc_prim_channel();
52
53 void request_update();
54 void async_request_update();
55 virtual void update() {}
56
57 void next_trigger();
58 void next_trigger(const sc_event &);
59 void next_trigger(const sc_event_or_list &);

--- 28 unchanged lines hidden (view full) ---

88 virtual void end_of_elaboration() {}
89 virtual void start_of_simulation() {}
90 virtual void end_of_simulation() {}
91
92 private:
93 // Disabled
94 sc_prim_channel(const sc_prim_channel &);
95 sc_prim_channel &operator = (const sc_prim_channel &);
59
60 void request_update();
61 void async_request_update();
62 virtual void update() {}
63
64 void next_trigger();
65 void next_trigger(const sc_event &);
66 void next_trigger(const sc_event_or_list &);

--- 28 unchanged lines hidden (view full) ---

95 virtual void end_of_elaboration() {}
96 virtual void start_of_simulation() {}
97 virtual void end_of_simulation() {}
98
99 private:
100 // Disabled
101 sc_prim_channel(const sc_prim_channel &);
102 sc_prim_channel &operator = (const sc_prim_channel &);
103
104 friend class sc_gem5::Channel;
105 sc_gem5::Channel *_gem5_channel;
96};
97
98} // namespace sc_core
99
100#endif //__SYSTEMC_EXT_CORE_SC_PRIM_HH__
106};
107
108} // namespace sc_core
109
110#endif //__SYSTEMC_EXT_CORE_SC_PRIM_HH__