Skip to content

Commit 8188884

Browse files
bzbarsky-applepull[bot]
authored andcommitted
Disable the ClientMonitoring cluster APIs on Darwin for now. (#24348)
It's not quite stable enough to ship as public API yet. Adds wasRemoved checks to various places so we handle removals better in our codegen.
1 parent 24413dd commit 8188884

33 files changed

+182
-2970
lines changed

examples/darwin-framework-tool/templates/commands.zapt

+14
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
{{> clusters_header}}
1919

2020
{{#chip_client_clusters includeAll=true}}
21+
{{#unless (wasRemoved (asUpperCamelCase name preserveAcronyms=true))}}
2122
{{> cluster_header}}
2223

2324
{{#chip_cluster_commands}}
@@ -92,6 +93,7 @@ private:
9293
{{/chip_cluster_commands}}
9394

9495
{{#chip_server_cluster_attributes}}
96+
{{#unless (wasRemoved (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true))}}
9597
{{#*inline "cluster"}}Cluster{{asUpperCamelCase parent.name preserveAcronyms=true}}{{/inline}}
9698
{{#*inline "attribute"}}Attribute{{asUpperCamelCase name preserveAcronyms=true}}{{/inline}}
9799

@@ -243,13 +245,16 @@ public:
243245
};
244246

245247
{{/if}}
248+
{{/unless}}
246249
{{/chip_server_cluster_attributes}}
250+
{{/unless}}
247251
{{/chip_client_clusters}}
248252

249253
/*----------------------------------------------------------------------------*\
250254
| Register all Clusters commands |
251255
\*----------------------------------------------------------------------------*/
252256
{{#chip_client_clusters includeAll=true}}
257+
{{#unless (wasRemoved (asUpperCamelCase name preserveAcronyms=true))}}
253258
void registerCluster{{asUpperCamelCase name}}(Commands & commands)
254259
{
255260
using namespace chip::app::Clusters::{{asUpperCamelCase name}};
@@ -267,24 +272,31 @@ void registerCluster{{asUpperCamelCase name}}(Commands & commands)
267272
{{#first}}
268273
make_unique<ReadAttribute>(Id), //
269274
{{/first}}
275+
{{#unless (wasRemoved (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true))}}
270276
make_unique<Read{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}>(), //
277+
{{/unless}}
271278
{{#first}}
272279
make_unique<WriteAttribute>(Id), //
273280
{{/first}}
281+
{{#unless (wasRemoved (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true))}}
274282
{{#if isWritableAttribute}}
275283
make_unique<Write{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}>(), //
276284
{{/if}}
285+
{{/unless}}
277286
{{#first}}
278287
make_unique<SubscribeAttribute>(Id), //
279288
{{/first}}
289+
{{#unless (wasRemoved (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true))}}
280290
{{#if isReportableAttribute}}
281291
make_unique<SubscribeAttribute{{asUpperCamelCase parent.name}}{{asUpperCamelCase name}}>(), //
282292
{{/if}}
293+
{{/unless}}
283294
{{/chip_server_cluster_attributes}}
284295
};
285296

286297
commands.Register(clusterName, clusterCommands);
287298
}
299+
{{/unless}}
288300
{{/chip_client_clusters}}
289301

290302
void registerClusterAny(Commands & commands)
@@ -306,6 +318,8 @@ void registerClusters(Commands & commands)
306318
{
307319
registerClusterAny(commands);
308320
{{#chip_client_clusters includeAll=true}}
321+
{{#unless (wasRemoved (asUpperCamelCase name preserveAcronyms=true))}}
309322
registerCluster{{asUpperCamelCase name}}(commands);
323+
{{/unless}}
310324
{{/chip_client_clusters}}
311325
}

examples/darwin-framework-tool/templates/tests/ciTests.json

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"include": "../../../../src/app/tests/suites/ciTests.json",
33
"disable": [
4+
"TestClientMonitoringCluster",
45
"Test_TC_SC_4_2",
56
"TestClusterComplexTypes",
67
"TestEvents",

src/darwin/Framework/CHIP/templates/MTRAttributeTLVValueDecoder-src.zapt

+4
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,13 @@ id MTRDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader &
1919
switch (aPath.mClusterId)
2020
{
2121
{{#chip_client_clusters includeAll=true}}
22+
{{#unless (wasRemoved (asUpperCamelCase name preserveAcronyms=true))}}
2223
case Clusters::{{asUpperCamelCase name}}::Id: {
2324
using namespace Clusters::{{asUpperCamelCase name}};
2425
switch (aPath.mAttributeId)
2526
{
2627
{{#chip_server_cluster_attributes}}
28+
{{#unless (wasRemoved (asUpperCamelCase ../name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true))}}
2729
case Attributes::{{asUpperCamelCase name}}::Id: {
2830
using TypeInfo = Attributes::{{asUpperCamelCase name}}::TypeInfo;
2931
TypeInfo::DecodableType cppValue;
@@ -36,13 +38,15 @@ id MTRDecodeAttributeValue(const ConcreteAttributePath & aPath, TLV::TLVReader &
3638
{{>decode_value target="value" source="cppValue" cluster=parent.name errorCode="*aError = err; return nil;" depth=0}}
3739
return value;
3840
}
41+
{{/unless}}
3942
{{/chip_server_cluster_attributes}}
4043
default:
4144
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
4245
break;
4346
}
4447
break;
4548
}
49+
{{/unless}}
4650
{{/chip_client_clusters}}
4751
default: {
4852
*aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;

src/darwin/Framework/CHIP/templates/MTRBaseClusters-src.zapt

+13-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ using chip::SessionHandle;
2323

2424
// NOLINTBEGIN(clang-analyzer-cplusplus.NewDeleteLeaks): Linter is unable to locate the delete on these objects.
2525
{{#chip_client_clusters includeAll=true}}
26+
{{#unless (wasRemoved (asUpperCamelCase name preserveAcronyms=true))}}
2627
@implementation MTRBaseCluster{{asUpperCamelCase name preserveAcronyms=true}}
2728

2829
- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue
@@ -117,6 +118,9 @@ MTR{{cluster}}Cluster{{command}}Params
117118
{{/chip_cluster_commands}}
118119

119120
{{#chip_server_cluster_attributes}}
121+
{{! This is used as the implementation for both the new-name and old-name bits, so check for both here. }}
122+
{{#unless (and (wasRemoved (asUpperCamelCase parent.name preserveAcronyms=true) command=(asUpperCamelCase name preserveAcronyms=true))
123+
(wasRemoved (compatClusterNameRemapping parent.name) command=(compatCommandNameRemapping parent.name name)))}}
120124
{{#*inline "attribute"}}Attribute{{asUpperCamelCase name preserveAcronyms=true}}{{/inline}}
121125
- (void)read{{>attribute}}With
122126
{{~#if_is_fabric_scoped_struct type~}}
@@ -214,15 +218,21 @@ reportHandler:(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value
214218
}
215219

216220
{{/if}}
221+
{{/unless}}
217222
{{/chip_server_cluster_attributes}}
218223

219224
@end
225+
{{/unless}}
220226
{{#unless (isStrEqual (asUpperCamelCase name preserveAcronyms=true) (compatClusterNameRemapping name))}}
227+
{{#unless (wasRemoved (compatClusterNameRemapping name))}}
221228

222229
@implementation MTRBaseCluster{{compatClusterNameRemapping name}}
223230
@end
224231
{{/unless}}
232+
{{/unless}}
225233

234+
{{#if (and (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping name))
235+
(not (wasRemoved (compatClusterNameRemapping name))))}}
226236
@implementation MTRBaseCluster{{compatClusterNameRemapping name}} (Deprecated)
227237

228238
{{#chip_cluster_commands}}
@@ -255,7 +265,8 @@ reportHandler:(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value
255265
{{/chip_cluster_commands}}
256266

257267
{{#chip_server_cluster_attributes}}
258-
{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name))}}
268+
{{#if (and (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name))
269+
(not (wasRemoved (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name))))}}
259270
{{#*inline "attribute"}}Attribute{{compatAttributeNameRemapping parent.name name}}{{/inline}}
260271
- (void)read{{>attribute}}With
261272
{{~#if_is_fabric_scoped_struct type~}}
@@ -319,6 +330,7 @@ subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptio
319330
}
320331

321332
@end
333+
{{/if}}
322334

323335
{{/chip_client_clusters}}
324336

src/darwin/Framework/CHIP/templates/MTRBaseClusters.zapt

+10-2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ NS_ASSUME_NONNULL_BEGIN
1212
{{#chip_client_clusters includeAll=true}}
1313

1414

15+
{{#unless (wasRemoved (asUpperCamelCase name preserveAcronyms=true))}}
1516
/**
1617
* Cluster {{name}}
1718
*
@@ -44,6 +45,7 @@ NS_ASSUME_NONNULL_BEGIN
4445
{{/chip_cluster_commands}}
4546

4647
{{#chip_server_cluster_attributes}}
48+
{{#unless (wasRemoved (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true))}}
4749
{{#*inline "attribute"}}Attribute{{asUpperCamelCase name preserveAcronyms=true}}{{/inline}}
4850
- (void)read{{>attribute}}With
4951
{{~#if_is_fabric_scoped_struct type~}}
@@ -61,21 +63,25 @@ NS_ASSUME_NONNULL_BEGIN
6163
subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished reportHandler:(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))reportHandler {{availability (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}};
6264
+ (void) read{{>attribute}}WithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))completion {{availability (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}};
6365
{{/if}}
66+
{{/unless}}
6467
{{/chip_server_cluster_attributes}}
6568

6669
- (instancetype)init NS_UNAVAILABLE;
6770
+ (instancetype)new NS_UNAVAILABLE;
6871

6972
@end
73+
{{/unless}}
7074

7175
{{/chip_client_clusters}}
7276

7377
{{#chip_client_clusters includeAll=true}}
7478
{{#unless (isStrEqual (asUpperCamelCase name preserveAcronyms=true) (compatClusterNameRemapping name))}}
79+
{{#unless (wasRemoved (compatClusterNameRemapping name))}}
7580
{{availability (compatClusterNameRemapping name) deprecationMessage=(concat "Please use MTRBaseCluster" (asUpperCamelCase name preserveAcronyms=true))}}
7681
@interface MTRBaseCluster{{compatClusterNameRemapping name}} : MTRBaseCluster{{asUpperCamelCase name preserveAcronyms=true}}
7782
@end
7883

84+
{{/unless}}
7985
{{/unless}}
8086
{{/chip_client_clusters}}
8187

@@ -168,7 +174,8 @@ typedef NS_OPTIONS({{asUnderlyingZclType name}}, {{objCEnumName clusterName bitm
168174
{{/zcl_clusters}}
169175

170176
{{#chip_client_clusters includeAll=true}}
171-
{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping name))}}
177+
{{#if (and (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping name))
178+
(not (wasRemoved (compatClusterNameRemapping name))))}}
172179
@interface MTRBaseCluster{{compatClusterNameRemapping name}} (Deprecated)
173180

174181
- (nullable instancetype)initWithDevice:(MTRBaseDevice *)device
@@ -193,7 +200,8 @@ typedef NS_OPTIONS({{asUnderlyingZclType name}}, {{objCEnumName clusterName bitm
193200
{{/chip_cluster_commands}}
194201

195202
{{#chip_server_cluster_attributes}}
196-
{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name))}}
203+
{{#if (and (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name))
204+
(not (wasRemoved (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name))))}}
197205
{{#*inline "attribute"}}Attribute{{compatAttributeNameRemapping parent.name name}}{{/inline}}
198206
- (void)read{{>attribute}}With
199207
{{~#if_is_fabric_scoped_struct type~}}

src/darwin/Framework/CHIP/templates/MTRBaseClusters_Internal.zapt

+2
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@
99

1010
{{#chip_client_clusters includeAll=true}}
1111

12+
{{#unless (wasRemoved (asUpperCamelCase name preserveAcronyms=true))}}
1213
@interface MTRBaseCluster{{asUpperCamelCase name preserveAcronyms=true}} ()
1314
@property (nonatomic, strong, readonly) MTRBaseDevice * device;
1415
@property (nonatomic, assign, readonly) chip::EndpointId endpoint;
1516
@end
17+
{{/unless}}
1618

1719
{{/chip_client_clusters}}

src/darwin/Framework/CHIP/templates/MTRCallbackBridge-src.zapt

+6
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939

4040
{{#chip_client_clusters includeAll=true}}
4141
{{#chip_server_cluster_attributes}}
42+
{{#unless (wasRemoved (asUpperCamelCase ../name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true))}}
4243
{{#if isArray}}
4344
{{#>MTRCallbackBridge ns=parent.name }}{{asUpperCamelCase ../../name preserveAcronyms=true}}{{asUpperCamelCase ../name preserveAcronyms=true}}ListAttributeCallback{{/MTRCallbackBridge}}
4445
{{else}}
@@ -49,18 +50,23 @@
4950
{{#>MTRCallbackBridge ns=parent.name }}{{asUpperCamelCase ../../name preserveAcronyms=true}}{{asUpperCamelCase ../name preserveAcronyms=true}}AttributeCallback{{/MTRCallbackBridge}}
5051
{{/if_is_strongly_typed_bitmap}}
5152
{{/if}}
53+
{{/unless}}
5254
{{/chip_server_cluster_attributes}}
5355
{{/chip_client_clusters}}
5456

5557
{{#chip_client_clusters includeAll=true}}
5658
{{#chip_cluster_responses}}
59+
{{#unless (wasRemoved (asUpperCamelCase ../name preserveAcronyms=true) command=(asUpperCamelCase name preserveAcronyms=true))}}
5760
{{#>MTRCallbackBridge partial-type="Command" }}{{asUpperCamelCase ../../name preserveAcronyms=true}}Cluster{{asUpperCamelCase ../name preserveAcronyms=true}}Callback{{/MTRCallbackBridge}}
61+
{{/unless}}
5862
{{/chip_cluster_responses}}
5963
{{/chip_client_clusters}}
6064

6165
{{#zcl_clusters}}
6266
{{#zcl_enums}}
67+
{{#unless (wasRemoved (asUpperCamelCase parent.name preserveAcronyms=true) enum=(asUpperCamelCase name preserveAcronyms=true))}}
6368
{{#>MTRCallbackBridge type=(asType label) isNullable=false ns=parent.name}}{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}AttributeCallback{{/MTRCallbackBridge}}
6469
{{#>MTRCallbackBridge type=(asType label) isNullable=true ns=parent.name}}Nullable{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}AttributeCallback{{/MTRCallbackBridge}}
70+
{{/unless}}
6571
{{/zcl_enums}}
6672
{{/zcl_clusters}}

src/darwin/Framework/CHIP/templates/MTRCallbackBridge.zapt

+12
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,24 @@ typedef void (*NullableVendorIdAttributeCallback)(void *, const chip::app::DataM
1616

1717
{{#chip_client_clusters includeAll=true}}
1818
{{#chip_cluster_responses}}
19+
{{#unless (wasRemoved (asUpperCamelCase parent.name preserveAcronyms=true) command=(asUpperCamelCase name preserveAcronyms=true))}}
1920
typedef void (*{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}CallbackType)(void *, const chip::app::Clusters::{{asUpperCamelCase parent.name}}::Commands::{{asUpperCamelCase name}}::DecodableType &);
21+
{{/unless}}
2022
{{/chip_cluster_responses}}
2123
{{/chip_client_clusters}}
2224

2325
{{#zcl_clusters}}
2426
{{#zcl_enums}}
27+
{{#unless (wasRemoved (asUpperCamelCase parent.name preserveAcronyms=true) enum=(asUpperCamelCase name preserveAcronyms=true))}}
2528
typedef void (*{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}AttributeCallback)(void *, chip::app::Clusters::{{asUpperCamelCase parent.name}}::{{asType label}});
2629
typedef void (*Nullable{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}AttributeCallback)(void *, const chip::app::DataModel::Nullable<chip::app::Clusters::{{asUpperCamelCase parent.name}}::{{asType label}}> &);
30+
{{/unless}}
2731
{{/zcl_enums}}
2832
{{/zcl_clusters}}
2933

3034
{{#chip_client_clusters includeAll=true}}
3135
{{#chip_server_cluster_attributes}}
36+
{{#unless (wasRemoved (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true))}}
3237
{{#if isArray}}
3338
typedef void (*{{asUpperCamelCase parent.name preserveAcronyms=true}}{{asUpperCamelCase name preserveAcronyms=true}}ListAttributeCallback)(void * context, {{zapTypeToDecodableClusterObjectType type ns=parent.name isArgument=true}} data);
3439
{{else}}
@@ -39,6 +44,7 @@ typedef void (*{{asUpperCamelCase parent.name preserveAcronyms=true}}{{asUpperCa
3944
typedef void (*{{asUpperCamelCase parent.name preserveAcronyms=true}}{{asUpperCamelCase name preserveAcronyms=true}}AttributeCallback)(void *, {{zapTypeToDecodableClusterObjectType type ns=parent.name isArgument=true forceNotOptional=true}});
4045
{{/if_is_strongly_typed_bitmap}}
4146
{{/if}}
47+
{{/unless}}
4248
{{/chip_server_cluster_attributes}}
4349
{{/chip_client_clusters}}
4450

@@ -75,6 +81,7 @@ typedef void (*{{asUpperCamelCase parent.name preserveAcronyms=true}}{{asUpperCa
7581

7682
{{#chip_client_clusters includeAll=true}}
7783
{{#chip_server_cluster_attributes}}
84+
{{#unless (wasRemoved (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true))}}
7885
{{#if isArray}}
7986
{{#>MTRCallbackBridge header="1" ns=parent.name }}{{asUpperCamelCase ../../name preserveAcronyms=true}}{{asUpperCamelCase ../name preserveAcronyms=true}}ListAttributeCallback{{/MTRCallbackBridge}}
8087
{{else}}
@@ -85,18 +92,23 @@ typedef void (*{{asUpperCamelCase parent.name preserveAcronyms=true}}{{asUpperCa
8592
{{#>MTRCallbackBridge header="1" ns=parent.name }}{{asUpperCamelCase ../../name preserveAcronyms=true}}{{asUpperCamelCase ../name preserveAcronyms=true}}AttributeCallback{{/MTRCallbackBridge}}
8693
{{/if_is_strongly_typed_bitmap}}
8794
{{/if}}
95+
{{/unless}}
8896
{{/chip_server_cluster_attributes}}
8997
{{/chip_client_clusters}}
9098

9199
{{#chip_client_clusters includeAll=true}}
92100
{{#chip_cluster_responses}}
101+
{{#unless (wasRemoved (asUpperCamelCase parent.name preserveAcronyms=true) command=(asUpperCamelCase name preserveAcronyms=true))}}
93102
{{#>MTRCallbackBridge header="1" partial-type="Command" }}{{asUpperCamelCase ../../name preserveAcronyms=true}}Cluster{{asUpperCamelCase ../name preserveAcronyms=true}}Callback{{/MTRCallbackBridge}}
103+
{{/unless}}
94104
{{/chip_cluster_responses}}
95105
{{/chip_client_clusters}}
96106

97107
{{#zcl_clusters}}
98108
{{#zcl_enums}}
109+
{{#unless (wasRemoved (asUpperCamelCase parent.name preserveAcronyms=true) enum=(asUpperCamelCase name preserveAcronyms=true))}}
99110
{{#>MTRCallbackBridge header="1" type=(asType label) isNullable=false ns=parent.name}}{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}AttributeCallback{{/MTRCallbackBridge}}
100111
{{#>MTRCallbackBridge header="1" type=(asType label) isNullable=true ns=parent.name}}Nullable{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}AttributeCallback{{/MTRCallbackBridge}}
112+
{{/unless}}
101113
{{/zcl_enums}}
102114
{{/zcl_clusters}}

0 commit comments

Comments
 (0)