TITANIUM_FUNCTION(SocketModule, createUDP) { TITANIUM_LOG_DEBUG("SocketModule::createUDP: "); ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); JSValue Titanium_property = get_context().get_global_object().GetProperty("Titanium"); TITANIUM_ASSERT(Titanium_property.IsObject()); // precondition JSObject Titanium = static_cast<JSObject>(Titanium_property); JSValue Network_property = Titanium.GetProperty("Network"); TITANIUM_ASSERT(Network_property.IsObject()); // precondition JSObject Network = static_cast<JSObject>(Network_property); JSValue Socket_property = Network.GetProperty("Socket"); TITANIUM_ASSERT(Socket_property.IsObject()); // precondition JSObject Socket = static_cast<JSObject>(Socket_property); JSValue UDP_property = Socket.GetProperty("UDP"); TITANIUM_ASSERT(UDP_property.IsObject()); // precondition JSObject UDP = static_cast<JSObject>(UDP_property); auto udp = UDP.CallAsConstructor(); applyProperties(parameters, udp); return udp; }
TITANIUM_FUNCTION(Module, fireEvent) { ENSURE_STRING_AT_INDEX(name, 0); ENSURE_OPTIONAL_OBJECT_AT_INDEX(param, 1); fireEvent(name, param); return get_context().CreateUndefined(); }
TITANIUM_FUNCTION(Tab, close) { ENSURE_OBJECT_AT_INDEX(window, 0); ENSURE_OPTIONAL_OBJECT_AT_INDEX(options, 1); close(window.GetPrivate<Window>(), options.GetPrivate<CloseWindowParams>()); return get_context().CreateUndefined(); }
TITANIUM_FUNCTION(Properties, getObject) { ENSURE_STRING_AT_INDEX(property, 0); ENSURE_OPTIONAL_OBJECT_AT_INDEX(defaultValue, 1); const auto js_context = this_object.get_context(); const auto object_ptr = GetStaticObject(js_context).GetPrivate<Properties>(); return object_ptr->getObject(property, defaultValue); }
TITANIUM_FUNCTION(WebView, evalJS) { if (arguments.size() < 1) { return get_context().CreateUndefined(); } ENSURE_STRING_AT_INDEX(code, 0); ENSURE_OPTIONAL_OBJECT_AT_INDEX(callback, 1); return get_context().CreateString(evalJS(code, callback)); }
TITANIUM_FUNCTION(UIModule, create2DMatrix) { ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); // FIXME Macros didn't work because identifiers can't start with digits! JSValue Titanium_property = this_object.get_context().get_global_object().GetProperty("Titanium"); TITANIUM_ASSERT(Titanium_property.IsObject()); JSObject Titanium = static_cast<JSObject>(Titanium_property); JSValue UI_property = Titanium.GetProperty("UI"); TITANIUM_ASSERT(UI_property.IsObject()); JSObject UI = static_cast<JSObject>(UI_property); JSValue TwoDMatrix_property = UI.GetProperty("2DMatrix"); TITANIUM_ASSERT(TwoDMatrix_property.IsObject()); JSObject TwoDMatrix = static_cast<JSObject>(TwoDMatrix_property); auto TwoDMatrix_obj = TwoDMatrix.CallAsConstructor(parameters); Titanium::Module::applyProperties(parameters, TwoDMatrix_obj); return TwoDMatrix_obj; }
TITANIUM_FUNCTION(UIModule, createOptionDialog) { ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); CREATE_TITANIUM_UI(OptionDialog); }
TITANIUM_FUNCTION(WindowsModule, createAppBarSeparator) { ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); CREATE_TITANIUM_UI_WINDOWS(AppBarSeparator); }
TITANIUM_FUNCTION(UIModule, createWebView) { ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); CREATE_TITANIUM_UI(WebView); }
TITANIUM_FUNCTION(UIModule, createTextArea) { ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); CREATE_TITANIUM_UI(TextArea); }
TITANIUM_FUNCTION(UIModule, createTableViewSection) { ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); CREATE_TITANIUM_UI(TableViewSection); }
TITANIUM_FUNCTION(UIModule, createSwitch) { ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); CREATE_TITANIUM_UI(Switch); }
TITANIUM_FUNCTION(UIModule, createProgressBar) { ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); CREATE_TITANIUM_UI(ProgressBar); }
TITANIUM_FUNCTION(UIModule, createPickerColumn) { ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); CREATE_TITANIUM_UI(PickerColumn); }
TITANIUM_FUNCTION(WindowsModule, createCommandBar) { ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); CREATE_TITANIUM_UI_WINDOWS(CommandBar); }
TITANIUM_FUNCTION(UIModule, createNotification) { ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); CREATE_TITANIUM_UI(Notification); }
TITANIUM_FUNCTION(UIModule, createListItem) { ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); CREATE_TITANIUM_UI(ListItem); }
TITANIUM_FUNCTION(UIModule, createActivityIndicator) { ENSURE_OPTIONAL_OBJECT_AT_INDEX(parameters, 0); CREATE_TITANIUM_UI(ActivityIndicator); }