VLCNetworkServerBrowserUPnP.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*****************************************************************************
  2. * VLCNetworkServerBrowserUPnP.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 "VLCNetworkServerBrowser-Protocol.h"
  13. #define kVLCUPnPVideoProtocolKey @"http-get:*:video/"
  14. #define kVLCUPnPAudioProtocolKey @"http-get:*:audio/"
  15. NS_ASSUME_NONNULL_BEGIN
  16. @class MediaServer1Device;
  17. @interface VLCNetworkServerBrowserUPnP : NSObject <VLCNetworkServerBrowser>
  18. - (id)initWithUPNPDevice:(MediaServer1Device *)device header:(NSString *)header andRootID:(NSString *)rootID NS_DESIGNATED_INITIALIZER;
  19. - (instancetype)init NS_UNAVAILABLE;
  20. @end
  21. @class MediaServer1BasicObject;
  22. @interface VLCNetworkServerBrowserItemUPnP : NSObject <VLCNetworkServerBrowserItem>
  23. - (instancetype)initWithBasicObject:(MediaServer1BasicObject *)basicObject device:(MediaServer1Device *)device;
  24. @property (nonatomic, readonly, nullable) NSString *duration;
  25. @property (nonatomic, readonly, nullable) NSURL *subtitleURL;
  26. @property (nonatomic, readonly, nullable) NSURL *thumbnailURL;
  27. @property (nonatomic, getter=isDownloadable, readonly) BOOL downloadable;
  28. // UPnP specificis
  29. @property (nonatomic, readonly, nullable) UIImage *image;
  30. @end
  31. #pragma mark - Multi Ressource
  32. @class MediaServer1ItemObject;
  33. @interface VLCNetworkServerBrowserUPnPMultiRessource : NSObject <VLCNetworkServerBrowser>
  34. - (instancetype)initWithItem:(MediaServer1ItemObject *)itemObject device:(MediaServer1Device *)device;
  35. @end
  36. @interface VLCNetworkServerBrowserItemUPnPMultiRessource : NSObject <VLCNetworkServerBrowserItem>
  37. - (instancetype)initWithTitle:(NSString *)title url:(NSURL *)url;
  38. @end
  39. NS_ASSUME_NONNULL_END