xref: /openbmc/phosphor-logging/extensions/openpower-pels/entry_points.cpp (revision c8705e2b)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include "data_interface.hpp"
2 #include "elog_entry.hpp"
3 #include "extensions.hpp"
4 #include "manager.hpp"
5 
6 namespace openpower
7 {
8 namespace pels
9 {
10 
11 using namespace phosphor::logging;
12 
13 std::unique_ptr<Manager> manager;
14 
15 DISABLE_LOG_ENTRY_CAPS();
16 
17 void pelStartup(internal::Manager& logManager)
18 {
19     std::unique_ptr<DataInterfaceBase> dataIface =
20         std::make_unique<DataInterface>(logManager.getBus());
21 
22     manager = std::make_unique<Manager>(logManager, std::move(dataIface));
23 }
24 
25 REGISTER_EXTENSION_FUNCTION(pelStartup);
26 
27 void pelCreate(const std::string& message, uint32_t id, uint64_t timestamp,
28                Entry::Level severity, const AdditionalDataArg& additionalData,
29                const AssociationEndpointsArg& assocs)
30 {
31     manager->create(message, id, timestamp, severity, additionalData, assocs);
32 }
33 
34 REGISTER_EXTENSION_FUNCTION(pelCreate);
35 
36 void pelDelete(uint32_t id)
37 {
38     return manager->erase(id);
39 }
40 
41 REGISTER_EXTENSION_FUNCTION(pelDelete);
42 
43 void pelDeleteProhibited(uint32_t id, bool& prohibited)
44 {
45     prohibited = manager->isDeleteProhibited(id);
46 }
47 
48 REGISTER_EXTENSION_FUNCTION(pelDeleteProhibited);
49 
50 } // namespace pels
51 } // namespace openpower
52 

served by {OpenGrok

Last Index Update: Sun May 18 03:01:11 CDT 2025