[webos]: Remove the unused platform implementation of DeviceInfoProvider (#21170)

diff --git a/src/platform/webos/BUILD.gn b/src/platform/webos/BUILD.gn
index 06323b3..19fe96c 100644
--- a/src/platform/webos/BUILD.gn
+++ b/src/platform/webos/BUILD.gn
@@ -78,8 +78,6 @@
     "ConnectivityManagerImpl.h",
     "ConnectivityUtils.cpp",
     "ConnectivityUtils.h",
-    "DeviceInfoProviderImpl.cpp",
-    "DeviceInfoProviderImpl.h",
     "DeviceInstanceInfoProviderImpl.cpp",
     "DeviceInstanceInfoProviderImpl.h",
     "DeviceNetworkProvisioningDelegateImpl.cpp",
diff --git a/src/platform/webos/DeviceInfoProviderImpl.cpp b/src/platform/webos/DeviceInfoProviderImpl.cpp
deleted file mode 100644
index de06f83..0000000
--- a/src/platform/webos/DeviceInfoProviderImpl.cpp
+++ /dev/null
@@ -1,364 +0,0 @@
-/*
- *
- *    Copyright (c) 2022 Project CHIP Authors
- *
- *    Licensed under the Apache License, Version 2.0 (the "License");
- *    you may not use this file except in compliance with the License.
- *    You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *    Unless required by applicable law or agreed to in writing, software
- *    distributed under the License is distributed on an "AS IS" BASIS,
- *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *    See the License for the specific language governing permissions and
- *    limitations under the License.
- */
-
-#include <lib/core/CHIPTLV.h>
-#include <lib/support/CHIPMemString.h>
-#include <lib/support/CodeUtils.h>
-#include <lib/support/DefaultStorageKeyAllocator.h>
-#include <platform/internal/CHIPDeviceLayerInternal.h>
-#include <platform/webos/DeviceInfoProviderImpl.h>
-
-#include <stdlib.h>
-#include <string.h>
-
-namespace chip {
-namespace DeviceLayer {
-
-namespace {
-constexpr TLV::Tag kLabelNameTag  = TLV::ContextTag(0);
-constexpr TLV::Tag kLabelValueTag = TLV::ContextTag(1);
-} // anonymous namespace
-
-DeviceInfoProviderImpl & DeviceInfoProviderImpl::GetDefaultInstance()
-{
-    static DeviceInfoProviderImpl sInstance;
-    return sInstance;
-}
-
-DeviceInfoProvider::FixedLabelIterator * DeviceInfoProviderImpl::IterateFixedLabel(EndpointId endpoint)
-{
-    return new FixedLabelIteratorImpl(endpoint);
-}
-
-DeviceInfoProviderImpl::FixedLabelIteratorImpl::FixedLabelIteratorImpl(EndpointId endpoint) : mEndpoint(endpoint)
-{
-    mIndex = 0;
-}
-
-size_t DeviceInfoProviderImpl::FixedLabelIteratorImpl::Count()
-{
-    // In Linux Simulation, return the size of the hardcoded labelList on all endpoints.
-    return 4;
-}
-
-bool DeviceInfoProviderImpl::FixedLabelIteratorImpl::Next(FixedLabelType & output)
-{
-    bool retval = true;
-
-    // In Linux Simulation, use the following hardcoded labelList on all endpoints.
-    CHIP_ERROR err = CHIP_NO_ERROR;
-
-    const char * labelPtr = nullptr;
-    const char * valuePtr = nullptr;
-
-    VerifyOrReturnError(mIndex < 4, false);
-
-    ChipLogProgress(DeviceLayer, "Get the fixed label with index:%ld at endpoint:%d", mIndex, mEndpoint);
-
-    switch (mIndex)
-    {
-    case 0:
-        labelPtr = "room";
-        valuePtr = "bedroom 2";
-        break;
-    case 1:
-        labelPtr = "orientation";
-        valuePtr = "North";
-        break;
-    case 2:
-        labelPtr = "floor";
-        valuePtr = "2";
-        break;
-    case 3:
-        labelPtr = "direction";
-        valuePtr = "up";
-        break;
-    default:
-        err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND;
-        break;
-    }
-
-    if (err == CHIP_NO_ERROR)
-    {
-        VerifyOrReturnError(std::strlen(labelPtr) <= kMaxLabelNameLength, false);
-        VerifyOrReturnError(std::strlen(valuePtr) <= kMaxLabelValueLength, false);
-
-        Platform::CopyString(mFixedLabelNameBuf, kMaxLabelNameLength + 1, labelPtr);
-        Platform::CopyString(mFixedLabelValueBuf, kMaxLabelValueLength + 1, valuePtr);
-
-        output.label = CharSpan::fromCharString(mFixedLabelNameBuf);
-        output.value = CharSpan::fromCharString(mFixedLabelValueBuf);
-
-        mIndex++;
-
-        retval = true;
-    }
-    else
-    {
-        retval = false;
-    }
-
-    return retval;
-}
-
-CHIP_ERROR DeviceInfoProviderImpl::SetUserLabelLength(EndpointId endpoint, size_t val)
-{
-    DefaultStorageKeyAllocator keyAlloc;
-
-    return mStorage->SyncSetKeyValue(keyAlloc.UserLabelLengthKey(endpoint), &val, static_cast<uint16_t>(sizeof(val)));
-}
-
-CHIP_ERROR DeviceInfoProviderImpl::GetUserLabelLength(EndpointId endpoint, size_t & val)
-{
-    DefaultStorageKeyAllocator keyAlloc;
-    uint16_t len = static_cast<uint16_t>(sizeof(val));
-
-    return mStorage->SyncGetKeyValue(keyAlloc.UserLabelLengthKey(endpoint), &val, len);
-}
-
-CHIP_ERROR DeviceInfoProviderImpl::SetUserLabelAt(EndpointId endpoint, size_t index, const UserLabelType & userLabel)
-{
-    DefaultStorageKeyAllocator keyAlloc;
-    uint8_t buf[UserLabelTLVMaxSize()];
-    TLV::TLVWriter writer;
-    writer.Init(buf);
-
-    TLV::TLVType outerType;
-    ReturnErrorOnFailure(writer.StartContainer(TLV::AnonymousTag(), TLV::kTLVType_Structure, outerType));
-    ReturnErrorOnFailure(writer.PutString(kLabelNameTag, userLabel.label));
-    ReturnErrorOnFailure(writer.PutString(kLabelValueTag, userLabel.value));
-    ReturnErrorOnFailure(writer.EndContainer(outerType));
-
-    return mStorage->SyncSetKeyValue(keyAlloc.UserLabelIndexKey(endpoint, index), buf,
-                                     static_cast<uint16_t>(writer.GetLengthWritten()));
-}
-
-DeviceInfoProvider::UserLabelIterator * DeviceInfoProviderImpl::IterateUserLabel(EndpointId endpoint)
-{
-    return new UserLabelIteratorImpl(*this, endpoint);
-}
-
-DeviceInfoProviderImpl::UserLabelIteratorImpl::UserLabelIteratorImpl(DeviceInfoProviderImpl & provider, EndpointId endpoint) :
-    mProvider(provider), mEndpoint(endpoint)
-{
-    size_t total = 0;
-
-    ReturnOnFailure(mProvider.GetUserLabelLength(mEndpoint, total));
-    mTotal = total;
-    mIndex = 0;
-}
-
-bool DeviceInfoProviderImpl::UserLabelIteratorImpl::Next(UserLabelType & output)
-{
-    CHIP_ERROR err = CHIP_NO_ERROR;
-
-    VerifyOrReturnError(mIndex < mTotal, false);
-
-    DefaultStorageKeyAllocator keyAlloc;
-    uint8_t buf[UserLabelTLVMaxSize()];
-    uint16_t len = static_cast<uint16_t>(sizeof(buf));
-
-    err = mProvider.mStorage->SyncGetKeyValue(keyAlloc.UserLabelIndexKey(mEndpoint, mIndex), buf, len);
-    VerifyOrReturnError(err == CHIP_NO_ERROR, false);
-
-    TLV::ContiguousBufferTLVReader reader;
-    reader.Init(buf);
-    err = reader.Next(TLV::kTLVType_Structure, TLV::AnonymousTag());
-    VerifyOrReturnError(err == CHIP_NO_ERROR, false);
-
-    TLV::TLVType containerType;
-    VerifyOrReturnError(reader.EnterContainer(containerType) == CHIP_NO_ERROR, false);
-
-    chip::CharSpan label;
-    chip::CharSpan value;
-
-    VerifyOrReturnError(reader.Next(kLabelNameTag) == CHIP_NO_ERROR, false);
-    VerifyOrReturnError(reader.Get(label) == CHIP_NO_ERROR, false);
-
-    VerifyOrReturnError(reader.Next(kLabelValueTag) == CHIP_NO_ERROR, false);
-    VerifyOrReturnError(reader.Get(value) == CHIP_NO_ERROR, false);
-
-    VerifyOrReturnError(reader.VerifyEndOfContainer() == CHIP_NO_ERROR, false);
-    VerifyOrReturnError(reader.ExitContainer(containerType) == CHIP_NO_ERROR, false);
-
-    Platform::CopyString(mUserLabelNameBuf, label);
-    Platform::CopyString(mUserLabelValueBuf, value);
-
-    output.label = CharSpan::fromCharString(mUserLabelNameBuf);
-    output.value = CharSpan::fromCharString(mUserLabelValueBuf);
-
-    mIndex++;
-
-    return true;
-}
-
-DeviceInfoProvider::SupportedLocalesIterator * DeviceInfoProviderImpl::IterateSupportedLocales()
-{
-    return new SupportedLocalesIteratorImpl();
-}
-
-size_t DeviceInfoProviderImpl::SupportedLocalesIteratorImpl::Count()
-{
-    // In Linux Simulation, return the size of the hardcoded list of Strings that are valid values for the ActiveLocale.
-    // {("en-US"), ("de-DE"), ("fr-FR"), ("en-GB"), ("es-ES"), ("zh-CN"), ("it-IT"), ("ja-JP")}
-
-    return 8;
-}
-
-bool DeviceInfoProviderImpl::SupportedLocalesIteratorImpl::Next(CharSpan & output)
-{
-    bool retval = true;
-
-    // In Linux simulation, return following hardcoded list of Strings that are valid values for the ActiveLocale.
-    CHIP_ERROR err = CHIP_NO_ERROR;
-
-    const char * activeLocalePtr = nullptr;
-
-    VerifyOrReturnError(mIndex < 8, false);
-
-    switch (mIndex)
-    {
-    case 0:
-        activeLocalePtr = "en-US";
-        break;
-    case 1:
-        activeLocalePtr = "de-DE";
-        break;
-    case 2:
-        activeLocalePtr = "fr-FR";
-        break;
-    case 3:
-        activeLocalePtr = "en-GB";
-        break;
-    case 4:
-        activeLocalePtr = "es-ES";
-        break;
-    case 5:
-        activeLocalePtr = "zh-CN";
-        break;
-    case 6:
-        activeLocalePtr = "it-IT";
-        break;
-    case 7:
-        activeLocalePtr = "ja-JP";
-        break;
-    default:
-        err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND;
-        break;
-    }
-
-    if (err == CHIP_NO_ERROR)
-    {
-        VerifyOrReturnError(std::strlen(activeLocalePtr) <= kMaxActiveLocaleLength, false);
-
-        Platform::CopyString(mActiveLocaleBuf, kMaxActiveLocaleLength + 1, activeLocalePtr);
-
-        output = CharSpan::fromCharString(mActiveLocaleBuf);
-
-        mIndex++;
-
-        retval = true;
-    }
-    else
-    {
-        retval = false;
-    }
-
-    return retval;
-}
-
-DeviceInfoProvider::SupportedCalendarTypesIterator * DeviceInfoProviderImpl::IterateSupportedCalendarTypes()
-{
-    return new SupportedCalendarTypesIteratorImpl();
-}
-
-size_t DeviceInfoProviderImpl::SupportedCalendarTypesIteratorImpl::Count()
-{
-    // In Linux Simulation, return the size of the hardcoded list of Strings that are valid values for the Calendar Types.
-    // {("kBuddhist"), ("kChinese"), ("kCoptic"), ("kEthiopian"), ("kGregorian"), ("kHebrew"), ("kIndian"), ("kJapanese"),
-    //  ("kKorean"), ("kPersian"), ("kTaiwanese"), ("kIslamic")}
-
-    return 12;
-}
-
-bool DeviceInfoProviderImpl::SupportedCalendarTypesIteratorImpl::Next(CalendarType & output)
-{
-    bool retval = true;
-
-    // In Linux Simulation, return following hardcoded list of Strings that are valid values for the Calendar Types.
-    CHIP_ERROR err = CHIP_NO_ERROR;
-
-    VerifyOrReturnError(mIndex < 12, false);
-
-    switch (mIndex)
-    {
-    case 0:
-        output = app::Clusters::TimeFormatLocalization::CalendarType::kBuddhist;
-        break;
-    case 1:
-        output = app::Clusters::TimeFormatLocalization::CalendarType::kChinese;
-        break;
-    case 2:
-        output = app::Clusters::TimeFormatLocalization::CalendarType::kCoptic;
-        break;
-    case 3:
-        output = app::Clusters::TimeFormatLocalization::CalendarType::kEthiopian;
-        break;
-    case 4:
-        output = app::Clusters::TimeFormatLocalization::CalendarType::kGregorian;
-        break;
-    case 5:
-        output = app::Clusters::TimeFormatLocalization::CalendarType::kHebrew;
-        break;
-    case 6:
-        output = app::Clusters::TimeFormatLocalization::CalendarType::kIndian;
-        break;
-    case 7:
-        output = app::Clusters::TimeFormatLocalization::CalendarType::kJapanese;
-        break;
-    case 8:
-        output = app::Clusters::TimeFormatLocalization::CalendarType::kKorean;
-        break;
-    case 9:
-        output = app::Clusters::TimeFormatLocalization::CalendarType::kPersian;
-        break;
-    case 10:
-        output = app::Clusters::TimeFormatLocalization::CalendarType::kTaiwanese;
-        break;
-    case 11:
-        output = app::Clusters::TimeFormatLocalization::CalendarType::kIslamic;
-        break;
-    default:
-        err = CHIP_ERROR_PERSISTED_STORAGE_VALUE_NOT_FOUND;
-        break;
-    }
-
-    if (err == CHIP_NO_ERROR)
-    {
-        mIndex++;
-        retval = true;
-    }
-    else
-    {
-        retval = false;
-    }
-
-    return retval;
-}
-
-} // namespace DeviceLayer
-} // namespace chip
diff --git a/src/platform/webos/DeviceInfoProviderImpl.h b/src/platform/webos/DeviceInfoProviderImpl.h
deleted file mode 100644
index 30a4643..0000000
--- a/src/platform/webos/DeviceInfoProviderImpl.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- *
- *    Copyright (c) 2022 Project CHIP Authors
- *
- *    Licensed under the Apache License, Version 2.0 (the "License");
- *    you may not use this file except in compliance with the License.
- *    You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *    Unless required by applicable law or agreed to in writing, software
- *    distributed under the License is distributed on an "AS IS" BASIS,
- *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *    See the License for the specific language governing permissions and
- *    limitations under the License.
- */
-#pragma once
-
-#include <lib/support/EnforceFormat.h>
-#include <platform/DeviceInfoProvider.h>
-#include <platform/webos/CHIPWebOSStorage.h>
-
-namespace chip {
-namespace DeviceLayer {
-
-class DeviceInfoProviderImpl : public DeviceInfoProvider
-{
-public:
-    DeviceInfoProviderImpl() = default;
-    ~DeviceInfoProviderImpl() override {}
-
-    // Iterators
-    FixedLabelIterator * IterateFixedLabel(EndpointId endpoint) override;
-    UserLabelIterator * IterateUserLabel(EndpointId endpoint) override;
-    SupportedLocalesIterator * IterateSupportedLocales() override;
-    SupportedCalendarTypesIterator * IterateSupportedCalendarTypes() override;
-
-    static DeviceInfoProviderImpl & GetDefaultInstance();
-
-protected:
-    class FixedLabelIteratorImpl : public FixedLabelIterator
-    {
-    public:
-        FixedLabelIteratorImpl(EndpointId endpoint);
-        size_t Count() override;
-        bool Next(FixedLabelType & output) override;
-        void Release() override { delete this; }
-
-    private:
-        EndpointId mEndpoint = 0;
-        size_t mIndex        = 0;
-        char mFixedLabelNameBuf[kMaxLabelNameLength + 1];
-        char mFixedLabelValueBuf[kMaxLabelValueLength + 1];
-    };
-
-    class UserLabelIteratorImpl : public UserLabelIterator
-    {
-    public:
-        UserLabelIteratorImpl(DeviceInfoProviderImpl & provider, EndpointId endpoint);
-        size_t Count() override { return mTotal; }
-        bool Next(UserLabelType & output) override;
-        void Release() override { delete this; }
-
-    private:
-        DeviceInfoProviderImpl & mProvider;
-        EndpointId mEndpoint = 0;
-        size_t mIndex        = 0;
-        size_t mTotal        = 0;
-        char mUserLabelNameBuf[kMaxLabelNameLength + 1];
-        char mUserLabelValueBuf[kMaxLabelValueLength + 1];
-    };
-
-    class SupportedLocalesIteratorImpl : public SupportedLocalesIterator
-    {
-    public:
-        SupportedLocalesIteratorImpl() = default;
-        size_t Count() override;
-        bool Next(CharSpan & output) override;
-        void Release() override { delete this; }
-
-    private:
-        size_t mIndex = 0;
-        char mActiveLocaleBuf[kMaxActiveLocaleLength + 1];
-    };
-
-    class SupportedCalendarTypesIteratorImpl : public SupportedCalendarTypesIterator
-    {
-    public:
-        SupportedCalendarTypesIteratorImpl() = default;
-        size_t Count() override;
-        bool Next(CalendarType & output) override;
-        void Release() override { delete this; }
-
-    private:
-        size_t mIndex = 0;
-    };
-
-    CHIP_ERROR SetUserLabelLength(EndpointId endpoint, size_t val) override;
-    CHIP_ERROR GetUserLabelLength(EndpointId endpoint, size_t & val) override;
-    CHIP_ERROR SetUserLabelAt(EndpointId endpoint, size_t index, const UserLabelType & userLabel) override;
-
-private:
-    static constexpr size_t UserLabelTLVMaxSize() { return TLV::EstimateStructOverhead(kMaxLabelNameLength, kMaxLabelValueLength); }
-};
-
-} // namespace DeviceLayer
-} // namespace chip
diff --git a/src/platform/webos/PlatformManagerImpl.cpp b/src/platform/webos/PlatformManagerImpl.cpp
index 23ed0c7..3debd6f 100644
--- a/src/platform/webos/PlatformManagerImpl.cpp
+++ b/src/platform/webos/PlatformManagerImpl.cpp
@@ -32,7 +32,6 @@
 #include <platform/DeviceInstanceInfoProvider.h>
 #include <platform/PlatformManager.h>
 #include <platform/internal/GenericPlatformManagerImpl_POSIX.ipp>
-#include <platform/webos/DeviceInfoProviderImpl.h>
 #include <platform/webos/DeviceInstanceInfoProviderImpl.h>
 #include <platform/webos/DiagnosticDataProviderImpl.h>
 
@@ -165,7 +164,6 @@
 
     // Initialize the configuration system.
     ReturnErrorOnFailure(Internal::PosixConfig::Init());
-    SetDeviceInfoProvider(&DeviceInfoProviderImpl::GetDefaultInstance());
     SetDeviceInstanceInfoProvider(&DeviceInstanceInfoProviderMgrImpl());
 
     // Call _InitChipStack() on the generic implementation base class