blob: 7f53c70a2a74cdc31b4c6c25aaf3863b6f700c1d [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/* Objects typed to subclasses of the these classes are constructed and filled in
9 by the parser as it parses the test template. Although these objects do largely
10 correspond to template lines, there's no real correlation to lines in the
11 generated code. */
12
13#ifndef SECURE_TEMPLATE_LINE_HPP
14#define SECURE_TEMPLATE_LINE_HPP
15
16#include <iostream>
17#include <string>
18#include <vector>
19#include <iterator>
20#include <algorithm>
21#include <new>
22
23/* This project's header files #including other project headers quickly becomes
24 unrealistically complicated. The only solution is for each .cpp to include
25 the headers it needs.
26*/
27
28
29using namespace std;
30
31/* Note: The following are sub-classed from security (above). */
32
33class security_hash_template_line : public security_template_line
34{
35public:
36 // Data members:
37 // Methods:
38 void setup_call (set_data_info set_data, bool random_data,
39 bool fill_in_template, bool create_call,
40 template_line *temLin, tf_fuzz_info *rsrc)
41 {
42 define_call<hash_call> (set_data, random_data, fill_in_template,
43 create_call, temLin, rsrc,
44 add_to_end, yes_set_barrier);
45 }
46 bool copy_template_to_call (psa_call *the_call);
47 security_hash_template_line (tf_fuzz_info *resources); // (constructor)
48 ~security_hash_template_line (void);
49
50protected:
51 // Data members:
52 // Methods:
53
54private:
55 // Data members:
56 // Methods:
57};
58
59#endif // #ifndef SECURE_TEMPLATE_LINE_HPP
60