@@ -24,6 +24,18 @@ using namespace chip::app::Clusters;
24
24
using chip::Messaging::ExchangeManager;
25
25
using chip::SessionHandle;
26
26
27
+ static void MTRClustersLogEnqueue(NSString *logPrefix, MTRAsyncCallbackWorkQueue *workQueue) {
28
+ MTR_LOG_INFO("%@ enqueueWorkItem %@", logPrefix, workQueue);
29
+ }
30
+
31
+ static void MTRClustersLogDequeue(NSString *logPrefix, MTRAsyncCallbackWorkQueue *workQueue) {
32
+ MTR_LOG_INFO("%@ dequeueWorkItem %@", logPrefix, workQueue);
33
+ }
34
+
35
+ static void MTRClustersLogCompletion(NSString *logPrefix, id value, NSError *error) {
36
+ MTR_LOG_INFO("%@ completion value %@ error %@ endWork", logPrefix, value, error);
37
+ }
38
+
27
39
// NOLINTBEGIN(clang-analyzer-cplusplus.NewDeleteLeaks): Linter is unable to locate the delete on these objects.
28
40
{{#chip_client_clusters includeAll=true}}
29
41
@implementation MTRCluster{{asUpperCamelCase name preserveAcronyms=true}}
@@ -54,6 +66,7 @@ using chip::SessionHandle;
54
66
{{/unless}}
55
67
- (void){{asLowerCamelCase name}}WithParams: (MTR{{>cluster}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params expectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:({{>command_completion_type command=.}})completion
56
68
{
69
+ NSString * logPrefix = [NSString stringWithFormat:@"MTRDevice command %u %u %u %u", self.device.deviceController.fabricIndex, _endpoint, (unsigned int)MTRClusterIDType{{>cluster}}ID, (unsigned int)MTRCommandIDTypeCluster{{>cluster}}Command{{asUpperCamelCase name preserveAcronyms=true}}ID];
57
70
// Make a copy of params before we go async.
58
71
params = [params copy];
59
72
NSNumber *timedInvokeTimeoutMsParam = params.timedInvokeTimeoutMs;
@@ -62,7 +75,7 @@ using chip::SessionHandle;
62
75
}
63
76
MTRAsyncCallbackQueueWorkItem * workItem = [[MTRAsyncCallbackQueueWorkItem alloc] initWithQueue:self.callbackQueue];
64
77
MTRAsyncCallbackReadyHandler readyHandler = ^(MTRDevice * device, NSUInteger retryCount) {
65
- MTR_LOG_INFO("{{asUpperCamelCase parent.name}} {{asUpperCamelCase name}} dequeueWorkItem %@" , self.device.asyncCallbackWorkQueue);
78
+ MTRClustersLogDequeue(logPrefix , self.device.asyncCallbackWorkQueue);
66
79
MTRBaseDevice *baseDevice = [[MTRBaseDevice alloc] initWithNodeID:self.device.nodeID controller:self.device.deviceController];
67
80
auto * bridge = new MTR{{>callbackName}}CallbackBridge(self.callbackQueue,
68
81
^(id _Nullable value, NSError * _Nullable error) {
@@ -76,7 +89,7 @@ using chip::SessionHandle;
76
89
type-safety perspective, of course. }}
77
90
completion(error);
78
91
{{/if}}
79
- MTR_LOG_INFO("{{asUpperCamelCase parent.name}} {{asUpperCamelCase name}} completion value %@ error %@ endWork" , value, error);
92
+ MTRClustersLogCompletion(logPrefix , value, error);
80
93
[workItem endWork];
81
94
},
82
95
^(ExchangeManager & exchangeManager, const SessionHandle & session, {{>callbackName}}CallbackType successCb, MTRErrorCallback failureCb, MTRCallbackBridgeBase * bridge) {
@@ -111,7 +124,7 @@ using chip::SessionHandle;
111
124
std::move(*bridge).DispatchAction(baseDevice);
112
125
};
113
126
workItem.readyHandler = readyHandler;
114
- MTR_LOG_INFO("{{asUpperCamelCase parent.name}} {{asUpperCamelCase name}} enqueueWorkItem %@" , self.device.asyncCallbackWorkQueue);
127
+ MTRClustersLogEnqueue(logPrefix , self.device.asyncCallbackWorkQueue);
115
128
[self.device.asyncCallbackWorkQueue enqueueWorkItem:workItem];
116
129
117
130
if (!expectedValueIntervalMs || ([expectedValueIntervalMs compare:@(0)] == NSOrderedAscending)) {
0 commit comments