SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
attribute.h
Go to the documentation of this file.
1/*
2 © 2014 Intel Corporation
3
4 This software and the related documents are Intel copyrighted materials, and
5 your use of them is governed by the express license under which they were
6 provided to you ("License"). Unless the License provides otherwise, you may
7 not use, modify, copy, publish, distribute, disclose or transmit this software
8 or the related documents without Intel's prior written permission.
9
10 This software and the related documents are provided as is, with no express or
11 implied warranties, other than those that are expressly stated in the License.
12*/
13
14#ifndef SIMICS_SYSTEMC_AWARENESS_ATTRIBUTE_H
15#define SIMICS_SYSTEMC_AWARENESS_ATTRIBUTE_H
16
17#include <simics/base/attr-value.h>
18#include <simics/base/conf-object.h>
19
20namespace simics {
21namespace systemc {
22namespace awareness {
23
24class Attribute {
25 public:
26 explicit Attribute(int key)
27 : key_(key) {
28 }
29 int key() const {
30 return key_;
31 }
32 virtual Attribute *create() = 0;
33 virtual attr_value_t get() const = 0;
34 virtual set_error_t set(attr_value_t *val) = 0;
35 virtual ~Attribute() {}
36
37 private:
38 int key_;
39};
40
41} // namespace awareness
42} // namespace systemc
43} // namespace simics
44
45#endif
Definition: attribute.h:24
Attribute(int key)
Definition: attribute.h:26
virtual set_error_t set(attr_value_t *val)=0
int key() const
Definition: attribute.h:29
virtual attr_value_t get() const =0
virtual Attribute * create()=0
virtual ~Attribute()
Definition: attribute.h:35
Definition: adapter.h:79