using System; using ObjCRuntime; using Foundation; using UIKit; namespace Shared.IOS.ESVideoOnSDK { // @interface ESVideo : NSObject [BaseType(typeof(NSObject))] interface ESVideo { //// @property (nonatomic, strong) int * _Nonnull es; //[Export("es", ArgumentSemantic.Strong)] //unsafe int* Es { get; set; } //// @property (copy, nonatomic) int snapImageCallback; //[Export("snapImageCallback", ArgumentSemantic.Copy)] //int SnapImageCallback { get; set; } // +(instancetype _Nonnull)shareInstance; [Static] [Export("shareInstance")] ESVideo ShareInstance(); // +(void)haltSharedInstance; [Static] [Export("haltSharedInstance")] void HaltSharedInstance(); // -(void)initSDK; [Export("initSDK")] void InitSDK(); } // @protocol ESCallDelegate [Protocol, Model(AutoGeneratedName = true)] [BaseType(typeof(NSObject))] interface ESCallDelegate { // @required -(void)onAnswerAction; [Abstract] [Export("onAnswerAction")] void OnAnswerAction(); // @required -(void)onRejectCallAction; [Abstract] [Export("onRejectCallAction")] void OnRejectCallAction(); // @required -(void)onUnlockAction; [Abstract] [Export("onUnlockAction")] void OnUnlockAction(); // @required -(void)onHangUpAction:(int)callDuration; [Abstract] [Export("onHangUpAction:")] void OnHangUpAction(int callDuration); // @required -(void)onScreenshotSuccessfulAction:(UIImage * _Nonnull)image; [Abstract] [Export("onScreenshotSuccessfulAction:")] void OnScreenshotSuccessfulAction(UIImage image); } //// @interface ESCallDelegate : NSObject //[BaseType(typeof(NSObject))] //interface ESCallDelegate //{ //} // @interface ESOnIntercomViewController : UIViewController [BaseType(typeof(UIViewController))] interface ESOnIntercomViewController { // @property (nonatomic, strong) NSString * _Nonnull mESVideoID; [Export("mESVideoID", ArgumentSemantic.Strong)] string MESVideoID { get; set; } // @property (assign, nonatomic) int mESRoomID; [Export("mESRoomID")] int MESRoomID { get; set; } // @property (nonatomic, strong) NSString * _Nonnull roomName; [Export("roomName", ArgumentSemantic.Strong)] string RoomName { get; set; } // @property (nonatomic, strong) NSString * _Nonnull deviceName; [Export("deviceName", ArgumentSemantic.Strong)] string DeviceName { get; set; } [Wrap("WeakMESCallDelegate")] [NullAllowed] ESCallDelegate MESCallDelegate { get; set; } // @property (nonatomic, weak) id _Nullable mESCallDelegate; [NullAllowed, Export("mESCallDelegate", ArgumentSemantic.Weak)] NSObject WeakMESCallDelegate { get; set; } } // @interface ESOnMonitorViewController : UIViewController [BaseType(typeof(UIViewController))] interface ESOnMonitorViewController { // @property (nonatomic, strong) NSString * _Nonnull mESVideoID; [Export("mESVideoID", ArgumentSemantic.Strong)] string MESVideoID { get; set; } // @property (assign, nonatomic) int mESRoomID; [Export("mESRoomID")] int MESRoomID { get; set; } // @property (nonatomic, strong) NSString * _Nonnull roomName; [Export("roomName", ArgumentSemantic.Strong)] string RoomName { get; set; } // @property (nonatomic, strong) NSString * _Nonnull deviceName; [Export("deviceName", ArgumentSemantic.Strong)] string DeviceName { get; set; } [Wrap("WeakMESCallDelegate")] [NullAllowed] ESCallDelegate MESCallDelegate { get; set; } // @property (nonatomic, weak) id _Nullable mESCallDelegate; [NullAllowed, Export("mESCallDelegate", ArgumentSemantic.Weak)] NSObject WeakMESCallDelegate { get; set; } } }