1 #pragma once
2 
3 #include <sdbusplus/bus.hpp>
4 #include <util/ffdc_file.hpp>
5 
6 #include <string>
7 
8 namespace attn
9 {
10 
11 /**
12  * Create a dbus method
13  *
14  * Find the dbus service associated with the dbus object path and create
15  * a dbus method for calling the specified dbus interface and function.
16  *
17  * @param i_path - dbus object path
18  * @param i_interface - dbus method interface
19  * @param i_function - dbus interface function
20  * @param o_method - method that is created
21  * @return non-zero if error
22  *
23  **/
24 int dbusMethod(const std::string& i_path, const std::string& i_interface,
25                const std::string& i_function, sdbusplus::message_t& o_method);
26 
27 /**
28  * Create a PEL from raw PEL data
29  *
30  * Create a PEL based on the pel defined in the data buffer specified.
31  *
32  * @param   i_buffer - buffer containing a raw PEL
33  */
34 void createPelRaw(const std::vector<uint8_t>& i_buffer);
35 
36 /**
37  * Get file descriptor of exisitng PEL
38  *
39  * The backend logging code will search for a PEL having the provided pel id
40  * and return a file descriptor of a file containing this pel in raw form.
41  *
42  * @param  i_pelid - the PEL ID
43  * @return file descriptor or -1 if error
44  */
45 int getPel(const uint32_t i_pelId);
46 
47 } // namespace attn
48