1 // This file was autogenerated. Do not edit! 2 // See elog-gen.py for more details 3 #pragma once 4 5 #include <string> 6 #include <tuple> 7 #include <type_traits> 8 #include <sdbusplus/exception.hpp> 9 #include <phosphor-logging/log.hpp> 10 #include <phosphor-logging/elog.hpp> 11 12 namespace sdbusplus 13 { 14 namespace xyz 15 { 16 namespace openbmc_project 17 { 18 namespace Power 19 { 20 namespace Fault 21 { 22 namespace Error 23 { 24 struct PowerOnFailure; 25 } // namespace Error 26 } // namespace Fault 27 } // namespace Power 28 } // namespace openbmc_project 29 } // namespace xyz 30 } // namespace sdbusplus 31 32 namespace sdbusplus 33 { 34 namespace xyz 35 { 36 namespace openbmc_project 37 { 38 namespace Power 39 { 40 namespace Fault 41 { 42 namespace Error 43 { 44 struct PowerSequencerFault; 45 } // namespace Error 46 } // namespace Fault 47 } // namespace Power 48 } // namespace openbmc_project 49 } // namespace xyz 50 } // namespace sdbusplus 51 52 namespace sdbusplus 53 { 54 namespace xyz 55 { 56 namespace openbmc_project 57 { 58 namespace Common 59 { 60 namespace Callout 61 { 62 namespace Error 63 { 64 struct GPIO; 65 } // namespace Error 66 } // namespace Callout 67 } // namespace Common 68 } // namespace openbmc_project 69 } // namespace xyz 70 } // namespace sdbusplus 71 72 namespace sdbusplus 73 { 74 namespace xyz 75 { 76 namespace openbmc_project 77 { 78 namespace Common 79 { 80 namespace Callout 81 { 82 namespace Error 83 { 84 struct Inventory; 85 } // namespace Error 86 } // namespace Callout 87 } // namespace Common 88 } // namespace openbmc_project 89 } // namespace xyz 90 } // namespace sdbusplus 91 92 namespace sdbusplus 93 { 94 namespace xyz 95 { 96 namespace openbmc_project 97 { 98 namespace Common 99 { 100 namespace Callout 101 { 102 namespace Error 103 { 104 struct IIC; 105 } // namespace Error 106 } // namespace Callout 107 } // namespace Common 108 } // namespace openbmc_project 109 } // namespace xyz 110 } // namespace sdbusplus 111 112 namespace sdbusplus 113 { 114 namespace xyz 115 { 116 namespace openbmc_project 117 { 118 namespace Power 119 { 120 namespace Fault 121 { 122 namespace Error 123 { 124 struct PowerSequencerPGOODFault; 125 } // namespace Error 126 } // namespace Fault 127 } // namespace Power 128 } // namespace openbmc_project 129 } // namespace xyz 130 } // namespace sdbusplus 131 132 namespace sdbusplus 133 { 134 namespace xyz 135 { 136 namespace openbmc_project 137 { 138 namespace Common 139 { 140 namespace Callout 141 { 142 namespace Error 143 { 144 struct Device; 145 } // namespace Error 146 } // namespace Callout 147 } // namespace Common 148 } // namespace openbmc_project 149 } // namespace xyz 150 } // namespace sdbusplus 151 152 namespace sdbusplus 153 { 154 namespace xyz 155 { 156 namespace openbmc_project 157 { 158 namespace Power 159 { 160 namespace Fault 161 { 162 namespace Error 163 { 164 struct PowerSupplyUnderVoltageFault; 165 } // namespace Error 166 } // namespace Fault 167 } // namespace Power 168 } // namespace openbmc_project 169 } // namespace xyz 170 } // namespace sdbusplus 171 172 namespace sdbusplus 173 { 174 namespace xyz 175 { 176 namespace openbmc_project 177 { 178 namespace Power 179 { 180 namespace Fault 181 { 182 namespace Error 183 { 184 struct GPUPowerFault; 185 } // namespace Error 186 } // namespace Fault 187 } // namespace Power 188 } // namespace openbmc_project 189 } // namespace xyz 190 } // namespace sdbusplus 191 192 namespace sdbusplus 193 { 194 namespace xyz 195 { 196 namespace openbmc_project 197 { 198 namespace Power 199 { 200 namespace Fault 201 { 202 namespace Error 203 { 204 struct GPUOverTemp; 205 } // namespace Error 206 } // namespace Fault 207 } // namespace Power 208 } // namespace openbmc_project 209 } // namespace xyz 210 } // namespace sdbusplus 211 212 namespace sdbusplus 213 { 214 namespace xyz 215 { 216 namespace openbmc_project 217 { 218 namespace Common 219 { 220 namespace Callout 221 { 222 namespace Error 223 { 224 struct IPMISensor; 225 } // namespace Error 226 } // namespace Callout 227 } // namespace Common 228 } // namespace openbmc_project 229 } // namespace xyz 230 } // namespace sdbusplus 231 232 namespace sdbusplus 233 { 234 namespace xyz 235 { 236 namespace openbmc_project 237 { 238 namespace Power 239 { 240 namespace Fault 241 { 242 namespace Error 243 { 244 struct PowerSequencerVoltageFault; 245 } // namespace Error 246 } // namespace Fault 247 } // namespace Power 248 } // namespace openbmc_project 249 } // namespace xyz 250 } // namespace sdbusplus 251 252 namespace sdbusplus 253 { 254 namespace xyz 255 { 256 namespace openbmc_project 257 { 258 namespace Power 259 { 260 namespace Fault 261 { 262 namespace Error 263 { 264 struct Shutdown; 265 } // namespace Error 266 } // namespace Fault 267 } // namespace Power 268 } // namespace openbmc_project 269 } // namespace xyz 270 } // namespace sdbusplus 271 272 273 namespace phosphor 274 { 275 276 namespace logging 277 { 278 279 namespace xyz 280 { 281 namespace openbmc_project 282 { 283 namespace Common 284 { 285 namespace Callout 286 { 287 namespace _Device 288 { 289 290 struct CALLOUT_ERRNO 291 { 292 static constexpr auto str = "CALLOUT_ERRNO=%d"; 293 static constexpr auto str_short = "CALLOUT_ERRNO"; 294 using type = std::tuple<std::decay_t<decltype(str)>,int32_t>; 295 explicit constexpr CALLOUT_ERRNO(int32_t a) : _entry(entry(str, a)) {}; 296 type _entry; 297 }; 298 struct CALLOUT_DEVICE_PATH 299 { 300 static constexpr auto str = "CALLOUT_DEVICE_PATH=%s"; 301 static constexpr auto str_short = "CALLOUT_DEVICE_PATH"; 302 using type = std::tuple<std::decay_t<decltype(str)>,const char*>; 303 explicit constexpr CALLOUT_DEVICE_PATH(const char* a) : _entry(entry(str, a)) {}; 304 type _entry; 305 }; 306 307 } // namespace _Device 308 309 struct Device 310 { 311 static constexpr auto L = level::ERR; 312 using CALLOUT_ERRNO = _Device::CALLOUT_ERRNO; 313 using CALLOUT_DEVICE_PATH = _Device::CALLOUT_DEVICE_PATH; 314 using metadata_types = std::tuple<CALLOUT_ERRNO, CALLOUT_DEVICE_PATH>; 315 316 }; 317 318 } // namespace Callout 319 } // namespace Common 320 } // namespace openbmc_project 321 } // namespace xyz 322 323 324 namespace details 325 { 326 327 template <> 328 struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::Device> 329 { 330 using type = xyz::openbmc_project::Common::Callout::Device; 331 }; 332 333 } 334 335 namespace xyz 336 { 337 namespace openbmc_project 338 { 339 namespace Common 340 { 341 namespace Callout 342 { 343 namespace _GPIO 344 { 345 346 struct CALLOUT_GPIO_NUM 347 { 348 static constexpr auto str = "CALLOUT_GPIO_NUM=%u"; 349 static constexpr auto str_short = "CALLOUT_GPIO_NUM"; 350 using type = std::tuple<std::decay_t<decltype(str)>,uint32_t>; 351 explicit constexpr CALLOUT_GPIO_NUM(uint32_t a) : _entry(entry(str, a)) {}; 352 type _entry; 353 }; 354 355 } // namespace _GPIO 356 357 struct GPIO 358 { 359 static constexpr auto L = level::ERR; 360 using CALLOUT_GPIO_NUM = _GPIO::CALLOUT_GPIO_NUM; 361 using CALLOUT_ERRNO = xyz::openbmc_project::Common::Callout::Device::CALLOUT_ERRNO; 362 using CALLOUT_DEVICE_PATH = xyz::openbmc_project::Common::Callout::Device::CALLOUT_DEVICE_PATH; 363 using metadata_types = std::tuple<CALLOUT_GPIO_NUM, CALLOUT_ERRNO, CALLOUT_DEVICE_PATH>; 364 365 }; 366 367 } // namespace Callout 368 } // namespace Common 369 } // namespace openbmc_project 370 } // namespace xyz 371 372 373 namespace details 374 { 375 376 template <> 377 struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::GPIO> 378 { 379 using type = xyz::openbmc_project::Common::Callout::GPIO; 380 }; 381 382 } 383 384 namespace xyz 385 { 386 namespace openbmc_project 387 { 388 namespace Common 389 { 390 namespace Callout 391 { 392 namespace _IIC 393 { 394 395 struct CALLOUT_IIC_BUS 396 { 397 static constexpr auto str = "CALLOUT_IIC_BUS=%s"; 398 static constexpr auto str_short = "CALLOUT_IIC_BUS"; 399 using type = std::tuple<std::decay_t<decltype(str)>,const char*>; 400 explicit constexpr CALLOUT_IIC_BUS(const char* a) : _entry(entry(str, a)) {}; 401 type _entry; 402 }; 403 struct CALLOUT_IIC_ADDR 404 { 405 static constexpr auto str = "CALLOUT_IIC_ADDR=0x%hx"; 406 static constexpr auto str_short = "CALLOUT_IIC_ADDR"; 407 using type = std::tuple<std::decay_t<decltype(str)>,uint16_t>; 408 explicit constexpr CALLOUT_IIC_ADDR(uint16_t a) : _entry(entry(str, a)) {}; 409 type _entry; 410 }; 411 412 } // namespace _IIC 413 414 struct IIC 415 { 416 static constexpr auto L = level::ERR; 417 using CALLOUT_IIC_BUS = _IIC::CALLOUT_IIC_BUS; 418 using CALLOUT_IIC_ADDR = _IIC::CALLOUT_IIC_ADDR; 419 using CALLOUT_ERRNO = xyz::openbmc_project::Common::Callout::Device::CALLOUT_ERRNO; 420 using CALLOUT_DEVICE_PATH = xyz::openbmc_project::Common::Callout::Device::CALLOUT_DEVICE_PATH; 421 using metadata_types = std::tuple<CALLOUT_IIC_BUS, CALLOUT_IIC_ADDR, CALLOUT_ERRNO, CALLOUT_DEVICE_PATH>; 422 423 }; 424 425 } // namespace Callout 426 } // namespace Common 427 } // namespace openbmc_project 428 } // namespace xyz 429 430 431 namespace details 432 { 433 434 template <> 435 struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::IIC> 436 { 437 using type = xyz::openbmc_project::Common::Callout::IIC; 438 }; 439 440 } 441 442 namespace xyz 443 { 444 namespace openbmc_project 445 { 446 namespace Common 447 { 448 namespace Callout 449 { 450 namespace _Inventory 451 { 452 453 struct CALLOUT_INVENTORY_PATH 454 { 455 static constexpr auto str = "CALLOUT_INVENTORY_PATH=%s"; 456 static constexpr auto str_short = "CALLOUT_INVENTORY_PATH"; 457 using type = std::tuple<std::decay_t<decltype(str)>,const char*>; 458 explicit constexpr CALLOUT_INVENTORY_PATH(const char* a) : _entry(entry(str, a)) {}; 459 type _entry; 460 }; 461 462 } // namespace _Inventory 463 464 struct Inventory 465 { 466 static constexpr auto L = level::ERR; 467 using CALLOUT_INVENTORY_PATH = _Inventory::CALLOUT_INVENTORY_PATH; 468 using metadata_types = std::tuple<CALLOUT_INVENTORY_PATH>; 469 470 }; 471 472 } // namespace Callout 473 } // namespace Common 474 } // namespace openbmc_project 475 } // namespace xyz 476 477 478 namespace details 479 { 480 481 template <> 482 struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::Inventory> 483 { 484 using type = xyz::openbmc_project::Common::Callout::Inventory; 485 }; 486 487 } 488 489 namespace xyz 490 { 491 namespace openbmc_project 492 { 493 namespace Common 494 { 495 namespace Callout 496 { 497 namespace _IPMISensor 498 { 499 500 struct CALLOUT_IPMI_SENSOR_NUM 501 { 502 static constexpr auto str = "CALLOUT_IPMI_SENSOR_NUM=%u"; 503 static constexpr auto str_short = "CALLOUT_IPMI_SENSOR_NUM"; 504 using type = std::tuple<std::decay_t<decltype(str)>,uint32_t>; 505 explicit constexpr CALLOUT_IPMI_SENSOR_NUM(uint32_t a) : _entry(entry(str, a)) {}; 506 type _entry; 507 }; 508 509 } // namespace _IPMISensor 510 511 struct IPMISensor 512 { 513 static constexpr auto L = level::ERR; 514 using CALLOUT_IPMI_SENSOR_NUM = _IPMISensor::CALLOUT_IPMI_SENSOR_NUM; 515 using metadata_types = std::tuple<CALLOUT_IPMI_SENSOR_NUM>; 516 517 }; 518 519 } // namespace Callout 520 } // namespace Common 521 } // namespace openbmc_project 522 } // namespace xyz 523 524 525 namespace details 526 { 527 528 template <> 529 struct map_exception_type<sdbusplus::xyz::openbmc_project::Common::Callout::Error::IPMISensor> 530 { 531 using type = xyz::openbmc_project::Common::Callout::IPMISensor; 532 }; 533 534 } 535 536 namespace xyz 537 { 538 namespace openbmc_project 539 { 540 namespace Power 541 { 542 namespace Fault 543 { 544 namespace _PowerSupplyUnderVoltageFault 545 { 546 547 548 } // namespace _PowerSupplyUnderVoltageFault 549 550 struct PowerSupplyUnderVoltageFault 551 { 552 static constexpr auto L = level::ERR; 553 using metadata_types = std::tuple<>; 554 555 }; 556 557 } // namespace Fault 558 } // namespace Power 559 } // namespace openbmc_project 560 } // namespace xyz 561 562 563 namespace details 564 { 565 566 template <> 567 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::PowerSupplyUnderVoltageFault> 568 { 569 using type = xyz::openbmc_project::Power::Fault::PowerSupplyUnderVoltageFault; 570 }; 571 572 } 573 574 namespace xyz 575 { 576 namespace openbmc_project 577 { 578 namespace Power 579 { 580 namespace Fault 581 { 582 namespace _Shutdown 583 { 584 585 586 } // namespace _Shutdown 587 588 struct Shutdown 589 { 590 static constexpr auto L = level::ERR; 591 using metadata_types = std::tuple<>; 592 593 }; 594 595 } // namespace Fault 596 } // namespace Power 597 } // namespace openbmc_project 598 } // namespace xyz 599 600 601 namespace details 602 { 603 604 template <> 605 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::Shutdown> 606 { 607 using type = xyz::openbmc_project::Power::Fault::Shutdown; 608 }; 609 610 } 611 612 namespace xyz 613 { 614 namespace openbmc_project 615 { 616 namespace Power 617 { 618 namespace Fault 619 { 620 namespace _PowerOnFailure 621 { 622 623 624 } // namespace _PowerOnFailure 625 626 struct PowerOnFailure 627 { 628 static constexpr auto L = level::ERR; 629 using metadata_types = std::tuple<>; 630 631 }; 632 633 } // namespace Fault 634 } // namespace Power 635 } // namespace openbmc_project 636 } // namespace xyz 637 638 639 namespace details 640 { 641 642 template <> 643 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::PowerOnFailure> 644 { 645 using type = xyz::openbmc_project::Power::Fault::PowerOnFailure; 646 }; 647 648 } 649 650 namespace xyz 651 { 652 namespace openbmc_project 653 { 654 namespace Power 655 { 656 namespace Fault 657 { 658 namespace _PowerSequencerVoltageFault 659 { 660 661 struct RAIL 662 { 663 static constexpr auto str = "RAIL=%d"; 664 static constexpr auto str_short = "RAIL"; 665 using type = std::tuple<std::decay_t<decltype(str)>,uint16_t>; 666 explicit constexpr RAIL(uint16_t a) : _entry(entry(str, a)) {}; 667 type _entry; 668 }; 669 struct RAIL_NAME 670 { 671 static constexpr auto str = "RAIL_NAME=%s"; 672 static constexpr auto str_short = "RAIL_NAME"; 673 using type = std::tuple<std::decay_t<decltype(str)>,const char*>; 674 explicit constexpr RAIL_NAME(const char* a) : _entry(entry(str, a)) {}; 675 type _entry; 676 }; 677 struct RAW_STATUS 678 { 679 static constexpr auto str = "RAW_STATUS=%s"; 680 static constexpr auto str_short = "RAW_STATUS"; 681 using type = std::tuple<std::decay_t<decltype(str)>,const char*>; 682 explicit constexpr RAW_STATUS(const char* a) : _entry(entry(str, a)) {}; 683 type _entry; 684 }; 685 686 } // namespace _PowerSequencerVoltageFault 687 688 struct PowerSequencerVoltageFault 689 { 690 static constexpr auto L = level::ERR; 691 using RAIL = _PowerSequencerVoltageFault::RAIL; 692 using RAIL_NAME = _PowerSequencerVoltageFault::RAIL_NAME; 693 using RAW_STATUS = _PowerSequencerVoltageFault::RAW_STATUS; 694 using metadata_types = std::tuple<RAIL, RAIL_NAME, RAW_STATUS>; 695 696 }; 697 698 } // namespace Fault 699 } // namespace Power 700 } // namespace openbmc_project 701 } // namespace xyz 702 703 704 namespace details 705 { 706 707 template <> 708 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::PowerSequencerVoltageFault> 709 { 710 using type = xyz::openbmc_project::Power::Fault::PowerSequencerVoltageFault; 711 }; 712 713 } 714 715 namespace xyz 716 { 717 namespace openbmc_project 718 { 719 namespace Power 720 { 721 namespace Fault 722 { 723 namespace _PowerSequencerPGOODFault 724 { 725 726 struct INPUT_NUM 727 { 728 static constexpr auto str = "INPUT_NUM=%d"; 729 static constexpr auto str_short = "INPUT_NUM"; 730 using type = std::tuple<std::decay_t<decltype(str)>,uint16_t>; 731 explicit constexpr INPUT_NUM(uint16_t a) : _entry(entry(str, a)) {}; 732 type _entry; 733 }; 734 struct INPUT_NAME 735 { 736 static constexpr auto str = "INPUT_NAME=%s"; 737 static constexpr auto str_short = "INPUT_NAME"; 738 using type = std::tuple<std::decay_t<decltype(str)>,const char*>; 739 explicit constexpr INPUT_NAME(const char* a) : _entry(entry(str, a)) {}; 740 type _entry; 741 }; 742 struct RAW_STATUS 743 { 744 static constexpr auto str = "RAW_STATUS=%s"; 745 static constexpr auto str_short = "RAW_STATUS"; 746 using type = std::tuple<std::decay_t<decltype(str)>,const char*>; 747 explicit constexpr RAW_STATUS(const char* a) : _entry(entry(str, a)) {}; 748 type _entry; 749 }; 750 751 } // namespace _PowerSequencerPGOODFault 752 753 struct PowerSequencerPGOODFault 754 { 755 static constexpr auto L = level::ERR; 756 using INPUT_NUM = _PowerSequencerPGOODFault::INPUT_NUM; 757 using INPUT_NAME = _PowerSequencerPGOODFault::INPUT_NAME; 758 using RAW_STATUS = _PowerSequencerPGOODFault::RAW_STATUS; 759 using metadata_types = std::tuple<INPUT_NUM, INPUT_NAME, RAW_STATUS>; 760 761 }; 762 763 } // namespace Fault 764 } // namespace Power 765 } // namespace openbmc_project 766 } // namespace xyz 767 768 769 namespace details 770 { 771 772 template <> 773 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::PowerSequencerPGOODFault> 774 { 775 using type = xyz::openbmc_project::Power::Fault::PowerSequencerPGOODFault; 776 }; 777 778 } 779 780 namespace xyz 781 { 782 namespace openbmc_project 783 { 784 namespace Power 785 { 786 namespace Fault 787 { 788 namespace _PowerSequencerFault 789 { 790 791 struct RAW_STATUS 792 { 793 static constexpr auto str = "RAW_STATUS=%s"; 794 static constexpr auto str_short = "RAW_STATUS"; 795 using type = std::tuple<std::decay_t<decltype(str)>,const char*>; 796 explicit constexpr RAW_STATUS(const char* a) : _entry(entry(str, a)) {}; 797 type _entry; 798 }; 799 800 } // namespace _PowerSequencerFault 801 802 struct PowerSequencerFault 803 { 804 static constexpr auto L = level::ERR; 805 using RAW_STATUS = _PowerSequencerFault::RAW_STATUS; 806 using metadata_types = std::tuple<RAW_STATUS>; 807 808 }; 809 810 } // namespace Fault 811 } // namespace Power 812 } // namespace openbmc_project 813 } // namespace xyz 814 815 816 namespace details 817 { 818 819 template <> 820 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::PowerSequencerFault> 821 { 822 using type = xyz::openbmc_project::Power::Fault::PowerSequencerFault; 823 }; 824 825 } 826 827 namespace xyz 828 { 829 namespace openbmc_project 830 { 831 namespace Power 832 { 833 namespace Fault 834 { 835 namespace _GPUPowerFault 836 { 837 838 struct RAW_STATUS 839 { 840 static constexpr auto str = "RAW_STATUS=%s"; 841 static constexpr auto str_short = "RAW_STATUS"; 842 using type = std::tuple<std::decay_t<decltype(str)>,const char*>; 843 explicit constexpr RAW_STATUS(const char* a) : _entry(entry(str, a)) {}; 844 type _entry; 845 }; 846 struct GPU 847 { 848 static constexpr auto str = "GPU=%s"; 849 static constexpr auto str_short = "GPU"; 850 using type = std::tuple<std::decay_t<decltype(str)>,const char*>; 851 explicit constexpr GPU(const char* a) : _entry(entry(str, a)) {}; 852 type _entry; 853 }; 854 855 } // namespace _GPUPowerFault 856 857 struct GPUPowerFault 858 { 859 static constexpr auto L = level::ERR; 860 using RAW_STATUS = _GPUPowerFault::RAW_STATUS; 861 using GPU = _GPUPowerFault::GPU; 862 using metadata_types = std::tuple<RAW_STATUS, GPU>; 863 864 }; 865 866 } // namespace Fault 867 } // namespace Power 868 } // namespace openbmc_project 869 } // namespace xyz 870 871 872 namespace details 873 { 874 875 template <> 876 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::GPUPowerFault> 877 { 878 using type = xyz::openbmc_project::Power::Fault::GPUPowerFault; 879 }; 880 881 } 882 883 namespace xyz 884 { 885 namespace openbmc_project 886 { 887 namespace Power 888 { 889 namespace Fault 890 { 891 namespace _GPUOverTemp 892 { 893 894 struct RAW_STATUS 895 { 896 static constexpr auto str = "RAW_STATUS=%s"; 897 static constexpr auto str_short = "RAW_STATUS"; 898 using type = std::tuple<std::decay_t<decltype(str)>,const char*>; 899 explicit constexpr RAW_STATUS(const char* a) : _entry(entry(str, a)) {}; 900 type _entry; 901 }; 902 struct GPU 903 { 904 static constexpr auto str = "GPU=%s"; 905 static constexpr auto str_short = "GPU"; 906 using type = std::tuple<std::decay_t<decltype(str)>,const char*>; 907 explicit constexpr GPU(const char* a) : _entry(entry(str, a)) {}; 908 type _entry; 909 }; 910 911 } // namespace _GPUOverTemp 912 913 struct GPUOverTemp 914 { 915 static constexpr auto L = level::ERR; 916 using RAW_STATUS = _GPUOverTemp::RAW_STATUS; 917 using GPU = _GPUOverTemp::GPU; 918 using metadata_types = std::tuple<RAW_STATUS, GPU>; 919 920 }; 921 922 } // namespace Fault 923 } // namespace Power 924 } // namespace openbmc_project 925 } // namespace xyz 926 927 928 namespace details 929 { 930 931 template <> 932 struct map_exception_type<sdbusplus::xyz::openbmc_project::Power::Fault::Error::GPUOverTemp> 933 { 934 using type = xyz::openbmc_project::Power::Fault::GPUOverTemp; 935 }; 936 937 } 938 939 940 } // namespace logging 941 942 } // namespace phosphor 943