summaryrefslogtreecommitdiff
path: root/csharp/test/xamarin/controller.iOS/AppDelegate.cs
blob: 5d46bc718ff7e1b7076ca50918c84d898e277100 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//

using Foundation;
using UIKit;

namespace controller.iOS
{
    // The UIApplicationDelegate for the application. This class is responsible for launching the
    // User Interface of the application, as well as listening (and optionally responding) to
    // application events from iOS.
    [Register("AppDelegate")]
    public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate,
                                       Test.PlatformAdapter
    {
        public string processControllerIdentity()
        {
            if(isEmulator())
            {
                return "iPhoneSimulator/com.zeroc.Xamarin-Test-Controller";
            }
            else
            {
                return "iPhoneOS/com.zeroc.Xamarin-Test-Controller";
            }
        }

        //
        // This method is invoked when the application has loaded and is ready to run. In this
        // method you should instantiate the window, load the UI into it and then make the window
        // visible.
        //
        // You have 17 seconds to return from this method, or iOS will terminate your application.
        //
        public override bool FinishedLaunching(UIApplication app, NSDictionary options)
        {
            global::Xamarin.Forms.Forms.Init();
            LoadApplication(new App(this));

            return base.FinishedLaunching(app, options);
        }

        public bool isEmulator()
        {
            return ObjCRuntime.Runtime.Arch == ObjCRuntime.Arch.SIMULATOR;
        }

        public string processControllerRegistryHost()
        {
            return isEmulator() ? "127.0.0.1" : ""; // With an empty host, the controller will use IceDiscovery.
        }
    }
}