1use gio::ApplicationFlags;
2use glib;
3use glib::translate::*;
4use gtk_sys;
5use rt;
6use Application;
7
8impl Application {
9 pub fn new(
10 application_id: Option<&str>,
11 flags: ApplicationFlags,
12 ) -> Result<Application, glib::BoolError> {
13 skip_assert_initialized!();
14 try!(rt::init());
15 unsafe {
16 Option::from_glib_full(gtk_sys::gtk_application_new(
17 application_id.to_glib_none().0,
18 flags.to_glib(),
19 ))
20 .ok_or_else(|| glib_bool_error!("Failed to create application"))
21 }
22 }
23}