From 6690005d89a1d4e70ee9040be12001423c6d5cd1 Mon Sep 17 00:00:00 2001 From: Marc Lepage <67919234+mlepage-google@users.noreply.github.com> Date: Tue, 26 Oct 2021 12:07:08 -0400 Subject: [PATCH] Move basic types from app to core (#10925) We have a lot of low level types (e.g. FabricIndex) defined in app/util/basic-types.h. These need to be used by other modules outside of app (e.g. messaging, access control) which are lower level than app. Right now the best low level place for these types is in lib/core. So, moving them there for now, in a header called DataModelTypes.h. If we need a more intermediate level (above core, below the other modules) in the future, we can refactor then. Issue #10924 --- src/app/util/basic-types.h | 22 ++++-------------- src/lib/core/BUILD.gn | 1 + src/lib/core/DataModelTypes.h | 42 +++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 18 deletions(-) create mode 100644 src/lib/core/DataModelTypes.h diff --git a/src/app/util/basic-types.h b/src/app/util/basic-types.h index 8e359965465ef9..2988019403bdfd 100644 --- a/src/app/util/basic-types.h +++ b/src/app/util/basic-types.h @@ -23,32 +23,18 @@ #pragma once -#include +#include #include #include -// Pull in VendorId +// Pull in other core types #include +#include namespace chip { -typedef uint8_t ActionId; -typedef uint32_t AttributeId; -typedef uint32_t ClusterId; -typedef uint8_t ClusterStatus; -typedef uint32_t CommandId; -typedef uint32_t DataVersion; -typedef uint32_t DeviceTypeId; -typedef uint16_t EndpointId; -typedef uint32_t EventId; -typedef uint64_t EventNumber; -typedef uint64_t FabricId; -typedef uint8_t FabricIndex; -typedef uint32_t FieldId; -typedef uint16_t ListIndex; -typedef uint32_t TransactionId; + typedef uint8_t Percent; typedef uint16_t Percent100ths; -static constexpr FabricIndex kUndefinedFabricIndex = 0; } // namespace chip diff --git a/src/lib/core/BUILD.gn b/src/lib/core/BUILD.gn index 2ab24fe140ba0f..4a1fd0522c364a 100644 --- a/src/lib/core/BUILD.gn +++ b/src/lib/core/BUILD.gn @@ -101,6 +101,7 @@ static_library("core") { "CHIPTLVUpdater.cpp", "CHIPTLVUtilities.cpp", "CHIPTLVWriter.cpp", + "DataModelTypes.h", "GroupId.h", "NodeId.h", "PeerId.h", diff --git a/src/lib/core/DataModelTypes.h b/src/lib/core/DataModelTypes.h new file mode 100644 index 00000000000000..d7d76c9c0ada04 --- /dev/null +++ b/src/lib/core/DataModelTypes.h @@ -0,0 +1,42 @@ +/* + * + * Copyright (c) 2021 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 + +namespace chip { + +typedef uint8_t ActionId; +typedef uint32_t AttributeId; +typedef uint32_t ClusterId; +typedef uint8_t ClusterStatus; +typedef uint32_t CommandId; +typedef uint32_t DataVersion; +typedef uint32_t DeviceTypeId; +typedef uint16_t EndpointId; +typedef uint32_t EventId; +typedef uint64_t EventNumber; +typedef uint64_t FabricId; +typedef uint8_t FabricIndex; +typedef uint32_t FieldId; +typedef uint16_t ListIndex; +typedef uint32_t TransactionId; + +static constexpr FabricIndex kUndefinedFabricIndex = 0; + +} // namespace chip