aboutsummaryrefslogtreecommitdiff
path: root/tools/tf_fuzz/template/secure_template_line.hpp
blob: 302da1feea42f76c0c215e50a4008c235d355736 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*
 * Copyright (c) 2019-2020, Arm Limited. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 *
 */

/* Objects typed to subclasses of the these classes are constructed and filled in
   by the parser as it parses the template.  Although these objects do fairly
   closely correspond to template lines, there's no real correlation to lines in
   the generated code. */

#ifndef SECURE_TEMPLATE_LINE_HPP
#define SECURE_TEMPLATE_LINE_HPP

#include <iostream>
#include <string>
#include <vector>
#include <iterator>
#include <algorithm>
#include <new>

/* This project's header files #including other project headers quickly becomes
   unrealistically complicated.  The only solution is for each .cpp to include
   the headers it needs.
*/


using namespace std;

/* Note:  The following are sub-classed from security (above). */

class security_hash_template_line : public security_template_line
{
public:
    // Data members:
    // Methods:
        void setup_call (set_data_info set_data, bool random_data,
                 bool fill_in_template, bool create_call, template_line *temLin,
                 tf_fuzz_info *rsrc)
        {
            define_call<hash_call> (set_data, random_data,
                            fill_in_template, create_call, temLin, rsrc);
        }
        bool copy_template_to_asset (void);
        bool copy_template_to_call (void);
        security_hash_template_line (tf_fuzz_info *resources);  // (constructor)
        ~security_hash_template_line (void);

protected:
    // Data members:
    // Methods:

private:
    // Data members:
    // Methods:
};

#endif // #ifndef SECURE_TEMPLATE_LINE_HPP