blob: bec927cd51224428bf477dcf593fc9f5620bf957 [file] [log] [blame]
Karl Zhang3de5ab12021-05-31 11:45:48 +08001/*
2 * Copyright (c) 2019-2020, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8#ifndef SST_TEMPLATE_LINE_HPP
9#define SST_TEMPLATE_LINE_HPP
10
11#include <cstdlib> // for rand()
12
13/* This project's header files #including other project headers quickly becomes
14 unrealistically complicated. The only solution is for each .cpp to include
15 the headers it needs.
16#include "psa_asset.hpp"
17#include "template_line.hpp"
18#include "psa_call.hpp"
19*/
20
21
22using namespace std;
23
24class set_sst_template_line : public sst_template_line
25{
26public:
27 // Data members:
28 // Methods:
29 void setup_call (set_data_info set_info, bool random_data,
30 bool fill_in_template, bool create_call,
31 template_line *temLin, tf_fuzz_info *rsrc) {
32 define_call<sst_set_call> (set_info, random_data, fill_in_template,
33 create_call, temLin, rsrc, add_to_end,
34 dont_set_barrier);
35 }
36 set_sst_template_line (tf_fuzz_info *resources); // (constructor)
37 ~set_sst_template_line (void);
38
39protected:
40 // Data members:
41 // Methods:
42 string rand_creation_flags (void); // choose a random set of creation flags
43
44private:
45 // Data members:
46 // Methods:
47};
48
49class remove_sst_template_line : public sst_template_line
50{
51public:
52 // Data members:
53 // Methods:
54 void setup_call (set_data_info set_info, bool random_data,
55 bool fill_in_template, bool create_call,
56 template_line *temLin, tf_fuzz_info *rsrc) {
57 define_call<sst_remove_call> (set_info, random_data, fill_in_template,
58 create_call, temLin, rsrc, add_to_end,
59 dont_set_barrier);
60 }
61 remove_sst_template_line (tf_fuzz_info *resources); // (constructor)
62 ~remove_sst_template_line (void);
63
64protected:
65 // Data members:
66 // Methods:
67
68private:
69 // Data members:
70 // Methods:
71};
72
73class read_sst_template_line : public sst_template_line
74{
75public:
76 // Data members:
77 // Methods:
78 void setup_call (set_data_info set_info, bool random_data,
79 bool fill_in_template, bool create_call,
80 template_line *temLin, tf_fuzz_info *rsrc) {
81 define_call<sst_get_call> (set_info, random_data, fill_in_template,
82 create_call, temLin, rsrc, add_to_end,
83 dont_set_barrier);
84 }
85 read_sst_template_line (tf_fuzz_info *resources); // (constructor)
86 ~read_sst_template_line (void);
87
88protected:
89 // Data members:
90 // Methods:
91
92private:
93 // Data members:
94 // Methods:
95};
96
97#endif // #ifndef SST_TEMPLATE_LINE_HPP