blob: 5497224aabce2c4d7237ad05201166995393cd32 [file] [log] [blame]
/**
*
* Copyright (c) 2020-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.
*/
#import <Foundation/Foundation.h>
#import "ContentApp.h"
#include <zap-generated/CHIPClusters.h>
@implementation ContentApp
- (instancetype)init
{
if (self = [super init]) {
_isInitialized = false;
}
return self;
}
- (instancetype)initWithEndpointId:(uint16_t)endpointId clusterIds:(NSMutableArray *)clusterIds
{
if (self = [super init]) {
_endpointId = endpointId;
_clusterIds = clusterIds;
_isInitialized = true;
}
return self;
}
- (BOOL)supportsClusterWithId:(uint32_t)clusterId
{
if (_clusterIds != nil) {
for (NSNumber * clusterIdNSNumber in _clusterIds) {
if ([clusterIdNSNumber unsignedIntValue] == clusterId) {
return true;
}
}
}
return false;
}
- (BOOL)supportsApplicationLauncher
{
return [self supportsClusterWithId:chip::app::Clusters::ApplicationLauncher::Id];
}
- (BOOL)supportsContentLauncher
{
return [self supportsClusterWithId:chip::app::Clusters::ContentLauncher::Id];
}
- (BOOL)supportsMediaPlayback
{
return [self supportsClusterWithId:chip::app::Clusters::MediaPlayback::Id];
}
- (BOOL)supportsLevelControl
{
return [self supportsClusterWithId:chip::app::Clusters::LevelControl::Id];
}
- (BOOL)supportsTargetNavigator
{
return [self supportsClusterWithId:chip::app::Clusters::TargetNavigator::Id];
}
@end