YPC  0.2.0
parser_sgx_module.h
1 #pragma once
2 #include "sgx_eid.h"
3 #include "sgx_error.h"
4 #include "ypc/common/parser_type.h"
5 #include "ypc/core/byte.h"
6 #include "ypc/core/ref.h"
7 #include "ypc/corecommon/nt_cols.h"
8 #include "ypc/stbox/usgx/sgx_module.h"
9 #include <string>
10 
11 using stx_status = stbox::stx_status;
13 namespace ypc {
14 class parser_sgx_module : public stbox::sgx_module {
15 public:
16  explicit parser_sgx_module(const char *mod_path);
17 
18  parser_sgx_module(const parser_sgx_module &) = delete;
20  parser_sgx_module &operator=(parser_sgx_module &&) = delete;
21  parser_sgx_module &operator=(const parser_sgx_module &) = delete;
22 
23  virtual ~parser_sgx_module() = default;
24 
25  uint32_t begin_parse_data_item();
26  uint32_t parse_data_item(const uint8_t *data, size_t len);
27  uint32_t end_parse_data_item();
28 
29  uint32_t get_enclave_hash(ypc::bytes &enclave_hash);
30 
31  // uint32_t get_encrypted_result_hash(ypc::bref &hash);
32 
33  uint32_t get_analyze_result(ypc::bytes &res);
34 
35 
36  uint32_t init_data_source(const ypc::bytes &info);
37  uint32_t init_model(const ypc::bytes &info);
38  uint32_t get_parser_type();
39 
40 };
41 } // namespace ypc
ypc::utc::parser_type_t
Definition: parser_type.h:24
ypc::parser_sgx_module
Definition: parser_sgx_module.h:14
byte.h
ypc::utc::bytes< byte_t, ::ypc::utc::byte_encode::raw_bytes >