Exemplo n.º 1
0
        public void When_IntPtr()
        {
            var param = new When_IntPtrParams()
            {
                Id = (IntPtr)42
            };

            var ret = TSInteropMarshaller.InvokeJS <When_IntPtrParams, GenericReturn>("TSBindingsUnitTests:When_IntPtr", param);

            Assert.AreEqual("42", ret.Value);
        }
Exemplo n.º 2
0
        internal static void SetValue(ApplicationDataLocality locality, string key, string value)
        {
            var parms = new ApplicationDataContainer_SetValueParams
            {
                Key      = key,
                Value    = value,
                Locality = locality.ToStringInvariant()
            };

            TSInteropMarshaller.InvokeJS("UnoStatic_Windows_Storage_ApplicationDataContainer:setValue", parms);
        }
Exemplo n.º 3
0
        internal static int GetCount(ApplicationDataLocality locality)
        {
            var parms = new ApplicationDataContainer_GetCountParams
            {
                Locality = locality.ToStringInvariant()
            };

            var ret = (ApplicationDataContainer_GetCountReturn)TSInteropMarshaller.InvokeJS("UnoStatic_Windows_Storage_ApplicationDataContainer:getCount", parms, typeof(ApplicationDataContainer_GetCountReturn));

            return(ret.Count);
        }
Exemplo n.º 4
0
        public void When_NullString()
        {
            var param = new When_SingleStringParams()
            {
                MyString = null
            };

            var ret = (GenericReturn)TSInteropMarshaller.InvokeJS("TSBindingsUnitTests:When_NullString", param, typeof(GenericReturn));

            Assert.AreEqual("true", ret.Value);
        }
Exemplo n.º 5
0
        public void When_SingleUnicodeString()
        {
            var param = new When_SingleStringParams()
            {
                MyString = "This is 🤣 🎉"
            };

            var ret = (GenericReturn)TSInteropMarshaller.InvokeJS("TSBindingsUnitTests:When_SingleUnicodeString", param, typeof(GenericReturn));

            Assert.AreEqual(param.MyString, ret.Value);
        }
Exemplo n.º 6
0
        public void When_IntPtr_Zero()
        {
            var param = new When_IntPtrParams()
            {
                Id = (IntPtr)0
            };

            var ret = (GenericReturn)TSInteropMarshaller.InvokeJS("TSBindingsUnitTests:When_IntPtr_Zero", param, typeof(GenericReturn));

            Assert.AreEqual("0", ret.Value);
        }
Exemplo n.º 7
0
        public void When_ArrayOfInt()
        {
            var param = new When_ArrayOfIntParams()
            {
                MyArray_Length = 4,
                MyArray        = new[] { 1, 2, 3, 42 }
            };

            var ret = TSInteropMarshaller.InvokeJS <When_ArrayOfIntParams, GenericReturn>("TSBindingsUnitTests:When_ArrayOfInt", param);

            Assert.AreEqual("1;2;3;42", ret.Value);
        }
Exemplo n.º 8
0
        public void When_NullArrayOfStrings()
        {
            var param = new When_ArrayOfStringsParams()
            {
                MyArray_Length = 0,
                MyArray        = null
            };

            var ret = (GenericReturn)TSInteropMarshaller.InvokeJS("TSBindingsUnitTests:When_NullArrayOfStrings", param, typeof(GenericReturn));

            Assert.AreEqual("true", ret.Value);
        }
Exemplo n.º 9
0
        public void When_ArrayOfUnicodeStrings()
        {
            var param = new When_ArrayOfStringsParams()
            {
                MyArray_Length = 1,
                MyArray        = new[] { "🎉🤣😊👆🎁" }
            };

            var ret = TSInteropMarshaller.InvokeJS <When_ArrayOfStringsParams, GenericReturn>("TSBindingsUnitTests:When_ArrayOfUnicodeStrings", param);

            Assert.AreEqual(param.MyArray[0], ret.Value);
        }
Exemplo n.º 10
0
        public void When_NullArrayOfInt()
        {
            var param = new When_ArrayOfIntParams()
            {
                MyArray_Length = 0,
                MyArray        = null
            };

            var ret = TSInteropMarshaller.InvokeJS <When_ArrayOfIntParams, GenericReturn>("TSBindingsUnitTests:When_NullArrayOfInt", param);

            Assert.AreEqual("true", ret.Value);
        }
Exemplo n.º 11
0
        public void When_ArrayOfNullStrings()
        {
            var param = new When_ArrayOfStringsParams()
            {
                MyArray_Length = 4,
                MyArray        = new string[4]
            };

            var ret = TSInteropMarshaller.InvokeJS <When_ArrayOfStringsParams, GenericReturn>("TSBindingsUnitTests:When_ArrayOfNullStrings", param);

            Assert.AreEqual("true;true;true;true", ret.Value);
        }
Exemplo n.º 12
0
        public void When_ArrayOfStrings()
        {
            var param = new When_ArrayOfStringsParams()
            {
                MyArray_Length = 4,
                MyArray        = new[] { "1", "2", "3", "42" }
            };

            var ret = (GenericReturn)TSInteropMarshaller.InvokeJS("TSBindingsUnitTests:When_ArrayOfStrings", param, typeof(GenericReturn));

            Assert.AreEqual("1;2;3;42", ret.Value);
        }
Exemplo n.º 13
0
        internal static string GetValueByIndex(ApplicationDataLocality locality, int index)
        {
            var parms = new ApplicationDataContainer_GetValueByIndexParams
            {
                Locality = locality.ToStringInvariant(),
                Index    = index
            };

            var ret = (ApplicationDataContainer_GetValueByIndexReturn)TSInteropMarshaller.InvokeJS("UnoStatic_Windows_Storage_ApplicationDataContainer:getValueByIndex", parms, typeof(ApplicationDataContainer_GetValueByIndexReturn));

            return(ret.Value);
        }
Exemplo n.º 14
0
        internal static bool Remove(ApplicationDataLocality locality, string key)
        {
            var parms = new ApplicationDataContainer_RemoveParams
            {
                Locality = locality.ToStringInvariant(),
                Key      = key
            };

            var ret = (ApplicationDataContainer_RemoveReturn)TSInteropMarshaller.InvokeJS("UnoStatic_Windows_Storage_ApplicationDataContainer:remove", parms, typeof(ApplicationDataContainer_RemoveReturn));

            return(ret.Removed);
        }
Exemplo n.º 15
0
        internal static bool ContainsKey(ApplicationDataLocality locality, string key)
        {
            var parms = new ApplicationDataContainer_ContainsKeyParams
            {
                Key      = key,
                Locality = locality.ToStringInvariant()
            };

            var ret = (ApplicationDataContainer_ContainsKeyReturn)TSInteropMarshaller.InvokeJS("UnoStatic_Windows_Storage_ApplicationDataContainer:containsKey", parms, typeof(ApplicationDataContainer_ContainsKeyReturn));

            return(ret.ContainsKey);
        }
Exemplo n.º 16
0
        internal static bool TryGetValue(ApplicationDataLocality locality, string key, out string?value)
        {
            var parms = new ApplicationDataContainer_TryGetValueParams
            {
                Key      = key,
                Locality = locality.ToStringInvariant()
            };

            var ret = (ApplicationDataContainer_TryGetValueReturn)TSInteropMarshaller.InvokeJS("UnoStatic_Windows_Storage_ApplicationDataContainer:tryGetValue", parms, typeof(ApplicationDataContainer_TryGetValueReturn));

            value = ret.Value;

            return(ret.HasValue);
        }
Exemplo n.º 17
0
        internal static void Init(bool isHostedMode, bool isLoadEventsEnabled)
        {
            if (UseJavascriptEval)
            {
                WebAssemblyRuntime.InvokeJS($"Uno.UI.WindowManager.init({isHostedMode.ToString().ToLowerInvariant()}, {isLoadEventsEnabled.ToString().ToLowerInvariant()});");
            }
            else
            {
                var parms = new WindowManagerInitParams
                {
                    IsHostedMode        = isHostedMode,
                    IsLoadEventsEnabled = isLoadEventsEnabled
                };

                TSInteropMarshaller.InvokeJS <WindowManagerInitParams, bool>("UnoStatic:initNative", parms);
            }
        }
Exemplo n.º 18
0
        internal static void CreateContent(IntPtr htmlId, string htmlTag, IntPtr handle, string fullName, bool htmlTagIsSvg, bool isFrameworkElement, bool isFocusable, string[] classes)
        {
            if (UseJavascriptEval)
            {
                var isSvgStr = htmlTagIsSvg ? "true" : "false";
                var isFrameworkElementStr = isFrameworkElement ? "true" : "false";
                var isFocusableStr        = isFocusable ? "true" : "false";          // by default all control are not focusable, it has to be change latter by the control itself
                var classesParam          = classes.Select(c => $"\"{c}\"").JoinBy(",");

                WebAssemblyRuntime.InvokeJS(
                    "Uno.UI.WindowManager.current.createContent({" +
                    "id:\"" + htmlId + "\"," +
                    "tagName:\"" + htmlTag + "\", " +
                    "handle:" + handle + ", " +
                    "type:\"" + fullName + "\", " +
                    "isSvg:" + isSvgStr + ", " +
                    "isFrameworkElement:" + isFrameworkElementStr + ", " +
                    "isFocusable:" + isFocusableStr + ", " +
                    "classes:[" + classesParam + "]" +
                    "});");
            }
            else
            {
                var parms = new WindowManagerCreateContentParams
                {
                    HtmlId             = htmlId,
                    TagName            = htmlTag,
                    Handle             = handle,
                    Type               = fullName,
                    IsSvg              = htmlTagIsSvg,
                    IsFrameworkElement = isFrameworkElement,
                    IsFocusable        = isFocusable,
                    Classes_Length     = classes.Length,
                    Classes            = classes,
                };

                TSInteropMarshaller.InvokeJS <WindowManagerCreateContentParams, bool>("Uno:createContentNative", parms);
            }
        }