VLCLocalNetworkService.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /*****************************************************************************
  2. * VLCLocalNetworkService.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 "VLCLocalNetworkService-Protocol.h"
  13. NS_ASSUME_NONNULL_BEGIN
  14. @interface VLCNetworkServerLoginInformation : NSObject
  15. @property (nonatomic) NSString *username;
  16. @property (nonatomic) NSString *password;
  17. @property (nonatomic) NSString *address;
  18. @property (nonatomic) NSNumber *port;
  19. @property (nonatomic) NSString *protocolIdentifier;
  20. @end
  21. #pragma mark - item
  22. @interface VLCLocalNetworkServiceItem : NSObject <VLCLocalNetworkService>
  23. - (instancetype)initWithTile:(NSString *)title icon:(nullable UIImage *)icon;
  24. @end
  25. @interface VLCLocalNetworkServiceItemLogin : VLCLocalNetworkServiceItem
  26. - (instancetype)init;
  27. @end
  28. #pragma mark - NetService based services
  29. @interface VLCLocalNetworkServiceNetService : NSObject <VLCLocalNetworkService>
  30. @property (nonatomic, readonly, strong) NSNetService *netService;
  31. - (instancetype)initWithNetService:(NSNetService *)service;
  32. @end
  33. extern NSString *const VLCNetworkServerProtocolIdentifierPlex;
  34. @interface VLCLocalNetworkServicePlex : VLCLocalNetworkServiceNetService
  35. @end
  36. extern NSString *const VLCNetworkServerProtocolIdentifierFTP;
  37. @interface VLCLocalNetworkServiceFTP : VLCLocalNetworkServiceNetService
  38. @end
  39. @interface VLCLocalNetworkServiceHTTP : VLCLocalNetworkServiceNetService
  40. @end
  41. #pragma mark - VLCMedia based services
  42. @interface VLCLocalNetworkServiceVLCMedia : NSObject <VLCLocalNetworkService>
  43. - (instancetype)initWithMediaItem:(VLCMedia *)mediaItem;
  44. @end
  45. extern NSString *const VLCNetworkServerProtocolIdentifierSMB;
  46. @interface VLCLocalNetworkServiceDSM: VLCLocalNetworkServiceVLCMedia
  47. @end
  48. @interface VLCLocalNetworkServiceSAP: VLCLocalNetworkServiceVLCMedia
  49. @end
  50. #pragma mark - UPnP
  51. @class BasicUPnPDevice;
  52. @interface VLCLocalNetworkServiceUPnP : NSObject <VLCLocalNetworkService>
  53. - (instancetype)initWithUPnPDevice:(BasicUPnPDevice *)device;
  54. @end
  55. NS_ASSUME_NONNULL_END