1*d2571922SAlexander Hansen #include "server/Test/common.hpp" 2*d2571922SAlexander Hansen #include "server/Test2/common.hpp" 3*d2571922SAlexander Hansen 4*d2571922SAlexander Hansen #include <print> 5*d2571922SAlexander Hansen 6*d2571922SAlexander Hansen #include <gtest/gtest.h> 7*d2571922SAlexander Hansen main()8*d2571922SAlexander Hansenint main() 9*d2571922SAlexander Hansen { 10*d2571922SAlexander Hansen // We can access the property name as a symbol. 11*d2571922SAlexander Hansen // The property name is constexpr. 12*d2571922SAlexander Hansen 13*d2571922SAlexander Hansen constexpr auto propName = 14*d2571922SAlexander Hansen sdbusplus::common::server::Test::property_names::some_value; 15*d2571922SAlexander Hansen 16*d2571922SAlexander Hansen // The property name can be used as part of error logs. 17*d2571922SAlexander Hansen 18*d2571922SAlexander Hansen std::println("property {} not found \n", propName); 19*d2571922SAlexander Hansen 20*d2571922SAlexander Hansen // If the property is removed from the interface definition, it will cause a 21*d2571922SAlexander Hansen // build failure in applications still using that property. That can work 22*d2571922SAlexander Hansen // even if the application is not (yet) using PDI-generated bindings for 23*d2571922SAlexander Hansen // it's DBus interactions. 24*d2571922SAlexander Hansen 25*d2571922SAlexander Hansen std::println("using property {} \n", 26*d2571922SAlexander Hansen sdbusplus::common::server::Test2::property_names::new_value); 27*d2571922SAlexander Hansen 28*d2571922SAlexander Hansen EXPECT_EQ(sdbusplus::common::server::Test2::property_names::new_value, 29*d2571922SAlexander Hansen "NewValue"); 30*d2571922SAlexander Hansen 31*d2571922SAlexander Hansen return 0; 32*d2571922SAlexander Hansen } 33