6 command_line (GApplication
*application
,
7 GApplicationCommandLine
*cmdline
)
13 argv
= g_application_command_line_get_arguments (cmdline
, &argc
);
15 for (i
= 0; i
< argc
; i
++)
16 g_print ("handling argument %s remotely\n", argv
[i
]);
24 test_local_cmdline (GApplication
*application
,
36 if (g_str_has_prefix (argv
[i
], "--local-"))
38 g_print ("handling argument %s locally\n", argv
[i
]);
40 for (j
= i
; argv
[j
]; j
++)
41 argv
[j
] = argv
[j
+ 1];
45 g_print ("not handling argument %s locally\n", argv
[i
]);
55 typedef GApplication TestApplication
;
56 typedef GApplicationClass TestApplicationClass
;
58 static GType
test_application_get_type (void);
59 G_DEFINE_TYPE (TestApplication
, test_application
, G_TYPE_APPLICATION
)
62 test_application_finalize (GObject
*object
)
64 G_OBJECT_CLASS (test_application_parent_class
)->finalize (object
);
68 test_application_init (TestApplication
*app
)
73 test_application_class_init (TestApplicationClass
*class)
75 G_OBJECT_CLASS (class)->finalize
= test_application_finalize
;
76 G_APPLICATION_CLASS (class)->local_command_line
= test_local_cmdline
;
80 test_application_new (const gchar
*application_id
,
81 GApplicationFlags flags
)
83 g_return_val_if_fail (g_application_id_is_valid (application_id
), NULL
);
85 return g_object_new (test_application_get_type (),
86 "application-id", application_id
,
92 main (int argc
, char **argv
)
97 app
= test_application_new ("org.gtk.TestApplication", 0);
98 g_application_set_inactivity_timeout (app
, 10000);
99 g_signal_connect (app
, "command-line", G_CALLBACK (command_line
), NULL
);
101 status
= g_application_run (app
, argc
, argv
);
103 g_object_unref (app
);