mkdir -p $(DESTDIR)$(PREFIX)/share/applications/hildon
install -c -m 0755 $(APP) $(DESTDIR)$(PREFIX)/bin
install -c -m 0644 com.nokia.osso_browser.service $(DESTDIR)$(PREFIX)/share/dbus-1/services
+ install -c -m 0644 org.maemo.garage.browser_switchboard.service $(DESTDIR)$(PREFIX)/share/dbus-1/services
install -c -m 0755 browser $(DESTDIR)$(PREFIX)/bin
install -c -m 0755 microb $(DESTDIR)$(PREFIX)/bin
install -c -m 0644 microb.desktop $(DESTDIR)$(PREFIX)/share/applications/hildon
return TRUE;
}
-/* This is a "undocumented", non-standard extension to the API, ONLY
- for use by /usr/bin/microb wrapper */
-gboolean osso_browser_switchboard_launch_microb(OssoBrowser *obj,
+
+/*
+ * The org.maemo.garage.browser_switchboard D-Bus interface
+ */
+gboolean switchboard_top_application(OssoBrowser *obj,
+ GError **error) {
+ if (!ctx.continuous_mode)
+ ignore_reconfig_requests();
+ launch_microb(&ctx, "new_window");
+ return TRUE;
+}
+
+gboolean switchboard_launch_microb(OssoBrowser *obj,
const char *uri, GError **error) {
if (!ctx.continuous_mode)
ignore_reconfig_requests();
gboolean osso_browser_open_new_window(OssoBrowser *obj,
const char *uri, GError **error);
gboolean osso_browser_top_application(OssoBrowser *obj, GError **error);
-/* This is an "undocumented", non-standard extension; DO NOT USE */
-gboolean osso_browser_switchboard_launch_microb(OssoBrowser *obj,
+
+/* The org.maemo.garage.browser_switchboard D-Bus interface */
+gboolean switchboard_top_application(OssoBrowser *obj, GError **error);
+gboolean switchboard_launch_microb(OssoBrowser *obj,
const char *uri, GError **error);
void dbus_request_osso_browser_name(struct swb_context *ctx);
<arg type="s" name="uri" direction="in" />
</method>
<method name="top_application" />
- <method name="switchboard_launch_microb">
+ </interface>
+ <interface name="org.maemo.garage.browser_switchboard">
+ <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="switchboard" />
+ <method name="top_application" />
+ <method name="launch_microb">
<arg type="s" name="uri" direction="in" />
</method>
</interface>
}
int main() {
- OssoBrowser *obj_osso_browser, *obj_osso_browser_req;
+ OssoBrowser *obj_osso_browser, *obj_osso_browser_req, *obj_switchboard;
GMainLoop *mainloop;
GError *error = NULL;
int reqname_result;
return 1;
}
- /* Get the org.maemo.garage.browser-switchboard name from D-Bus, as
+ /* Get the org.maemo.garage.browser_switchboard name from D-Bus, as
a form of locking to ensure that not more than one
browser-switchboard process is active at any time. With
DBUS_NAME_FLAG_DO_NOT_QUEUE set and DBUS_NAME_FLAG_REPLACE_EXISTING
not set, getting the name succeeds if and only if no other
process owns the name. */
if (!dbus_g_proxy_call(ctx.dbus_proxy, "RequestName", &error,
- G_TYPE_STRING, "org.maemo.garage.browser-switchboard",
+ G_TYPE_STRING, "org.maemo.garage.browser_switchboard",
G_TYPE_UINT, DBUS_NAME_FLAG_DO_NOT_QUEUE,
G_TYPE_INVALID,
G_TYPE_UINT, &reqname_result,
/* Register ourselves to handle the osso_browser D-Bus methods */
obj_osso_browser = g_object_new(OSSO_BROWSER_TYPE, NULL);
obj_osso_browser_req = g_object_new(OSSO_BROWSER_TYPE, NULL);
+ obj_switchboard = g_object_new(OSSO_BROWSER_TYPE, NULL);
dbus_g_connection_register_g_object(ctx.session_bus,
"/com/nokia/osso_browser", G_OBJECT(obj_osso_browser));
dbus_g_connection_register_g_object(ctx.session_bus,
"/com/nokia/osso_browser/request",
G_OBJECT(obj_osso_browser_req));
+ dbus_g_connection_register_g_object(ctx.session_bus,
+ "/org/maemo/garage/browser_switchboard",
+ G_OBJECT(obj_switchboard));
mainloop = g_main_loop_new(NULL, FALSE);
log_msg("Starting main loop\n");
esac
if pidof browser > /dev/null 2>&1; then
- method=open_new_window
+ dest="com.nokia.osso_browser"
+ path="/com/nokia/osso_browser/request"
+ method="com.nokia.osso_browser.open_new_window"
else
- method=switchboard_launch_microb
+ dest="org.maemo.garage.browser_switchboard"
+ path="/org/maemo/garage/browser_switchboard"
+ method="org.maemo.garage.browser_switchboard.launch_microb"
fi
-dbus-send --session --type=method_call --print-reply --dest="com.nokia.osso_browser" /com/nokia/osso_browser/request com.nokia.osso_browser.$method string:${url:-"new_window"} > /dev/null 2>&1
+dbus-send --session --type=method_call --print-reply --dest="$dest" "$path" "$method" string:${url:-"new_window"} > /dev/null 2>&1
exit 0
Categories=Application;Internet;
X-HildonDesk-ShowInToolbar=true
X-Osso-Type=application/x-executable
+X-Osso-Service=org.maemo.garage.browser_switchboard
--- /dev/null
+[D-BUS Service]
+Name=org.maemo.garage.browser_switchboard
+Exec=/usr/bin/browser-switchboard