728.1.1
by Robert Carr
Add skeleton desktop file tool |
1 |
#include <stdio.h> |
2 |
#include <stdlib.h> |
|
3 |
||
4 |
#include <glib.h> |
|
5 |
#include <glib/gstdio.h> |
|
6 |
#include "unity-webapps-application-info.h" |
|
7 |
#include "unity-webapps-application-manifest.h" |
|
8 |
||
728.1.7
by Robert Carr
Add tool for writing desktop file from manifest.json and install it |
9 |
static gboolean |
10 |
write_desktop_file (UnityWebappsApplicationManifest *manifest) |
|
728.1.1
by Robert Carr
Add skeleton desktop file tool |
11 |
{
|
12 |
UnityWebappsApplicationInfo *info; |
|
728.1.5
by Robert Carr
Increment on desktop file generator |
13 |
const gchar *name, *domain; |
728.1.7
by Robert Carr
Add tool for writing desktop file from manifest.json and install it |
14 |
gchar *desktop_name; |
15 |
GError *error; |
|
728.1.5
by Robert Carr
Increment on desktop file generator |
16 |
|
17 |
name = unity_webapps_application_manifest_get_name (manifest); |
|
18 |
domain = unity_webapps_application_manifest_get_domain (manifest); |
|
789
by Maxim Ermilov
support manifests without domain |
19 |
|
20 |
if (!domain) |
|
21 |
return FALSE; |
|
22 |
||
728.1.5
by Robert Carr
Increment on desktop file generator |
23 |
info = unity_webapps_application_info_new (name, domain, "", NULL); |
728.1.1
by Robert Carr
Add skeleton desktop file tool |
24 |
|
728.1.7
by Robert Carr
Add tool for writing desktop file from manifest.json and install it |
25 |
// It's a waste of time to free this.
|
26 |
desktop_name = unity_webapps_application_info_get_desktop_file_name (info); |
|
27 |
||
28 |
error = NULL; |
|
29 |
||
30 |
unity_webapps_application_info_write_desktop_file_to_path (info, desktop_name, &error); |
|
31 |
||
32 |
if (error != NULL) |
|
33 |
{
|
|
34 |
// No reason to free
|
|
35 |
g_warning ("Error writing desktop file: %s \n", error->message); |
|
36 |
return FALSE; |
|
37 |
}
|
|
38 |
||
39 |
return TRUE; |
|
728.1.1
by Robert Carr
Add skeleton desktop file tool |
40 |
}
|
41 |
||
42 |
gint
|
|
43 |
main (gint argc, gchar **argv) |
|
44 |
{
|
|
45 |
UnityWebappsApplicationManifest *manifest; |
|
728.1.7
by Robert Carr
Add tool for writing desktop file from manifest.json and install it |
46 |
gboolean wrote; |
47 |
||
48 |
||
49 |
g_type_init (); |
|
50 |
||
728.1.1
by Robert Carr
Add skeleton desktop file tool |
51 |
if (argc != 2) |
52 |
{
|
|
53 |
g_printf("Usage: unity-webapps-desktop-file <<path to manifest.json>>\n"); |
|
54 |
return 1; |
|
55 |
}
|
|
56 |
||
57 |
manifest = unity_webapps_application_manifest_new_from_file (argv[1]); |
|
58 |
||
728.1.7
by Robert Carr
Add tool for writing desktop file from manifest.json and install it |
59 |
if (manifest == FALSE) |
728.1.1
by Robert Carr
Add skeleton desktop file tool |
60 |
{
|
61 |
g_printf("Failed to load and parse manifest file \n"); |
|
62 |
return 1; |
|
63 |
}
|
|
64 |
||
728.1.7
by Robert Carr
Add tool for writing desktop file from manifest.json and install it |
65 |
wrote = write_desktop_file (manifest); |
66 |
||
67 |
if (wrote == FALSE) |
|
68 |
{
|
|
69 |
g_printf("Failed to write desktop file \n"); |
|
70 |
return 1; |
|
71 |
}
|
|
72 |
||
73 |
return 0; |
|
728.1.1
by Robert Carr
Add skeleton desktop file tool |
74 |
}
|