VLCLocalNetworkService-Protocol.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*****************************************************************************
  2. * VLCLocalNetworkService-Protocol.h
  3. * VLC for iOS
  4. *****************************************************************************
  5. * Copyright (c) 2015 VideoLAN. All rights reserved.
  6. * $Id$
  7. *
  8. * Authors: Tobias Conradi <videolan # tobias-conradi.de>
  9. *
  10. * Refer to the COPYING file of the official project for license.
  11. *****************************************************************************/
  12. #import <Foundation/Foundation.h>
  13. #import "VLCNetworkServerBrowser-Protocol.h"
  14. NS_ASSUME_NONNULL_BEGIN
  15. typedef NS_ENUM(NSUInteger, VLCNetworkServerLoginInformationFieldType) {
  16. VLCNetworkServerLoginInformationFieldTypeText,
  17. VLCNetworkServerLoginInformationFieldTypeNumber
  18. };
  19. @protocol VLCNetworkServerLoginInformationField <NSObject>
  20. @property (nonatomic, readonly) VLCNetworkServerLoginInformationFieldType type;
  21. @property (nonatomic, readonly) NSString *identifier;
  22. @property (nonatomic, readonly) NSString *localizedLabel;
  23. @property (nonatomic, copy) NSString *textValue;
  24. @end
  25. @protocol VLCNetworkServerLoginInformation <NSObject>
  26. @property (nonatomic, copy, nullable) NSString *username;
  27. @property (nonatomic, copy, nullable) NSString *password;
  28. @property (nonatomic, copy) NSString *address;
  29. @property (nonatomic, copy) NSNumber *port;
  30. @property (nonatomic, copy) NSString *protocolIdentifier;
  31. @property (nonatomic, copy) NSArray< id<VLCNetworkServerLoginInformationField>> *additionalFields;
  32. @end
  33. @protocol VLCLocalNetworkService <NSObject>
  34. @required
  35. @property (nonatomic, readonly, nullable) UIImage *icon;
  36. @property (nonatomic, readonly) NSString *title;
  37. @property (nonatomic, readonly) NSString *serviceName;
  38. @optional
  39. - (nullable id<VLCNetworkServerBrowser>)serverBrowser;
  40. - (NSURL *)directPlaybackURL;
  41. - (nullable id<VLCNetworkServerLoginInformation>)loginInformation;
  42. @end
  43. NS_ASSUME_NONNULL_END