//
// © 2018-2020 Qualcomm Technologies, Inc. and/or its subsidiaries. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "IoTIotivityService.h"
#import "IoTResourceClients.h"
#import "IoTResourceAttributes.h"

@protocol IoTAppListenerProtocol;
@class IoTAllPlayController;

typedef NS_ENUM(NSInteger, IoTAllPlayObserveOrigin) {
{% for swagger_data in swagger_objects %}
{% if swagger_data.prop != 0 %}
{% if "allplay" in swagger_data.type %}
    IoTAllPlayObserveOrigin{{swagger_data.name|class_name_syntax}},
{% endif %}
{% endif %}
{% endfor %}
};

@protocol IoTAllPlayControllerObserver

- (void)allPlayController:(IoTAllPlayController *)controller
         didObserveChange:(IoTAllPlayObserveOrigin)type
    wrappedRepresentation:(IoTWrappedRepresentation *)wrapped;

@end

@interface IoTAllPlayController : NSObject<IoTIotivityService>

@property (nonatomic, strong, readonly) IoTServiceDiscoveryResult * serviceInfo;
@property (nonatomic, weak) id<IoTAllPlayControllerObserver> observer;

{% for swagger_data in swagger_objects %}
{% if "allplay" in swagger_data.type %}
{% include "device_controller_method.h.jinja2" %}
{% endif %}
{% endfor %}

@end
