using System; using UIKit; using Foundation; using ObjCRuntime; using CoreGraphics; namespace com.freeview.global { // @interface Video : NSObject [BaseType (typeof (NSObject))] interface Video { //+(void)Logout; [Static] [Export ("Logout")] void Logout (); // +(void)ShowNotice; [Static] [Export ("ShowNotice")] void ShowNotice (); // +(void)init:(NSString *)Token sipID:(NSString *)sipID DevelopCode:(NSString *)DevelopCode TenantCode:(NSString *)TenantCode; [Static] [Export ("init:sipID:DevelopCode:TenantCode:")] void Init (string Token, string sipID, string DevelopCode, string TenantCode); // +(void)init:(NSString *)Token sipID:(NSString *)sipID; [Static] [Export ("init:sipID:")] void Init (string Token, string sipID); // +(void)ShowVideo; [Static] [Export ("ShowVideo")] void ShowVideo (); // +(BOOL)FVapplication:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; [Static] [Export ("FVapplication:didFinishLaunchingWithOptions:")] bool FVapplication (UIApplication application, NSDictionary launchOptions); // +(void)FVapplicationWillResignActive:(UIApplication *)application; [Static] [Export ("FVapplicationWillResignActive:")] void FVapplicationWillResignActive (UIApplication application); // +(void)FVapplicationDidEnterBackground:(UIApplication *)application; [Static] [Export ("FVapplicationDidEnterBackground:")] void FVapplicationDidEnterBackground (UIApplication application); // +(void)FVapplicationDidBecomeActive:(UIApplication *)application; [Static] [Export ("FVapplicationDidBecomeActive:")] void FVapplicationDidBecomeActive (UIApplication application); } } namespace video { using Foundation; using ObjCRuntime; // @interface FV : NSObject [BaseType (typeof (NSObject))] interface FV { // +(void)FVloginWithAccount:(NSString *)Account Password:(NSString *)Password Company:(int)Company; [Static] [Export ("FVloginWithAccount:Password:Company:")] void FVloginWithAccount (string Account, string Password, int Company); // +(BOOL)FVapplication:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; [Static] [Export ("FVapplication:didFinishLaunchingWithOptions:")] bool FVapplication (UIApplication application, NSDictionary launchOptions); // +(void)FVapplicationWillResignActive:(UIApplication *)application; [Static] [Export ("FVapplicationWillResignActive:")] void FVapplicationWillResignActive (UIApplication application); // +(void)FVapplicationDidEnterBackground:(UIApplication *)application; [Static] [Export ("FVapplicationDidEnterBackground:")] void FVapplicationDidEnterBackground (UIApplication application); // +(void)FVapplicationDidBecomeActive:(UIApplication *)application; [Static] [Export ("FVapplicationDidBecomeActive:")] void FVapplicationDidBecomeActive (UIApplication application); } } namespace EZMonitor { using Foundation; using ObjCRuntime; using Com.Hdl.ON; // @interface DeviceInfo : NSObject [BaseType (typeof (NSObject))] interface DeviceInfo { // @property (nonatomic, strong) NSString * DeviceName; [Export ("DeviceName", ArgumentSemantic.Strong)] string DeviceName { get; set; } // @property (nonatomic, strong) NSString * DeviceSerial; [Export ("DeviceSerial", ArgumentSemantic.Strong)] string DeviceSerial { get; set; } // @property (assign, nonatomic) int DeviceNum; [Export ("DeviceNum")] int DeviceNum { get; set; } // @property (assign, nonatomic) int DeviceCameraInfoListSize; [Export ("DeviceCameraInfoListSize")] int DeviceCameraInfoListSize { get; set; } // @property (nonatomic, strong) NSObject * RealObject; [Export ("RealObject", ArgumentSemantic.Strong)] NSObject RealObject { get; set; } // @property (nonatomic, strong) NSArray * cameraInfo; [Export ("cameraInfo", ArgumentSemantic.Strong)] //[Verify (StronglyTypedNSArray)] NSObject [] CameraInfo { get; set; } } // @interface Ezviz : NSObject [BaseType (typeof (NSObject))] interface Ezviz { // +(void)libInit; [Static] [Export ("libInit")] void LibInit (); [Static] [Export ("readPath:")] void ReadPath (string path); } } namespace Com.Hdl.ON { using Foundation; using ObjCRuntime; //using Com.Hdl.ON; // @interface CommonList : NSObject [BaseType (typeof (NSObject))] interface CommonList { // +(void)MonitorPushMessage:(NSString *)MonitorType ID:(NSString *)ID; [Static] [Export ("MonitorPushMessage:ID:")] void MonitorPushMessage (string MonitorType, string ID); [Static] [Export ("CameraList")] void CameraList (); //// +(NSMutableDictionary *)getMonitorDatas; //[Static] //[Export ("getMonitorDatas")] ////[Verify (MethodToProperty)] //NSMutableArray MonitorScenePathList (); // +(NSMutableArray *)getMonitorDatas; [Static] [Export ("getMonitorDatas")] //[Verify (MethodToProperty)] NSMutableArray monitorScenePathList { get; } // +(ICommon *)EZGetICommon; [Static] [Export ("EZICommon")] //[Verify (MethodToProperty)] ICommon EZICommon (); // +(NSArray *)getDeviceList:(int)pageIndex :(int)pageSize; [Static] [Export ("getDeviceList::")] //[Verify (StronglyTypedNSArray)] EZMonitor.DeviceInfo [] GetDeviceList (int pageIndex, int pageSize); // +(void)addEzvizMonitor; [Static] [Export ("addEzvizMonitor")] void AddEzvizMonitor (); // +(void)Play:(NSObject *)deviceInfo; [Static] [Export ("Play:")] void Play (NSObject deviceInfo); // +(void)setting:(NSObject *)deviceInfo; [Static] [Export ("setting:")] void Setting (NSObject deviceInfo); // +(void)playBackVideo:(NSObject *)deviceInfo; [Static] [Export ("playBackVideo:")] void PlayBackVideo (NSObject deviceInfo); //go2EZvizMonitor [Static] [Export ("go2EZvizMonitor")] void Go2EZvizMonitor (); //login [Static] [Export ("login")] void login (); } // @interface MonitorData : NSObject // typedef void (^dd)(MonitorData *); delegate void dd (MonitorData arg0); // @interface ICommon : NSObject [BaseType (typeof (NSObject))] interface ICommon { // @property (copy, nonatomic) dd MonitorInfoChanged; [Export ("MonitorSceneData", ArgumentSemantic.Copy)] dd MonitorSceneData { get; set; } [Export ("ControlMonitorScene", ArgumentSemantic.Copy)] dd ControlMonitorScene { get; set; } } [BaseType (typeof (NSObject))] interface MonitorData { // @property (nonatomic, strong) NSString * Remark; [Export ("Remark", ArgumentSemantic.Strong)] string Remark { get; set; } // @property (nonatomic, strong) NSString * ControlType; [Export ("ControlType", ArgumentSemantic.Strong)] string ControlType { get; set; } // @property (nonatomic, strong) NSString * SelectedImagePath; [Export ("SelectedImagePath", ArgumentSemantic.Strong)] string SelectedImagePath { get; set; } // @property (nonatomic, strong) NSString * ImagePath; [Export ("ImagePath", ArgumentSemantic.Strong)] string ImagePath { get; set; } // @property (nonatomic, strong) NSString * FileName; [Export ("FileName", ArgumentSemantic.Strong)] string FileName { get; set; } // @property (nonatomic, strong) NSString * Type; [Export ("Type", ArgumentSemantic.Strong)] string Type { get; set; } // @property (nonatomic, strong) NSString * ID; [Export ("ID", ArgumentSemantic.Strong)] string Id { get; set; } } // The first step to creating a binding is to add your native library ("libNativeLibrary.a") // to the project by right-clicking (or Control-clicking) the folder containing this source // file and clicking "Add files..." and then simply select the native library (or libraries) // that you want to bind. // // When you do that, you'll notice that MonoDevelop generates a code-behind file for each // native library which will contain a [LinkWith] attribute. MonoDevelop auto-detects the // architectures that the native library supports and fills in that information for you, // however, it cannot auto-detect any Frameworks or other system libraries that the // native library may depend on, so you'll need to fill in that information yourself. // // Once you've done that, you're ready to move on to binding the API... // // // Here is where you'd define your API definition for the native Objective-C library. // // For example, to bind the following Objective-C class: // // @interface Widget : NSObject { // } // // The C# binding would look like this: // // [BaseType (typeof (NSObject))] // interface Widget { // } // // To bind Objective-C properties, such as: // // @property (nonatomic, readwrite, assign) CGPoint center; // // You would add a property definition in the C# interface like so: // // [Export ("center")] // CGPoint Center { get; set; } // // To bind an Objective-C method, such as: // // -(void) doSomething:(NSObject *)object atIndex:(NSInteger)index; // // You would add a method definition to the C# interface like so: // // [Export ("doSomething:atIndex:")] // void DoSomething (NSObject object, int index); // // Objective-C "constructors" such as: // // -(id)initWithElmo:(ElmoMuppet *)elmo; // // Can be bound as: // // [Export ("initWithElmo:")] // IntPtr Constructor (ElmoMuppet elmo); // // For more information, see http://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/ // }