Skip to content

Commit 36dc605

Browse files
authored
feat: Device.chipsetId (#476)
1 parent 3ff1ed1 commit 36dc605

File tree

5 files changed

+32
-0
lines changed

5 files changed

+32
-0
lines changed

src/cpp/include/device.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,13 @@ class IDevice
6565
*/
6666
virtual Result<u_int32_t> timeInActiveState() const = 0;
6767

68+
/**
69+
* @brief Returns chipset ID as a printable string, e.g. "BCM72180"
70+
*
71+
* @retval The uid string or error
72+
*/
73+
virtual Result<std::string> chipsetId() const = 0;
74+
6875
/**
6976
* @brief Returns a persistent unique UUID for the current app and device. The UUID is reset when the app or device is reset
7077
*

src/cpp/src/device_impl.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,11 @@ Result<uint32_t> DeviceImpl::uptime() const
4242
return helper_.get<Firebolt::JSON::Integer, uint32_t>("Device.uptime");
4343
}
4444

45+
Result<std::string> DeviceImpl::chipsetId() const
46+
{
47+
return helper_.get<Firebolt::JSON::String, std::string>("Device.chipsetId");
48+
}
49+
4550
Result<std::string> DeviceImpl::uid() const
4651
{
4752
return helper_.get<Firebolt::JSON::String, std::string>("Device.uid");

src/cpp/src/device_impl.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ class DeviceImpl : public IDevice
3636
Result<DeviceClass> deviceClass() const override;
3737
Result<uint32_t> uptime() const override;
3838
Result<u_int32_t> timeInActiveState() const override;
39+
Result<std::string> chipsetId() const override;
3940
Result<std::string> uid() const override;
4041

4142
private:

src/cpp/test/component/deviceTest.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,14 @@ TEST_F(DeviceTest, TimeInActiveState)
6969
EXPECT_EQ(*result, expectedValue);
7070
}
7171

72+
TEST_F(DeviceTest, ChipsetId)
73+
{
74+
auto expectedValue = jsonEngine.get_value("Device.chipsetId");
75+
auto result = Firebolt::IFireboltAccessor::Instance().DeviceInterface().chipsetId();
76+
ASSERT_TRUE(result) << "DeviceImpl::chipsetId() returned an error";
77+
EXPECT_EQ(*result, expectedValue);
78+
}
79+
7280
TEST_F(DeviceTest, Uid)
7381
{
7482
auto expectedValue = jsonEngine.get_value("Device.uid");

src/cpp/test/unit/deviceTest.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,17 @@ TEST_F(DeviceTest, Uptime)
6262
EXPECT_EQ(*result, expectedValue);
6363
}
6464

65+
TEST_F(DeviceTest, ChipsetId)
66+
{
67+
mock("Device.chipsetId");
68+
auto expectedValue = jsonEngine.get_value("Device.chipsetId");
69+
70+
auto result = deviceImpl_.chipsetId();
71+
ASSERT_TRUE(result) << "DeviceImpl::chipsetId() returned an error";
72+
73+
EXPECT_EQ(*result, expectedValue);
74+
}
75+
6576
TEST_F(DeviceTest, Uid)
6677
{
6778
mock("Device.uid");

0 commit comments

Comments
 (0)